/* reads prom register into val and returns 0 * if the read failed, val remains untouched * and a negative error code is returned */ static int ms5611_read_prom(ms5611_t *ms5611, uint8_t reg) { THROW_BEGIN(); uint8_t raw[2]; THROW_ON_ERR(i2c_read_block_reg(&ms5611->i2c_dev, MS5611_PROM_READ(reg), raw, sizeof(raw))); ms5611->prom[reg] = raw[1] | (raw[0] << 8); THROW_END(); }
void USB_DEBUG_RADIO(void) { int16_t ACCELDATA[3]; int16_t GYRODATA[3]; // int16_t TEMPDATA; int16_t MAGDATA[3]; float ACCELDATA_F[3]; float GYRODATA_F[3]; float MAGDATA_F[3]; // float TEMP_F; uint16_t ADCTEMP; static uint16_t MS5611_PROM[7]; static float MS5611_TEMP_NoOffset[2],MS5611_TaPAfterOffset[2],PRESSUREDATA; MS5611_PROM_READ(MS5611_PROM); MS5611_GetTempture(CMD_MS5611_D2_OSR_4096, MS5611_PROM, MS5611_TEMP_NoOffset); MS5611_GetPressure(CMD_MS5611_D1_OSR_4096, MS5611_PROM, MS5611_TEMP_NoOffset, MS5611_TaPAfterOffset); PRESSUREDATA = MS5611_TaPAfterOffset[1] * 0.01f; if(BBSYSTEM.NRFONLINE==1) USB_printf("NRF is online!\n"); if(BBSYSTEM.MPU9250ONLINE==1) USB_printf("MPU checking pass!\n"); READ_MPU9250_ACCEL_RAW(ACCELDATA); READ_MPU9250_GYRO_RAW(GYRODATA); READ_MPU9250_Bypass_MAG_RAW(MAGDATA); // TEMPDATA=READ_MPU9250_TEMP_RAW(); ACCELDATA_F[0]=ACCELDATA[0]/ACCELLSB; ACCELDATA_F[1]=ACCELDATA[1]/ACCELLSB; ACCELDATA_F[2]=ACCELDATA[2]/ACCELLSB; GYRODATA_F[0]=GYRODATA[0]/GYROLSB; GYRODATA_F[1]=GYRODATA[1]/GYROLSB; GYRODATA_F[2]=GYRODATA[2]/GYROLSB; MAGDATA_F[0]=MAGDATA[0]*MAGLSB; MAGDATA_F[1]=MAGDATA[1]*MAGLSB; MAGDATA_F[2]=MAGDATA[2]*MAGLSB; //TEMP_F=TEMPDATA/340.0 + 36.53; ADCTEMP = adcBatteryConversion(); USB_printf("The BatVolt is: %d mv\n",ADCTEMP); USB_printf("The Pressure is: %0.4f mbar\n", PRESSUREDATA); USB_printf("X axis Acceleration is: %0.4f g\n",ACCELDATA_F[0]); USB_printf("Y axis Acceleration is: %0.4f g\n",ACCELDATA_F[1]); USB_printf("Z axis Acceleration is: %0.4f g\n",ACCELDATA_F[2]); USB_printf("X axis Gyro is: %0.3f deg/s\n",GYRODATA_F[0]); USB_printf("Y axis Gyro is: %0.3f deg/s\n",GYRODATA_F[1]); USB_printf("Z axis Gyro is: %0.3f deg/s\n",GYRODATA_F[2]); USB_printf("X axis Mag is: %0.3f uT\n",MAGDATA_F[0]); USB_printf("Y axis Mag is: %0.3f uT\n",MAGDATA_F[1]); USB_printf("Z axis Mag is: %0.3f uT\n",MAGDATA_F[2]); USB_printf("==================================\n"); //USB_TxWrite(NRF24L01_RXDATA,strlen(NRF24L01_RXDATA)); //USB_printf("\n"); }