Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of Dealer_23Feb by
Revision 22:c2f034a13108, committed 2017-02-23
- Comitter:
- NarendraSingh
- Date:
- Thu Feb 23 04:41:47 2017 +0000
- Parent:
- 21:a5fb0ae94dc6
- Child:
- 23:688ee106c385
- Commit message:
- status packet with dummy data
Changed in this revision
--- a/Beacon.cpp Wed Feb 22 14:59:59 2017 +0000
+++ b/Beacon.cpp Thu Feb 23 04:41:47 2017 +0000
@@ -79,7 +79,7 @@
}
- //DEBUG_UART2.printf("UUID Set");
+ DEBUG_UART2.printf("UUID Set");
Change_Beacon_Parameter(SET_VIRTUAL_PACKET_UUID1);
}
else if((Command_Received[0] == 0x12) && (Command_Received[1] == 0x21)) //Check if command is receievd for setting UUID
@@ -177,7 +177,7 @@
for(i = 0;i<21;i++)
{
Beacon_Module_UART.putc(Beacon_Parameter_To_Set[i]);
- //DEBUG_UART2.putc(Beacon_Parameter_To_Set[i]);
+ DEBUG_UART2.putc(Beacon_Parameter_To_Set[i]);
}
//Beacon_Module_UART.printf('%x',0x0d);
//DEBUG_UART2.putc('%x',0x0d);
@@ -189,7 +189,7 @@
void Initialize_Beacon_Module(void)
{
Beacon_Module_UART.baud(9600); //set Beacon transmitter uart baud rate to default 9600
- Read_Beacon_Module_MAC_ID();
+ //Read_Beacon_Module_MAC_ID();
}
void Read_Beacon_Module_MAC_ID(void)
--- a/Lora.cpp Wed Feb 22 14:59:59 2017 +0000
+++ b/Lora.cpp Thu Feb 23 04:41:47 2017 +0000
@@ -313,7 +313,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 +321,38 @@
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++] = 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
+ 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++] = 0xE3;//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++] = 0xE1;//Calculate_Lora_Frame_FCS(Lora_Packet_To_Send,Pos); //Calculate FCS of all bytes
+ Lora_Packet_To_Send[Pos++] = 0xE5;//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++] = 0xEf;//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
+ 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++] = 0xE3;//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++] = 0xE1;//Calculate_Lora_Frame_FCS(Lora_Packet_To_Send,Pos); //Calculate FCS of all bytes
+ Lora_Packet_To_Send[Pos++] = 0xE5;//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++] = 0xE9;//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++] = 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++] = 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
@@ -334,11 +363,12 @@
Vehicle_Status_Lora_Packet.Sequence_No++;
else
Vehicle_Status_Lora_Packet.Sequence_No = 0x00;
- /*for(i=0; i < Pos; i++)
+ pc2.printf("Status Packet sending");
+ for(i=0; i < Pos; i++)
{
- pc2.putc(Lora_Packet_To_Send[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);
}
@@ -371,6 +401,7 @@
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++] = CheckIN_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] = 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++)
@@ -402,6 +433,7 @@
Lora_Packet_To_Send[Pos++] = Misc_Packet_Data.Car_Ambient_Temperature; //Get Ambient Temperature
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++)
@@ -451,6 +483,7 @@
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
Send_Lora_Packet_To_Gateway(Lora_Packet_To_Send,Pos);
for(i=0; i < Pos; i++)
{
@@ -490,14 +523,10 @@
{
LORA_UART_RX_Crnt_Pos = (Response_Start_Pos[0]);
Response_Start_Pos[1]-=2;
- //pc2.printf("\n Response packet\n");
for(Temp_Pos1=0; LORA_UART_RX_Crnt_Pos < Response_Start_Pos[1]; Temp_Pos1++)
{
Lora_Command_Rcvd[Temp_Pos1] = LORA_UART_RX_Buffer[LORA_UART_RX_Crnt_Pos++];
- //pc2.printf("0x%2x ",(Lora_Command_Rcvd[Temp_Pos1]));
- //pc2.putc(Lora_Command_Rcvd[Temp_Pos1]);
}
- //pc2.printf("\nTotal Reecived Bytes %d\n",LORA_UART_RX_Crnt_Pos);
Lora_RxBuffer_End_Pos = 0;
AT_Response_Receive_Status = SUCCESS;
}
@@ -505,18 +534,10 @@
{
LORA_UART_RX_Crnt_Pos = (Response_Start_Pos[1]);
Response_Start_Pos[2]-=2;
- //pc2.printf("\n Response packet\n");
for(Temp_Pos1=0; LORA_UART_RX_Crnt_Pos < Response_Start_Pos[2]; Temp_Pos1++)
{
Lora_Command_Rcvd[Temp_Pos1] = LORA_UART_RX_Buffer[LORA_UART_RX_Crnt_Pos++];
-
- //pc2.putc(Lora_Command_Rcvd[Temp_Pos1]);
}
- /*for(Temp_Pos1=0; Temp_Pos1 < Length; Temp_Pos1++)
- {
- pc2.printf("0x%2x ",(Lora_Command_Rcvd[Temp_Pos1]));
- }*/
- //pc2.printf("\nTotal Reecived Bytes %d\n",LORA_UART_RX_Crnt_Pos);
Lora_RxBuffer_End_Pos = 0;
AT_Response_Receive_Status = SUCCESS;
}
@@ -527,19 +548,20 @@
void Send_Lora_Packet_To_Gateway(uint8* Command_To_Send,uint8 Length)
{
uint8 i=0;
+ pc2.printf("Sending command");
for(i=0; i < Length; i++)
{
LORA_Module_UART.putc(Command_To_Send[i]);
- //pc2.putc(Command_To_Send[i]);
+ pc2.printf("0x%2x ",(Command_To_Send[i]));
}
//LORA_Module_UART.printf("\r");
-
+ /*
pc2.printf("\n Sending packet\n");
for(i=0; i < Length; i++)
{
pc2.printf("0x%2x ",(Command_To_Send[i]));
}
-
+ */
// LORA_Module_UART.printf("%s",Command_To_Send);
pc2.printf("\nTotal Bytes %d\n",Length);
}
--- a/main.cpp Wed Feb 22 14:59:59 2017 +0000
+++ b/main.cpp Thu Feb 23 04:41:47 2017 +0000
@@ -137,6 +137,7 @@
void OBD_Plug_OUT_Interrupt()
{
+
if(OBD_PlugIN_State2!=OBD_PlugIN_Temp_State) {
OBD_PlugIN_State2=0;
OBD_PlugIN_State=!OBD_PlugIN_State;
@@ -200,7 +201,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
- pc1.putc(BLE_Receiver_UART_RX_Buffer[BLE_RxBuffer_End_Pos-1]);
+ //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.
// For now just throw everything away.
@@ -216,7 +217,9 @@
pc1.printf("%s","Debugging started");
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);
+
//Create a thread to read vehicle data
//Thread OBD_thread(OBD_Rcvd_Cmd_Processing_thread);
@@ -224,9 +227,7 @@
// OBD_PLUGIN_INTERRUPT_PIN.rise(&Enable_CheckIN_Packet_Sending); // call toggle function on the rising edge
//led2_thread is executing concurrently with main at this point
- CheckIn_Interrupt.fall(&OBD_Plug_IN_Interrupt);
- CheckIn_Interrupt.rise(&OBD_Plug_OUT_Interrupt);
- inactivity.rise(interrupt_activity_inactivity); // Attach the address of interrupt_activity_inactivity function to rising edge
+ //inactivity.rise(interrupt_activity_inactivity); // Attach the address of interrupt_activity_inactivity function to rising edge
Initialize_Beacon_Module();
pc1.printf("%s","Transmitter MAC ID received");
Lora_Periodic_Packet_Sending(); //Infinite loop for sending and receiving lora response, no return from here
@@ -260,7 +261,7 @@
Get_Lora_Response();
Send_Lora_Packet_Flag = FALSE;
//pc1.printf("Heartbeat Packet Response Received");
- } else if(Status_Packet_Wait_Count >= 6){
+ } 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
@@ -303,6 +304,7 @@
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);
}
else
@@ -311,11 +313,12 @@
Send_CheckOUT_Packet();
pc1.printf("Sent CheckOut Packet");
Process_Beacon_Command_Received(SET_VIRTUAL_PACKET_UUID2);
+ wait(.2);
Process_Beacon_Command_Received(SOFT_REBOOT1);
}
- AT_Response_Receive_Status = FAILURE;
+ /* AT_Response_Receive_Status = FAILURE;
while(AT_Response_Receive_Status)
- Get_Lora_Response();
+ 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");
CheckIN_Packet_Sent_Count = 0;
@@ -329,6 +332,7 @@
//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;
