2026-02-26 17:47:03 +08:00
|
|
|
#pragma once
|
|
|
|
|
#include <stdint.h>
|
|
|
|
|
|
|
|
|
|
typedef enum {
|
|
|
|
|
GC1109_PA,
|
|
|
|
|
KCT8103L_PA,
|
|
|
|
|
OTHER_FEM_TYPES
|
|
|
|
|
} LoRaFEMType;
|
|
|
|
|
|
|
|
|
|
class LoRaFEMControl
|
|
|
|
|
{
|
|
|
|
|
public:
|
|
|
|
|
LoRaFEMControl(){ }
|
|
|
|
|
virtual ~LoRaFEMControl(){ }
|
|
|
|
|
void init(void);
|
|
|
|
|
void setSleepModeEnable(void);
|
|
|
|
|
void setTxModeEnable(void);
|
|
|
|
|
void setRxModeEnable(void);
|
|
|
|
|
void setRxModeEnableWhenMCUSleep(void);
|
|
|
|
|
void setLNAEnable(bool enabled);
|
|
|
|
|
bool isLnaCanControl(void) { return lna_can_control; }
|
|
|
|
|
void setLnaCanControl(bool can_control) { lna_can_control = can_control; }
|
2026-02-27 16:49:00 +08:00
|
|
|
LoRaFEMType getFEMType(void) const { return fem_type; }
|
2026-02-26 17:47:03 +08:00
|
|
|
private:
|
2026-02-27 16:49:00 +08:00
|
|
|
LoRaFEMType fem_type=OTHER_FEM_TYPES;
|
2026-03-03 17:07:56 +08:00
|
|
|
bool lna_enabled=true;
|
2026-02-26 17:47:03 +08:00
|
|
|
bool lna_can_control=false;
|
|
|
|
|
};
|
|
|
|
|
|