Accelerometer demo for PoliMI

Dependencies:   X_NUCLEO_IKS01A1 mbed

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?

UserRevisionLine numberNew 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