commit
Dependencies: MPU6050_SIM5320_TEST
Fork of MPU_SDCARD by
main.cpp
- Committer:
- suads
- Date:
- 2017-09-14
- Revision:
- 0:203cf529f52a
- Child:
- 1:75966605a6a3
File content as of revision 0:203cf529f52a:
#include "mbed.h" #include "SDFileSystem.h" #include "SIM5320.h" #include "MPU6050.h" #include "SensorBoards.h" #include "WakeUp.h" uint8_t write_sd_buffer[12]; void create_sensor_data(uint8_t *write_sd_buffer, uint8_t *sensor_board_readings, uint8_t b_id, uint8_t s_id); //SIM5320 sim5320(PA_9,PA_10); DigitalOut SIM5320_PWR(PA_1); DigitalOut SIM_PWR_KEY(PA_15); InterruptIn mpuInterrupt(PB_6); uint8_t sensor_board_readings[4]; bool test = false; // MOSI, MISO, SCLK, CS, name SDFileSystem sd(PA_7, PA_6, PA_5, PA_4, "sd"); int go_to_sleep = 0; void mpuInterruptCallback() { test=!test; } void rtc_wakeup() { go_to_sleep = 1; } MPU6050 mpu; int main() { /////////////////////////////////////////////////MPU_DEEP_SLEEP_WAKEUP//////////////////////////// /* mpuInterrupt.fall(mpuInterruptCallback); wait(2); mpu.calibrate(accelBias, gyroBias); mpu.initialize(); mpu.setSleepEnabled(0); wait(2); mpu.setIntFreefallEnabled(1); mpu.setIntZeroMotionEnabled(0); mpu.setIntMotionEnabled(1); printf("Setting mpu parameters...\r\n"); mpu.setMotionDetectionThreshold(1); mpu.setMotionDetectionDuration(15); while(1){ printf("sleep\r\n"); deepsleep(); if(test){ wait(1); printf("Desio se motion\r\n"); test = 0; } } */ /////////////////////////////////////////////////////////////////////////////////////////// // wait(3); // SIM5320_PWR = 1; // SIM_PWR_KEY = 1; // wait(1); // SIM_PWR_KEY = 0; /* wait(25); wait(2); printf("Starting...\r\n"); printf("Starting...\r\n"); printf("Starting...\r\n"); printf("Starting...\r\n"); sim5320.sendCommand("AT+CNUM",2); printf("Checking credit balance...\r\n"); sim5320.sendCommand("AT+CUSD=1, \"*100#\",15",5); //Testing GPS sim5320.enableGPS(true); wait(30); //Gettting GPS location sim5320.sendCommand("AT+CGPSINFO",2); sim5320.sendCommand("AT+CGPSINFO",2); sim5320.sendCommand("AT+CGPSINFO",2); //Testing network connection and disconnection sim5320.connect("active.bhmobile.ba","",""); wait(2); if(sim5320.disconnect()) { printf("Disconnected\r\n"); } else { printf("Still connected or error occured!\r\n"); } while(1) { wait(1); sim5320.sendCommand("AT",1); } */ /////////////////////////////////////////////////RTC_DEEP_SLEEP_WAKEUP//////////////////////////// /* set_time(1495040081); // Set RTC time to Wed, 28 Oct 2009 11:35:37 WakeUp::attach(&rtc_wakeup); WakeUp::calibrate(); while (1) { WakeUp::set_ms(5000); time_t seconds = time(NULL); printf("Time = %s\n", ctime(&seconds)); wait(1); printf("sleep\n"); deepsleep(); if (go_to_sleep == 1) { wait(1); printf("Wake_up\n"); go_to_sleep=0; } } */ //////////////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////CODE FOR SENDOR_BOARDS//////////////////////////////////////////////////////////////// /* uint8_t IDBuffer[8]; uint8_t IDMeasure[4]; float measure=0.0; float measure2=0.0; SensorBoards B1; B1.getSensorReadings(0x4a,0x10,IDMeasure); printf("number_of__boards= %d\n",B1.numberOfBoards); B1.sensorBoardScanner(); printf("SnesorBoardAdress= %d\n",B1.boards[0].I2CAddress); B1.getSensorNumbers(); printf("SensorBoardsensors= %d\n",B1.boards[0].numberOfSensors); B1.getSensorIDs(); printf("SensorBoardIDs=%d %d \n",B1.boards[0].sensorIDs[0],B1.boards[0].sensorIDs[1]); B1.getSensorReadings(0x4a,0x10,IDMeasure); for(int k=0; k<1; k++) { printf("broj senzora %d \n",B1.boards[k].numberOfSensors); for(int i=0; i<B1.boards[k].numberOfSensors; i++){ B1.getSensorReadings(B1.boards[k].I2CAddress,B1.boards[k].sensorIDs[i],IDMeasure); printf("measure=%d %d %d %d keaj\n",IDMeasure[0],IDMeasure[1],IDMeasure[2],IDMeasure[3]); //create_sensor_data(write_sd_buffer,IDMeasure,B1.boards[k].I2CAddress,B1.boards[k].sensorIDs[i]); } } for(int i=0;i<12;i++) printf("_%d\n",write_sd_buffer[i]); */ ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// return 0; } void create_sensor_data(uint8_t *write_sd_buffer, uint8_t *sensor_board_readings, uint8_t b_id, uint8_t s_id) { //pcf8563_read(&rtc); write_sd_buffer[0]=0; write_sd_buffer[1]=1; write_sd_buffer[2]=2; write_sd_buffer[3]=3; write_sd_buffer[4]=4; write_sd_buffer[5] =b_id; //sensor boaard id write_sd_buffer[6] =s_id; //sensor id write_sd_buffer[7] =sensor_board_readings[3]; //sensor reading write_sd_buffer[8] =sensor_board_readings[2]; //sensor reading write_sd_buffer[9] =sensor_board_readings[1]; //sensor reading write_sd_buffer[10]=sensor_board_readings[0]; //sensor reading write_sd_buffer[11]=0xFF; write_sd_buffer[12]=0xFF; }