
last version
Dependencies: LCD_DISCO_F429ZI mbed BSP_DISCO_F429ZI
servo_gui.h@2:e23243b26a23, 2020-06-09 (annotated)
- Committer:
- bolko
- Date:
- Tue Jun 09 11:23:48 2020 +0000
- Revision:
- 2:e23243b26a23
look;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
bolko | 2:e23243b26a23 | 1 | #ifndef SERVO_GUI_H |
bolko | 2:e23243b26a23 | 2 | #define SERVO_GUI_H |
bolko | 2:e23243b26a23 | 3 | #include "LCD_DISCO_F429ZI.h" |
bolko | 2:e23243b26a23 | 4 | #include "mbed.h" |
bolko | 2:e23243b26a23 | 5 | |
bolko | 2:e23243b26a23 | 6 | #define DISK_X 120 |
bolko | 2:e23243b26a23 | 7 | #define DISK_Y 120 |
bolko | 2:e23243b26a23 | 8 | #define DISK_RADIUS 100 |
bolko | 2:e23243b26a23 | 9 | #define SMALL_DISK_RADIUS 20 |
bolko | 2:e23243b26a23 | 10 | #define MAX_STEPS 16 |
bolko | 2:e23243b26a23 | 11 | #define PI 3.14159 |
bolko | 2:e23243b26a23 | 12 | #define LED_X 30 |
bolko | 2:e23243b26a23 | 13 | #define LED_Y 290 |
bolko | 2:e23243b26a23 | 14 | #define LED_DISTANCE 60 |
bolko | 2:e23243b26a23 | 15 | #define LED_RADIUS 20 |
bolko | 2:e23243b26a23 | 16 | #define DELAY 0.25 |
bolko | 2:e23243b26a23 | 17 | |
bolko | 2:e23243b26a23 | 18 | |
bolko | 2:e23243b26a23 | 19 | enum eState {ON,OFF}; |
bolko | 2:e23243b26a23 | 20 | enum eDirection {LEFT,RIGHT}; |
bolko | 2:e23243b26a23 | 21 | |
bolko | 2:e23243b26a23 | 22 | struct Servo { |
bolko | 2:e23243b26a23 | 23 | unsigned int uiCurrentPosition; |
bolko | 2:e23243b26a23 | 24 | unsigned int uiDesiredPosition; |
bolko | 2:e23243b26a23 | 25 | unsigned int uiPreviousPosition; |
bolko | 2:e23243b26a23 | 26 | }; |
bolko | 2:e23243b26a23 | 27 | |
bolko | 2:e23243b26a23 | 28 | class ServoGui{ |
bolko | 2:e23243b26a23 | 29 | public: |
bolko | 2:e23243b26a23 | 30 | ServoGui(); |
bolko | 2:e23243b26a23 | 31 | void ServoCallib(); |
bolko | 2:e23243b26a23 | 32 | void ServoGoTo(uint8_t ui8Position); |
bolko | 2:e23243b26a23 | 33 | struct Servo sServo; |
bolko | 2:e23243b26a23 | 34 | private: |
bolko | 2:e23243b26a23 | 35 | LCD_DISCO_F429ZI lcd; |
bolko | 2:e23243b26a23 | 36 | uint8_t ui8ActualLedPoint; |
bolko | 2:e23243b26a23 | 37 | void DrawDisk(); |
bolko | 2:e23243b26a23 | 38 | enum eState eLedStates[3]; |
bolko | 2:e23243b26a23 | 39 | void LedOn(uint8_t ui8LedNumber); |
bolko | 2:e23243b26a23 | 40 | void DrawLed(uint8_t); |
bolko | 2:e23243b26a23 | 41 | enum eState eReadDetector(); |
bolko | 2:e23243b26a23 | 42 | void LedStep(enum eDirection eWhere); |
bolko | 2:e23243b26a23 | 43 | }; |
bolko | 2:e23243b26a23 | 44 | |
bolko | 2:e23243b26a23 | 45 | |
bolko | 2:e23243b26a23 | 46 | |
bolko | 2:e23243b26a23 | 47 | |
bolko | 2:e23243b26a23 | 48 | #endif |