[Mod] 按优化方案修改,完整初始化正常
This commit is contained in:
@ -197,11 +197,11 @@ int main(void)
|
||||
}
|
||||
#endif // CONFIG_TASK_LED
|
||||
|
||||
if (NULL == sys_task_create(NULL, (const uint8_t *)"sub1g_task", NULL, START_TASK_STK_SIZE, 0, START_TASK_PRIO, sub1g_task, NULL)) {
|
||||
if (NULL == sys_task_create(NULL, (const uint8_t *)"start_task", NULL, START_TASK_STK_SIZE, 0, START_TASK_PRIO, start_task, NULL)) {
|
||||
DEBUGPRINT("ERROR: create start task failed\r\n");
|
||||
}
|
||||
|
||||
if (NULL == sys_task_create(NULL, (const uint8_t *)"start_task", NULL, START_TASK_STK_SIZE, 0, START_TASK_PRIO, start_task, NULL)) {
|
||||
if (NULL == sys_task_create(NULL, (const uint8_t *)"sub1g_task", NULL, START_TASK_STK_SIZE, 0, START_TASK_PRIO, sub1g_task, NULL)) {
|
||||
DEBUGPRINT("ERROR: create start task failed\r\n");
|
||||
}
|
||||
|
||||
|
||||
12
NSPE/WIFI_IOT/bsp/drivers/.editorconfig
Normal file
12
NSPE/WIFI_IOT/bsp/drivers/.editorconfig
Normal file
@ -0,0 +1,12 @@
|
||||
# EditorConfig is awesome: https://EditorConfig.org
|
||||
|
||||
# top-most EditorConfig file
|
||||
root = true
|
||||
|
||||
[*]
|
||||
indent_style = tab
|
||||
indent_size = 8
|
||||
end_of_line = lf
|
||||
charset = utf-8
|
||||
trim_trailing_whitespace = true
|
||||
insert_final_newline = false
|
||||
@ -25,10 +25,31 @@ uint8_t rf_rxbuffer[200];
|
||||
uint8_t rf_rxsize;
|
||||
uint8_t radio_rece_data_flag;
|
||||
|
||||
extern uint32_t g_chip_id;
|
||||
|
||||
void Ebyte_E48x_Init( void )
|
||||
{
|
||||
vRadioCheckLink();
|
||||
/* Step1 */
|
||||
vRadioPowerUp(); // Release RST(GPIO5)
|
||||
vRadioSetAntSwitch(FALSE, FALSE); // Disable GPIO0 & GPIO1 as antenna switch control
|
||||
vRadioSpiModeSel(FALSE); // SPI 4-Wire mode
|
||||
|
||||
/* Step2 */
|
||||
g_chip_id = lRadioChipVersion();
|
||||
if(0x00231000 != (g_chip_id & 0x00FFFF00)) {
|
||||
DEBUGPRINT("[%s|%u] Error, dismatch Chip-ID[%#x](!=0x231000).\r\n", __FUNCTION__, __LINE__, g_chip_id);
|
||||
return;
|
||||
}
|
||||
DEBUGPRINT("[%s|%u] Info, Link Device:E48-XXXM20S.\r\n", __FUNCTION__, __LINE__);
|
||||
|
||||
/* Step3 */
|
||||
if (bRadioGetState() == CMT2310A_STATE_IS_READY) {
|
||||
DEBUGPRINT("[%s|%u] Infor, CMT2310 already in State[READY], so skip initialization.\r\n", __FUNCTION__, __LINE__);
|
||||
return;
|
||||
}
|
||||
DEBUGPRINT("[%s|%u] Info, goto initialize E48-XXXM20S.\r\n", __FUNCTION__, __LINE__);
|
||||
|
||||
/* Step4 */
|
||||
vRadioInit();
|
||||
}
|
||||
|
||||
|
||||
@ -72,7 +72,11 @@ const uint8_t cmt2310a_power[55][7] = {
|
||||
void vRadioInit( void )
|
||||
{
|
||||
byte fw_rev;
|
||||
vRadioSoftReset();
|
||||
|
||||
/* Step4 */
|
||||
vRadioHardReset();
|
||||
|
||||
/* Step5 */
|
||||
vRadioConfigPageReg( 0, g_cmt2310a_page0, CMT2310A_PAGE0_SIZE ); //config page 0
|
||||
vRadioConfigPageReg( 1, g_cmt2310a_page1, CMT2310A_PAGE1_SIZE ); //config page 1
|
||||
vRadioSetNirq( CMT2310A_nIRQ_TCXO ); //for TCXO need cofig as nIRQ pin at first
|
||||
@ -88,15 +92,21 @@ void vRadioInit( void )
|
||||
break;
|
||||
}
|
||||
|
||||
/* Step6 */
|
||||
vRadioPowerUpBoot();
|
||||
delay1ms( 10 );
|
||||
|
||||
/* Step7 */
|
||||
bRadioGoStandby();
|
||||
delay1ms( 2 );
|
||||
bRadioApiCommand( 0x02 ); //
|
||||
delay1ms( 10 );
|
||||
|
||||
/* Step8 */
|
||||
bRadioApiCommand( 0x01 ); //IR Calibration, need some times
|
||||
vRadioCapLoad( 2 ); //Xo Cap
|
||||
//GPIOn default setting
|
||||
|
||||
/* Step9, GPIOn and interrupt setting */
|
||||
vRadioSetGpio0( CMT2310A_GPIO0_INT3 );
|
||||
vRadioSetGpio1( CMT2310A_GPIO1_INT2 );
|
||||
vRadioSetGpio2( CMT2310A_GPIO2_DCLK );
|
||||
|
||||
@ -1,4 +1,5 @@
|
||||
#include "radio_hal.h"
|
||||
#include "board.h"
|
||||
|
||||
void delay1ms(uint16_t cnt)
|
||||
{
|
||||
@ -440,6 +441,18 @@ void vRadioPowerUpBoot( void )
|
||||
bSpiWriteByte( CMT2310A_CTL_REG_00, CMT2310A_REBOOT );
|
||||
}
|
||||
|
||||
/******************************
|
||||
**Name: vRadioPowerUpBoot
|
||||
**Func: Radio power up boot start
|
||||
**Input: None
|
||||
*Output: None
|
||||
********************************/
|
||||
void vRadioPowerUp( void )
|
||||
{
|
||||
gpio_bit_write(BSP_GPIO_PORT_E48_GP5, BSP_GPIO_PIN_E48_GP5, RESET);
|
||||
delay1ms(10);
|
||||
}
|
||||
|
||||
/******************************
|
||||
**Name: vRadioSoftReset
|
||||
**Func: Radio soft reset
|
||||
@ -455,6 +468,20 @@ void vRadioSoftReset( void )
|
||||
delay10us( 100 );
|
||||
}
|
||||
|
||||
/******************************
|
||||
**Name: vRadioSoftReset
|
||||
**Func: Radio soft reset
|
||||
**Input: None
|
||||
*Output: None
|
||||
********************************/
|
||||
void vRadioHardReset( void )
|
||||
{
|
||||
gpio_bit_write(BSP_GPIO_PORT_E48_GP5, BSP_GPIO_PIN_E48_GP5, SET);
|
||||
delay10us(10);
|
||||
gpio_bit_write(BSP_GPIO_PORT_E48_GP5, BSP_GPIO_PIN_E48_GP5, RESET);
|
||||
delay1ms(10);
|
||||
}
|
||||
|
||||
/******************************
|
||||
**Name: vRadioSetPaOutputMode
|
||||
**Func: Radio config PA output mode
|
||||
@ -513,14 +540,11 @@ void vRadioSetTxDataInverse( boolean_t cfg_en )
|
||||
void vRadioSetAntSwitch( boolean_t cfg_en, boolean_t cfg_polar )
|
||||
{
|
||||
uint8_t cfg_tmp = 0;
|
||||
|
||||
if( cfg_en )
|
||||
{
|
||||
cfg_tmp |= CMT2310A_TRX_SWT_EN;
|
||||
}
|
||||
if( cfg_polar )
|
||||
{
|
||||
cfg_tmp |= CMT2310A_TRX_SWT_INV;
|
||||
}
|
||||
bRadioSetReg( CMT2310A_CTL_REG_22, cfg_tmp, ( CMT2310A_TRX_SWT_EN | CMT2310A_TRX_SWT_INV ) );
|
||||
}
|
||||
|
||||
|
||||
@ -68,7 +68,9 @@ extern void vRadioSetNirq( uint8_t nirq_sel );
|
||||
extern void vRadioTcxoDrvSel( uint8_t drv_sel );
|
||||
|
||||
extern void vRadioRegPageSel( uint8_t page_sel );
|
||||
extern void vRadioPowerUp( void );
|
||||
extern void vRadioPowerUpBoot( void );
|
||||
extern void vRadioHardReset( void );
|
||||
extern void vRadioSoftReset( void );
|
||||
extern void vRadioSetPaOutputMode( boolean_t cfg_en );
|
||||
extern void vRadioSetTxDataInverse( boolean_t cfg_en );
|
||||
|
||||
Reference in New Issue
Block a user