How salsabila221/geosense-node works
GeoSense_Node is embedded geophone-monitoring firmware. Its main loop samples an ADS1220, updates STA/LTA event state, analyzes completed waveform windows, then conditionally logs and schedules radio telemetry while refreshing an OLED status display. Configuration and timing utilities support this workflow. The README is empty; edges are grounded in the shown main-loop calls and OLED implementation. Driver internals and several hardware connections are not shown, so those relationships are omitted rather than inferred.
Main entry points: main.cpp Firmware loop · OLED_UI.cpp OLED interface · ADS1220_Driver.cpp ADS1220 driver · StaLta_Trigger.cpp STA/LTA trigger
Components 16
Signal acquisition
- ADS1220 driver
GeoSense_Node/src/ADS1220_Driver.cpp
Signal processing
- STA/LTA trigger
GeoSense_Node/src/StaLta_Trigger.cpp - Feature analysis
GeoSense_Node/src/FFT_Process.cpp
Telemetry and display
- JSON packet encoder
GeoSense_Node/src/JSON_Packet.cpp - SD logger
GeoSense_Node/src/SD_Logger.cpp - LoRa node
GeoSense_Node/src/LoRa_Node.cpp - OLED interface
GeoSense_Node/src/OLED_UI.cpp
Firmware support
- Firmware loop
GeoSense_Node/src/main.cpp - Device configuration
GeoSense_Node/include/config.h - Periodic timers
GeoSense_Node/src/Utility.cpp - Timestamp service
GeoSense_Node/src/TimeStamp.cpp
Other components
- ADS1220 converter
- SD card
- LoRa receiver
- OLED panel
- Serial console
Connections 12
- Firmware loop → ADS1220 driver: reads samples
GeoSense_Node/src/main.cpp - Firmware loop → STA/LTA trigger: updates trigger
GeoSense_Node/src/main.cpp - Firmware loop → Feature analysis: analyzes windows
GeoSense_Node/src/main.cpp - Firmware loop → JSON packet encoder: builds packets
GeoSense_Node/src/main.cpp - Firmware loop → SD logger: logs features
GeoSense_Node/src/main.cpp - Firmware loop → LoRa node: transmits payload
GeoSense_Node/src/main.cpp - Firmware loop → OLED interface: updates display
GeoSense_Node/src/main.cpp - Firmware loop → Periodic timers: checks timers
GeoSense_Node/src/main.cpp - Firmware loop → Timestamp service: starts clock
GeoSense_Node/src/main.cpp - Firmware loop → Device configuration: uses settings
GeoSense_Node/src/main.cpp - Firmware loop → Serial console: prints status
GeoSense_Node/src/main.cpp - OLED interface → OLED panel: draws status
GeoSense_Node/src/OLED_UI.cpp