TELECOMMAND MANAGER V1
Dependencies: mbed SLCD mbed-rtos
main.cpp@3:eec1097c0dd6, 2015-06-24 (annotated)
- Committer:
- shreeshas95
- Date:
- Wed Jun 24 05:59:14 2015 +0000
- Revision:
- 3:eec1097c0dd6
- Parent:
- 2:994e741028c7
- Child:
- 4:f95195748a0c
included COM_MNG_TC
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
shreeshas95 | 3:eec1097c0dd6 | 1 | #include "mbed.h" |
shreeshas95 | 2:994e741028c7 | 2 | |
shreeshas95 | 1:df31097c8442 | 3 | #include <bitset> |
shreeshas95 | 1:df31097c8442 | 4 | #include <iostream> |
shreeshas95 | 1:df31097c8442 | 5 | using namespace std; |
shreeshas95 | 0:b5b370873460 | 6 | |
shreeshas95 | 3:eec1097c0dd6 | 7 | |
shreeshas95 | 3:eec1097c0dd6 | 8 | Serial PC(USBTX, USBRX); |
shreeshas95 | 2:994e741028c7 | 9 | |
shreeshas95 | 2:994e741028c7 | 10 | DigitalOut ledr(LED_RED); |
shreeshas95 | 2:994e741028c7 | 11 | DigitalOut ledg(LED_GREEN); |
shreeshas95 | 2:994e741028c7 | 12 | |
shreeshas95 | 3:eec1097c0dd6 | 13 | #include "Structures.h" |
shreeshas95 | 2:994e741028c7 | 14 | |
shreeshas95 | 3:eec1097c0dd6 | 15 | namespace VAR_SPACE{ |
shreeshas95 | 3:eec1097c0dd6 | 16 | |
shreeshas95 | 3:eec1097c0dd6 | 17 | unsigned char *data = 0; |
shreeshas95 | 3:eec1097c0dd6 | 18 | TC_list *Head_node = NULL; |
shreeshas95 | 3:eec1097c0dd6 | 19 | |
shreeshas95 | 3:eec1097c0dd6 | 20 | int rx_state = 0; |
shreeshas95 | 3:eec1097c0dd6 | 21 | /* |
shreeshas95 | 3:eec1097c0dd6 | 22 | * 0 : idle |
shreeshas95 | 3:eec1097c0dd6 | 23 | * 1 : Rx interrupt received, saving data |
shreeshas95 | 3:eec1097c0dd6 | 24 | * 2 : interrupt handled, RX_RCV_TX running |
shreeshas95 | 3:eec1097c0dd6 | 25 | * 3 : RX_RCV_TC handled, MNG_TM_TC handled |
shreeshas95 | 3:eec1097c0dd6 | 26 | */ |
shreeshas95 | 2:994e741028c7 | 27 | } |
shreeshas95 | 2:994e741028c7 | 28 | |
shreeshas95 | 3:eec1097c0dd6 | 29 | #include "mbed.h" |
shreeshas95 | 2:994e741028c7 | 30 | |
shreeshas95 | 3:eec1097c0dd6 | 31 | #include "crc.h" |
shreeshas95 | 3:eec1097c0dd6 | 32 | #include "SND_TM.h" |
shreeshas95 | 3:eec1097c0dd6 | 33 | #include "MNG_TC.h" |
shreeshas95 | 3:eec1097c0dd6 | 34 | #include "COM_RCV_TC.h" |
shreeshas95 | 3:eec1097c0dd6 | 35 | |
shreeshas95 | 3:eec1097c0dd6 | 36 | using namespace VAR_SPACE; |
shreeshas95 | 2:994e741028c7 | 37 | |
shreeshas95 | 2:994e741028c7 | 38 | int main(){ |
shreeshas95 | 3:eec1097c0dd6 | 39 | printf("WELCOME\r\n"); |
shreeshas95 | 2:994e741028c7 | 40 | |
shreeshas95 | 2:994e741028c7 | 41 | PC.baud(9600); |
shreeshas95 | 3:eec1097c0dd6 | 42 | |
shreeshas95 | 3:eec1097c0dd6 | 43 | VAR_SPACE::data = new unsigned char[26]; |
shreeshas95 | 3:eec1097c0dd6 | 44 | |
shreeshas95 | 3:eec1097c0dd6 | 45 | data[0] = 0x7E; |
shreeshas95 | 3:eec1097c0dd6 | 46 | data[1] = 0x01; |
shreeshas95 | 3:eec1097c0dd6 | 47 | data[2] = 0x81; |
shreeshas95 | 3:eec1097c0dd6 | 48 | data[3] = 0x88; |
shreeshas95 | 3:eec1097c0dd6 | 49 | for(int i =4; i <=9; i++) |
shreeshas95 | 3:eec1097c0dd6 | 50 | data[i] = 0x88; |
shreeshas95 | 3:eec1097c0dd6 | 51 | data[10] = 0xc0; |
shreeshas95 | 3:eec1097c0dd6 | 52 | data[11] = 0x79; |
shreeshas95 | 3:eec1097c0dd6 | 53 | data[12] = 0x7E; |
shreeshas95 | 3:eec1097c0dd6 | 54 | data[13] = 0x02; |
shreeshas95 | 3:eec1097c0dd6 | 55 | data[14] = 0xA1; |
shreeshas95 | 3:eec1097c0dd6 | 56 | data[15] = 0x88; |
shreeshas95 | 3:eec1097c0dd6 | 57 | for(int i = 16;i <= 21; i++) |
shreeshas95 | 3:eec1097c0dd6 | 58 | data[i] = 0x88; |
shreeshas95 | 3:eec1097c0dd6 | 59 | data[22] = 0x96; |
shreeshas95 | 3:eec1097c0dd6 | 60 | data[23] = 0x55; |
shreeshas95 | 3:eec1097c0dd6 | 61 | data[24] = 0x7E; |
shreeshas95 | 3:eec1097c0dd6 | 62 | data[25] = 0x7E; |
shreeshas95 | 3:eec1097c0dd6 | 63 | |
shreeshas95 | 3:eec1097c0dd6 | 64 | VAR_SPACE::rx_state = 2; |
shreeshas95 | 2:994e741028c7 | 65 | |
shreeshas95 | 2:994e741028c7 | 66 | while(true){ |
shreeshas95 | 2:994e741028c7 | 67 | ledg = !ledg; |
shreeshas95 | 3:eec1097c0dd6 | 68 | |
shreeshas95 | 3:eec1097c0dd6 | 69 | if( VAR_SPACE::rx_state == 2 ){ |
shreeshas95 | 3:eec1097c0dd6 | 70 | printf("Calling rcv_tc\r\n"); |
shreeshas95 | 3:eec1097c0dd6 | 71 | RCV_TC::RX_RCV_TC(); |
shreeshas95 | 3:eec1097c0dd6 | 72 | VAR_SPACE::rx_state = 3; |
shreeshas95 | 3:eec1097c0dd6 | 73 | |
shreeshas95 | 2:994e741028c7 | 74 | } |
shreeshas95 | 3:eec1097c0dd6 | 75 | else if( VAR_SPACE::rx_state == 3 ){ |
shreeshas95 | 3:eec1097c0dd6 | 76 | |
shreeshas95 | 3:eec1097c0dd6 | 77 | printf("calling mng tc\r\n"); |
shreeshas95 | 3:eec1097c0dd6 | 78 | MNG_TC::init( VAR_SPACE::Head_node ); |
shreeshas95 | 3:eec1097c0dd6 | 79 | MNG_TC::start_with(); |
shreeshas95 | 3:eec1097c0dd6 | 80 | |
shreeshas95 | 3:eec1097c0dd6 | 81 | VAR_SPACE::rx_state = 0; |
shreeshas95 | 3:eec1097c0dd6 | 82 | |
shreeshas95 | 3:eec1097c0dd6 | 83 | } |
shreeshas95 | 3:eec1097c0dd6 | 84 | wait_ms(10); |
shreeshas95 | 0:b5b370873460 | 85 | } |
shreeshas95 | 3:eec1097c0dd6 | 86 | } |