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.
Dependencies: MPU9250_SPI SDFileSystem XBeeLib
Diff: event.cpp
- Revision:
- 28:c7e977a19564
- Parent:
- 27:c4b2ce6fa5b8
- Child:
- 29:ab809198c1ba
--- a/event.cpp Sun Nov 12 14:54:49 2017 +0000
+++ b/event.cpp Tue Dec 19 10:15:19 2017 +0000
@@ -15,9 +15,26 @@
//-----------------------------------------------------------------
//-----------------------------------------------------------------
-void ReceiveXBee(void)
+void ReceiveCommand(void)
{
- XBee.process_rx_frames(); // Check for Received Frames
+ if (Socket_TCP.recv(Data_Buffer, sizeof Data_Buffer) > 0) {
+ PC.printf("Socket Data Received! - %s\n", Data_Buffer);
+
+ if (strlen(Data_Buffer) == 9) { // Check Package Length (correct: len = 9)
+ if ((Data_Buffer[0] == '#') && (Data_Buffer[6] == ',')) { // Check for "#" and "," at specific Positions
+ if (strstr(Data_Buffer, DeviceNr) != NULL) { // Check for valid DeviceNr in Package
+ Time_Buffer[0] = Data_Buffer[7];
+ Time_Buffer[1] = Data_Buffer[8];
+ Requested_Time = atoi(Time_Buffer); // Requested Time by received Package
+
+ CheckCommandDone_Flag = 1;
+ PC.printf("Requested Time: %d\n", Requested_Time);
+ memset(Data_Buffer, 0, sizeof(Data_Buffer)); // Clear Data_Buffer
+ Ticker_ReceiveCommand.detach();
+ }
+ }
+ }
+ }
}
//-----------------------------------------------------------------
@@ -27,22 +44,21 @@
Time_Data = TimeStamp.read_ms(); // Read TimeStamp Data
if (Time_Data <= Requested_Time * 1000) { // Check Time Elapsed
- imu.read_all();
+ imu.read_acc();
- Data_Storage_MIC[writePointer_MIC++] = micro.read_u16(); // Store Microphone Data
- Data_Storage[writePointer++] = (int)(1000*imu.accelerometer_data[2]); // Store Z-Axis Accelerometer Data
- Data_Storage[writePointer++] = (int)(1000*imu.accelerometer_data[1]); // Store Y-Axis Accelerometer Data
- Data_Storage[writePointer++] = (int)(1000*imu.accelerometer_data[0]); // Store X-Axis Accelerometer Data
- Data_Storage[writePointer++] = Time_Data; // Store Time Data
+ Data_Storage_MIC[writePointer_MIC++] = micro.read_u16(); // Store Microphone Data
+ Data_Storage[writePointer++] = imu.accelerometer_data[2]; // Store Z-Axis Accelerometer Data
+ Data_Storage[writePointer++] = imu.accelerometer_data[1]; // Store Y-Axis Accelerometer Data
+ Data_Storage[writePointer++] = imu.accelerometer_data[0]; // Store X-Axis Accelerometer Data
+ Data_Storage[writePointer++] = Time_Data; // Store Time Data
} else {
Ticker_IMU.detach(); // Detach Timer to Stop "ReadIMU"
TimeStamp.stop(); // Stop TimeStamp
+ TimeStamp.reset(); // Reset TimeStamp
- TimeStamp.reset();
TimeStamp.start();
ReadIMUDone_Flag = 1;
- PC.printf(" Done!\n");
- PC.printf("Sending Data ...");
+ PC.printf("Measurement Done!\n");
}
}
//-----------------------------------------------------------------

