/* UA1ZBE Custom Firmware - RSSI Display Module
 *
 * Reads RSSI from BK4819 every 100-200ms, converts to dBm,
 * and draws an indicator on the display.
 *
 * Format: "S:42" or "-87dBm" with mini bar
 * Shown in upper-right corner of screen.
 */

#ifndef APP_DISPLAY_RSSI_H
#define APP_DISPLAY_RSSI_H

#include <stdbool.h>
#include <stdint.h>

/* Initialize RSSI display module */
void RSSI_Init(void);

/* Call from 10ms timeslice to update RSSI reading */
void RSSI_Update(void);

/* Draw RSSI indicator on the screen
 * x, y: position on screen
 * with_bar: if true, draw a mini signal bar next to the value */
void RSSI_Draw(int x, int y, bool with_bar);

/* Get current RSSI value in dBm */
int16_t RSSI_GetdBm(void);

/* Get raw RSSI value (0-511 from BK4819 REG_67) */
uint16_t RSSI_GetRaw(void);

/* Get S-meter level (0-9) */
uint8_t RSSI_GetSLevel(void);

#endif
