From ae079c1fc5d990ba55714d4b3a51b19f96edaec4 Mon Sep 17 00:00:00 2001 From: WXK <287788329@qq.com> Date: 星期四, 24 四月 2025 16:01:43 +0800 Subject: [PATCH] 改为中断来低电平触发发送当前扫描数据,3s内扫描不到的会退出,串口来55 AA 75 70 64 61 74 65,进入升级模式 --- 01_SDK/modules/hal/panchip/panplat/pan1070/bsp/radio/src/pan_prf_glue.c | 47 +++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 45 insertions(+), 2 deletions(-) diff --git a/01_SDK/modules/hal/panchip/panplat/pan1070/bsp/radio/src/pan_prf_glue.c b/01_SDK/modules/hal/panchip/panplat/pan1070/bsp/radio/src/pan_prf_glue.c index ccc0e3a..8d72e68 100644 --- a/01_SDK/modules/hal/panchip/panplat/pan1070/bsp/radio/src/pan_prf_glue.c +++ b/01_SDK/modules/hal/panchip/panplat/pan1070/bsp/radio/src/pan_prf_glue.c @@ -55,6 +55,12 @@ #define NRF_RX_TO_TX_TIME (110) #define NRF_TX_TO_RX_TIME (110) +#define PHY_MODED_DEFAULT (0) +#define PHY_MODED_AGC_0X0F (1) +#define PHY_MODED_FORCE_GAIN_0X0F (2) + +#define PHY_CFG_MODE PHY_MODED_DEFAULT + #define REG_WRITE_BITS(reg, mask, value) (reg) = (((reg) & ~(mask)) | (value)) #define __nop() __asm("nop") @@ -287,7 +293,7 @@ return 0; } -__ramfunc uint8_t panchip_prf_ble_handler(void) +__weak uint8_t panchip_prf_ble_handler(void) { if (panchip_prf_isr_resume_ble_cb() == 1) { return 1; @@ -767,7 +773,7 @@ return status; } -void panchip_prf_set_phy(prf_phy_t phy) +__weak void panchip_prf_set_phy(prf_phy_t phy) { rf_config.phy = phy; @@ -1025,3 +1031,40 @@ return trans_wait_time; } + +void panchip_prf_phy_cfg_mode_set(uint32_t *phy_data, uint16_t len) +{ + #if(PHY_CFG_MODE == PHY_MODED_AGC_0X0F) + for(int i = 0; i < len; i++) { + if(phy_data[i] == 0x00d4a202) { + phy_data[i] = 0x00dea202; + } else if(phy_data[i] == 0x002fa202) { + phy_data[i] = 0x000fa202; + + break; + } + } + #elif(PHY_CFG_MODE == PHY_MODED_FORCE_GAIN_0X0F) + for(int i = 0; i < len; i++) { + if(phy_data[i] == 0x00d6a202) { + phy_data[i] = 0x00c2a202; + } else if(phy_data[i] == 0x00b7a202) { + phy_data[i] = 0x00c2a202; + } else if((phy_data[i] == 0x0006a202) && (phy_data[i + 1] == 0x000ca302)) { + phy_data[i] = 0x00dea202; + } else if(phy_data[i] == 0x00f2a202) { + phy_data[i] = 0x00dea202; + } else if(phy_data[i] == 0x00d4a202) { + phy_data[i] = 0x00dea202; + } else if(phy_data[i] == 0x0003a202) { + phy_data[i] = 0x000fa202; + } else if(phy_data[i] == 0x0007a202) { + phy_data[i] = 0x000fa202; + } else if(phy_data[i] == 0x002fa202) { + phy_data[i] = 0x000fa202; + + break; + } + } + #endif +} -- Gitblit v1.9.3