Commit Graph

26 Commits

Author SHA1 Message Date
Lloyd 5222800474 Refine packet handling to skip LetsMesh only for invalid packets, excluding duplicates and operational drops 2025-12-02 16:14:43 +00:00
Lloyd 9b53c5b6de Update packet handling to skip invalid advert packets and update record_packet method to conditionally publish to LetsMesh 2025-12-02 16:09:43 +00:00
Lloyd 6c7e92d35c support local transmissions and update PacketRouter to use local_transmission flag for packet injection 2025-12-01 22:57:06 +00:00
Lloyd 1b3ee8f4f1 packet handling to support locally injected packets in RepeaterHandler and update trace packet forwarding to use injection method 2025-12-01 22:43:02 +00:00
Lloyd e8afa79114 Refactor packet handling in pyMC Repeater
- Updated dependency for pymc_core to use the feat/valid-packets-checks branch.
- Removed neighbor tracking logic from RepeaterHandler and moved it to AdvertHelper.
- Introduced PacketPipeline for centralized packet processing, ensuring all packets flow through repeater logic.
- Created handler helpers: TraceHelper, DiscoveryHelper, and AdvertHelper for better modularity.
- Implemented asynchronous processing of advertisement packets and discovery requests.
- Enhanced logging for better traceability and debugging.
- Cleaned up unused code and improved overall structure for maintainability.
2025-12-01 15:13:23 +00:00
Lloyd da1d4e9700 Merge pull request #24 from rightup/feat/advert-dedupe
feat: add caching for known neighbors in RepeaterHandler to improve perf
2025-11-27 07:31:36 -08:00
Lloyd 2a5293e2e7 fix: improve error message for max path size and add check for do-not-retransmit packets 2025-11-27 15:29:45 +00:00
Lloyd 08dbcf696b feat: add caching for known neighbors in RepeaterHandler to improve performance and dedupe adverts. 2025-11-25 22:51:30 +00:00
Lloyd bdc38c5307 fix: standardize packet hash casing to uppercase in RepeaterHandler and RepeaterDaemon 2025-11-24 09:58:13 +00:00
Lloyd 2137e6a1c6 Refactor code structure for improved readability and maintainability 2025-11-22 22:07:46 +00:00
Lloyd 2495f08ab9 Add favicon and index.html for pyMC Repeater Dashboard
- Introduced a favicon.ico file for the application.
- Created index.html with basic structure, including meta tags, links to Google Fonts, and references to JavaScript and CSS assets for the dashboard.
2025-11-22 13:33:19 +00:00
Lloyd 9da12d6082 feat: implement transport code validation with caching for flood forwarding 2025-11-21 16:54:59 +00:00
Lloyd 08d4e054b0 clean up code formatting and improve readability in letsmesh_handler and storage_collector 2025-11-20 10:11:06 +00:00
Lloyd 38569d029e log trace packet storage 2025-11-19 12:24:44 +00:00
Lloyd 3a2466f953 refactor LetsMesh handler initialization and add live stats support 2025-11-19 11:28:00 +00:00
Lloyd 8ef2d3997d feat: update raw packet handling in StorageCollector and RepeaterHandler 2025-11-18 23:05:34 +00:00
Lloyd 306beea7a0 feat: add LetsMesh configuration and handler integration in StorageCollector 2025-11-18 22:23:09 +00:00
Lloyd f8661a2c10 Implement data acquisition module with SQLite, RRDTool, and MQTT handlers
- Added `SQLiteHandler` for managing packet and advert storage in SQLite database.
- Implemented `RRDToolHandler` for creating and updating RRD databases for metrics.
- Developed `MQTTHandler` for publishing data to MQTT broker.
- Created `StorageCollector` to integrate SQLite, RRDTool, and MQTT functionalities.
- Added methods for recording packets, adverts, and noise floor data.
- Implemented data retrieval methods for packet statistics, recent packets, and noise floor history.
- Established database schema with appropriate tables and indices for efficient data access.
- Included error handling and logging for database operations and MQTT communications.
2025-11-10 10:26:24 +00:00
Lloyd c58330aff5 feat: add noise floor monitoring with history, stats, and chart data endpoints 2025-11-07 16:17:01 +00:00
Lloyd 3f092e3b39 Add StorageCollector class for packet and advert management
- Refactored main.py to import HTTPStatsServer from the new path.
- Introduced storage.py to handle SQLite database for packets and adverts.
- Implemented methods for initializing SQLite, RRD, and MQTT.
- Added functionality to record packets and adverts, including storage and metrics updates.
- Created methods for retrieving packet statistics, recent packets, and filtered packets.
- Implemented RRD data fetching and packet type statistics.
- Added cleanup method for old data in the database.
2025-11-07 13:23:44 +00:00
Lloyd 4a9aa89042 UI with new dialog for displaying packet information 2025-11-04 22:13:22 +00:00
Lloyd 2564f4b772 Fix formatting in log messages and debug statements for consistency 2025-10-31 08:51:31 +00:00
Lloyd 85df2c5b0f Implement trace packet logging and SNR display enhancements 2025-10-30 00:11:04 +00:00
Lloyd 511321bb98 Add noise floor measurement feature and update dashboard display 2025-10-27 21:01:34 +00:00
Lloyd 71a429ebca Refactor packet handling: replace custom hash function with built-in packet hash method and clean up unused code 2025-10-27 12:45:30 +00:00
Lloyd 97256eb132 Initial commit: PyMC Repeater Daemon
This commit sets up the initial project structure for the PyMC Repeater Daemon.
It includes base configuration files, dependency definitions, and scaffolding
for the main daemon service responsible for handling PyMC repeating operations.
2025-10-24 23:13:48 +01:00