31 #ifndef PIOS_OPENLRS_H
32 #define PIOS_OPENLRS_H
36 struct pios_openlrs_cfg;
38 #ifdef PIOS_INCLUDE_OPENLRS
39 enum gpio_direction { GPIO0_TX_GPIO1_RX, GPIO0_RX_GPIO1_TX };
42 struct pios_openlrs_cfg {
51 bool bind_active_high;
53 enum gpio_direction gpio_direction;
56 struct pios_openlrs_dev;
57 typedef struct pios_openlrs_dev *pios_openlrs_t;
59 int32_t PIOS_OpenLRS_Init(pios_openlrs_t *openlrs_id,
pios_spi_t spi_id,
60 uint32_t slave_num,
const struct pios_openlrs_cfg *
cfg,
61 HwSharedRfBandOptions rf_band,
62 HwSharedMaxRfPowerOptions rf_power);
64 int32_t PIOS_OpenLRS_Start(pios_openlrs_t openlrs_id);
66 void PIOS_OpenLRS_RegisterRcvr(pios_openlrs_t openlrs_id,
67 uintptr_t rfm22b_rcvr_id);
68 uint8_t PIOS_OpenLRS_RSSI_Get(
void);
70 bool PIOS_OpenLRS_EXT_Int(pios_openlrs_t openlrs_id);
static struct flyingpicmd_cfg_fa cfg