yc_lpm.h 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. #ifndef _YC_LPM_H_
  2. #define _YC_LPM__H_
  3. #include <stdbool.h>
  4. #include "yc11xx.h"
  5. #include "type.h"
  6. #define M0_LPM_REG mem_m0_lpm_flag
  7. #define HIBERNATE_ADV 0x01
  8. #define HIBERNATE_DIRECT_ADV 0x02
  9. #define HIBERNATE_CONN 0X04
  10. #define HIBERNATE_WAIT_DIRECT 0x08
  11. #define HIBERNATE_SetBit(val) (HIBERNATE_FLAG|=(val))
  12. #define HIBERNATE_ClearBit(val) (HIBERNATE_FLAG&=(~(val)))
  13. #define HIBERNATE_CheckBit(val) (HIBERNATE_FLAG&(val))
  14. #define HIBERNATE_GetState() (HIBERNATE_FLAG)
  15. #define NONE_LPM_FLAG 0x00
  16. #define KEY_LPM_FLAG 0x01
  17. #define IR_FLAG 0x20
  18. #define LED_LPM_FLAG 0x04
  19. #define CONNECT_WAKE_FLAG 0x08
  20. #define IR_LEARN_FLAG 0x10
  21. #define BAT_LPM_FLAG 0x20
  22. #define M0_LPM_FLAG 0x40
  23. #define HIBER_LPM_FLAG 0x80
  24. #define VOICE_LPM_FLAG 0x0100
  25. #define IGNORE_LPM_FLAG (LINK_LPM_FLAG|HIBER_LPM_FLAG)
  26. #define RECORD_FLAG 0x200
  27. #define OTA_UPDATE_FLAG 0X400
  28. #define ADV_FLAG 0x800
  29. void Lpm_LockLpm(uint16_t lpmNum);
  30. void Lpm_unLockLpm(uint16_t lpmNum);
  31. void Lpm_ClearLpmFlag();
  32. void Lpm_enter();
  33. void Lpm_exit();
  34. void Lpm_Set_Interval(uint16_t gap);
  35. void Lpm_Set_Conn_Interval(uint16_t gap);
  36. void Lpm_Set_Conn_Interval(uint16_t gap);
  37. void BT_GpiosetBeforlpm();
  38. void Bt_ActionBeforeLpm();
  39. void Bt_ActionBeforeHibernate();
  40. #endif