ba8477f18f
- 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
46 lines
1.0 KiB
C
46 lines
1.0 KiB
C
#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 */
|