How phamhungcrab/it4210-he-nhung works
This repository is firmware for a short-range ultrasonic scanning radar on the STM32F429I-DISC1, with TouchGFX controls and display. The documented workflow sweeps an HC-SR04 on a servo, measures echo timing, classifies detections, and updates the screen and near-object alerts. The graph preserves the documented FreeRTOS/UI and user-control capabilities. Relationships are limited to README-described behavior and visible/indexed references; several UI screens and peripheral implementations were not sampled, so their detailed call paths are not asserted.
Main entry points: radar_app.c Scan and detection · ScreenScanView.cpp Scan screen · radar_ui_bridge.c UI data and controls · main.c STM32 firmware
Components 17
Radar sensing
- Scan and detection
radar_short_range_touchgfx/STM32CubeIDE/Application/User/radar_app.c - Echo measurement
radar_short_range_touchgfx/STM32CubeIDE/Application/User/hcsr04.c
Firmware control
- STM32 firmware
radar_short_range_touchgfx/Core/Src/main.c - Radar settings
radar_short_range_touchgfx/STM32CubeIDE/Application/User/radar_config.h - Radar data types
radar_short_range_touchgfx/STM32CubeIDE/Application/User/radar_types.h - UART diagnostics
radar_short_range_touchgfx/STM32CubeIDE/Application/User/radar_debug.c
TouchGFX interface
- UI data and controls
radar_short_range_touchgfx/STM32CubeIDE/Application/User/radar_ui_bridge.c - Scan screen
radar_short_range_touchgfx/TouchGFX/gui/src/screenscan_screen/ScreenScanView.cpp - Settings screen
radar_short_range_touchgfx/TouchGFX/gui/src/screensettings_screen/ScreenSettingsView.cpp - Home screen
radar_short_range_touchgfx/TouchGFX/gui/src/screenhome_screen/ScreenHomeView.cpp - Info screen
radar_short_range_touchgfx/TouchGFX/gui/src/screeninfo_screen/ScreenInfoView.cpp - Touch input
radar_short_range_touchgfx/TouchGFX/target/STM32TouchController.cpp
Board I/O
- Servo motion
radar_short_range_touchgfx/STM32CubeIDE/Application/User/servo_mg90s.c - LED and buzzer
radar_short_range_touchgfx/STM32CubeIDE/Application/User/buzzer_led.c - STMPE811 driver
radar_short_range_touchgfx/Drivers/BSP/Components/stmpe811/stmpe811.c
Other components
- Operator
- Obstacle
Connections 20
- Operator → Settings screen: sets scan options
README.md - Operator → STM32 firmware: presses USER button
README.md - Obstacle → Echo measurement: returns echo
README.md - STM32 firmware → Scan and detection: starts radar task
README.md - Scan and detection → Radar settings: uses thresholds
radar_short_range_touchgfx/STM32CubeIDE/Application/User/radar_app.c - Scan and detection → Echo measurement: measures distance
radar_short_range_touchgfx/STM32CubeIDE/Application/User/radar_app.c - Scan and detection → Servo motion: sets scan angle
radar_short_range_touchgfx/STM32CubeIDE/Application/User/radar_app.c - Scan and detection → LED and buzzer: updates alerts
radar_short_range_touchgfx/STM32CubeIDE/Application/User/radar_app.c - Scan and detection → UI data and controls: publishes radar data
radar_short_range_touchgfx/STM32CubeIDE/Application/User/radar_app.c - Scan and detection → UART diagnostics: logs measurements
radar_short_range_touchgfx/STM32CubeIDE/Application/User/radar_app.c - Scan and detection → Radar data types: uses data model
radar_short_range_touchgfx/STM32CubeIDE/Application/User/radar_app.c - Scan screen → Scan and detection: starts scanning
radar_short_range_touchgfx/TouchGFX/gui/src/screenscan_screen/ScreenScanView.cpp - Scan screen → UI data and controls: reads radar data
radar_short_range_touchgfx/TouchGFX/gui/src/screenscan_screen/ScreenScanView.cpp - Scan screen → UART diagnostics: logs UI state
radar_short_range_touchgfx/TouchGFX/gui/src/screenscan_screen/ScreenScanView.cpp - Settings screen → UI data and controls: changes controls
radar_short_range_touchgfx/TouchGFX/gui/src/screensettings_screen/ScreenSettingsView.cpp - Info screen → UI data and controls: reads radar state
radar_short_range_touchgfx/TouchGFX/gui/src/screeninfo_screen/ScreenInfoView.cpp - Touch input → STMPE811 driver: reads touch state
radar_short_range_touchgfx/TouchGFX/target/STM32TouchController.cpp - STMPE811 driver → Operator: receives touch
README.md - UI data and controls → Scan screen: feeds display
README.md - Scan and detection → Scan screen: sends queue updates
README.md