#ifndef _YC_LPM_H_ #define _YC_LPM__H_ #include #include "yc11xx.h" #include "type.h" #define M0_LPM_REG mem_m0_lpm_flag #define HIBERNATE_ADV 0x01 #define HIBERNATE_DIRECT_ADV 0x02 #define HIBERNATE_CONN 0X04 #define HIBERNATE_WAIT_DIRECT 0x08 #define HIBERNATE_SetBit(val) (HIBERNATE_FLAG|=(val)) #define HIBERNATE_ClearBit(val) (HIBERNATE_FLAG&=(~(val))) #define HIBERNATE_CheckBit(val) (HIBERNATE_FLAG&(val)) #define HIBERNATE_GetState() (HIBERNATE_FLAG) #define NONE_LPM_FLAG 0x00 #define KEY_LPM_FLAG 0x01 #define IR_FLAG 0x20 #define LED_LPM_FLAG 0x04 #define CONNECT_WAKE_FLAG 0x08 #define IR_LEARN_FLAG 0x10 #define BAT_LPM_FLAG 0x20 #define M0_LPM_FLAG 0x40 #define HIBER_LPM_FLAG 0x80 #define VOICE_LPM_FLAG 0x0100 #define IGNORE_LPM_FLAG (LINK_LPM_FLAG|HIBER_LPM_FLAG) #define RECORD_FLAG 0x200 #define OTA_UPDATE_FLAG 0X400 #define ADV_FLAG 0x800 void Lpm_LockLpm(uint16_t lpmNum); void Lpm_unLockLpm(uint16_t lpmNum); void Lpm_ClearLpmFlag(); void Lpm_enter(); void Lpm_exit(); void Lpm_Set_Interval(uint16_t gap); void Lpm_Set_Conn_Interval(uint16_t gap); void Lpm_Set_Conn_Interval(uint16_t gap); void BT_GpiosetBeforlpm(); void Bt_ActionBeforeLpm(); void Bt_ActionBeforeHibernate(); #endif