Files
v2x-sniffer/esp-firmware/main/v2x_db.h
T

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 */