KIM HyoengJun
/
mbed_ext_fota
external fota service implementation
main.cpp@0:bab3be8d31cf, 2015-06-19 (annotated)
- Committer:
- dudnwjs
- Date:
- Fri Jun 19 06:49:20 2015 +0000
- Revision:
- 0:bab3be8d31cf
add GAPM,GAPC header
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
dudnwjs | 0:bab3be8d31cf | 1 | #include "mbed.h" |
dudnwjs | 0:bab3be8d31cf | 2 | #include "serial_communicator.h" |
dudnwjs | 0:bab3be8d31cf | 3 | #include "mbed_fota_config.h" |
dudnwjs | 0:bab3be8d31cf | 4 | |
dudnwjs | 0:bab3be8d31cf | 5 | |
dudnwjs | 0:bab3be8d31cf | 6 | Serial hostpc(USBTX,USBRX); |
dudnwjs | 0:bab3be8d31cf | 7 | Serial device(p13,p14); |
dudnwjs | 0:bab3be8d31cf | 8 | |
dudnwjs | 0:bab3be8d31cf | 9 | DigitalOut led1(LED1); |
dudnwjs | 0:bab3be8d31cf | 10 | |
dudnwjs | 0:bab3be8d31cf | 11 | void func1() |
dudnwjs | 0:bab3be8d31cf | 12 | { |
dudnwjs | 0:bab3be8d31cf | 13 | while(1) |
dudnwjs | 0:bab3be8d31cf | 14 | { |
dudnwjs | 0:bab3be8d31cf | 15 | wait(1); |
dudnwjs | 0:bab3be8d31cf | 16 | led1 = !led1; |
dudnwjs | 0:bab3be8d31cf | 17 | } |
dudnwjs | 0:bab3be8d31cf | 18 | } |
dudnwjs | 0:bab3be8d31cf | 19 | |
dudnwjs | 0:bab3be8d31cf | 20 | int main() { |
dudnwjs | 0:bab3be8d31cf | 21 | Serial_Communicator Fota_comm(&device, &hostpc); |
dudnwjs | 0:bab3be8d31cf | 22 | // Serial Setting |
dudnwjs | 0:bab3be8d31cf | 23 | hostpc.baud(115200); |
dudnwjs | 0:bab3be8d31cf | 24 | device.baud(115200); |
dudnwjs | 0:bab3be8d31cf | 25 | |
dudnwjs | 0:bab3be8d31cf | 26 | // print title |
dudnwjs | 0:bab3be8d31cf | 27 | Fota_comm.print_title(); |
dudnwjs | 0:bab3be8d31cf | 28 | uint8_t *a,*c; |
dudnwjs | 0:bab3be8d31cf | 29 | uint8_t b[1]; |
dudnwjs | 0:bab3be8d31cf | 30 | b[0] = 0x01; |
dudnwjs | 0:bab3be8d31cf | 31 | unsigned short array_size = 1+sizeof(ble_hdr)+sizeof(gapm_reset_cmd); |
dudnwjs | 0:bab3be8d31cf | 32 | a = new uint8_t[array_size]; |
dudnwjs | 0:bab3be8d31cf | 33 | hostpc.printf("msg size = %hu\n", array_size); |
dudnwjs | 0:bab3be8d31cf | 34 | Fota_comm.BleMsgAlloc(GAPM_RESET_CMD,TASK_GAPM,TASK_GTL,1,b,a); |
dudnwjs | 0:bab3be8d31cf | 35 | |
dudnwjs | 0:bab3be8d31cf | 36 | ble_hdr test; |
dudnwjs | 0:bab3be8d31cf | 37 | gapm_reset_cmd data_test; |
dudnwjs | 0:bab3be8d31cf | 38 | |
dudnwjs | 0:bab3be8d31cf | 39 | memcpy(&test,&a[1],sizeof(ble_hdr)); |
dudnwjs | 0:bab3be8d31cf | 40 | memcpy(&data_test,&a[1+sizeof(ble_hdr)],sizeof(gapm_reset_cmd)); |
dudnwjs | 0:bab3be8d31cf | 41 | |
dudnwjs | 0:bab3be8d31cf | 42 | hostpc.printf("packet_type = 0x%02X\n", a[0]); |
dudnwjs | 0:bab3be8d31cf | 43 | hostpc.printf("id = %hu, dst = %hu, src = %hu, len = %hu\n", test.bType,test.bDstid,test.bSrcid,test.bLength); |
dudnwjs | 0:bab3be8d31cf | 44 | hostpc.printf("data = %02X\n",data_test.operation); |
dudnwjs | 0:bab3be8d31cf | 45 | |
dudnwjs | 0:bab3be8d31cf | 46 | hostpc.printf("send cnt = %d \n",Fota_comm.BleSendMsg(a,array_size)); |
dudnwjs | 0:bab3be8d31cf | 47 | |
dudnwjs | 0:bab3be8d31cf | 48 | Fota_comm.BleMsgEnQueue(a); |
dudnwjs | 0:bab3be8d31cf | 49 | c = Fota_comm.BleMsgDeQueue(); |
dudnwjs | 0:bab3be8d31cf | 50 | |
dudnwjs | 0:bab3be8d31cf | 51 | memcpy(&test,&c[1],sizeof(ble_hdr)); |
dudnwjs | 0:bab3be8d31cf | 52 | memcpy(&data_test,&c[1+sizeof(ble_hdr)],sizeof(gapm_reset_cmd)); |
dudnwjs | 0:bab3be8d31cf | 53 | |
dudnwjs | 0:bab3be8d31cf | 54 | hostpc.printf("#c packet_type = 0x%02X\n", c[0]); |
dudnwjs | 0:bab3be8d31cf | 55 | hostpc.printf("#c id = %hu, dst = %hu, src = %hu, len = %hu\n", test.bType,test.bDstid,test.bSrcid,test.bLength); |
dudnwjs | 0:bab3be8d31cf | 56 | hostpc.printf("#c data = %02X\n",data_test.operation); |
dudnwjs | 0:bab3be8d31cf | 57 | |
dudnwjs | 0:bab3be8d31cf | 58 | free(c); |
dudnwjs | 0:bab3be8d31cf | 59 | free(a); |
dudnwjs | 0:bab3be8d31cf | 60 | |
dudnwjs | 0:bab3be8d31cf | 61 | while(Fota_comm.IsQueueEmpty() == false) |
dudnwjs | 0:bab3be8d31cf | 62 | { |
dudnwjs | 0:bab3be8d31cf | 63 | Fota_comm.BleReceiveMsg(); |
dudnwjs | 0:bab3be8d31cf | 64 | } |
dudnwjs | 0:bab3be8d31cf | 65 | c = Fota_comm.BleMsgDeQueue(); |
dudnwjs | 0:bab3be8d31cf | 66 | |
dudnwjs | 0:bab3be8d31cf | 67 | memcpy(&test,&c[1],sizeof(ble_hdr)); |
dudnwjs | 0:bab3be8d31cf | 68 | memcpy(&data_test,&c[1+sizeof(ble_hdr)],sizeof(gapm_reset_cmd)); |
dudnwjs | 0:bab3be8d31cf | 69 | |
dudnwjs | 0:bab3be8d31cf | 70 | hostpc.printf("#receive packet_type = 0x%02X\n", c[0]); |
dudnwjs | 0:bab3be8d31cf | 71 | hostpc.printf("#receive id = %hu, dst = %hu, src = %hu, len = %hu\n", test.bType,test.bDstid,test.bSrcid,test.bLength); |
dudnwjs | 0:bab3be8d31cf | 72 | hostpc.printf("#receive data = %02X\n",data_test.operation); |
dudnwjs | 0:bab3be8d31cf | 73 | |
dudnwjs | 0:bab3be8d31cf | 74 | free(c); |
dudnwjs | 0:bab3be8d31cf | 75 | while(1) |
dudnwjs | 0:bab3be8d31cf | 76 | { |
dudnwjs | 0:bab3be8d31cf | 77 | func1(); |
dudnwjs | 0:bab3be8d31cf | 78 | //serial receive process |
dudnwjs | 0:bab3be8d31cf | 79 | } |
dudnwjs | 0:bab3be8d31cf | 80 | |
dudnwjs | 0:bab3be8d31cf | 81 | } |