
Figure 23.
AEKD-AICAR1 software architecture
4.3.1
Low-level software
This is the lower layer of the software architecture. It is responsible for interfacing the MCU with the other boards.
This layer includes:
•
AEK-CON-SENSOR1 AutoDevKit component APIs
•
AI sensing node neural network API
•
AEK-LCD-DT028V1 AutoDevKit component API
4.3.1.1
AEK-CON-SENSOR1 AutoDevKit component APIs
The
MEMS sensor drivers are included in a component that belongs to the
). The library is written in MISRA C. The target software is generated automatically
according to the code generation and pin allocation paradigm included in the
design flow. The drivers
can be easily adapted to any ST MEMS sensor, even if not directly supported by the software library.
To configure the
component for the
procedure below.
Step 1.
Go on [
SPC58ECxx Platform Component RLA
] in the project explorer and add a new [
AEK-CON-
SENSOR1 Component RLA
] from the list.
Step 2.
Press on the allocation button to make the
automatically allocate all the required MCU pins.
Step 3.
Use the
PinMap
editor to verify that all the relevant pins have been allocated (four for the SPI and two
for the interrupts).
Step 4.
Use the [
Board Viewer
] for information on how to connect the MCU board to the sensor board.
Then, the application uses the following available
APIs:
–
To initialize the MEMS sensor board:
void init_mems()
–
accelerometer:
ais2dw12_0.methods-
>configure_sensor(&ais2dw12_0, power_mode_12bit, continuous, _25Hz, _2g,
low_pass_1_and_2_odr_div_20);
–
To get acceleration values:
ais2dw12_0.methods->get_accelerations(&ais2dw12_0,
&accelerations);
Refer to the
for further details.
4.3.1.2
AI sensing node neural network API
For detailed information on this API, see
.
UM3053
Software architecture overview
UM3053
-
Rev 1
page 24/39