28 lines
701 B
C++
28 lines
701 B
C++
#ifndef AW8646_DRIVER_H
|
|
#define AW8646_DRIVER_H
|
|
|
|
#include "stepper_driver.h"
|
|
#include "io_expansion_board.h"
|
|
#include "esp_log.h"
|
|
|
|
class Aw8646Driver : public StepperDriver
|
|
{
|
|
public:
|
|
explicit Aw8646Driver(IOExpansionBoard &ioExp);
|
|
virtual ~Aw8646Driver() = default;
|
|
|
|
esp_err_t Init() override;
|
|
esp_err_t Enable(bool enable) override;
|
|
esp_err_t SetDirection(bool dir) override;
|
|
esp_err_t Sleep(bool sleep) override;
|
|
esp_err_t SetMicrosteps(int microsteps) override;
|
|
|
|
private:
|
|
esp_err_t SetTriLevelPin(uint8_t port_reg, uint8_t config_reg, uint8_t pin, int state);
|
|
|
|
IOExpansionBoard &io_expansion_;
|
|
const char* TAG = "Aw8646Driver";
|
|
};
|
|
|
|
#endif // AW8646_DRIVER_H
|