#ifndef _PUSHER_H #define _PUSHER_H #include #include "semaphore.h" static constexpr uint16_t MIN_PULSE_WIDTH = 544; // the shortest pulse sent to a servo static constexpr uint16_t MAX_PULSE_WIDTH = 2400; // the longest pulse sent to a servo static constexpr uint16_t DEFAULT_PULSE_WIDTH = 1500; // default pulse width static constexpr uint8_t LEDC_NUM_CHANNELS = 8; // default pulse width static constexpr TickType_t TIMEOUT = portMAX_DELAY; #define TIMER_WIDTH 16 class Pusher { public: Pusher(void); void setup(void); void dispense(int); private: volatile SemaphoreHandle_t xSemaphore; }; #endif /* _PUSHER_H */