by MARTA RADI
Dependencies: GPSM bno055 SDcardM
main.cpp
- Committer:
- renemagrit
- Date:
- 2019-10-03
- Revision:
- 3:835df5760305
- Parent:
- 1:9fac2596c39d
File content as of revision 3:835df5760305:
/*------------------LIBS------------------*/ #include "mbed.h" #include "bno055.h" #include "CANlibrary.h" #include "CANadressID.h" #include "GPSM.h" #include "SDcardM.h" #include "SDBlockDevice.h" #include <string> /*---------------DATA TYPES---------------*/ CAN can(PA_11, PA_12,1000000); //10DOF BNO055 imu(PB_14, PB_13); char calibration[22]= {0x03, 0x00, 0xF2, 0xFF, 0x08, 0x00, 0xB4, 0x00, 0xAB, 0xFF, 0xD9, 0xFE, 0xFF, 0xFF, 0xF5, 0xFF, 0x00, 0x00, 0xE8, 0x03, 0x95, 0x02 }; //XBEE Serial pc(PA_0, PA_1, 115200); //SD Card Object SDBlockDevice sd(PA_7, PA_6, PA_5, PA_4, 100000); uint8_t buff[512] = ""; bd_addr_t* blockAddr = (bd_addr_t*) buff; //uint32_t* byteAddr = blockAddr+1; int main() { *blockAddr=512; //*byteAddr=14; pc.printf("INITIALIZING...\r\n"); //GPS INIT pc.printf("GPS...\r\n"); GPSM::GPSM_Init(PC_10, PC_11); while(GPSM::_gps->readable()) GPSM::_gps->getc(); GPSM::_gps->attach(callback(GPSM::rx_interrupt)); //10DOF INIT //imu.reset(); //while(!imu.check()); pc.printf("IMU...\r\n"); //10DOF SET MODE AND CALIBRATE imu.set_calibration_data(calibration); imu.setmode(OPERATION_MODE_NDOF); wait_ms(10); imu.write_calibration_data(); pc.printf("CAN...\r\n"); //can.frequency(1000000); //10hz??? can_initRX(); pc.printf("SD...\r\n"); SD_init(); //sd.init(); //sd.program(buff, 0, 512); SD_log_string("PILETINA SE ZA PRSTE LEPI!"); SD_log_float(3.14159); SD_log_int(73); SD_flush(); sd.read(buff, 512, 512); pc.printf("%s", buff); pc.printf("STATUS NOMINAL: ALL FUCKED UP\r\n"); //ticker.attach(&tick, 1); //ticked=false; /*----------------MAIN LOOP----------------*/ while (true) { //while(!ticked); //ticked=false; wait_ms(1000); //GET YPR imu.get_angles(); pc.printf("Yaw: %5.1f Pitch: %5.1f Roll: %5.1f\r\n", imu.euler.yaw, imu.euler.pitch, imu.euler.roll); //GET ACCEL imu.get_accel(); pc.printf("ACX: %5.1f ACY: %5.1f ACZ: %5.1f\r\n", imu.accel.x, imu.accel.y, imu.accel.z); if(imu.getmode()!=OPERATION_MODE_NDOF) { pc.printf("IMU_FEJL\r\n"); imu.setmode(OPERATION_MODE_NDOF); wait_ms(10); imu.write_calibration_data(); pc.printf("REINITED\r\n"); } if(GPSM::poll()) pc.printf("LON: %f, LAT: %f\r\n", GPSM::get_dec_longitude(), GPSM::get_dec_latitude()); if(check_flag(10)) { pc.printf("ASAD1: %d\n", get_data(10, 0)); } if(check_flag(12)) { pc.printf("ASAD2: %d\n", get_data(12, 0)); } pc.printf(" - - - - - - - DTA - - - - - - - \n"); pc.printf("DTA1: RPM - %d TPS - %d WaterTemp - %d AirTemp - %d\n", get_data(DTA1_RPM), get_data(DTA1_TPS), get_data(DTA1_WaterTemp), get_data(DTA1_AirTemp)); pc.printf("DTA2: MAP - %d Lambda - %d Speed - %d OilPres - %d\n", get_data(DTA2_MAP), get_data(DTA2_Lambda), get_data(DTA2_Speed), get_data(DTA2_OilPres)); pc.printf("DTA3: OilTemp - %d Volts - %d\n", get_data(DTA3_OilTemp), get_data(DTA3_Volts)); pc.printf("DTA4: Gear - %d\n", get_data(DTA4_Gear)); pc.printf("DTA6: Crank - %d\n", get_data(DTA6_Crank)); } }