TELECOMMAND MANAGER V1

Dependencies:   mbed SLCD mbed-rtos

Committer:
shreeshas95
Date:
Sat Jun 06 04:27:40 2015 +0000
Revision:
1:df31097c8442
Parent:
0:b5b370873460
Child:
2:994e741028c7
before namespace (in class format)

Who changed what in which revision?

UserRevisionLine numberNew contents of line
shreeshas95 0:b5b370873460 1 #include "mbed.h"
shreeshas95 0:b5b370873460 2 #include "MNG_TC.h"
shreeshas95 1:df31097c8442 3 #include <bitset>
shreeshas95 1:df31097c8442 4 #include <iostream>
shreeshas95 1:df31097c8442 5 using namespace std;
shreeshas95 0:b5b370873460 6
shreeshas95 0:b5b370873460 7 DigitalOut led(LED_RED);
shreeshas95 1:df31097c8442 8 Serial PC(USBTX, USBRX);
shreeshas95 0:b5b370873460 9 DigitalOut led2(LED_GREEN);
shreeshas95 1:df31097c8442 10 //Serial UART_RX(PTE0, PTE1);
shreeshas95 0:b5b370873460 11
shreeshas95 0:b5b370873460 12 int main()
shreeshas95 0:b5b370873460 13 {
shreeshas95 1:df31097c8442 14 UART_TX.baud(38400);
shreeshas95 1:df31097c8442 15 // UART_RX.baud(1200);
shreeshas95 1:df31097c8442 16
shreeshas95 0:b5b370873460 17 led = 1;
shreeshas95 0:b5b370873460 18 led2 = 0;
shreeshas95 0:b5b370873460 19 unsigned char str[13];
shreeshas95 0:b5b370873460 20 for(int i = 0 ; i < 13 ; ++i){
shreeshas95 0:b5b370873460 21 str[i] = PC.getc();
shreeshas95 0:b5b370873460 22 }
shreeshas95 0:b5b370873460 23
shreeshas95 1:df31097c8442 24 // UART_RX.baud(38400);
shreeshas95 0:b5b370873460 25
shreeshas95 1:df31097c8442 26 TC_list *tc_node = new TC_list;
shreeshas95 1:df31097c8442 27 tc_node->TC_string = &(str[1]);
shreeshas95 1:df31097c8442 28
shreeshas95 1:df31097c8442 29 // CRC crc_class;
shreeshas95 1:df31097c8442 30 uint16_t crc_check = CRC::crcGenerate(&(str[1]), 9);
shreeshas95 0:b5b370873460 31 char c1 = (crc_check >> 8) & 0xffff;
shreeshas95 0:b5b370873460 32 char c2 = (crc_check) & 0xffff;
shreeshas95 0:b5b370873460 33 if(c1 == str[10] && c2 == str[11]){
shreeshas95 0:b5b370873460 34 tc_node->crc_pass = true;
shreeshas95 1:df31097c8442 35 // printf("received tc successfully crc pass\r\n");
shreeshas95 0:b5b370873460 36 }
shreeshas95 0:b5b370873460 37 else{
shreeshas95 1:df31097c8442 38 // printf("crc fail\r\n");
shreeshas95 0:b5b370873460 39 }
shreeshas95 0:b5b370873460 40
shreeshas95 0:b5b370873460 41 tc_node->short_or_long = true;
shreeshas95 0:b5b370873460 42 tc_node->next_TC = NULL;
shreeshas95 0:b5b370873460 43
shreeshas95 0:b5b370873460 44 led = 0;
shreeshas95 0:b5b370873460 45 led2 = 1;
shreeshas95 0:b5b370873460 46
shreeshas95 0:b5b370873460 47 wait(10);
shreeshas95 0:b5b370873460 48
shreeshas95 1:df31097c8442 49 // for(int i = 0 ; i < 13; ++i){
shreeshas95 1:df31097c8442 50 // std::bitset<8> b = str[i];
shreeshas95 1:df31097c8442 51 // cout << b << "\r" << endl;
shreeshas95 1:df31097c8442 52 // }
shreeshas95 1:df31097c8442 53
shreeshas95 0:b5b370873460 54 MNG_TC mng_tc(tc_node);
shreeshas95 0:b5b370873460 55 mng_tc.TC_list_cleanup();
shreeshas95 0:b5b370873460 56
shreeshas95 0:b5b370873460 57 led2 = 0;
shreeshas95 0:b5b370873460 58 while (true) {
shreeshas95 0:b5b370873460 59 led = !led; // toggle led
shreeshas95 0:b5b370873460 60 wait(0.2f);
shreeshas95 0:b5b370873460 61 }
shreeshas95 0:b5b370873460 62 }