12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- #include "yc_lpm.h"
- #include "yc11xx_gpio.h"
- unsigned short HIBERNATE_FLAG=0x0000;
- void Lpm_LockLpm(uint16_t lpmNum)
- {
- uint16_t temp;
- temp =( HREADW(M0_LPM_REG))|lpmNum;
- HWRITEW(M0_LPM_REG,temp);
- }
- void Lpm_unLockLpm(uint16_t lpmNum)
- {
- uint16_t temp;
- temp =( HREADW(M0_LPM_REG))&(~lpmNum);
- HWRITEW(M0_LPM_REG,temp);
- }
- bool Lpm_CheckLpmFlag()
- {
- return NONE_LPM_FLAG == HREADW(M0_LPM_REG);
- }
- void Lpm_ClearLpmFlag()
- {
- HWRITEW(M0_LPM_REG,0);
- }
- void Lpm_enter()
- {
- HWRITE(mem_lpm_mode,0x01);
- }
- void Lpm_exit()
- {
- HWRITE(mem_lpm_mode,0x00);
- }
- void Lpm_Set_Interval(uint16_t gap)
- {
- HWRITEW(mem_lpm_interval,gap);
- }
- void Lpm_Set_Conn_Interval(uint16_t gap)
- {
- HWRITEW(mem_time_wake_gap,gap);
- }
- void BT_GpiosetBeforlpm()
- {
- uint8_t i;
- for(i=GPIO_0;i<GPIO_MAX_NUM;i++)
- {
- if (i == (HREAD(mem_qspi_gpio_ncs)&GPIO_NUM_MASK)
- || i == (HREAD(mem_qspi_gpio_sck)&GPIO_NUM_MASK)
- || i == (HREAD(mem_qspi_gpio_io0)&GPIO_NUM_MASK)
- || i == (HREAD(mem_qspi_gpio_io1)&GPIO_NUM_MASK)
- || i == (HREAD(mem_qspi_gpio_io2)&GPIO_NUM_MASK)
- || i == (HREAD(mem_qspi_gpio_io3)&GPIO_NUM_MASK) )
- {
- continue;
- }
- else
- {
- GPIO_SetGpioMultFunction(i,GPCFG_PULLDOWN);
- }
- }
- }
- void Bt_ActionBeforeLpm()
- {
- BT_GpiosetBeforlpm();
- }
- void Bt_ActionBeforeHibernate()
- {
- BT_GpiosetBeforlpm();
- }
|