How emilianohatim/analizador_tensiometros_aneroides works
This is an ESP-IDF embedded non-invasive blood-pressure analyzer (PNI), with a button-driven display and pressure-measurement modes. The main application initializes inputs and display, handles screen state, samples and calibrates pressure readings, and renders results. The HAL separates ADC, GPIO, battery estimation, OLED rendering, and I2C transport. Sampled excerpts confirm measurement, deflation, leak-test, and release screens; hysteresis is also referenced in navigation. Other mode details and wiring are limited by partial excerpts, so uncertain links are omitted.
Main entry points: main.c Screen controller · hal_adc.c ADC interface · hal_ssd1306.c OLED renderer · hal_i2c.c I2C transport
Components 15
Analyzer application
- Screen controller
main/main.c - Pressure measurement
main/main.c - Deflation analysis
main/main.c - Leak testing
main/main.c - Pressure release
main/main.c - Hysteresis mode
main/main.c
Hardware interfaces
- ADC interface
HAL_PROPIA/src/hal_adc.c - GPIO interface
HAL_PROPIA/src/hal_gpio.c - Battery estimator
HAL_PROPIA/src/hal_bateria.c
Display transport
- OLED renderer
HAL_PROPIA/src/hal_ssd1306.c - I2C transport
HAL_PROPIA/src/hal_i2c.c
Other components
- Operator
- Control buttons
- Pressure sensor
- OLED display
Connections 14
- Operator → Control buttons: operates
- Screen controller → GPIO interface: reads buttons
- Control buttons → GPIO interface: button signals
- Screen controller → ADC interface: samples pressure
- Pressure sensor → ADC interface: analog signal
- Screen controller → Pressure measurement: dispatches
- Screen controller → Deflation analysis: dispatches
- Screen controller → Leak testing: dispatches
- Screen controller → Pressure release: dispatches
- Screen controller → Hysteresis mode: dispatches
- Screen controller → OLED renderer: draws screens
- OLED renderer → I2C transport: writes display data
- I2C transport → OLED display: transmits
- Battery estimator → ADC interface: reads voltage