#ifndef I2C_MOTOR_H #define I2C_MOTOR_H #include #include class I2CMotor { public: I2CMotor(); I2CMotor(uint8_t sda = 8, uint8_t scl = 3, uint32_t freq = 100000); void begin(); bool found(); uint8_t address(); String identify(); void setDeviceName(const char* newname); void setMinMax(uint8_t min_pwm, uint8_t max_pwm); void setMotorDirection(uint8_t motor, uint8_t dir); void setMotorSpeed(uint8_t motor, uint8_t speed_percent); void emergencyStop(); private: uint8_t sda_, scl_; uint32_t freq_; uint8_t slave_addr_; uint8_t scanForMotorController(); String queryIdentification(uint8_t addr); }; #endif