#ifndef SIGNAL_ANALYSIS_H #define SIGNAL_ANALYSIS_H #include // 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 */