mbed2 pre-final

Dependencies:   LCD_DISCO_F429ZI mbed BSP_DISCO_F429ZI

Committer:
domino5740
Date:
Mon Jun 15 17:33:23 2020 +0000
Revision:
5:7ca9ea4cde3a
Parent:
4:a8494b656292
final

Who changed what in which revision?

UserRevisionLine numberNew 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 }