Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: ADXL362 mbed MPL3115A2
main.cpp@2:496a662be854, 2018-02-20 (annotated)
- Committer:
- htdoughe
- Date:
- Tue Feb 20 15:44:35 2018 +0000
- Revision:
- 2:496a662be854
- Parent:
- 1:b8716571ecac
- Child:
- 3:813694e51f72
comments and skeletons
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
rmneubau | 0:0f663d16e8a2 | 1 | #include "mbed.h" |
rmneubau | 0:0f663d16e8a2 | 2 | #include "mbed.h" |
rmneubau | 0:0f663d16e8a2 | 3 | #include "ADXL362.h" |
rmneubau | 0:0f663d16e8a2 | 4 | |
rmneubau | 0:0f663d16e8a2 | 5 | // Interface pulled from ADXL362.cpp |
rmneubau | 0:0f663d16e8a2 | 6 | // ADXL362::ADXL362(PinName CS, PinName MOSI, PinName MISO, PinName SCK) : |
rmneubau | 0:0f663d16e8a2 | 7 | ADXL362 adxl362(PA_0,PA_7,PA_6,PA_1); |
rmneubau | 0:0f663d16e8a2 | 8 | |
rmneubau | 0:0f663d16e8a2 | 9 | int main() { |
rmneubau | 0:0f663d16e8a2 | 10 | adxl362.reset(); |
rmneubau | 0:0f663d16e8a2 | 11 | wait_ms(600); // we need to wait at least 500ms after ADXL362 reset |
rmneubau | 0:0f663d16e8a2 | 12 | adxl362.set_mode(ADXL362::MEASUREMENT); |
rmneubau | 0:0f663d16e8a2 | 13 | int8_t x,y,z; |
rmneubau | 0:0f663d16e8a2 | 14 | adxl362_reg_print(start, length); |
rmneubau | 0:0f663d16e8a2 | 15 | |
rmneubau | 0:0f663d16e8a2 | 16 | while(1) { |
rmneubau | 0:0f663d16e8a2 | 17 | x=adxl362.scanx_u8(); |
rmneubau | 0:0f663d16e8a2 | 18 | y=adxl362.scany_u8(); |
rmneubau | 0:0f663d16e8a2 | 19 | z=adxl362.scanz_u8(); |
rmneubau | 0:0f663d16e8a2 | 20 | printf("x = %d y = %d z = %d\r\n",x,y,z); |
rmneubau | 0:0f663d16e8a2 | 21 | wait_ms(100); |
rmneubau | 0:0f663d16e8a2 | 22 | } |
rmneubau | 0:0f663d16e8a2 | 23 | } |
rmneubau | 0:0f663d16e8a2 | 24 | |
rmneubau | 0:0f663d16e8a2 | 25 | int adxl362_reg_print(int s, int l){ |
rmneubau | 0:0f663d16e8a2 | 26 | //check s is 0x00 and 0x2E |
rmneubau | 0:0f663d16e8a2 | 27 | if(s > 0x2E || s < 0x00){ |
htdoughe | 1:b8716571ecac | 28 | printf("adx: requires start between 0x00 and 0x2E; given %d (0x%01x)\n", s,s); |
rmneubau | 0:0f663d16e8a2 | 29 | return 1; |
rmneubau | 0:0f663d16e8a2 | 30 | }else if(l < 0){ |
htdoughe | 1:b8716571ecac | 31 | //check length >0 |
htdoughe | 1:b8716571ecac | 32 | printf("adx: requires length >= 0, given %d\n", l); |
rmneubau | 0:0f663d16e8a2 | 33 | return 1; |
rmneubau | 0:0f663d16e8a2 | 34 | }else{ |
rmneubau | 0:0f663d16e8a2 | 35 | // start sending stuff |
rmneubau | 0:0f663d16e8a2 | 36 | //first check DEVID_AD == 0xAD |
rmneubau | 0:0f663d16e8a2 | 37 | if(DEVID_AD != 0xAD){ |
htdoughe | 2:496a662be854 | 38 | printf("error: DEVID_AD is not 0xAD; exiting\n"); |
rmneubau | 0:0f663d16e8a2 | 39 | return 1; |
rmneubau | 0:0f663d16e8a2 | 40 | }else{ |
rmneubau | 0:0f663d16e8a2 | 41 | //now do stuff |
htdoughe | 1:b8716571ecac | 42 | //if length == 0, send everything from s to end of registers |
htdoughe | 1:b8716571ecac | 43 | if(l == 0){ |
htdoughe | 1:b8716571ecac | 44 | |
htdoughe | 1:b8716571ecac | 45 | } |
rmneubau | 0:0f663d16e8a2 | 46 | } |
rmneubau | 0:0f663d16e8a2 | 47 | } |
rmneubau | 0:0f663d16e8a2 | 48 | |
htdoughe | 1:b8716571ecac | 49 | } |