datalog
Dependencies: BSP_B-L475E-IOT01
main.cpp@0:656457722e56, 22 months ago (annotated)
- Committer:
- sertackilickaya
- Date:
- Mon Nov 28 11:27:38 2022 +0000
- Revision:
- 0:656457722e56
asd
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
sertackilickaya | 0:656457722e56 | 1 | #include "mbed.h" |
sertackilickaya | 0:656457722e56 | 2 | #include "stm32l475e_iot01_accelero.h" |
sertackilickaya | 0:656457722e56 | 3 | // use mbedOs 6 and bsp init change odr to 6660 |
sertackilickaya | 0:656457722e56 | 4 | // Full-scale range = 4g |
sertackilickaya | 0:656457722e56 | 5 | static int64_t sampling_freq = 6660; // in Hz. |
sertackilickaya | 0:656457722e56 | 6 | static int64_t time_between_samples_us = (1000000 / (sampling_freq - 1)); |
sertackilickaya | 0:656457722e56 | 7 | |
sertackilickaya | 0:656457722e56 | 8 | // to classify 1 frame of data you need FRAME_SIZE values |
sertackilickaya | 0:656457722e56 | 9 | static int16_t aX[6660]={0}; |
sertackilickaya | 0:656457722e56 | 10 | static int16_t aY[6660]={0}; |
sertackilickaya | 0:656457722e56 | 11 | static int16_t aZ[6660]={0}; |
sertackilickaya | 0:656457722e56 | 12 | |
sertackilickaya | 0:656457722e56 | 13 | // set baud rate of serial port to 115200 |
sertackilickaya | 0:656457722e56 | 14 | static BufferedSerial serial_port(USBTX, USBRX, 921600); |
sertackilickaya | 0:656457722e56 | 15 | FileHandle *mbed::mbed_override_console(int fd) { |
sertackilickaya | 0:656457722e56 | 16 | return &serial_port; |
sertackilickaya | 0:656457722e56 | 17 | } |
sertackilickaya | 0:656457722e56 | 18 | |
sertackilickaya | 0:656457722e56 | 19 | int main() |
sertackilickaya | 0:656457722e56 | 20 | { |
sertackilickaya | 0:656457722e56 | 21 | int16_t pDataXYZ[3] = {0}; |
sertackilickaya | 0:656457722e56 | 22 | BSP_ACCELERO_Init(); |
sertackilickaya | 0:656457722e56 | 23 | Timer t; |
sertackilickaya | 0:656457722e56 | 24 | t.start(); |
sertackilickaya | 0:656457722e56 | 25 | while (1) { |
sertackilickaya | 0:656457722e56 | 26 | // fill the features array |
sertackilickaya | 0:656457722e56 | 27 | for (size_t ix = 0; ix < 6660; ix++) { |
sertackilickaya | 0:656457722e56 | 28 | int64_t next_tick = t.read_us() + time_between_samples_us; |
sertackilickaya | 0:656457722e56 | 29 | BSP_ACCELERO_AccGetXYZ(pDataXYZ); |
sertackilickaya | 0:656457722e56 | 30 | |
sertackilickaya | 0:656457722e56 | 31 | // copy accelerometer data into the features array |
sertackilickaya | 0:656457722e56 | 32 | aX[ix] = pDataXYZ[0]; |
sertackilickaya | 0:656457722e56 | 33 | aY[ix] = pDataXYZ[1]; |
sertackilickaya | 0:656457722e56 | 34 | aZ[ix] = pDataXYZ[2]; |
sertackilickaya | 0:656457722e56 | 35 | |
sertackilickaya | 0:656457722e56 | 36 | while (t.read_us() < next_tick) { |
sertackilickaya | 0:656457722e56 | 37 | /* busy loop */ |
sertackilickaya | 0:656457722e56 | 38 | } |
sertackilickaya | 0:656457722e56 | 39 | } |
sertackilickaya | 0:656457722e56 | 40 | // print the predictions |
sertackilickaya | 0:656457722e56 | 41 | for (size_t ix = 0; ix < 6660; ix++) { |
sertackilickaya | 0:656457722e56 | 42 | printf("%d,%d,%d\n\r",aX[ix],aY[ix],aZ[ix]); |
sertackilickaya | 0:656457722e56 | 43 | } |
sertackilickaya | 0:656457722e56 | 44 | |
sertackilickaya | 0:656457722e56 | 45 | ThisThread::sleep_for(3s); |
sertackilickaya | 0:656457722e56 | 46 | } |
sertackilickaya | 0:656457722e56 | 47 | } |