demo project

Dependencies:   AX-12A Dynamixel mbed iothub_client EthernetInterface NTPClient ConfigFile SDFileSystem iothub_amqp_transport mbed-rtos proton-c-mbed wolfSSL

Committer:
henryrawas
Date:
Wed Jan 27 19:59:21 2016 +0000
Revision:
24:f6aa0e64c5e1
Parent:
19:2f0ec9ac1238
Child:
26:6def77499117
make up/down repeat

Who changed what in which revision?

UserRevisionLine numberNew contents of line
henryrawas 19:2f0ec9ac1238 1 // Copyright (c) Microsoft. All rights reserved.
henryrawas 19:2f0ec9ac1238 2 // Licensed under the MIT license. See LICENSE file in the project root for full license information.
henryrawas 19:2f0ec9ac1238 3
jepickett 0:547ac906c46b 4 #include "mbed.h"
henryrawas 4:36a4eceb1b7f 5 #include "rtos.h"
henryrawas 4:36a4eceb1b7f 6
jepickett 2:37021fb3b45b 7 #include <Terminal.h>
henryrawas 18:224289104fc0 8 #include "ControllerIo.h"
henryrawas 7:6723f6887d00 9
henryrawas 4:36a4eceb1b7f 10
jepickett 2:37021fb3b45b 11 using namespace std;
jepickett 0:547ac906c46b 12
jepickett 2:37021fb3b45b 13 Terminal pc(USBTX, USBRX);
henryrawas 4:36a4eceb1b7f 14
henryrawas 13:ffeff9b5e513 15 extern void PrepareController();
henryrawas 7:6723f6887d00 16 extern void RunController();
henryrawas 7:6723f6887d00 17 extern bool StartIothubThread();
henryrawas 4:36a4eceb1b7f 18
jepickett 0:547ac906c46b 19
jepickett 0:547ac906c46b 20 int main()
jepickett 0:547ac906c46b 21 {
jepickett 2:37021fb3b45b 22 pc.baud(115200);
jepickett 2:37021fb3b45b 23
jepickett 2:37021fb3b45b 24 pc.cls();
jepickett 2:37021fb3b45b 25 pc.foreground(Yellow);
jepickett 2:37021fb3b45b 26 pc.background(Black);
jepickett 2:37021fb3b45b 27
henryrawas 8:d98e2dec0f40 28 pc.locate(0, 0);
jepickett 2:37021fb3b45b 29 pc.printf("**********************\r\n");
jepickett 2:37021fb3b45b 30 pc.printf("RobotArmDemo start\r\n");
jepickett 2:37021fb3b45b 31 pc.printf("**********************\r\n");
jepickett 2:37021fb3b45b 32
jepickett 2:37021fb3b45b 33 pc.foreground(Teal);
jepickett 2:37021fb3b45b 34 pc.background(Black);
jepickett 2:37021fb3b45b 35
henryrawas 10:9b21566a5ddb 36 ShowLedGreen();
henryrawas 4:36a4eceb1b7f 37
henryrawas 13:ffeff9b5e513 38 // prepare the motion sequences
henryrawas 13:ffeff9b5e513 39 PrepareController();
henryrawas 13:ffeff9b5e513 40
henryrawas 4:36a4eceb1b7f 41 // start IotHub connection
henryrawas 4:36a4eceb1b7f 42 StartIothubThread();
jepickett 2:37021fb3b45b 43
henryrawas 4:36a4eceb1b7f 44 // time delay is to allow the position encoders to come online after initial power supply event ~ 5 secs
henryrawas 24:f6aa0e64c5e1 45 Thread::wait(5000);
henryrawas 4:36a4eceb1b7f 46
henryrawas 8:d98e2dec0f40 47 pc.printf("Initialization done. Ready to run. \r\n");
jepickett 2:37021fb3b45b 48
henryrawas 13:ffeff9b5e513 49 // try running this thread at a higher priority
henryrawas 13:ffeff9b5e513 50 osThreadId maintid = osThreadGetId();
henryrawas 13:ffeff9b5e513 51 osThreadSetPriority(maintid, osPriorityHigh);
henryrawas 13:ffeff9b5e513 52
henryrawas 7:6723f6887d00 53 RunController();
henryrawas 4:36a4eceb1b7f 54 }