ESP-IDF Firmware für ESP32-C5 V2X-Sniffer

- v2x_sniffer_main.c: Haupt-Firmware mit 802.11p PHY
- v2x_db.h: V2X-Datenbank Header
- Makefile: ESP-IDF Build-Konfiguration
- phy_11p_set() und phy_change_channel(5900) aktiv
This commit is contained in:
Clawdia
2026-05-07 09:42:42 +02:00
parent 6f0f5931ed
commit ba8477f18f
3 changed files with 242 additions and 0 deletions
+45
View File
@@ -0,0 +1,45 @@
#ifndef V2X_DB_H
#define V2X_DB_H
#include <stdint.h>
#include <stdbool.h>
/* V2X-Datenbank Struktur */
typedef struct {
uint32_t id;
uint64_t timestamp;
uint8_t msg_type;
uint8_t channel;
float frequency_mhz;
int8_t rssi_dbm;
float power_dbm;
uint32_t data_rate_bps;
uint16_t frame_len;
/* C-ITS Message spezifisch */
uint64_t station_id;
int32_t lat;
int32_t lon;
int16_t alt;
uint8_t speed;
uint16_t heading;
int8_t acceleration;
/* Rohdaten */
uint8_t raw_data[256];
uint16_t raw_len;
} v2x_db_entry_t;
/* Datenbank initialisieren */
esp_err_t v2x_db_init(void);
/* V2X-Nachricht in Datenbank speichern */
esp_err_t v2x_db_insert(const v2x_frame_t *frame);
/* Letzte N Nachrichten abfragen */
esp_err_t v2x_db_query_recent(v2x_db_entry_t *entries, uint32_t count);
/* Statistiken abrufen */
esp_err_t v2x_db_get_statistics(uint32_t *total, uint32_t *cam_count, uint32_t *denm_count);
#endif /* V2X_DB_H */