Files
c5-project/ESP32-C5-Toolkit/main/signal_analysis.h
2026-05-03 23:19:51 -07:00

43 lines
1.1 KiB
C

#ifndef SIGNAL_ANALYSIS_H
#define SIGNAL_ANALYSIS_H
#include <stdint.h>
// Signal analysis data structure
typedef struct {
uint8_t channel;
int8_t rssi;
uint32_t packet_count;
uint32_t timestamp;
} channel_data_t;
/**
* @brief Get channel utilization data
*
* @param data Output array for channel data
* @param max_channels Maximum number of channels
* @return Number of channels with data
*/
int signal_get_channel_utilization(channel_data_t *data, int max_channels);
/**
* @brief Get signal strength over time for a specific network
*
* @param bssid Target BSSID (6 bytes)
* @param rssi_history Output array for RSSI values
* @param timestamps Output array for timestamps
* @param max_samples Maximum number of samples
* @return Number of samples
*/
int signal_get_rssi_history(uint8_t *bssid, int8_t *rssi_history, uint32_t *timestamps, int max_samples);
/**
* @brief Update signal analysis with new packet data
*
* @param channel Channel number
* @param rssi RSSI value
*/
void signal_update_packet(uint8_t channel, int8_t rssi);
#endif /* SIGNAL_ANALYSIS_H */