Accelerometer demo for PoliMI
Dependencies: X_NUCLEO_IKS01A1 mbed
main.cpp@0:636fa5751b1f, 2016-03-16 (annotated)
- Committer:
- daz
- Date:
- Wed Mar 16 16:45:20 2016 +0000
- Revision:
- 0:636fa5751b1f
Shows in real time X-Axis values from X-NUCLEO-IKS01A1 Expansion Board over UART
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
daz | 0:636fa5751b1f | 1 | #include "mbed.h" |
daz | 0:636fa5751b1f | 2 | #include "x_nucleo_iks01a1.h" |
daz | 0:636fa5751b1f | 3 | |
daz | 0:636fa5751b1f | 4 | #define NCOLUMNS 80 |
daz | 0:636fa5751b1f | 5 | |
daz | 0:636fa5751b1f | 6 | static X_NUCLEO_IKS01A1 *mems_expansion_board = X_NUCLEO_IKS01A1::Instance(D14, D15); |
daz | 0:636fa5751b1f | 7 | static MotionSensor *accelerometer = mems_expansion_board->GetAccelerometer(); |
daz | 0:636fa5751b1f | 8 | |
daz | 0:636fa5751b1f | 9 | int main(int argc, char** argv) |
daz | 0:636fa5751b1f | 10 | { |
daz | 0:636fa5751b1f | 11 | char bar[NCOLUMNS]; |
daz | 0:636fa5751b1f | 12 | int32_t axes[3]; |
daz | 0:636fa5751b1f | 13 | |
daz | 0:636fa5751b1f | 14 | while(1){ |
daz | 0:636fa5751b1f | 15 | /* SENSE accelerometer X axis */ |
daz | 0:636fa5751b1f | 16 | accelerometer->Get_X_Axes(axes); |
daz | 0:636fa5751b1f | 17 | |
daz | 0:636fa5751b1f | 18 | /* COMPUTE User Interface */ |
daz | 0:636fa5751b1f | 19 | memset(bar, 0, NCOLUMNS); |
daz | 0:636fa5751b1f | 20 | for(int i=0; i<NCOLUMNS; i++) |
daz | 0:636fa5751b1f | 21 | if(abs(axes[0])*NCOLUMNS/1000 > i) |
daz | 0:636fa5751b1f | 22 | bar[i] = '#'; |
daz | 0:636fa5751b1f | 23 | |
daz | 0:636fa5751b1f | 24 | /* COMMUNICATE it to PC */ |
daz | 0:636fa5751b1f | 25 | printf("[%04i]%s\r\n", axes[0], bar); |
daz | 0:636fa5751b1f | 26 | |
daz | 0:636fa5751b1f | 27 | /* Wait 50ms */ |
daz | 0:636fa5751b1f | 28 | wait(0.05); |
daz | 0:636fa5751b1f | 29 | } |
daz | 0:636fa5751b1f | 30 | } |
daz | 0:636fa5751b1f | 31 |