
mbed2 pre-final
Dependencies: LCD_DISCO_F429ZI mbed BSP_DISCO_F429ZI
main.cpp@5:7ca9ea4cde3a, 2020-06-15 (annotated)
- Committer:
- domino5740
- Date:
- Mon Jun 15 17:33:23 2020 +0000
- Revision:
- 5:7ca9ea4cde3a
- Parent:
- 4:a8494b656292
final
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
domino5740 | 0:d09bab92fbd1 | 1 | #include "mbed.h" |
domino5740 | 2:7dc265489818 | 2 | #include "token_decoder.h" |
domino5740 | 2:7dc265489818 | 3 | #include "servo.h" |
domino5740 | 2:7dc265489818 | 4 | #include "uart.h" |
domino5740 | 4:a8494b656292 | 5 | //#include "string.h" |
domino5740 | 0:d09bab92fbd1 | 6 | |
domino5740 | 2:7dc265489818 | 7 | DigitalIn UserButton(USER_BUTTON); |
domino5740 | 0:d09bab92fbd1 | 8 | |
domino5740 | 2:7dc265489818 | 9 | unsigned char ucTokenNr = 0; |
domino5740 | 2:7dc265489818 | 10 | struct Token asToken[MAX_TOKEN_NR]; |
domino5740 | 2:7dc265489818 | 11 | struct Keyword asKeywordList[MAX_KEYWORD_NR] = { |
domino5740 | 2:7dc265489818 | 12 | {ID, "id"}, |
domino5740 | 2:7dc265489818 | 13 | {CALIB, "calib"}, |
domino5740 | 2:7dc265489818 | 14 | {GOTO, "goto"}, |
domino5740 | 2:7dc265489818 | 15 | {STEP, "step"} |
domino5740 | 2:7dc265489818 | 16 | }; |
domino5740 | 0:d09bab92fbd1 | 17 | |
domino5740 | 2:7dc265489818 | 18 | Uart MyUart; |
domino5740 | 2:7dc265489818 | 19 | TokenDecoder MyTokenDecoder; |
domino5740 | 2:7dc265489818 | 20 | Servo MyServo; |
domino5740 | 2:7dc265489818 | 21 | Serial pc(SERIAL_TX, SERIAL_RX); |
domino5740 | 0:d09bab92fbd1 | 22 | |
domino5740 | 0:d09bab92fbd1 | 23 | int main() |
domino5740 | 0:d09bab92fbd1 | 24 | { |
domino5740 | 2:7dc265489818 | 25 | char cRecCharTab[MAX_KEYWORD_STRING_LTH]; |
domino5740 | 0:d09bab92fbd1 | 26 | while(1) { |
domino5740 | 2:7dc265489818 | 27 | MyUart.gets(cRecCharTab, MAX_KEYWORD_STRING_LTH); |
domino5740 | 2:7dc265489818 | 28 | MyTokenDecoder.DecodeMsg(cRecCharTab); |
domino5740 | 2:7dc265489818 | 29 | if((ucTokenNr > 0) && (asToken[0].eType == KEYWORD)) { |
domino5740 | 2:7dc265489818 | 30 | switch(asToken[0].uValue.eKeyword) { |
domino5740 | 2:7dc265489818 | 31 | case ID: |
domino5740 | 2:7dc265489818 | 32 | MyUart.puts("id anyidentifier", 20); |
domino5740 | 2:7dc265489818 | 33 | break; |
domino5740 | 2:7dc265489818 | 34 | case CALIB: |
domino5740 | 2:7dc265489818 | 35 | MyServo.Callib(); |
domino5740 | 2:7dc265489818 | 36 | MyUart.puts("ok", 5); |
domino5740 | 2:7dc265489818 | 37 | break; |
domino5740 | 2:7dc265489818 | 38 | case GOTO: |
domino5740 | 2:7dc265489818 | 39 | MyServo.GoTo(asToken[1].uValue.uiNumber); |
domino5740 | 2:7dc265489818 | 40 | MyUart.puts("ok", 5); |
domino5740 | 2:7dc265489818 | 41 | break; |
domino5740 | 2:7dc265489818 | 42 | case STEP: |
domino5740 | 2:7dc265489818 | 43 | MyServo.GoTo(MyServo.uiCurrentPosition + asToken[1].uValue.uiNumber); |
domino5740 | 2:7dc265489818 | 44 | MyUart.puts("ok", 5); |
domino5740 | 2:7dc265489818 | 45 | break; |
domino5740 | 1:be03cac9fe74 | 46 | } |
domino5740 | 0:d09bab92fbd1 | 47 | } |
domino5740 | 2:7dc265489818 | 48 | else { |
domino5740 | 2:7dc265489818 | 49 | MyUart.puts("unknowncommand", 15); |
domino5740 | 2:7dc265489818 | 50 | } |
domino5740 | 2:7dc265489818 | 51 | pc.putc('\n'); |
domino5740 | 0:d09bab92fbd1 | 52 | } |
domino5740 | 0:d09bab92fbd1 | 53 | } |