Pmod_NAV SPI
Dependencies: mbed LSM9DS1 MadgwickAHRS
main.cpp@1:50b33bd88ea5, 2019-04-25 (annotated)
- Committer:
- 771_8bit
- Date:
- Thu Apr 25 04:07:15 2019 +0000
- Revision:
- 1:50b33bd88ea5
- Parent:
- 0:6c187b735281
hello;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
771_8bit | 0:6c187b735281 | 1 | #include "mbed.h" |
771_8bit | 0:6c187b735281 | 2 | #include "LSM9DS1.h" |
771_8bit | 0:6c187b735281 | 3 | #include "MadgwickAHRS.h" |
771_8bit | 0:6c187b735281 | 4 | |
771_8bit | 0:6c187b735281 | 5 | RawSerial pc(USBTX, USBRX); |
771_8bit | 0:6c187b735281 | 6 | |
771_8bit | 0:6c187b735281 | 7 | LSM9DS1 lsm = LSM9DS1(PB_5, PB_4, PB_3,PB_10,PA_8); //mosi,miso,sclk,cs_AG,cs_M |
771_8bit | 0:6c187b735281 | 8 | Ticker AHRS; |
771_8bit | 0:6c187b735281 | 9 | Ticker PRINT; |
771_8bit | 0:6c187b735281 | 10 | DigitalOut myled(LED1); |
771_8bit | 0:6c187b735281 | 11 | Madgwick filter = Madgwick(); |
771_8bit | 0:6c187b735281 | 12 | |
771_8bit | 0:6c187b735281 | 13 | void ahrs(){ |
771_8bit | 0:6c187b735281 | 14 | filter.update(lsm.gyro_y, lsm.gyro_x, lsm.gyro_z, lsm.accel_y, lsm.accel_x, lsm.accel_z ,lsm.mag_y, lsm.mag_x, lsm.mag_z); |
771_8bit | 0:6c187b735281 | 15 | } |
771_8bit | 0:6c187b735281 | 16 | |
771_8bit | 0:6c187b735281 | 17 | void print(){ |
771_8bit | 0:6c187b735281 | 18 | printf("roll:%f,pitch:%f,yaw:%f,accel_z:%f,gyro_z:%f,mag_x:%f\r\n", filter.getRoll(),filter.getPitch(),filter.getYaw(),lsm.accel_z, lsm.gyro_z,lsm.mag_x); |
771_8bit | 0:6c187b735281 | 19 | } |
771_8bit | 0:6c187b735281 | 20 | |
771_8bit | 0:6c187b735281 | 21 | int main() { |
771_8bit | 0:6c187b735281 | 22 | lsm.initSPI(); |
771_8bit | 0:6c187b735281 | 23 | lsm.initAccel(lsm.LSM9DS1_ACCELRANGE_8G); //2,4,8,16 |
771_8bit | 0:6c187b735281 | 24 | lsm.initGyro(lsm.LSM9DS1_GYROSCALE_500DPS); //245,500,2000 |
771_8bit | 0:6c187b735281 | 25 | lsm.initMag(lsm.LSM9DS1_MAGGAIN_4GAUSS); //4,8,12,16 |
771_8bit | 0:6c187b735281 | 26 | |
771_8bit | 0:6c187b735281 | 27 | filter.begin(100); // N Hz |
771_8bit | 0:6c187b735281 | 28 | AHRS.attach_us(&ahrs, 10000); // N us周期 |
771_8bit | 0:6c187b735281 | 29 | |
771_8bit | 0:6c187b735281 | 30 | PRINT.attach(&print,1); |
771_8bit | 0:6c187b735281 | 31 | |
771_8bit | 0:6c187b735281 | 32 | while(1){ |
771_8bit | 0:6c187b735281 | 33 | lsm.readGyro(); |
771_8bit | 0:6c187b735281 | 34 | lsm.readAccel(); |
771_8bit | 0:6c187b735281 | 35 | lsm.readMag(); |
771_8bit | 0:6c187b735281 | 36 | wait(0.1); |
771_8bit | 0:6c187b735281 | 37 | } |
771_8bit | 0:6c187b735281 | 38 | } |