Suspended plotter for the skaperfest
Dependencies: mbed HTTPServer EthernetNetIf FatFileSystemCpp
Diff: SuspendedPlotter.h
- Revision:
- 0:602ff2b2d41c
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/SuspendedPlotter.h Mon Aug 22 10:24:23 2022 +0000 @@ -0,0 +1,51 @@ +#include "mbed.h" +#include <PwmOut.h> + +class SuspendedPlotter +{ +public: + SuspendedPlotter(); + void startDraw(); + void stopDraw(); + void moveTo(float x, float y); + void unrollLeft(int steps); + void unrollRight(int steps); + void rollLeft(int steps); + void rollRight(int steps); + void reset(); + +private: + class Stepper + { + public: + Stepper(PinName pn1, PinName pn2, PinName pn3, PinName pn4); + void stepTo(int dir); + + private: + int m_step; + DigitalOut m_in1; + DigitalOut m_in2; + DigitalOut m_in3; + DigitalOut m_in4; + }; + + class Servo + { + public: + Servo(PinName pn1); + void open(); + void close(); + void reset(); + + private: + PwmOut m_pwm; + float m_pulse_width; + }; + +private: + Stepper m_left; + Stepper m_right; + Servo m_servo; + float m_x; + float m_y; +};