Oddanie
STEPPER_LED_GUI.h@0:9083554aa264, 2020-05-18 (annotated)
- Committer:
- lolkusus
- Date:
- Mon May 18 17:07:54 2020 +0000
- Revision:
- 0:9083554aa264
Oddanie;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
lolkusus | 0:9083554aa264 | 1 | #ifndef __STEPPER_LED_GUI_H |
lolkusus | 0:9083554aa264 | 2 | #define __STEPPER_LED_GUI_H |
lolkusus | 0:9083554aa264 | 3 | |
lolkusus | 0:9083554aa264 | 4 | #include "LCD_DISCO_F429ZI.h" |
lolkusus | 0:9083554aa264 | 5 | #include "mbed.h" |
lolkusus | 0:9083554aa264 | 6 | |
lolkusus | 0:9083554aa264 | 7 | #define LED_COUNT 4 |
lolkusus | 0:9083554aa264 | 8 | #define LED_START_X 30 |
lolkusus | 0:9083554aa264 | 9 | #define LED_Y 290 |
lolkusus | 0:9083554aa264 | 10 | #define LED_RADIUS 20 |
lolkusus | 0:9083554aa264 | 11 | #define LED_DISTANCE 60 |
lolkusus | 0:9083554aa264 | 12 | #define LED_RIM_WIDTH 1 |
lolkusus | 0:9083554aa264 | 13 | |
lolkusus | 0:9083554aa264 | 14 | #define MOTOR_X 120 |
lolkusus | 0:9083554aa264 | 15 | #define MOTOR_Y 120 |
lolkusus | 0:9083554aa264 | 16 | #define MOTOR_RADIUS 100 |
lolkusus | 0:9083554aa264 | 17 | #define MOTOR_SMALL_RADIUS 20 |
lolkusus | 0:9083554aa264 | 18 | #define STEPS_PER_REV 16 |
lolkusus | 0:9083554aa264 | 19 | |
lolkusus | 0:9083554aa264 | 20 | #define PI 3.14159 |
lolkusus | 0:9083554aa264 | 21 | |
lolkusus | 0:9083554aa264 | 22 | #define STEP_PERIOD 0.25 |
lolkusus | 0:9083554aa264 | 23 | |
lolkusus | 0:9083554aa264 | 24 | typedef enum tState |
lolkusus | 0:9083554aa264 | 25 | { |
lolkusus | 0:9083554aa264 | 26 | ON, |
lolkusus | 0:9083554aa264 | 27 | OFF |
lolkusus | 0:9083554aa264 | 28 | } tState; |
lolkusus | 0:9083554aa264 | 29 | |
lolkusus | 0:9083554aa264 | 30 | typedef enum eDirection{ |
lolkusus | 0:9083554aa264 | 31 | LEFT, |
lolkusus | 0:9083554aa264 | 32 | RIGHT, |
lolkusus | 0:9083554aa264 | 33 | STOP |
lolkusus | 0:9083554aa264 | 34 | } eDirection; |
lolkusus | 0:9083554aa264 | 35 | |
lolkusus | 0:9083554aa264 | 36 | class StepperLedGui |
lolkusus | 0:9083554aa264 | 37 | { |
lolkusus | 0:9083554aa264 | 38 | public: |
lolkusus | 0:9083554aa264 | 39 | StepperLedGui(); |
lolkusus | 0:9083554aa264 | 40 | void MotorCallib(); |
lolkusus | 0:9083554aa264 | 41 | void MotorSteps(unsigned int uiStepCount); |
lolkusus | 0:9083554aa264 | 42 | void gotoPosition(unsigned int uiPosition); |
lolkusus | 0:9083554aa264 | 43 | private: |
lolkusus | 0:9083554aa264 | 44 | tState ReadDetector(); |
lolkusus | 0:9083554aa264 | 45 | void DrawLed(unsigned char ucLedNumber); |
lolkusus | 0:9083554aa264 | 46 | void SetLed(unsigned char ucLedNumber); |
lolkusus | 0:9083554aa264 | 47 | void ClearLeds(); |
lolkusus | 0:9083554aa264 | 48 | void LedStep(eDirection Direction); |
lolkusus | 0:9083554aa264 | 49 | void DrawMotor(); |
lolkusus | 0:9083554aa264 | 50 | tState eLedStates[LED_COUNT]; |
lolkusus | 0:9083554aa264 | 51 | unsigned int uiLedCounter; |
lolkusus | 0:9083554aa264 | 52 | unsigned int uiZeroPosition; |
lolkusus | 0:9083554aa264 | 53 | LCD_DISCO_F429ZI lcd; |
lolkusus | 0:9083554aa264 | 54 | }; |
lolkusus | 0:9083554aa264 | 55 | |
lolkusus | 0:9083554aa264 | 56 | #endif |