kumar singh
/
Dealer_23Feb
Dummy Lora Packet Sending
Fork of Dealer_18feb17 by
Revision 24:1063cfc311e5, committed 2017-02-23
- Comitter:
- NarendraSingh
- Date:
- Thu Feb 23 13:21:08 2017 +0000
- Parent:
- 23:688ee106c385
- Commit message:
- Dummy Lora Packet Sending
Changed in this revision
--- a/Lora.cpp Thu Feb 23 08:15:58 2017 +0000 +++ b/Lora.cpp Thu Feb 23 13:21:08 2017 +0000 @@ -62,28 +62,29 @@ //Set Up lora network void Set_Up_Lora_Network_Configuration(void) { + pc_2.baud(115200); LORA_Module_UART.baud(115200); LORA_Module_UART.printf(Attention);//Send Attention command AT_Response_Receive_Status = FAILURE; - pc2.printf("Nwk set up started"); + pc2.printf("\nNwk set up started"); while(AT_Response_Receive_Status) Get_Lora_Response(); - pc2.printf("AT Response received"); + pc2.printf("\nAT Response received"); LORA_Module_UART.printf("%s%d\r",Set_Frequency_Sub_Band,FREQUENCY_SUB_BAND_CHANNEL7);//set frequency sub band to 7 AT_Response_Receive_Status = FAILURE; while(AT_Response_Receive_Status) Get_Lora_Response(); - pc2.printf("Frequency band response received"); - LORA_Module_UART.printf("%s%d,%s\r",Set_Network_Key,STRING_PARAMETER,Network_Key); //set network key + pc2.printf("\nFrequency band response received"); + LORA_Module_UART.printf("\n%s%d,%s\r",Set_Network_Key,STRING_PARAMETER,Network_Key); //set network key AT_Response_Receive_Status = FAILURE; while(AT_Response_Receive_Status) Get_Lora_Response(); - pc2.printf("Network key Response received"); - LORA_Module_UART.printf("%s%d,%s\r",Set_Network_ID,STRING_PARAMETER,Network_ID); //set network id + pc2.printf("\nNetwork key Response received"); + LORA_Module_UART.printf("\n%s%d,%s\r",Set_Network_ID,STRING_PARAMETER,Network_ID); //set network id AT_Response_Receive_Status = FAILURE; while(AT_Response_Receive_Status) Get_Lora_Response(); - pc2.printf("Network Id response received"); + pc2.printf("\nNetwork Id response received"); LORA_Module_UART.printf("AT+TXDR=DR3\r"); AT_Response_Receive_Status = FAILURE; @@ -102,19 +103,19 @@ while(AT_Response_Receive_Status) Get_Lora_Response(); - pc2.printf("Configuration saved"); + pc2.printf("\nConfiguration saved"); LORA_Module_UART.printf("%s",Reset_Device); //reset device wait_ms(3500); LORA_Module_UART.printf(Attention); //Send Attention command AT_Response_Receive_Status = FAILURE; while(AT_Response_Receive_Status) Get_Lora_Response(); - pc2.printf("AT Response received"); + pc2.printf("\nAT Response received"); LORA_Module_UART.printf("%s",Join_Network); //join network with gateway AT_Response_Receive_Status = FAILURE; while(AT_Response_Receive_Status) Get_Lora_Response(); - pc2.printf("Join Response received"); + pc2.printf("\nJoin Response received"); } void Initialize_lora_Packets() @@ -132,12 +133,12 @@ Fixed_Beacon_Packet.Parking1_Beacon_ID[i] = (0x01+i); //MAC ID of 1st NearBy Beacon Device with Highest Signal Strength,dummy data Fixed_Beacon_Packet.Parking1_Beacon_Signal_Strength = 23; //Signal Strength of 3rd NearBy Beacon Device with Highest Signal Strength for(i=0;i<6;i++) - Fixed_Beacon_Packet.Parking2_Beacon_ID[i] = (10+i); //MAC ID of 1st NearBy Beacon Device with Highest Signal Strength,dummy data + Fixed_Beacon_Packet.Parking2_Beacon_ID[i] = (2+i); //MAC ID of 1st NearBy Beacon Device with Highest Signal Strength,dummy data Fixed_Beacon_Packet.Parking2_Beacon_Signal_Strength = 45; //Signal Strength of 3rd NearBy Beacon Device with Highest Signal Strength for(i=0;i<6;i++) - Fixed_Beacon_Packet.Parking3_Beacon_ID[i] = (20+i); //MAC ID of 1st NearBy Beacon Device with Highest Signal Strength,dummy data + Fixed_Beacon_Packet.Parking3_Beacon_ID[i] = (3+i); //MAC ID of 1st NearBy Beacon Device with Highest Signal Strength,dummy data Fixed_Beacon_Packet.Parking3_Beacon_Signal_Strength = 12; //Signal Strength of 3rd NearBy Beacon Device with Highest Signal Strength - Heart_Beat_Lora_Packet.Sequence_No = 0x00; //Sent Packet Sequence Number + Heart_Beat_Lora_Packet.Sequence_No = 0x01; //Sent Packet Sequence Number Heart_Beat_Lora_Packet.FCS = 0x00; //FCS of all packets /******* Initialize Lora packet for Vehicle Status *****/ @@ -145,94 +146,50 @@ Misc_Packet_Data.Protocol_Version = OBD_Protocol_Version; Vehicle_Status_Lora_Packet.Packet_Type = STATUS_PACKET_CMD; for(i=0;i<17;i++) - Misc_Packet_Data.VIN[i] = i;//Vehicle_Identification_Number[i]; + Misc_Packet_Data.VIN[i] = 0x06;//Vehicle_Identification_Number[i]; for(i=0;i<3;i++) Misc_Packet_Data.ODO_METER_READING[i] = 0x05; //Dummyy data, To be read using OBD Vehicle_Status_Lora_Packet.Fuel_Level = 1050;//10.5 litre - Misc_Packet_Data.OBD_Battery_Voltage = 350; - Misc_Packet_Data.Car_Battery_Voltage = 1250; - Misc_Packet_Data.OBD_Battery_Temperature = 95; - Misc_Packet_Data.Car_Ambient_Temperature = 104; + Misc_Packet_Data.OBD_Battery_Voltage = 200; + Misc_Packet_Data.Car_Battery_Voltage = 1000; + Misc_Packet_Data.OBD_Battery_Temperature = 100; + Misc_Packet_Data.Car_Ambient_Temperature = 200; for(i=0;i<6;i++) Vehicle_Status_Lora_Packet.BLE_Adv_Beacon_ID[i] = BLE_Adv_Module_Beacon_ID[i]; //MAC ID of 1st NearBy Beacon Device with Highest Signal Strength,dummy data for(i=0;i<6;i++) - Fixed_Beacon_Packet.Parking1_Beacon_ID[i] = i; //MAC ID of 1st NearBy Beacon Device with Highest Signal Strength,dummy data - Fixed_Beacon_Packet.Parking1_Beacon_Signal_Strength = 0x07; //Signal Strength of 3rd NearBy Beacon Device with Highest Signal Strength - for(i=0;i<6;i++) - Fixed_Beacon_Packet.Parking2_Beacon_ID[i] = i; //MAC ID of 1st NearBy Beacon Device with Highest Signal Strength,dummy data - Fixed_Beacon_Packet.Parking2_Beacon_Signal_Strength = 0x08; //Signal Strength of 3rd NearBy Beacon Device with Highest Signal Strength - for(i=0;i<6;i++) - Fixed_Beacon_Packet.Parking3_Beacon_ID[i] = i; //MAC ID of 1st NearBy Beacon Device with Highest Signal Strength,dummy data - Fixed_Beacon_Packet.Parking3_Beacon_Signal_Strength = 0x09; //Signal Strength of 3rd NearBy Beacon Device with Highest Signal Strength + Near_Car_Beacon_Packet.Near_Car1_Beacon_ID[i] = (3+i); //MAC ID of 1st NearBy Beacon Device with Highest Signal Strength,dummy data + Near_Car_Beacon_Packet.Near_Car1_Beacon_Signal_Strength = 0x07; //Signal Strength of 3rd NearBy Beacon Device with Highest Signal Strength for(i=0;i<6;i++) - Near_Car_Beacon_Packet.Near_Car1_Beacon_ID[i] = i; //MAC ID of 1st NearBy Beacon Device with Highest Signal Strength,dummy data - Near_Car_Beacon_Packet.Near_Car1_Beacon_Signal_Strength = 0x09; //Signal Strength of 3rd NearBy Beacon Device with Highest Signal Strength + Near_Car_Beacon_Packet.Near_Car2_Beacon_ID[i] = (2+i); //MAC ID of 1st NearBy Beacon Device with Highest Signal Strength,dummy data + Near_Car_Beacon_Packet.Near_Car2_Beacon_Signal_Strength = 0x08; //Signal Strength of 3rd NearBy Beacon Device with Highest Signal Strength for(i=0;i<6;i++) - Near_Car_Beacon_Packet.Near_Car2_Beacon_ID[i] = i; //MAC ID of 1st NearBy Beacon Device with Highest Signal Strength,dummy data - Near_Car_Beacon_Packet.Near_Car2_Beacon_Signal_Strength = 0x09; //Signal Strength of 3rd NearBy Beacon Device with Highest Signal Strength - for(i=0;i<6;i++) - Near_Car_Beacon_Packet.Near_Car3_Beacon_ID[i] = i; //MAC ID of 1st NearBy Beacon Device with Highest Signal Strength,dummy data + Near_Car_Beacon_Packet.Near_Car3_Beacon_ID[i] = (1+i); //MAC ID of 1st NearBy Beacon Device with Highest Signal Strength,dummy data Near_Car_Beacon_Packet.Near_Car3_Beacon_Signal_Strength = 0x09; //Signal Strength of 3rd NearBy Beacon Device with Highest Signal Strength - Vehicle_Status_Lora_Packet.Sequence_No = 0x00; //Sent Packet Sequence Number + Vehicle_Status_Lora_Packet.Sequence_No = 0x01; //Sent Packet Sequence Number Vehicle_Status_Lora_Packet.FCS = 0x00; //FCS of all packets /******* Initialize Lora packet for CheckIn *****/ Misc_Packet_Data.Header = LORA_PACKET_HEADER; Misc_Packet_Data.Protocol_Version = OBD_Protocol_Version; CheckIN_Lora_Packet.Packet_Type = CHECKIN_PACKET_CMD; - for(i=0;i<17;i++) - Misc_Packet_Data.VIN[i] = Vehicle_Identification_Number[i]; - for(i=0;i<3;i++) - Misc_Packet_Data.ODO_METER_READING[i] = 0x00; //Dummyy data, To be read using OBD for(i=0;i<5;i++) CheckIN_Lora_Packet.DTC[i] = 0x00; //Get Beacon_ID of 1st nearby Beacon Device - for(i=0;i<6;i++) - Fixed_Beacon_Packet.Parking1_Beacon_ID[i] = 0x00; //MAC ID of 1st NearBy Beacon Device with Highest Signal Strength,dummy data - Fixed_Beacon_Packet.Parking1_Beacon_Signal_Strength = 0x00; //Signal Strength of 3rd NearBy Beacon Device with Highest Signal Strength - for(i=0;i<6;i++) - Fixed_Beacon_Packet.Parking2_Beacon_ID[i] = 0x00; //MAC ID of 1st NearBy Beacon Device with Highest Signal Strength,dummy data - Fixed_Beacon_Packet.Parking2_Beacon_Signal_Strength = 0x00; //Signal Strength of 3rd NearBy Beacon Device with Highest Signal Strength - for(i=0;i<6;i++) - Fixed_Beacon_Packet.Parking3_Beacon_ID[i] = 0x00; //MAC ID of 1st NearBy Beacon Device with Highest Signal Strength,dummy data - Fixed_Beacon_Packet.Parking3_Beacon_Signal_Strength = 0x00; //Signal Strength of 3rd NearBy Beacon Device with Highest Signal Strength - CheckIN_Lora_Packet.Sequence_No = 0x00; //Sent Packet Sequence Number + CheckIN_Lora_Packet.Sequence_No = 0x01; //Sent Packet Sequence Number CheckIN_Lora_Packet.FCS = 0x00; //FCS of all packets /******* Initialize Lora packet for CheckOUT *****/ Misc_Packet_Data.Header = LORA_PACKET_HEADER; Misc_Packet_Data.Protocol_Version = OBD_Protocol_Version; CheckOUT_Packet.Packet_Type = CHECKIN_PACKET_CMD; - for(i=0;i<17;i++) - Misc_Packet_Data.VIN[i] = Vehicle_Identification_Number[i]; - for(i=0;i<3;i++) - Misc_Packet_Data.ODO_METER_READING[i] = 0x00; //Dummyy data, To be read using OBD - for(i=0;i<6;i++) - Fixed_Beacon_Packet.Parking1_Beacon_ID[i] = 0x00; //MAC ID of 1st NearBy Beacon Device with Highest Signal Strength,dummy data - Fixed_Beacon_Packet.Parking1_Beacon_Signal_Strength = 0x00; //Signal Strength of 3rd NearBy Beacon Device with Highest Signal Strength - for(i=0;i<6;i++) - Fixed_Beacon_Packet.Parking2_Beacon_ID[i] = 0x00; //MAC ID of 1st NearBy Beacon Device with Highest Signal Strength,dummy data - Fixed_Beacon_Packet.Parking2_Beacon_Signal_Strength = 0x00; //Signal Strength of 3rd NearBy Beacon Device with Highest Signal Strength - for(i=0;i<6;i++) - Fixed_Beacon_Packet.Parking3_Beacon_ID[i] = 0x00; //MAC ID of 1st NearBy Beacon Device with Highest Signal Strength,dummy data - Fixed_Beacon_Packet.Parking3_Beacon_Signal_Strength = 0x00; //Signal Strength of 3rd NearBy Beacon Device with Highest Signal Strength - CheckOUT_Packet.Sequence_No = 0x00; //Sent Packet Sequence Number + CheckOUT_Packet.Sequence_No = 0x01; //Sent Packet Sequence Number CheckOUT_Packet.FCS = 0x00; //FCS of all packets /******* Initialize Lora packet for Movement *****/ Misc_Packet_Data.Header = LORA_PACKET_HEADER; Misc_Packet_Data.Protocol_Version = OBD_Protocol_Version; Motion_Lora_Packet.Packet_Type = MOTION_PACKET_CMD; - for(i=0;i<6;i++) - Fixed_Beacon_Packet.Parking1_Beacon_ID[i] = 0x00; //MAC ID of 1st NearBy Beacon Device with Highest Signal Strength,dummy data - Fixed_Beacon_Packet.Parking1_Beacon_Signal_Strength = 0x00; //Signal Strength of 1st NearBy Beacon Device with Highest Signal Strength - for(i=0;i<6;i++) - Fixed_Beacon_Packet.Parking2_Beacon_ID[i] = 0x00; //MAC ID of 2nd NearBy Beacon Device with Highest Signal Strength,dummy data - Fixed_Beacon_Packet.Parking2_Beacon_Signal_Strength = 0x00; //Signal Strength of 2nd NearBy Beacon Device with Highest Signal Strength - for(i=0;i<6;i++) - Fixed_Beacon_Packet.Parking3_Beacon_ID[i] = 0x00; //MAC ID of 3rd NearBy Beacon Device with Highest Signal Strength,dummy data - Fixed_Beacon_Packet.Parking3_Beacon_Signal_Strength = 0x00; //Signal Strength of 3rd NearBy Beacon Device with Highest Signal Strength Motion_Lora_Packet.Acceleration_Type = 0x00; //Type of acceleration, Vehicle Started/Vehicle Stopped/Sudden Vehicle Movement - Motion_Lora_Packet.Sequence_No = 0x00; //Sent Packet Sequence Number + Motion_Lora_Packet.Sequence_No = 0x01; //Sent Packet Sequence Number Motion_Lora_Packet.FCS = 0x00; //FCS of all packets Lora_Packet_To_Send[0] = 0x41;//'A' Lora_Packet_To_Send[1] = 0x54;//'T' @@ -244,6 +201,7 @@ Lora_Packet_To_Send[7] = 0x20;//' ' Blank Space Lora_Packet_To_Send[8] = Misc_Packet_Data.Header; //Header of Lora Packet,0xFE Lora_Packet_To_Send[9] = Misc_Packet_Data.Protocol_Version; + pc2.printf("\nLora Packets Initialized"); } //HeartBeat Packet should be sent every 30sec @@ -268,8 +226,8 @@ Lora_Packet_To_Send[Pos++] = Fixed_Beacon_Packet.Parking3_Beacon_ID[i]; //Get Beacon_ID of 3rd nearby Beacon Device Lora_Packet_To_Send[Pos++] = Fixed_Beacon_Packet.Parking3_Beacon_Signal_Strength; //Get Signal Strength of 3rd nearby Beacon Device Lora_Packet_To_Send[Pos++] = Heart_Beat_Lora_Packet.Sequence_No; //Packet Sequence number - Lora_Packet_To_Send[Pos++] = Calculate_Lora_Frame_FCS(Lora_Packet_To_Send,Pos); //Calculate FCS of all bytes - Lora_Packet_To_Send[Pos++] = 0xDE;//Calculate_Lora_Frame_FCS(Lora_Packet_To_Send,Pos); //Calculate FCS of all bytes + //Lora_Packet_To_Send[Pos++] = Calculate_Lora_Frame_FCS(Lora_Packet_To_Send,Pos); //Calculate FCS of all bytes + Lora_Packet_To_Send[Pos++] = 0xFA;//Calculate_Lora_Frame_FCS(Lora_Packet_To_Send,Pos); //Calculate FCS of all bytes Lora_Packet_To_Send[Pos++] = 0x0D;//Calculate_Lora_Frame_FCS(Lora_Packet_To_Send,Pos); //Calculate FCS of all bytes /*Lora_Packet_To_Send[Pos++] = 0xB1;//Calculate_Lora_Frame_FCS(Lora_Packet_To_Send,Pos); //Calculate FCS of all bytes Lora_Packet_To_Send[Pos++] = 0xB2;//Calculate_Lora_Frame_FCS(Lora_Packet_To_Send,Pos); //Calculate FCS of all bytes @@ -277,11 +235,11 @@ Lora_Packet_To_Send[Pos++] = 0xB4;//Calculate_Lora_Frame_FCS(Lora_Packet_To_Send,Pos); //Calculate FCS of all bytes */Packet_Type_To_Send = HEARTBEAT_TYPE_PACKET; Send_Lora_Packet_To_Gateway(Lora_Packet_To_Send,Pos); - if(Heart_Beat_Lora_Packet.Sequence_No < 0xFF) + if(Heart_Beat_Lora_Packet.Sequence_No < 0x08) Heart_Beat_Lora_Packet.Sequence_No++; else - Heart_Beat_Lora_Packet.Sequence_No = 0x00; - pc2.printf("Heartbeat Packet Sequence Number %d",Heart_Beat_Lora_Packet.Sequence_No); + Heart_Beat_Lora_Packet.Sequence_No = 0x01; + pc2.printf("\nHeartbeat Packet Sequence Number %d",Heart_Beat_Lora_Packet.Sequence_No); } //CheckIN packets sending should be started when device is plugged in to the vehicle. It should be sent every 5sec for 2minutes and afterthat it should stop sending @@ -303,8 +261,6 @@ Lora_Packet_To_Send[Pos++] = Misc_Packet_Data.OBD_Battery_Temperature; //Get Battery Temperature Lora_Packet_To_Send[Pos++] = Misc_Packet_Data.Car_Ambient_Temperature; //Get Ambient Temperature for(i=0;i<6;i++) - Lora_Packet_To_Send[Pos++] = Vehicle_Status_Lora_Packet.BLE_Adv_Beacon_ID[i]; //Get Beacon_ID of 1st nearby Beacon Device - for(i=0;i<6;i++) Lora_Packet_To_Send[Pos++] = Fixed_Beacon_Packet.Parking1_Beacon_ID[i]; //Get Beacon_ID of 1st nearby Beacon Device Lora_Packet_To_Send[Pos++] = Fixed_Beacon_Packet.Parking1_Beacon_Signal_Strength; //Get Signal Strength of 1st nearby Beacon Device for(i=0;i<6;i++) @@ -313,7 +269,7 @@ for(i=0;i<6;i++) Lora_Packet_To_Send[Pos++] = Fixed_Beacon_Packet.Parking3_Beacon_ID[i]; //Get Beacon_ID of 3rd nearby Beacon Device Lora_Packet_To_Send[Pos++] = Fixed_Beacon_Packet.Parking3_Beacon_Signal_Strength; //Get Signal Strength of 3rd nearby Beacon Device - /*for(i=0;i<6;i++) + for(i=0;i<6;i++) Lora_Packet_To_Send[Pos++] = Near_Car_Beacon_Packet.Near_Car1_Beacon_ID[i]; //Get Beacon_ID of 1st nearby Beacon Device Lora_Packet_To_Send[Pos++] = Near_Car_Beacon_Packet.Near_Car1_Beacon_Signal_Strength; //Get Signal Strength of 1st nearby Beacon Device for(i=0;i<6;i++) @@ -321,9 +277,9 @@ Lora_Packet_To_Send[Pos++] = Near_Car_Beacon_Packet.Near_Car2_Beacon_Signal_Strength; //Get Signal Strength of 2nd nearby Beacon Device for(i=0;i<6;i++) Lora_Packet_To_Send[Pos++] = Near_Car_Beacon_Packet.Near_Car3_Beacon_ID[i]; //Get Beacon_ID of 3rd nearby Beacon Device - */Lora_Packet_To_Send[Pos++] = 0x23;//Near_Car_Beacon_Packet.Near_Car3_Beacon_Signal_Strength; //Get Signal Strength of 3rd nearby Beacon Device + Lora_Packet_To_Send[Pos++] = 0x23;//Near_Car_Beacon_Packet.Near_Car3_Beacon_Signal_Strength; //Get Signal Strength of 3rd nearby Beacon Device Lora_Packet_To_Send[Pos++] = Vehicle_Status_Lora_Packet.Sequence_No; //Packet Sequence number - Lora_Packet_To_Send[Pos++] = 0xEE;//Calculate_Lora_Frame_FCS(Lora_Packet_To_Send,Pos); //Calculate FCS of all bytes + /*Lora_Packet_To_Send[Pos++] = 0xEE;//Calculate_Lora_Frame_FCS(Lora_Packet_To_Send,Pos); //Calculate FCS of all bytes Lora_Packet_To_Send[Pos++] = 0xEa;//Calculate_Lora_Frame_FCS(Lora_Packet_To_Send,Pos); //Calculate FCS of all bytes Lora_Packet_To_Send[Pos++] = 0xEb;//Calculate_Lora_Frame_FCS(Lora_Packet_To_Send,Pos); //Calculate FCS of all bytes Lora_Packet_To_Send[Pos++] = 0xEc;//Calculate_Lora_Frame_FCS(Lora_Packet_To_Send,Pos); //Calculate FCS of all bytes @@ -352,24 +308,19 @@ Lora_Packet_To_Send[Pos++] = 0xE8;//Calculate_Lora_Frame_FCS(Lora_Packet_To_Send,Pos); //Calculate FCS of all bytes Lora_Packet_To_Send[Pos++] = 0xEb;//Calculate_Lora_Frame_FCS(Lora_Packet_To_Send,Pos); //Calculate FCS of all bytes Lora_Packet_To_Send[Pos++] = 0xE7;//Calculate_Lora_Frame_FCS(Lora_Packet_To_Send,Pos); //Calculate FCS of all bytes - Lora_Packet_To_Send[Pos++] = 0xE0;//Calculate_Lora_Frame_FCS(Lora_Packet_To_Send,Pos); //Calculate FCS of all bytes + */Lora_Packet_To_Send[Pos++] = Calculate_Lora_Frame_FCS(Lora_Packet_To_Send,Pos); //Calculate FCS of all bytes Lora_Packet_To_Send[Pos++] = 0x0D;//Calculate_Lora_Frame_FCS(Lora_Packet_To_Send,Pos); //Calculate FCS of all bytes /*Lora_Packet_To_Send[Pos++] = 0xA1;//Calculate_Lora_Frame_FCS(Lora_Packet_To_Send,Pos); //Calculate FCS of all bytes Lora_Packet_To_Send[Pos++] = 0xA2;//Calculate_Lora_Frame_FCS(Lora_Packet_To_Send,Pos); //Calculate FCS of all bytes Lora_Packet_To_Send[Pos++] = 0xA3;//Calculate_Lora_Frame_FCS(Lora_Packet_To_Send,Pos); //Calculate FCS of all bytes Lora_Packet_To_Send[Pos++] = 0xA4;//Calculate_Lora_Frame_FCS(Lora_Packet_To_Send,Pos); //Calculate FCS of all bytes */Send_Lora_Packet_To_Gateway(Lora_Packet_To_Send,Pos); - if(Vehicle_Status_Lora_Packet.Sequence_No < 0xFF) + if(Vehicle_Status_Lora_Packet.Sequence_No < 0x08) Vehicle_Status_Lora_Packet.Sequence_No++; else - Vehicle_Status_Lora_Packet.Sequence_No = 0x00; - pc2.printf("Status Packet sending"); - for(i=0; i < Pos; i++) - { - pc2.printf("0x%2x ",(Lora_Packet_To_Send[i])); - //pc2.putc(Command_To_Send[i]); - } - pc2.printf("Status Packet Sequence Number %d",Vehicle_Status_Lora_Packet.Sequence_No); + Vehicle_Status_Lora_Packet.Sequence_No = 0x01; + pc2.printf("\nStatus Packet sending"); + pc2.printf("\nStatus Packet Sequence Number %d",Vehicle_Status_Lora_Packet.Sequence_No); } //CheckIN packets sending should be started when device is plugged in to the vehicle. It should be sent every 5sec for 2minutes and afterthat it should stop sending @@ -404,14 +355,13 @@ Lora_Packet_To_Send[Pos++] = 0x0D;//Calculate_Lora_Frame_FCS(Lora_Packet_To_Send,Pos); //Calculate FCS of all bytes CheckIN_Packet_Sent_Count++; Send_Lora_Packet_To_Gateway(Lora_Packet_To_Send,Pos); - for(i=0; i < Pos; i++) - { - pc2.putc(Lora_Packet_To_Send[i]); - //pc2.putc(Command_To_Send[i]); - } - pc2.printf("CheckIN Packet Sent"); - CheckIN_Lora_Packet.Sequence_No++; - pc2.printf("Status Packet Sequence Number %d",CheckIN_Lora_Packet.Sequence_No); + pc2.printf("\nCheckIN Packet Sent"); + if(CheckIN_Lora_Packet.Sequence_No < 0x08) + CheckIN_Lora_Packet.Sequence_No++; + else + CheckIN_Lora_Packet.Sequence_No = 0x01; + pc2.printf("\nStatus Packet sending"); + pc2.printf("\nCheckIN Packet Sequence Number %d",CheckIN_Lora_Packet.Sequence_No); } @@ -431,18 +381,26 @@ Lora_Packet_To_Send[Pos++] = (Misc_Packet_Data.Car_Battery_Voltage & 0xFF); //Get Vehicle_Battery Temperature Lora_Packet_To_Send[Pos++] = Misc_Packet_Data.OBD_Battery_Temperature; //Get Battery Temperature Lora_Packet_To_Send[Pos++] = Misc_Packet_Data.Car_Ambient_Temperature; //Get Ambient Temperature + for(i=0;i<6;i++) + Lora_Packet_To_Send[Pos++] = Fixed_Beacon_Packet.Parking1_Beacon_ID[i]; //Get Beacon_ID of 1st nearby Beacon Device + Lora_Packet_To_Send[Pos++] = Fixed_Beacon_Packet.Parking1_Beacon_Signal_Strength; //Get Signal Strength of 1st nearby Beacon Device + for(i=0;i<6;i++) + Lora_Packet_To_Send[Pos++] = Fixed_Beacon_Packet.Parking2_Beacon_ID[i]; //Get Beacon_ID of 2nd nearby Beacon Device + Lora_Packet_To_Send[Pos++] = Fixed_Beacon_Packet.Parking2_Beacon_Signal_Strength; //Get Signal Strength of 2nd nearby Beacon Device + for(i=0;i<6;i++) + Lora_Packet_To_Send[Pos++] = Fixed_Beacon_Packet.Parking3_Beacon_ID[i]; //Get Beacon_ID of 3rd nearby Beacon Device + Lora_Packet_To_Send[Pos++] = Fixed_Beacon_Packet.Parking3_Beacon_Signal_Strength; //Get Signal Strength of 3rd nearby Beacon Device Lora_Packet_To_Send[Pos++] = CheckOUT_Packet.Sequence_No; //Packet Sequence number Lora_Packet_To_Send[Pos++] = Calculate_Lora_Frame_FCS(Lora_Packet_To_Send,Pos); //Calculate FCS of all bytes Lora_Packet_To_Send[Pos++] = 0x0D;//Calculate_Lora_Frame_FCS(Lora_Packet_To_Send,Pos); //Calculate FCS of all bytes CheckIN_Packet_Sent_Count++; Send_Lora_Packet_To_Gateway(Lora_Packet_To_Send,Pos); - for(i=0; i < Pos; i++) - { - pc2.putc(Lora_Packet_To_Send[i]); - //pc2.putc(Command_To_Send[i]); - }pc2.printf("CheckOUT Packet Sent"); - CheckOUT_Packet.Sequence_No++; - pc2.printf("Status Packet Sequence Number %d",CheckOUT_Packet.Sequence_No); + pc2.printf("\nCheckOUT Packet Sent"); + if(CheckOUT_Packet.Sequence_No < 0x08) + CheckOUT_Packet.Sequence_No++; + else + CheckOUT_Packet.Sequence_No = 0x01; + pc2.printf("\CheckOUT Packet Sequence Number %d",CheckOUT_Packet.Sequence_No); } //Motion packets sending should be started when vehicle acceleration changes like when it starts moving,stops moving and gets sudden jurk in case of theft. @@ -451,7 +409,7 @@ { //write code to read accelerometer data,temperature,beacon data uint8 Pos = 10,i; - Lora_Packet_To_Send[Pos++] = (Motion_Lora_Packet.Packet_Type & 0xFF); //LSB of Motion Packet Type + Lora_Packet_To_Send[Pos++] = MOTION_PACKET_CMD;//(Motion_Lora_Packet.Packet_Type & 0xFF); //LSB of Motion Packet Type for(i=0;i<6;i++) Lora_Packet_To_Send[Pos++] = Fixed_Beacon_Packet.Parking1_Beacon_ID[i]; //Get Beacon_ID of 1st nearby Beacon Device Lora_Packet_To_Send[Pos++] = Fixed_Beacon_Packet.Parking1_Beacon_Signal_Strength; //Get Signal Strength of 1st nearby Beacon Device @@ -464,14 +422,8 @@ for(i=0;i<6;i++) Lora_Packet_To_Send[Pos++] = Near_Car_Beacon_Packet.Near_Car1_Beacon_ID[i]; //Get Beacon_ID of 1st nearby Beacon Device Lora_Packet_To_Send[Pos++] = Near_Car_Beacon_Packet.Near_Car1_Beacon_Signal_Strength; //Get Signal Strength of 1st nearby Beacon Device - for(i=0;i<6;i++) - Lora_Packet_To_Send[Pos++] = Near_Car_Beacon_Packet.Near_Car2_Beacon_ID[i]; //Get Beacon_ID of 2nd nearby Beacon Device - Lora_Packet_To_Send[Pos++] = Near_Car_Beacon_Packet.Near_Car2_Beacon_Signal_Strength; //Get Signal Strength of 2nd nearby Beacon Device - for(i=0;i<6;i++) - Lora_Packet_To_Send[Pos++] = Near_Car_Beacon_Packet.Near_Car3_Beacon_ID[i]; //Get Beacon_ID of 3rd nearby Beacon Device - Lora_Packet_To_Send[Pos++] = Near_Car_Beacon_Packet.Near_Car3_Beacon_Signal_Strength; //Get Signal Strength of 3rd nearby Beacon Device Lora_Packet_To_Send[Pos++] = Motion_Lora_Packet.Acceleration_Type; //get Type of Acceleration - for(i=0;i<6;i++) + /*for(i=0;i<6;i++) Lora_Packet_To_Send[Pos++] = Near_Car_Beacon_Packet.Near_Car1_Beacon_ID[i]; //Get Beacon_ID of 1st nearby Beacon Device Lora_Packet_To_Send[Pos++] = Near_Car_Beacon_Packet.Near_Car1_Beacon_Signal_Strength; //Get Signal Strength of 1st nearby Beacon Device for(i=0;i<6;i++) @@ -480,16 +432,17 @@ for(i=0;i<6;i++) Lora_Packet_To_Send[Pos++] = Near_Car_Beacon_Packet.Near_Car3_Beacon_ID[i]; //Get Beacon_ID of 3rd nearby Beacon Device Lora_Packet_To_Send[Pos++] = Near_Car_Beacon_Packet.Near_Car3_Beacon_Signal_Strength; //Get Signal Strength of 3rd nearby Beacon Device - Lora_Packet_To_Send[Pos++] = Motion_Lora_Packet.Sequence_No; //Packet Sequence number + */Lora_Packet_To_Send[Pos++] = Motion_Lora_Packet.Sequence_No; //Packet Sequence number Lora_Packet_To_Send[Pos++] = Calculate_Lora_Frame_FCS(Lora_Packet_To_Send,Pos); //Calculate FCS of all bytes Motion_Packet_Sent_Count++; - Lora_Packet_To_Send[Pos] = 0x0D;//Calculate_Lora_Frame_FCS(Lora_Packet_To_Send,Pos); //Calculate FCS of all bytes + Lora_Packet_To_Send[Pos++] = 0x0D;//Calculate_Lora_Frame_FCS(Lora_Packet_To_Send,Pos); //Calculate FCS of all bytes Send_Lora_Packet_To_Gateway(Lora_Packet_To_Send,Pos); - for(i=0; i < Pos; i++) - { - pc2.putc(Lora_Packet_To_Send[i]); - //pc2.putc(Command_To_Send[i]); - }Motion_Lora_Packet.Sequence_No++; + if(Motion_Lora_Packet.Sequence_No < 0x08) + Motion_Lora_Packet.Sequence_No++; + else + Motion_Lora_Packet.Sequence_No = 0x01; + pc2.printf("\n Motion Packet Sent"); + pc2.printf("\Motion Packet Sequence Number %d",Motion_Lora_Packet.Sequence_No); } @@ -548,7 +501,7 @@ void Send_Lora_Packet_To_Gateway(uint8* Command_To_Send,uint8 Length) { uint8 i=0; - pc2.printf("Sending command"); + pc2.printf("\nSending command"); for(i=0; i < Length; i++) { LORA_Module_UART.putc(Command_To_Send[i]);
--- a/Lora.h Thu Feb 23 08:15:58 2017 +0000 +++ b/Lora.h Thu Feb 23 13:21:08 2017 +0000 @@ -14,9 +14,8 @@ #define CHECKIN_PACKET_CMD 0x02 //MSB,CheckIn Identification Packet #define CHECKOUT_PACKET_CMD 0x03 //MSB,CheckIn Identification Packet #define MOTION_PACKET_CMD 0x04 //MSB,Motion Identification Packet - #define LOW_BATTERY_PACKET_CMD 0x05 //MSB,Low Battery Identification Packet - #define STATUS_PACKET_CMD 0x06 //MSB,Status Packet - #define NEW_DEV_PACKET_CMD 0x07 //MSB,New Device Identification Packet + #define STATUS_PACKET_CMD 0x05 //MSB,Status Packet + #define NEW_DEV_PACKET_CMD 0x06 //MSB,New Device Identification Packet //Lora Frequency SubBand
--- a/main.cpp Thu Feb 23 08:15:58 2017 +0000 +++ b/main.cpp Thu Feb 23 13:21:08 2017 +0000 @@ -13,8 +13,9 @@ uint8 OBD_Plug_In_Status = FALSE; //peripheral connection -DigitalOut led1(LED1); +DigitalOut led1(PB_11); DigitalOut led2(LED2); +DigitalIn Switch2(PB_13); //Configure Serial port RawSerial LORA_UART(PA_0, PA_1);//USART4_TX->PA_0,USART4_RX->PA_1 : Used for Lora module command sending and reception from gateway @@ -27,6 +28,10 @@ //InterruptIn OBD_PLUGIN_INTERRUPT_PIN(PC_13); InterruptIn CheckIn_Interrupt(PB_7);//(PC_13); +InterruptIn Motion_Start_To_Stop(PB_5);//(PC_13); +InterruptIn Motion_Stop_To_Start(PB_14);//(PC_13); +InterruptIn Motion_Sudden_Jerk(PC_13);//(PC_13); + uint8 Ticker_Count = 0; //Variable to count for timer overflows @@ -130,6 +135,27 @@ uint8 OBD_PlugIN_State2=0; uint8 OBD_PlugIN_Temp_State=1; +uint8 Start_To_Stop_Status = FALSE; +uint8 Stop_To_Start_Status = FALSE; +uint8 Jerk_Status = FALSE; + +void Start_To_Stop_Interrupt() +{ + Start_To_Stop_Status = TRUE; + Motion_Detect_Status = TRUE; +} + +void Stop_To_Start_Interrupt() +{ + Stop_To_Start_Status = TRUE; + Motion_Detect_Status = TRUE; +} + +void Sudden_Jerk_Interrupt() +{ + Jerk_Status = TRUE; + Motion_Detect_Status = TRUE; +} void OBD_Plug_IN_Interrupt() { if(OBD_PlugIN_State1!=OBD_PlugIN_Temp_State) { @@ -155,13 +181,14 @@ void Handle_CheckIn_Interrupt() { OBD_PlugInOut_IOC_Status = TRUE; - pc.printf("Movement_Detected"); + pc.printf("\nMovement_Detected\n"); } //Declare Ticker for sending lora packet Ticker Lora_Packet_Sending_Ticker; void flip_Packet_Sending_Flag(void) { + led1=!led1; //flip function if(Ticker_Count < 5) { Ticker_Count++; @@ -205,7 +232,7 @@ { while (BLE_RECEIVER_UART.readable()) { // while there is data waiting - BLE_Receiver_UART_RX_Buffer[BLE_RxBuffer_End_Pos++] = BLE_RECEIVER_UART.getc(); // put it in the buffer + //BLE_Receiver_UART_RX_Buffer[BLE_RxBuffer_End_Pos++] = BLE_RECEIVER_UART.getc(); // put it in the buffer //pc1.putc(BLE_Receiver_UART_RX_Buffer[BLE_RxBuffer_End_Pos-1]); if(BLE_RxBuffer_End_Pos >= BLE_RECEIVER_UART_RX_Size) { // BUFFER OVERFLOW. What goes here depends on how you want to cope with that situation. @@ -219,12 +246,17 @@ { pc1.baud(115200); BLE_RECEIVER_UART.baud(115200); - pc1.printf("%s","Debugging started"); - BLE_RECEIVER_UART.attach(&BLE_Receiver_onDataRx, Serial::RxIrq); + pc1.printf("%s","Debugging started\n"); + //BLE_RECEIVER_UART.attach(&BLE_Receiver_onDataRx, Serial::RxIrq); LORA_UART.attach(&Lora_onDataRx, Serial::RxIrq); CheckIn_Interrupt.fall(&OBD_Plug_IN_Interrupt); CheckIn_Interrupt.rise(&OBD_Plug_OUT_Interrupt); - + if(Switch2) + { + } + Motion_Start_To_Stop.fall(&Start_To_Stop_Interrupt); + Motion_Stop_To_Start.fall(&Stop_To_Start_Interrupt); + Motion_Sudden_Jerk.fall(&Sudden_Jerk_Interrupt); //Create a thread to read vehicle data //Thread OBD_thread(OBD_Rcvd_Cmd_Processing_thread); @@ -234,9 +266,9 @@ //led2_thread is executing concurrently with main at this point //inactivity.rise(interrupt_activity_inactivity); // Attach the address of interrupt_activity_inactivity function to rising edge Initialize_Beacon_Module(); - Send_Command_To_BLE_Receiver(SET_BEACON_VENDOR_ID); - Send_Command_To_BLE_Receiver(SET_BEACON_MESSAGE_TYPE); - pc1.printf("%s","Transmitter MAC ID received"); + // Send_Command_To_BLE_Receiver(SET_BEACON_VENDOR_ID); + // Send_Command_To_BLE_Receiver(SET_BEACON_MESSAGE_TYPE); + pc1.printf("\n%s","Transmitter MAC ID received\n"); Lora_Periodic_Packet_Sending(); //Infinite loop for sending and receiving lora response, no return from here } @@ -256,51 +288,53 @@ uint8 Status_Packet_Wait_Count = 0; void Lora_Periodic_Packet_Sending() { - pc1.printf("Periodic packet sending intiialized"); + pc1.printf("\nPeriodic packet sending intiialized\n"); Set_Up_Lora_Network_Configuration(); Initialize_lora_Packets(); Send_Lora_Packet_Flag = TRUE; while (true) { if(Packet_Type_To_Send == HEARTBEAT_TYPE_PACKET) { //check if packet to be sent is Heartbeat packet if(Send_Lora_Packet_Flag) { //Check if packet sending is enabled, Packet should be sent only when enabled after timeout period + pc1.printf("\nStatus_Packet_Wait_Count %d\n",Status_Packet_Wait_Count); Status_Packet_Wait_Count++; if(Status_Packet_Wait_Count < 4) { - Send_Command_To_BLE_Receiver(GET_RSSI); - Send_RSSI_Request_Command(GET_RSSI); - pc1.printf("Sending heartbeat packet"); //call function to send periodic motion packet + // Send_Command_To_BLE_Receiver(GET_RSSI); + //Send_RSSI_Request_Command(GET_RSSI); + pc1.printf("\nSending heartbeat packet\n"); //call function to send periodic motion packet Send_HeartBeat_Packet(); //call function to send heartbeat packet - pc.printf("Sent HeartBeat Packet"); - AT_Response_Receive_Status = FAILURE; + pc.printf("\nSent HeartBeat Packet\n"); + /*AT_Response_Receive_Status = FAILURE; while(AT_Response_Receive_Status) Get_Lora_Response(); - Send_Lora_Packet_Flag = FALSE; - //pc1.printf("Heartbeat Packet Response Received"); + */Send_Lora_Packet_Flag = FALSE; + pc1.printf("\nHeartbeat Packet Response Received\n"); } else { //Send_RSSI_Request_Command(GET_RSSI); Status_Packet_Wait_Count = 0; - pc1.printf("Sending Vehicle status packets"); //call function to send periodic motion packet + pc1.printf("\nSending Vehicle status packets\n"); //call function to send periodic motion packet Send_Vehicle_Status_Packet(); //call function to send heartbeat packet - pc1.printf("Sent Vehicle Status Packet"); + pc1.printf("\nSent Vehicle Status Packet\n"); //AT_Response_Receive_Status = FAILURE; // while(AT_Response_Receive_Status) // Get_Lora_Response(); Send_Lora_Packet_Flag = FALSE; - //pc1.printf("Status Packet Response Received"); + Packet_Type_To_Send = HEARTBEAT_TYPE_PACKET; + //pc1.printf("\nStatus Packet Response Received\n"); } } } else if(Packet_Type_To_Send == MOTION_TYPE_PACKET) { //check if packet to be sent is motion packet if(Send_Lora_Packet_Flag) { //Check if packet sending isd enabled, Packet should be sent only when enabled after timeout period //Send_RSSI_Request_Command(GET_RSSI); - pc1.printf("Sending Motion Packet"); //call function to send periodic motion packet + pc1.printf("\nSending Motion Packet\n"); //call function to send periodic motion packet Send_Motion_Packet(); - pc1.printf("Sent Motion Packet"); //call function to send periodic motion packet + pc1.printf("\nSent Motion Packet\n"); //call function to send periodic motion packet AT_Response_Receive_Status = FAILURE; while(AT_Response_Receive_Status) Get_Lora_Response(); - pc1.printf("Motion Packet Response Received"); + pc1.printf("\nMotion Packet Response Received\n"); Send_Lora_Packet_Flag = FALSE; if(Motion_Packet_Sent_Count >= 5) { //Stop Sending Motion Packets if after sending for 2 minute - pc1.printf("Packet Type Sending Changed to HeartBeat"); + pc1.printf("\nPacket Type Sending Changed to HeartBeat\n"); Motion_Packet_Sent_Count = 0; Packet_Type_To_Send = HEARTBEAT_TYPE_PACKET; //Set Packet type to send as heartbeat packet Lora_Packet_Sending_Ticker.detach(); //destroy ticker @@ -310,31 +344,31 @@ } else if(Packet_Type_To_Send == CHECKIN_TYPE_PACKET) { //check if packet to be sent is Checkin packet if(Send_Lora_Packet_Flag) { //Check if packet sending isd enabled, Packet should be sent only when enabled after timeout period Send_Lora_Packet_Flag = FALSE; - //pc1.printf("Sent Beacon ID request"); + //pc1.printf("\nSent Beacon ID request\n"); // Send_RSSI_Request_Command(GET_RSSI); if(OBD_PlugIN_State) { - pc1.printf("Sening Checkin Packet"); + pc1.printf("\nSening Checkin Packet\n"); Send_CheckIN_Packet(); //call function to send periodic checkIn packet - pc1.printf("Sent Checkin Packet"); - Process_Beacon_Command_Received(SET_VIRTUAL_PACKET_UUID); - wait(.2); - Process_Beacon_Command_Received(SOFT_REBOOT1); + pc1.printf("\nSent Checkin Packet\n"); + //Process_Beacon_Command_Received(SET_VIRTUAL_PACKET_UUID); + //wait(.2); + //Process_Beacon_Command_Received(SOFT_REBOOT1); } else { - pc1.printf("Sending Checkout Packet"); + pc1.printf("\nSending Checkout Packet\n"); Send_CheckOUT_Packet(); - pc1.printf("Sent CheckOut Packet"); - Process_Beacon_Command_Received(SET_VIRTUAL_PACKET_UUID2); - wait(.2); - Process_Beacon_Command_Received(SOFT_REBOOT1); + pc1.printf("\nSent CheckOut Packet\n"); + //Process_Beacon_Command_Received(SET_VIRTUAL_PACKET_UUID2); + //wait(.2); + //Process_Beacon_Command_Received(SOFT_REBOOT1); } /* AT_Response_Receive_Status = FAILURE; while(AT_Response_Receive_Status) Get_Lora_Response();*/ if(CheckIN_Packet_Sent_Count >= 5) { //Stop Sending Motion Packets if after sending for 2 minute - pc1.printf("Packet Type Sending Changed to HeartBeat"); + pc1.printf("\nPacket Type Sending Changed to HeartBeat\n"); CheckIN_Packet_Sent_Count = 0; Packet_Type_To_Send = HEARTBEAT_TYPE_PACKET; //Set Packet type to send as heartbeat packet Initialize_Packets_Sent_Count(); @@ -346,19 +380,23 @@ //Get_Acceleration_Type(); // Process_Beacon_Command_Received(SET_VIRTUAL_PACKET_UUID); // Process_Beacon_Command_Received(SOFT_REBOOT1); - pc.putc('j'); OBD_PlugInOut_IOC_Status = FALSE; Packet_Type_To_Send = CHECKIN_TYPE_PACKET; Send_Lora_Packet_Flag = TRUE; CheckIN_Packet_Sent_Count = 0; - CheckIN_Lora_Packet.Sequence_No = 0x00; //Reset counter - CheckOUT_Packet.Sequence_No = 0x00; //Reset counter + CheckIN_Lora_Packet.Sequence_No = 0x01; //Reset counter + CheckOUT_Packet.Sequence_No = 0x01; //Reset counter wait(1); //wait for 1sec to avoid detecting plugin debounce } if(Motion_Detect_Status) { //Check if Accelerometer Interrupt is generated - Motion_Lora_Packet.Sequence_No = 0x00; //Reset counter + Motion_Lora_Packet.Sequence_No = 0x01; //Reset counter + Motion_Packet_Sent_Count = 0x00; //reset counetr Get_Acceleration_Type(); Motion_Detect_Status = FALSE; + Start_To_Stop_Status = FALSE; + Jerk_Status = FALSE; + Stop_To_Start_Status = FALSE; + wait(1); //wait for 1sec to avoid detecting switch debounce } } } @@ -369,7 +407,12 @@ Lora_Packet_Sending_Ticker.detach(); //destroy ticker Lora_Packet_Sending_Ticker.attach(&flip_Packet_Sending_Flag, 5.0); //create new ticker, time inetrval value to be changed Send_Lora_Packet_Flag = 1; //set flag to send motion packet as soon as motion is detecetd - Motion_Lora_Packet.Acceleration_Type = Motion_Type_Detected; //Read Type of motion deteceted + if(Start_To_Stop_Status) + Motion_Lora_Packet.Acceleration_Type = MOTION_TYPE_START_TO_STOP; //Read Type of motion deteceted + if(Stop_To_Start_Status) + Motion_Lora_Packet.Acceleration_Type = MOTION_TYPE_STOP_TO_START; //Read Type of motion deteceted + if(Jerk_Status) + Motion_Lora_Packet.Acceleration_Type = MOTION_TYPE_TAP; //Read Type of motion deteceted //write code to read acceleration value for every 10sec after any of the acceleration is found } @@ -422,7 +465,7 @@ Fixed_Beacon_Packet.Parking3_Beacon_ID[5] = 0xC9; Fixed_Beacon_Packet.Parking3_Beacon_Signal_Strength = 0xB0; */ - pc1.printf("Reading MACID from Receiver"); + pc1.printf("\nReading MACID from Receiver\n"); while(true) { wait_ms(2); @@ -433,7 +476,7 @@ if(BLE_Receiver_UART_RX_Buffer[Temp_Pos+1] == 0x0A) { Temp_Pos = 2; - //pc1.printf("Fixed Beacon1 MAC ID"); + //pc1.printf("\nFixed Beacon1 MAC ID\n"); for(i=0; i<6; i++) { Fixed_Beacon_Packet.Parking1_Beacon_ID[i] = BLE_Receiver_UART_RX_Buffer[Temp_Pos++]; @@ -441,7 +484,7 @@ } Temp_Pos+=2; Fixed_Beacon_Packet.Parking1_Beacon_Signal_Strength = BLE_Receiver_UART_RX_Buffer[Temp_Pos++]; - //pc1.printf("Fixed Beacon2 MAC ID"); + //pc1.printf("\nFixed Beacon2 MAC ID\n"); for(i=0; i<6; i++) { Fixed_Beacon_Packet.Parking2_Beacon_ID[i] = BLE_Receiver_UART_RX_Buffer[Temp_Pos++]; @@ -449,7 +492,7 @@ } Temp_Pos+=2; Fixed_Beacon_Packet.Parking2_Beacon_Signal_Strength = BLE_Receiver_UART_RX_Buffer[Temp_Pos++]; - //pc1.printf("Fixed Beacon3 MAC ID"); + //pc1.printf("\nFixed Beacon3 MAC ID\n"); for(i=0; i<6; i++) { Fixed_Beacon_Packet.Parking3_Beacon_ID[i] = BLE_Receiver_UART_RX_Buffer[Temp_Pos++]; @@ -468,5 +511,5 @@ else Temp_Pos = 0x00; } - pc1.printf("Reading MACID finished"); + pc1.printf("\nReading MACID finished\n"); }