Files
IoTManager/src/Servo/Servs.cpp
Dmitry Borisenko 2e8ea582d2 reverting version
2020-09-02 22:34:49 +03:00

41 lines
965 B
C++

#include "Servo/Servos.h"
Servos myServo;
Servos::Servos(){};
Servo *Servos::create(uint8_t num, uint8_t pin) {
// Ищем среди ранее созданных
for (size_t i = 0; i < _items.size(); i++) {
auto item = _items.at(i);
if (item.num == num) {
if (item.pin != pin) {
item.obj->attach(pin);
item.pin = pin;
};
return item.obj;
}
}
// Добавляем новый
Servo_t newItem{num, pin};
newItem.obj = new Servo();
newItem.obj->attach(pin);
_items.push_back(newItem);
return newItem.obj;
}
Servo *Servos::get(uint8_t num) {
// Ищем среди ранее созданных
for (size_t i = 0; i < _items.size(); i++) {
auto item = _items.at(i);
if (item.num == num) {
return item.obj;
}
}
return nullptr;
}
size_t Servos::count() {
return _items.size();
}