LoRaFEMControl.h 647 B

12345678910111213141516171819202122232425262728
  1. #pragma once
  2. #include <stdint.h>
  3. typedef enum {
  4. GC1109_PA,
  5. KCT8103L_PA,
  6. OTHER_FEM_TYPES
  7. } LoRaFEMType;
  8. class LoRaFEMControl
  9. {
  10. public:
  11. LoRaFEMControl(){ }
  12. virtual ~LoRaFEMControl(){ }
  13. void init(void);
  14. void setSleepModeEnable(void);
  15. void setTxModeEnable(void);
  16. void setRxModeEnable(void);
  17. void setRxModeEnableWhenMCUSleep(void);
  18. void setLNAEnable(bool enabled);
  19. bool isLnaCanControl(void) { return lna_can_control; }
  20. void setLnaCanControl(bool can_control) { lna_can_control = can_control; }
  21. private:
  22. LoRaFEMType fem_type;
  23. bool lna_enabled=false;
  24. bool lna_can_control=false;
  25. };