PmodNAV test
Dependencies: mbed LPS25HB_I2C LSM9DS1 UsaPack
main.cpp@5:1d594d188e0f, 2022-03-19 (annotated)
- Committer:
- osaka
- Date:
- Sat Mar 19 03:06:35 2022 +0000
- Revision:
- 5:1d594d188e0f
- Parent:
- 4:1f382a93d438
- Child:
- 6:26354853df61
test
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
osaka | 0:c99eaed54c50 | 1 | #include "mbed.h" |
osaka | 0:c99eaed54c50 | 2 | #include "LSM9DS1.h" |
osaka | 0:c99eaed54c50 | 3 | #include "LPS.h" |
osaka | 0:c99eaed54c50 | 4 | |
osaka | 1:e5d5afc20fe2 | 5 | Serial pc(USBTX, USBRX); |
NaotoMorita | 4:1f382a93d438 | 6 | //Serial twelite(PE_8, PE_7); |
osaka | 1:e5d5afc20fe2 | 7 | |
osaka | 1:e5d5afc20fe2 | 8 | I2C i2c(PB_9, PB_8); |
osaka | 0:c99eaed54c50 | 9 | LSM9DS1 lsm(i2c); |
osaka | 0:c99eaed54c50 | 10 | LPS lps(i2c); |
osaka | 0:c99eaed54c50 | 11 | |
osaka | 5:1d594d188e0f | 12 | //test |
osaka | 0:c99eaed54c50 | 13 | |
osaka | 0:c99eaed54c50 | 14 | int main() |
osaka | 0:c99eaed54c50 | 15 | { |
osaka | 1:e5d5afc20fe2 | 16 | pc.baud(38400); |
osaka | 1:e5d5afc20fe2 | 17 | //enum gyro_scale gs; |
osaka | 1:e5d5afc20fe2 | 18 | //gs245 = G_SCALE_245DPS; |
osaka | 1:e5d5afc20fe2 | 19 | uint16_t reg = lsm.begin(lsm.G_SCALE_245DPS, lsm.A_SCALE_8G); |
osaka | 0:c99eaed54c50 | 20 | //printf("%x\n", reg); |
osaka | 0:c99eaed54c50 | 21 | if (!lps.init()){ |
osaka | 1:e5d5afc20fe2 | 22 | while (1) |
osaka | 1:e5d5afc20fe2 | 23 | { |
osaka | 1:e5d5afc20fe2 | 24 | pc.printf("Failed to autodetect pressure sensor!\r\n"); |
osaka | 1:e5d5afc20fe2 | 25 | wait(2); |
osaka | 1:e5d5afc20fe2 | 26 | }; |
osaka | 0:c99eaed54c50 | 27 | } |
osaka | 0:c99eaed54c50 | 28 | lps.enableDefault(); |
osaka | 0:c99eaed54c50 | 29 | wait_ms(100); |
osaka | 0:c99eaed54c50 | 30 | while(true) |
osaka | 0:c99eaed54c50 | 31 | { |
osaka | 0:c99eaed54c50 | 32 | lsm.readAccel(); |
osaka | 0:c99eaed54c50 | 33 | lsm.readMag(); |
osaka | 0:c99eaed54c50 | 34 | lsm.readGyro(); |
osaka | 0:c99eaed54c50 | 35 | //printf("%f %f %f %f %f %f %f %f %f\n", lsm.ax, lsm.ay, lsm.az, lsm.gx, lsm.gy, lsm.gz, lsm.mx, lsm.my, lsm.mz); |
osaka | 0:c99eaed54c50 | 36 | //printf("%f %f %f\n", lsm.gx, lsm.gy, lsm.gz); |
osaka | 0:c99eaed54c50 | 37 | //printf("%f %f %f\n", lsm.mx, lsm.my, lsm.mz); |
osaka | 0:c99eaed54c50 | 38 | float pressure = lps.readPressureMillibars(); |
osaka | 0:c99eaed54c50 | 39 | float altitude = lps.pressureToAltitudeMeters(pressure); |
osaka | 0:c99eaed54c50 | 40 | float temperature = lps.readTemperatureC(); |
osaka | 0:c99eaed54c50 | 41 | //printf("p:%.2f\t mbar\ta:%.2f m\tt:%.2f deg C\r\n",pressure,altitude,temperature); |
NaotoMorita | 4:1f382a93d438 | 42 | pc.printf("%f %f %f %f %f %f %f %f %f %f\r\n", lsm.ax, lsm.ay, lsm.az, lsm.gx, lsm.gy, lsm.gz, lsm.mx, lsm.my, lsm.mz,altitude); |
osaka | 0:c99eaed54c50 | 43 | wait(0.1); |
osaka | 0:c99eaed54c50 | 44 | } |
osaka | 0:c99eaed54c50 | 45 | } |