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
Fork of WearableDevice_Nucleo by
event.cpp
00001 /* 00002 * Los Putacos 00003 * Copyright (C) 2017, All rights reserved. 00004 * ________________________________________ 00005 * 00006 * Created by: Gustavo Campana, Michael Schmidt, Miguel Lopez 00007 * Date: 12-Oct-2017 00008 * Version: V0.1 00009 */ 00010 //----------------------------------------------------------------- 00011 00012 //----------------------------------------------------------------- 00013 // Includes 00014 #include "event.h" 00015 00016 //----------------------------------------------------------------- 00017 00018 //----------------------------------------------------------------- 00019 void ReadBattery(void) 00020 { 00021 Battery_Status = VSense.read()/0.21 - 3; // Read Voltage Level above Critial Value (> 3V) 00022 Power_Consumption = ISense.read() * 3.3; // Read Current Level and calculate Power_Consumption 00023 PC.printf("Battery_Status = %.3fV - %.3fmW\n", Battery_Status + 3, Power_Consumption); // Show Total Voltage Level 00024 00025 if (Battery_Status > 1) { // More than 1V Voltage Difference 00026 LED_Red1 = 0; // Turn ON both Red LEDs 00027 LED_Red2 = 0; 00028 } else if ((Battery_Status > 0.25) && (Battery_Status < 1)) { // Between 0.25V and 1V Voltage Difference 00029 LED_Red1 = 0; // Turn ON one Red LEDs 00030 LED_Red2 = 1; 00031 } else { 00032 LED_Red1 = 1; // Turn off both Red LEDs 00033 LED_Red2 = 1; 00034 } 00035 } 00036 //----------------------------------------------------------------- 00037 00038 //----------------------------------------------------------------- 00039 void ReceiveCommand(void) 00040 { 00041 response = Socket_TCP.connect("192.168.43.96", 8080); // Connect to TCP Server at 192.168.43.96/8080 00042 00043 if (0 == response) { // Server Available & Connection Successful 00044 if (Socket_TCP.recv(Data_Buffer, sizeof Data_Buffer) > 0) { // TCP Socket Data Available 00045 if (strlen(Data_Buffer) == 9) { // Check Package Length (correct: len = 9) 00046 if ((Data_Buffer[0] == '#') && (Data_Buffer[6] == ',')) { // Check for "#" and "," at specific Positions 00047 if (strstr(Data_Buffer, DeviceNr) != NULL) { // Check for valid DeviceNr in Package 00048 Ticker_ReadBattery.detach(); // Stop "ReadBattery" Thread 00049 Ticker_ReceiveCommand.detach(); // Stop "ReceiveCommand" Thread 00050 00051 Time_Buffer[0] = Data_Buffer[7]; // Read 1st Time Byte from Buffer 00052 Time_Buffer[1] = Data_Buffer[8]; // Read 2nd Time Byte from Buffer 00053 Requested_Time = atoi(Time_Buffer); // Requested Time by Command 00054 00055 PC.printf("\nCommand Received - Requested Time: %d\n", Requested_Time); 00056 Buzzer = 0.5; // Enable Buzzer at 50% DutyCycle 00057 wait(0.5); // Pause for Buzzing 00058 Buzzer = 0; // Disable Buzzer 00059 CheckCommandDone_Flag = 1; // Set Flag for Measurement Start 00060 } 00061 } 00062 } 00063 } 00064 } 00065 } 00066 //----------------------------------------------------------------- 00067 00068 //----------------------------------------------------------------- 00069 void ReadIMU(void) 00070 { 00071 Time_Data = TimeStamp.read_ms(); // Read TimeStamp Data 00072 00073 if (Time_Data <= Requested_Time * 1000) { // Check Time Elapsed 00074 imu.read_acc(); // Read Accelerometer Data 00075 00076 Data_Storage_MIC[writePointer_MIC++] = Micro_1.read_u16(); // Store Microphone Data 00077 Data_Storage[writePointer++] = imu.accelerometer_data[2]; // Store Z-Axis Accelerometer Data 00078 Data_Storage[writePointer++] = imu.accelerometer_data[1]; // Store Y-Axis Accelerometer Data 00079 Data_Storage[writePointer++] = imu.accelerometer_data[0]; // Store X-Axis Accelerometer Data 00080 Data_Storage[writePointer++] = Time_Data; // Store Time Data 00081 } else { 00082 Ticker_IMU.detach(); // Stop "ReadIMU" Thread 00083 TimeStamp.stop(); // Stop TimeStamp 00084 TimeStamp.reset(); // Reset TimeStamp 00085 00086 TimeStamp.start(); // Start TimeStamp 00087 ReadIMUDone_Flag = 1; // Set Flag for Sending Start 00088 } 00089 } 00090 //----------------------------------------------------------------- 00091 00092 //-----------------------------------------------------------------
Generated on Sun Jul 24 2022 03:01:42 by
