kumar singh / Mbed OS Dealer_20Mar

Fork of Dealer_23Feb by kumar singh

Files at this revision

API Documentation at this revision

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

Beacon.cpp Show annotated file Show diff for this revision Revisions of this file
Lora.cpp Show annotated file Show diff for this revision Revisions of this file
main.cpp Show annotated file Show diff for this revision Revisions of this file
--- 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;