How yangyuanxin/bearpi_thermal_imaging works
This firmware is an embedded infrared thermal-imaging application for a BearPi board and AMG8831 module. Its main workflow initializes the LCD and thermal sensor, starts an RTOS task, repeatedly obtains a thermal matrix, and displays it; the README also identifies a live color legend and minimum/maximum temperatures as display capabilities. The tree documents separate BSP, device, driver, and MCU-platform layers. App and MCU startup behavior are sampled; sensor, rendering, and lower-layer call details are inferred only from module names and the documented architecture, so uncertain links are omitted.
Main entry points: App.c App task · AMG883x.c AMG883x BSP · Lcd.c LCD BSP · main.c MCU startup
Components 15
Application
- App task
Firmware/APP/App.c - TencentOS-tiny
Thermal imaging
- AMG883x BSP
Firmware/Bsp/AMG883x.c - LCD BSP
Firmware/Bsp/Lcd.c - Thermal matrix
Firmware/Bsp/AMG883x.c - Color legend
Firmware/Bsp/AMG883x.c - Min/max temperatures
Firmware/Bsp/AMG883x.c
Hardware access
- AMG883x device
Firmware/Device/i2c_device_amg8833.c - I2C driver
Firmware/Driver/i2c_driver.c
MCU platform
- MCU startup
Firmware/McuPlatform/Core/Src/main.c - I2C peripheral
Firmware/McuPlatform/Core/Src/i2c.c - SPI peripheral
Firmware/McuPlatform/Core/Src/spi.c - GPIO peripheral
Firmware/McuPlatform/Core/Src/gpio.c
Other components
- AMG8831 module
- LCD display
Connections 11
- MCU startup → App task: calls RunApp
- App task → LCD BSP: initializes LCD
- App task → AMG883x BSP: initializes sensor
- App task → TencentOS-tiny: starts task
- TencentOS-tiny → App task: dispatches task
- App task → AMG883x BSP: requests display
- AMG8831 module → AMG883x device: thermal readings
- LCD BSP → LCD display: renders display
- AMG883x BSP → Thermal matrix: produces matrix view
- AMG883x BSP → Color legend: shows color scale
- AMG883x BSP → Min/max temperatures: shows extrema