4.3.1.3
AEK-LCD-DT028V1 AutoDevKit component API
All the development drivers related to the LCD display based on the
component that belongs to the
is written in MISRA C. The target software is generated automatically according to the code generation and pin
allocation paradigm included in the
To configure the
procedure below.
Step 1.
Go to the [SPC58ECxx Platform Component RLA] in the project explorer and add a new [AEK-LCD-
DT028V1 Component RLA] from the list.
Step 2.
Select the font file to embed in your application. (font size = 12 pt).
Step 3.
Go to the configuration portion of the component and add an entry on the board list, selecting the SPI
port (DSPI) and the related chip selects (CS) for the display and touch screen.
Step 4.
Use the [Board Viewer] to determine how to connect the MCU board to the LCD display board.
The following
–
–
–
4.3.2
High-level software
This layer includes:
•
IMU middleware
•
AI sensing node network middleware
•
LCD display middleware
4.3.2.1
IMU middleware
The IMU middleware is responsible for:
•
initializing the inertial measurement unit: void init_IMU()
•
acquiring and removing the IMU offset values on the three-axis reference system due to the incorrect ECU
positioning and gravity effect on the z -axis: void get_offset_IMU(void)
•
collecting data from IMU and perform data buffering on the buffer_difference_accelerations array of the Δ
acceleration on the three-axis:
void collect_data_IMU(void)
buffer_difference_accelerations[BUFFER_ACCELERATIONS_SIZE] = {
ΔAcc_x_sample1, ΔAcc_y_sample1, ΔAcc_z_sample1, ΔAcc_x_sample2, ΔAcc_y_sample2,
ΔAcc_z_sample2, ΔAcc_x_sample3, ΔAcc_y_sample3, ΔAcc_z_sample3, ........}
where BUFFER_ACCELERATIONS_SIZE = S * 1 * D;
S = 50 is the number of samples of LSTM network window.
D = 3 is three times the Δ acceleration on the three-axis.
•
returning the buffer_difference_acceleration array for the neural network processing: float*
get_diff_acceleration_buffer_IMU(void);
•
sending a frame of the raw acceleration array for the neural network training with the serial protocol through
Google Colab: void send_frame(void)
Note:
To evaluate the accuracy of the LSTM neural network, we have created an IMU_LOG.h file that contains a fixed
buffer_difference_accelerations array. This array has been loaded on the flash memory and contains 3-axis Δ
acceleration samples with the known car state (parking, normal, bumpy, skid).
UM3053 - Rev 1
AutoDevKit
software (STSW-AUTODEVKIT) version 1.5.0 (or higher). The library
AutoDevKit
AEK-LCD-DT028V1 AutoDevKit
AEK-LCD-DT028V1
To initialize the display: aek_ili9341_init(AEK_LCD_DEV0);
To set the orientation: aek_ili9341_setOrientation(AEK_LCD_DEV0,
ILI9341_ROTATE_LANDSCAPE);
To draw display icons and show results:
aek_ili9341_fillRect(AEK_LCD_DEV0,102,20,150,160,BLUE1)
aek_ili9341_drawImage(AEK_LCD_DEV0,110, 20, (int16_t)parking.width,
(int16_t)parking.height, parking.pixel_data, PIXFMT_RGB_565);
aek_ili9341_drawString(AEK_LCD_DEV0, 102, 160, "PARKING", color,
font24pt);
AEK-LCD-DT028V1
design flow.
component for the
AEKD-AICAR1
APIs are used in our system:
UM3053
Software architecture overview
board are included in a
application, follow the
page 25/39
Need help?
Do you have a question about the AEKD-AICAR1 and is the answer not in the manual?
Questions and answers