Compare commits
8 Commits
d0892c2256
...
Develop_Ev
| Author | SHA1 | Date | |
|---|---|---|---|
| 518eb9f134 | |||
| de1285ff41 | |||
| b9f5afd78e | |||
| e7c70664d6 | |||
| 8862e54265 | |||
| b7c27bc14f | |||
| 293d9b3be1 | |||
| d587362102 |
@ -66,9 +66,11 @@ void systick_config(void)
|
||||
*/
|
||||
void systick_deinit(void)
|
||||
{
|
||||
SysTick_Config(1);
|
||||
|
||||
NVIC_SetPriority(SysTick_IRQn, priority_orig);
|
||||
|
||||
SysTick->LOAD = 0UL; /* set reload register */
|
||||
SysTick->VAL = 0UL; /* Load the SysTick Counter Value */
|
||||
SysTick->CTRL &= ~SysTick_CTRL_ENABLE_Msk; /* Enable SysTick IRQ and SysTick Timer */
|
||||
}
|
||||
|
||||
/*!
|
||||
|
||||
@ -73,7 +73,7 @@ void Ebyte_Port_ReceiveCallback( uint16_t state, uint8_t *buffer, uint8_t lengt
|
||||
{
|
||||
uint8_t j, pcEchoLength;
|
||||
uint8_t *p;
|
||||
int8_t rx_data[32] = {0};
|
||||
uint8_t rx_data[32] = {0};
|
||||
|
||||
/* <20><><EFBFBD><EFBFBD>: <20><><EFBFBD><EFBFBD> */
|
||||
if( state &= 0x0002 ) {
|
||||
@ -115,7 +115,7 @@ void Ebyte_Port_ReceiveCallback( uint16_t state, uint8_t *buffer, uint8_t lengt
|
||||
if( ! PC_isConnected ) {
|
||||
is_jump_main = 1;
|
||||
snprintf(rx_data, sizeof(rx_data), "%s", buffer);
|
||||
EBYTE_LOG("\r\n Receive Data: %s", rx_data);
|
||||
EBYTE_LOG(" Receive Data: %s\r\n", rx_data);
|
||||
}
|
||||
|
||||
Ebyte_BSP_LedControl( BSP_LED_1, OFF );
|
||||
|
||||
@ -1,20 +1,20 @@
|
||||
/**
|
||||
**********************************************************************************
|
||||
* @file ebyte_core.c
|
||||
* @brief EBYTE<54><45><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϲ<EFBFBD>API<50><49>װ<EFBFBD><D7B0> <20><><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ײ<EFBFBD><D7B2><EFBFBD>
|
||||
* @details <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>μ<EFBFBD> https://www.ebyte.com/
|
||||
* @author JiangHeng
|
||||
* @date 2021-05-13
|
||||
* @version 1.0.0
|
||||
* @brief EBYTE<54><45><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϲ<EFBFBD>API<50><49>װ<EFBFBD><D7B0> <20><><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ײ<EFBFBD><D7B2><EFBFBD>
|
||||
* @details <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>μ<EFBFBD> https://www.ebyte.com/
|
||||
* @author JiangHeng
|
||||
* @date 2021-05-13
|
||||
* @version 1.0.0
|
||||
**********************************************************************************
|
||||
* @copyright BSD License
|
||||
* <20>ɶ<EFBFBD><C9B6>ڰ<EFBFBD><DAB0>ص<EFBFBD><D8B5>ӿƼ<D3BF><C6BC><EFBFBD><EFBFBD><EFBFBD>˾
|
||||
* ______ ____ __ __ _______ ______
|
||||
* @copyright BSD License
|
||||
* <20>ɶ<EFBFBD><C9B6>ڰ<EFBFBD><DAB0>ص<EFBFBD><D8B5>ӿƼ<D3BF><C6BC><EFBFBD><EFBFBD><EFBFBD>˾
|
||||
* ______ ____ __ __ _______ ______
|
||||
* | ____| | _ \ \ \ / / |__ __| | ____|
|
||||
* | |__ | |_) | \ \_/ / | | | |__
|
||||
* | __| | _ < \ / | | | __|
|
||||
* | |____ | |_) | | | | | | |____
|
||||
* |______| |____/ |_| |_| |______|
|
||||
* | |__ | |_) | \ \_/ / | | | |__
|
||||
* | __| | _ < \ / | | | __|
|
||||
* | |____ | |_) | | | | | | |____
|
||||
* |______| |____/ |_| |_| |______|
|
||||
*
|
||||
**********************************************************************************
|
||||
*/
|
||||
@ -29,8 +29,9 @@ const Ebyte_RF_t Ebyte_RF =
|
||||
{
|
||||
Ebyte_E48x_Init,
|
||||
Ebyte_E48x_SendPayload,
|
||||
Ebyte_E48x_SetStandby,
|
||||
Ebyte_E48x_SetSleep,
|
||||
Ebyte_E48x_SetRx,
|
||||
Ebyte_E48x_SetRx,
|
||||
Ebyte_E48x_IntOrPollTask,
|
||||
Ebyte_E48x_InterruptTrigger,
|
||||
Ebyte_E48x_GetName,
|
||||
|
||||
@ -32,6 +32,7 @@ typedef struct
|
||||
{
|
||||
void ( *Init )( void );
|
||||
void ( *Send )( uint8e_t *buffer, uint8e_t size , uint32e_t timeout);
|
||||
void ( *EnterStandby )( uint8e_t command);
|
||||
void ( *EnterSleepMode )( uint8e_t command);
|
||||
void ( *EnterReceiveMode )( uint32e_t timeout );
|
||||
void ( *StartPollTask)( void );
|
||||
|
||||
@ -61,7 +61,6 @@ int ebyte_main( void )
|
||||
{
|
||||
/* Init Systick */
|
||||
systick_config();
|
||||
#if 0
|
||||
/* <20><><EFBFBD><EFBFBD>Ӳ<EFBFBD><D3B2><EFBFBD><EFBFBD>Դ <20><>ʼ<EFBFBD><CABC> */
|
||||
Ebyte_BSP_Init();
|
||||
/* (<28><>ѡ) <20><><EFBFBD><EFBFBD><EFBFBD>жϽ<D0B6><CFBD><EFBFBD>FIFO <20>ɸ<EFBFBD><C9B8><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD>д<EFBFBD><D0B4><EFBFBD> */
|
||||
@ -70,8 +69,6 @@ int ebyte_main( void )
|
||||
Ebyte_RF.Init();
|
||||
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||
Ebyte_RF.EnterReceiveMode( 0 );
|
||||
/* MCU <20><>ȫ<EFBFBD><C8AB><EFBFBD>ж<EFBFBD> */
|
||||
Ebyte_BSP_GlobalIntEnable();
|
||||
|
||||
EBYTE_LOG( "Start PingPong.....\r\n" );
|
||||
EBYTE_LOG( "Please push button1 or button2.....\r\n" );
|
||||
@ -89,8 +86,9 @@ int ebyte_main( void )
|
||||
delay_1ms(100);
|
||||
}
|
||||
|
||||
Ebyte_BSP_GlobalIntDisable();
|
||||
#endif
|
||||
Ebyte_RF.EnterStandby(0);
|
||||
|
||||
Ebyte_BSP_Deinit();
|
||||
systick_deinit();
|
||||
}
|
||||
|
||||
@ -148,7 +146,7 @@ void Task_Transmit( void )
|
||||
{
|
||||
pongLength = 5;
|
||||
}else{
|
||||
EBYTE_LOG( "\r\n Echo : pong \r\n" );
|
||||
EBYTE_LOG( " Echo : pong \r\n" );
|
||||
pongLength = 4;
|
||||
}
|
||||
|
||||
|
||||
@ -23,6 +23,10 @@
|
||||
#include "ebyte_port.h"
|
||||
#include "ebyte_conf.h"
|
||||
#include "gd32w51x_gpio.h"
|
||||
#include "gd32w51x_misc.h"
|
||||
#include "gd32w51x_rcu.h"
|
||||
#include "gd32w51x_spi.h"
|
||||
#include "gd32w51x_timer.h"
|
||||
#include "platform_def.h"
|
||||
|
||||
BSP_BTN_FIFO_t BSP_BTN_FIFO;
|
||||
@ -43,7 +47,6 @@ void Ebyte_BSP_HSI_Init(void)
|
||||
// CLK_SYSCLKDivConfig( CLK_SYSCLKDiv_1 );
|
||||
}
|
||||
|
||||
|
||||
void Ebyte_BSP_E48xGPIO_Init(void)
|
||||
{
|
||||
rcu_periph_clock_enable(BSP_GPIO_RCU_E48_GPIO);
|
||||
@ -54,6 +57,12 @@ void Ebyte_BSP_E48xGPIO_Init(void)
|
||||
gpio_mode_set( BSP_GPIO_PORT_E48_GP4, GPIO_MODE_INPUT, GPIO_PUPD_NONE, BSP_GPIO_PIN_E48_GP4);
|
||||
gpio_mode_set( BSP_GPIO_PORT_E48_GP5, GPIO_MODE_INPUT, GPIO_PUPD_PULLUP, BSP_GPIO_PIN_E48_GP5);
|
||||
}
|
||||
|
||||
void Ebyte_BSP_E48xGPIO_Deinit(void)
|
||||
{
|
||||
rcu_periph_clock_disable(BSP_GPIO_RCU_E48_GPIO);
|
||||
}
|
||||
|
||||
/* !
|
||||
* @brief <20><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>IO
|
||||
*
|
||||
@ -77,6 +86,23 @@ void Ebyte_BSP_GPIO_Init(void)
|
||||
// GPIO_Init( BSP_GPIO_PORT_BUTTON_2, BSP_GPIO_PIN_BUTTON_2, GPIO_Mode_In_PU_No_IT );
|
||||
}
|
||||
|
||||
/* !
|
||||
* @brief <20><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>IO
|
||||
*
|
||||
* @note Ŀ<><C4BF>Ӳ<EFBFBD><D3B2>: EBYTE E15-EVB02
|
||||
*/
|
||||
void Ebyte_BSP_GPIO_Deinit(void)
|
||||
{
|
||||
/* Button */
|
||||
rcu_periph_clock_disable(BSP_GPIO_RCU_E48_BUTTON);
|
||||
|
||||
/* LED */
|
||||
rcu_periph_clock_disable(BSP_GPIO_RCU_E48_LED);
|
||||
|
||||
/* E48 */
|
||||
Ebyte_BSP_E48xGPIO_Deinit();
|
||||
}
|
||||
|
||||
/* !
|
||||
* @brief ͨ<>Ŵ<EFBFBD><C5B4>ڳ<EFBFBD>ʼ<EFBFBD><CABC>
|
||||
*
|
||||
@ -146,6 +172,21 @@ void Ebyte_BSP_SPI_Init( void )
|
||||
spi_enable(BSP_RF_SPI);
|
||||
}
|
||||
|
||||
/* !
|
||||
* @brief <20><><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3>ͨ<EFBFBD><CDA8>SPI<50>ӿڳ<D3BF>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
*/
|
||||
void Ebyte_BSP_SPI_Deinit( void )
|
||||
{
|
||||
/* SPI enable */
|
||||
spi_disable(BSP_RF_SPI);
|
||||
|
||||
spi_i2s_deinit(BSP_RF_SPI);
|
||||
|
||||
spi_parameter_struct spi_init_struct;
|
||||
|
||||
rcu_periph_clock_disable(BSP_RF_SPI_CLOCK);
|
||||
}
|
||||
|
||||
/* !
|
||||
* @brief RFģ<46><C4A3>SPIͨ<49><CDA8><EFBFBD><EFBFBD>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
*
|
||||
@ -210,6 +251,31 @@ void Ebyte_BSP_TIMER_Init( void )
|
||||
nvic_irq_enable(TIMER2_IRQn, 0, 0);
|
||||
}
|
||||
|
||||
/* !
|
||||
* @brief <20><>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC>
|
||||
*
|
||||
* @note ʹ<><CAB9><EFBFBD><EFBFBD>TIM3<4D><33><EFBFBD><EFBFBD>1ms<6D><73><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>
|
||||
* TIM3<4D><33><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>ΪHSI 16MHz, 128<32><38>Ƶ<EFBFBD><C6B5>Ϊ 16 MHz / 128 = 125 000 Hz
|
||||
* Ŀ<>궨ʱ1ms <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڼ<EFBFBD>Ϊ ( 0.001 x 125000 - 1) = 124
|
||||
*/
|
||||
void Ebyte_BSP_TIMER_Deinit( void )
|
||||
{
|
||||
nvic_irq_disable(TIMER2_IRQn);
|
||||
|
||||
/* enable a TIMER */
|
||||
timer_disable(BSP_RF_TIMER);
|
||||
/* enable the TIMER interrupt */
|
||||
timer_interrupt_disable(BSP_RF_TIMER, TIMER_INT_UP);
|
||||
/* clear interrupt bit */
|
||||
timer_interrupt_flag_clear(BSP_RF_TIMER, TIMER_INT_FLAG_UP);
|
||||
|
||||
/* enable the peripherals clock */
|
||||
rcu_periph_clock_disable(BSP_RF_TIMER_RCU);
|
||||
|
||||
/* deinit a TIMER */
|
||||
timer_deinit(BSP_RF_TIMER);
|
||||
}
|
||||
|
||||
/* !
|
||||
* @brief E15-EVB02 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><D4B4>ʼ<EFBFBD><CABC>
|
||||
*
|
||||
@ -241,6 +307,31 @@ void Ebyte_BSP_Init( void )
|
||||
Ebyte_BTN_FIFO_Init( &BSP_BTN_FIFO );
|
||||
}
|
||||
|
||||
/* !
|
||||
* @brief E15-EVB02 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><D4B4>ʼ<EFBFBD><CABC>
|
||||
*
|
||||
* @note <20>ڲ<EFBFBD>ʱ<EFBFBD><CAB1>HSI x 16MHz
|
||||
* <20>û<EFBFBD>ͨ<EFBFBD>Ŵ<EFBFBD><C5B4><EFBFBD> x USART1
|
||||
* <20><><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3>ͨ<EFBFBD>Žӿ<C5BD> x SPI1
|
||||
* <20><>ʱ<EFBFBD><CAB1> x TIM3
|
||||
* <20><><EFBFBD><EFBFBD> x 2
|
||||
* ָʾ<D6B8><CABE> x 2
|
||||
*/
|
||||
void Ebyte_BSP_Deinit( void )
|
||||
{
|
||||
/* <20><>ʱ<EFBFBD><CAB1> <20><>ʼ<EFBFBD><CABC> */
|
||||
Ebyte_BSP_TIMER_Deinit();
|
||||
|
||||
/* SPI<50>ӿ<EFBFBD> <20><>ʼ<EFBFBD><CABC> */
|
||||
Ebyte_BSP_SPI_Deinit();
|
||||
|
||||
/* <20><><EFBFBD><EFBFBD> <20><>ʼ<EFBFBD><CABC> */
|
||||
// Ebyte_BSP_UART_Init();
|
||||
|
||||
/* IO <20><>ʼ<EFBFBD><CABC> */
|
||||
Ebyte_BSP_GPIO_Deinit();
|
||||
}
|
||||
|
||||
/* !
|
||||
* @brief <20><><EFBFBD><EFBFBD>LED <20><>/<2F><>/<2F><>ת
|
||||
*
|
||||
|
||||
@ -164,6 +164,7 @@ typedef struct
|
||||
extern BSP_BTN_FIFO_t BSP_BTN_FIFO;
|
||||
|
||||
void Ebyte_BSP_Init( void );
|
||||
void Ebyte_BSP_Deinit( void );
|
||||
void Ebyte_BTN_FIFO_Init(BSP_BTN_FIFO_t *fifo);
|
||||
void Ebyte_BSP_DelayMs( volatile uint32_t nTime );
|
||||
void Ebyte_BSP_TimerDecrement(void);
|
||||
|
||||
@ -149,6 +149,274 @@
|
||||
*****************************************************************************/
|
||||
|
||||
#if ( PRODUCT_FREQUENCY == CM2310A_868MHZ)
|
||||
|
||||
const uint8_t g_cmt2310a_page0[CMT2310A_PAGE0_SIZE] = {
|
||||
0x2A,
|
||||
0x42,
|
||||
0x00,
|
||||
0xAA,
|
||||
0x04,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x64,
|
||||
0xD1,
|
||||
0xCE,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x64,
|
||||
0xD1,
|
||||
0xCE,
|
||||
0x1F,
|
||||
0x00,
|
||||
0x01,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x2D,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x2D,
|
||||
0x41,
|
||||
0x00,
|
||||
0x00,
|
||||
0xFF,
|
||||
0xFF,
|
||||
0x00,
|
||||
0x00,
|
||||
0x05,
|
||||
0x80,
|
||||
0x00,
|
||||
0x00,
|
||||
0x08,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x1F,
|
||||
0x07,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0xE4,
|
||||
0x20,
|
||||
0x1A,
|
||||
0x60,
|
||||
0x08,
|
||||
0x00,
|
||||
0xAA,
|
||||
0x00,
|
||||
0xE2,
|
||||
0x82,
|
||||
0x38,
|
||||
0x00,
|
||||
0xD0,
|
||||
0xE0,
|
||||
0x80,
|
||||
0x00,
|
||||
0x41,
|
||||
0x00,
|
||||
0x01,
|
||||
0x00,
|
||||
0x02,
|
||||
0x00,
|
||||
0x00,
|
||||
0x03,
|
||||
0x04,
|
||||
};
|
||||
|
||||
const uint8_t g_cmt2310a_page1[CMT2310A_PAGE1_SIZE] = {
|
||||
0x10,
|
||||
0x06,
|
||||
0x00,
|
||||
0xFF,
|
||||
0x00,
|
||||
0xCD, // vRadioTcxoDrvSel 接收设置的,将0xcd变为了0x0d
|
||||
0x0E,
|
||||
0x20,
|
||||
0x50,
|
||||
0x87,
|
||||
0x31,
|
||||
0x5B,
|
||||
0x08,
|
||||
0x38,
|
||||
0xFF,
|
||||
0x00,
|
||||
0x6C,
|
||||
0x00,
|
||||
0x00,
|
||||
0x08,
|
||||
0xB4,
|
||||
0x04,
|
||||
0x56,
|
||||
0xE0,
|
||||
0x20,
|
||||
0x08,
|
||||
0x01,
|
||||
0x10,
|
||||
0x11,
|
||||
0x00,
|
||||
0x91,
|
||||
0x7F,
|
||||
0x00,
|
||||
0x18,
|
||||
0x00,
|
||||
0x00,
|
||||
0x1F,
|
||||
0xE4,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0xC0,
|
||||
0x6C,
|
||||
0x00,
|
||||
0x80,
|
||||
0x98,
|
||||
0x6B,
|
||||
0x00,
|
||||
0x80,
|
||||
0x0F,
|
||||
0x64,
|
||||
0x06,
|
||||
0x02,
|
||||
0x04,
|
||||
0x56,
|
||||
0x00,
|
||||
0x36,
|
||||
0x05,
|
||||
0x20,
|
||||
0xC8,
|
||||
0x63,
|
||||
0xA1,
|
||||
0xFA,
|
||||
0x02,
|
||||
0x58,
|
||||
0x40,
|
||||
0x54,
|
||||
0x74,
|
||||
0xD0,
|
||||
0x0F,
|
||||
0x01,
|
||||
0x1B,
|
||||
0xE6,
|
||||
0x54,
|
||||
0x0C,
|
||||
0x09,
|
||||
0xE2,
|
||||
0x33,
|
||||
0x04,
|
||||
0x01,
|
||||
0xA5,
|
||||
0x06,
|
||||
0x0F,
|
||||
0x12,
|
||||
0x4C,
|
||||
0x00,
|
||||
0x00,
|
||||
0xF6,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x18,
|
||||
0x81,
|
||||
0x00,
|
||||
0x00,
|
||||
0x47,
|
||||
0x12, //0x67寄存器,ANT_DIVERSITY_MODE设置电线分集的接口会修改它
|
||||
0x25,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
};
|
||||
|
||||
/* [CMT page2] */
|
||||
const uint8_t g_cmt2310a_page2[CMT2310A_PAGE2_SIZE] = {
|
||||
0x00,
|
||||
0x01,
|
||||
0x02,
|
||||
0x03,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
};
|
||||
|
||||
#if 0
|
||||
/* [CMT page0] */
|
||||
const uint8_t g_cmt2310a_page0[CMT2310A_PAGE0_SIZE] = {
|
||||
0x12,
|
||||
@ -231,7 +499,7 @@ const uint8_t g_cmt2310a_page0[CMT2310A_PAGE0_SIZE] = {
|
||||
0x00,
|
||||
0x03,
|
||||
0x04,
|
||||
};
|
||||
};
|
||||
|
||||
/* [CMT page1] */
|
||||
const uint8_t g_cmt2310a_page1[CMT2310A_PAGE1_SIZE] = {
|
||||
@ -347,6 +615,7 @@ const uint8_t g_cmt2310a_page1[CMT2310A_PAGE1_SIZE] = {
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
};
|
||||
};
|
||||
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
@ -21,6 +21,8 @@
|
||||
|
||||
#include "board.h"
|
||||
|
||||
#define GET_CHIP_INFO_RETRY_MAX 10
|
||||
|
||||
uint8_t rf_rxbuffer[200];
|
||||
uint8_t rf_rxsize;
|
||||
uint8_t radio_rece_data_flag;
|
||||
@ -29,28 +31,50 @@ extern uint32_t g_chip_id;
|
||||
|
||||
void Ebyte_E48x_Init( void )
|
||||
{
|
||||
int ret;
|
||||
uint8_t chip_state = 0;
|
||||
uint32_t fail_retry = 0;
|
||||
boolean_t is_chip_cmt2310 = FALSE;
|
||||
|
||||
vSpiMasterInit();
|
||||
|
||||
init_prepare:
|
||||
/* Step1 */
|
||||
vRadioPowerUp(); // Release RST(GPIO5)
|
||||
vRadioSetAntSwitch(FALSE, FALSE); // Disable GPIO0 & GPIO1 as antenna switch control
|
||||
vRadioSpiModeSel(FALSE); // SPI 4-Wire mode
|
||||
g_chip_id = lRadioChipVersion();
|
||||
chip_state = bRadioGetState();
|
||||
// OSAL_LOGD("Debug, got information Version[%#X] State[%#X].", g_chip_id, chip_state);
|
||||
|
||||
is_chip_cmt2310 = ((g_chip_id & 0x00FFFF00) == 0x00231000);
|
||||
if (is_chip_cmt2310 && (chip_state == CMT2310A_STATE_IS_READY)) {
|
||||
printf("Infor, CMT2310 already in State[READY], so skip initialization.");
|
||||
goto init_end;
|
||||
}
|
||||
else if (is_chip_cmt2310 && (!chip_state || chip_state & 0x80)) { // Valid mode, except IDLE and READY
|
||||
printf("Debug, initialize CMT2310 right now with current State[%#X].", chip_state);
|
||||
goto init_run;
|
||||
}
|
||||
else if (fail_retry++ >= GET_CHIP_INFO_RETRY_MAX) {
|
||||
printf("Error, get the information of CMT2310 failed with Chip-ID[%#X] State[%#X].", g_chip_id, chip_state);
|
||||
return -1;
|
||||
}
|
||||
else if (fail_retry == 1) {
|
||||
vRadioPowerUp(); // Release RST(GPIO5)
|
||||
delay1ms(20);
|
||||
}
|
||||
|
||||
/* Step2 */
|
||||
g_chip_id = lRadioChipVersion();
|
||||
if(0x00231000 != (g_chip_id & 0x00FFFF00)) {
|
||||
EBYTE_LOG("[%s|%u] Error, dismatch Chip-ID[%#x](!=0x231000).\r\n", __FUNCTION__, __LINE__, g_chip_id);
|
||||
return;
|
||||
}
|
||||
EBYTE_LOG("[%s|%u] Info, Link Device:E48-XXXM20S.\r\n", __FUNCTION__, __LINE__);
|
||||
vRadioSoftReset(); // Software reset
|
||||
vRadioBoot(); // Boot CMT2310 core
|
||||
delay1ms(50);
|
||||
|
||||
/* Step3 */
|
||||
if (bRadioGetState() == CMT2310A_STATE_IS_READY) {
|
||||
EBYTE_LOG("[%s|%u] Infor, CMT2310 already in State[READY], so skip initialization.\r\n", __FUNCTION__, __LINE__);
|
||||
return;
|
||||
}
|
||||
EBYTE_LOG("[%s|%u] Info, goto initialize E48-XXXM20S.\r\n", __FUNCTION__, __LINE__);
|
||||
|
||||
/* Step4 */
|
||||
goto init_prepare;
|
||||
init_run:
|
||||
/* Step3~6 */
|
||||
vRadioInit();
|
||||
|
||||
init_end:
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
void Ebyte_E48x_SendPayload( uint8_t *payload, uint8_t size, uint32_t timeout )
|
||||
@ -64,6 +88,11 @@ void Ebyte_E48x_SetRx( uint32_t timeout )
|
||||
vRadioReceive();
|
||||
}
|
||||
|
||||
void Ebyte_E48x_SetStandby( uint8_t cmd )
|
||||
{
|
||||
vRadioStandby();
|
||||
}
|
||||
|
||||
void Ebyte_E48x_SetSleep( uint8_t cmd )
|
||||
{
|
||||
return;
|
||||
|
||||
@ -14,6 +14,7 @@ void Ebyte_E48x_Init( void );
|
||||
void Ebyte_E48x_SendPayload( uint8_t *payload, uint8_t size, uint32_t timeout );
|
||||
void Ebyte_E48x_SetRx( uint32_t timeout );
|
||||
void Ebyte_E48x_SetSleep( uint8_t cmd );
|
||||
void Ebyte_E48x_SetStandby( uint8_t cmd );
|
||||
void Ebyte_E48x_IntOrPollTask( void );
|
||||
void Ebyte_E48x_InterruptTrigger( void );
|
||||
uint32_t Ebyte_E48x_GetName(void);
|
||||
|
||||
@ -360,6 +360,14 @@ void vRadioTransmit(uint8_t* buffer, uint8_t length )
|
||||
vRadioReceive();
|
||||
}
|
||||
|
||||
void vRadioStandby( void )
|
||||
{
|
||||
bRadioGoStandby();
|
||||
vRadioClearTxFifo();
|
||||
vRadioClearRxFifo();
|
||||
vRadioClearInterrupt();
|
||||
}
|
||||
|
||||
uint8_t vRadioGetPacket(uint8_t *buffer,uint8_t *length)
|
||||
{
|
||||
uint8_t rx_length;
|
||||
|
||||
@ -26,8 +26,9 @@ extern void vRadioGoRxInit( void );
|
||||
|
||||
extern void vRadioTransmit(uint8_t* buffer, uint8_t length );
|
||||
extern void vRadioReceive(void);
|
||||
extern uint8_t vRadioGetPacket(uint8_t *buffer,uint8_t *length);
|
||||
extern void vRadioStandby(void);
|
||||
|
||||
extern uint8_t vRadioGetPacket(uint8_t *buffer,uint8_t *length);
|
||||
|
||||
extern void vRadioCheckLink(void);
|
||||
|
||||
|
||||
@ -430,6 +430,11 @@ void vRadioRegPageSel( uint8_t page_sel )
|
||||
}
|
||||
}
|
||||
|
||||
void vRadioBoot( void )
|
||||
{
|
||||
bSpiWriteByte( CMT2310A_CTL_REG_00, CMT2310A_REBOOT );
|
||||
}
|
||||
|
||||
/******************************
|
||||
**Name: vRadioPowerUpBoot
|
||||
**Func: Radio power up boot start
|
||||
|
||||
@ -15,7 +15,7 @@
|
||||
#define CM2310A_868MHZ 2
|
||||
#define CM2310A_915MHZ 3
|
||||
|
||||
#define PRODUCT_FREQUENCY CM2310A_410MHZ//ѡ<><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƶ<EFBFBD><C6B5>
|
||||
#define PRODUCT_FREQUENCY CM2310A_433MHZ//ѡ<><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƶ<EFBFBD><C6B5>
|
||||
|
||||
#include "radio_spi.h"
|
||||
#include "CMT2310A_def.h"
|
||||
@ -83,7 +83,6 @@ extern void vRadioXoWaitCfg( uint8_t div_sel );
|
||||
|
||||
extern void delay1ms(uint16_t cnt);
|
||||
extern void delay10us(uint32_t cnt);
|
||||
|
||||
void vRadioBoot( void );
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
@ -75,7 +75,10 @@ static void jump_to_main_image(uint32_t msp, uint32_t reset)
|
||||
|
||||
img_reset = (img_fptr_t)reset;
|
||||
|
||||
__disable_irq();
|
||||
// __disable_irq();
|
||||
for (int i = 0; i < sizeof(NVIC->ICER) / 4; i++)
|
||||
NVIC->ICER[i] = ~(0UL);
|
||||
|
||||
#if defined(__ARM_ARCH_8M_MAIN__) || defined(__ARM_ARCH_8M_BASE__)
|
||||
/* Restore the Main Stack Pointer Limit register's reset value
|
||||
* before passing execution to runtime firmware to make the
|
||||
|
||||
@ -59,6 +59,7 @@ OF SUCH DAMAGE.
|
||||
#include "uart.h"
|
||||
#include "console.h"
|
||||
#include "flash_api.h"
|
||||
#include <radio_phy.h>
|
||||
|
||||
#ifdef CONFIG_TELNET_SERVER
|
||||
#include "telnet_main.h"
|
||||
@ -1093,6 +1094,8 @@ static void cmd_boot(int argc, char **argv)
|
||||
uint32_t arm_vector[2] = {0};
|
||||
uint32_t boot_idx = 0, image_offset = 0, version;
|
||||
|
||||
bRadioGoStandby();
|
||||
|
||||
if (argc > 2) {
|
||||
DEBUGPRINT("jump_bml: command format error!\r\n");
|
||||
goto Usage;
|
||||
@ -1105,7 +1108,8 @@ static void cmd_boot(int argc, char **argv)
|
||||
goto BootFailed;
|
||||
}
|
||||
|
||||
__disable_irq();
|
||||
for (int i = 0; i < sizeof(NVIC->ICER) / 4; i++)
|
||||
NVIC->ICER[i] = ~(0UL);
|
||||
|
||||
/* Jump to main image */
|
||||
img_reset = (img_fptr_t)arm_vector[1];
|
||||
|
||||
@ -33,6 +33,7 @@ OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
/*============================ INCLUDES ======================================*/
|
||||
#include "radio_hal.h"
|
||||
#include "wrapper_freertos.h"
|
||||
#include "wrapper_os.h"
|
||||
#include "debug_print.h"
|
||||
@ -145,12 +146,14 @@ void start_task(void *p_arg)
|
||||
const char *filename;
|
||||
#endif // CONFIG_GY3513
|
||||
|
||||
wifi_management_init();
|
||||
// wifi_management_init();
|
||||
#ifdef CONFIG_FATFS_SUPPORT
|
||||
rcu_periph_clock_enable(RCU_CRC);
|
||||
fatfs_mk_mount();
|
||||
#endif
|
||||
|
||||
delay1ms(100);
|
||||
|
||||
#ifdef CONFIG_CONSOLE_ENABLE
|
||||
console_init();
|
||||
#else
|
||||
@ -197,11 +200,11 @@ int main(void)
|
||||
}
|
||||
#endif // CONFIG_TASK_LED
|
||||
|
||||
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");
|
||||
}
|
||||
|
||||
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");
|
||||
}
|
||||
|
||||
|
||||
@ -149,6 +149,274 @@
|
||||
*****************************************************************************/
|
||||
|
||||
#if ( PRODUCT_FREQUENCY == CM2310A_868MHZ)
|
||||
|
||||
const uint8_t g_cmt2310a_page0[CMT2310A_PAGE0_SIZE] = {
|
||||
0x2A,
|
||||
0x42,
|
||||
0x00,
|
||||
0xAA,
|
||||
0x04,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x64,
|
||||
0xD1,
|
||||
0xCE,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x64,
|
||||
0xD1,
|
||||
0xCE,
|
||||
0x1F,
|
||||
0x00,
|
||||
0x01,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x2D,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x2D,
|
||||
0x41,
|
||||
0x00,
|
||||
0x00,
|
||||
0xFF,
|
||||
0xFF,
|
||||
0x00,
|
||||
0x00,
|
||||
0x05,
|
||||
0x80,
|
||||
0x00,
|
||||
0x00,
|
||||
0x08,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x1F,
|
||||
0x07,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0xE4,
|
||||
0x20,
|
||||
0x1A,
|
||||
0x60,
|
||||
0x08,
|
||||
0x00,
|
||||
0xAA,
|
||||
0x00,
|
||||
0xE2,
|
||||
0x82,
|
||||
0x38,
|
||||
0x00,
|
||||
0xD0,
|
||||
0xE0,
|
||||
0x80,
|
||||
0x00,
|
||||
0x41,
|
||||
0x00,
|
||||
0x01,
|
||||
0x00,
|
||||
0x02,
|
||||
0x00,
|
||||
0x00,
|
||||
0x03,
|
||||
0x04,
|
||||
};
|
||||
|
||||
const uint8_t g_cmt2310a_page1[CMT2310A_PAGE1_SIZE] = {
|
||||
0x10,
|
||||
0x06,
|
||||
0x00,
|
||||
0xFF,
|
||||
0x00,
|
||||
0xCD, // vRadioTcxoDrvSel 接收设置的,将0xcd变为了0x0d
|
||||
0x0E,
|
||||
0x20,
|
||||
0x50,
|
||||
0x87,
|
||||
0x31,
|
||||
0x5B,
|
||||
0x08,
|
||||
0x38,
|
||||
0xFF,
|
||||
0x00,
|
||||
0x6C,
|
||||
0x00,
|
||||
0x00,
|
||||
0x08,
|
||||
0xB4,
|
||||
0x04,
|
||||
0x56,
|
||||
0xE0,
|
||||
0x20,
|
||||
0x08,
|
||||
0x01,
|
||||
0x10,
|
||||
0x11,
|
||||
0x00,
|
||||
0x91,
|
||||
0x7F,
|
||||
0x00,
|
||||
0x18,
|
||||
0x00,
|
||||
0x00,
|
||||
0x1F,
|
||||
0xE4,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0xC0,
|
||||
0x6C,
|
||||
0x00,
|
||||
0x80,
|
||||
0x98,
|
||||
0x6B,
|
||||
0x00,
|
||||
0x80,
|
||||
0x0F,
|
||||
0x64,
|
||||
0x06,
|
||||
0x02,
|
||||
0x04,
|
||||
0x56,
|
||||
0x00,
|
||||
0x36,
|
||||
0x05,
|
||||
0x20,
|
||||
0xC8,
|
||||
0x63,
|
||||
0xA1,
|
||||
0xFA,
|
||||
0x02,
|
||||
0x58,
|
||||
0x40,
|
||||
0x54,
|
||||
0x74,
|
||||
0xD0,
|
||||
0x0F,
|
||||
0x01,
|
||||
0x1B,
|
||||
0xE6,
|
||||
0x54,
|
||||
0x0C,
|
||||
0x09,
|
||||
0xE2,
|
||||
0x33,
|
||||
0x04,
|
||||
0x01,
|
||||
0xA5,
|
||||
0x06,
|
||||
0x0F,
|
||||
0x12,
|
||||
0x4C,
|
||||
0x00,
|
||||
0x00,
|
||||
0xF6,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x18,
|
||||
0x81,
|
||||
0x00,
|
||||
0x00,
|
||||
0x47,
|
||||
0x12, //0x67寄存器,ANT_DIVERSITY_MODE设置电线分集的接口会修改它
|
||||
0x25,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
};
|
||||
|
||||
/* [CMT page2] */
|
||||
const uint8_t g_cmt2310a_page2[CMT2310A_PAGE2_SIZE] = {
|
||||
0x00,
|
||||
0x01,
|
||||
0x02,
|
||||
0x03,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
};
|
||||
|
||||
#if 0
|
||||
/* [CMT page0] */
|
||||
const uint8_t g_cmt2310a_page0[CMT2310A_PAGE0_SIZE] = {
|
||||
0x12,
|
||||
@ -231,7 +499,7 @@ const uint8_t g_cmt2310a_page0[CMT2310A_PAGE0_SIZE] = {
|
||||
0x00,
|
||||
0x03,
|
||||
0x04,
|
||||
};
|
||||
};
|
||||
|
||||
/* [CMT page1] */
|
||||
const uint8_t g_cmt2310a_page1[CMT2310A_PAGE1_SIZE] = {
|
||||
@ -347,6 +615,7 @@ const uint8_t g_cmt2310a_page1[CMT2310A_PAGE1_SIZE] = {
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
};
|
||||
};
|
||||
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
@ -21,6 +21,8 @@
|
||||
|
||||
#include "board.h"
|
||||
|
||||
#define GET_CHIP_INFO_RETRY_MAX 10
|
||||
|
||||
uint8_t rf_rxbuffer[200];
|
||||
uint8_t rf_rxsize;
|
||||
uint8_t radio_rece_data_flag;
|
||||
@ -29,28 +31,50 @@ extern uint32_t g_chip_id;
|
||||
|
||||
void Ebyte_E48x_Init( void )
|
||||
{
|
||||
int ret;
|
||||
uint8_t chip_state = 0;
|
||||
uint32_t fail_retry = 0;
|
||||
boolean_t is_chip_cmt2310 = FALSE;
|
||||
|
||||
vSpiMasterInit();
|
||||
|
||||
init_prepare:
|
||||
/* Step1 */
|
||||
vRadioPowerUp(); // Release RST(GPIO5)
|
||||
vRadioSetAntSwitch(FALSE, FALSE); // Disable GPIO0 & GPIO1 as antenna switch control
|
||||
vRadioSpiModeSel(FALSE); // SPI 4-Wire mode
|
||||
g_chip_id = lRadioChipVersion();
|
||||
chip_state = bRadioGetState();
|
||||
// OSAL_LOGD("Debug, got information Version[%#X] State[%#X].", g_chip_id, chip_state);
|
||||
|
||||
is_chip_cmt2310 = ((g_chip_id & 0x00FFFF00) == 0x00231000);
|
||||
if (is_chip_cmt2310 && (chip_state == CMT2310A_STATE_IS_READY)) {
|
||||
DEBUGPRINT("Infor, CMT2310 already in State[READY], so skip initialization.");
|
||||
goto init_end;
|
||||
}
|
||||
else if (is_chip_cmt2310 && (!chip_state || chip_state & 0x80)) { // Valid mode, except IDLE and READY
|
||||
DEBUGPRINT("Debug, initialize CMT2310 right now with current State[%#X].", chip_state);
|
||||
goto init_run;
|
||||
}
|
||||
else if (fail_retry++ >= GET_CHIP_INFO_RETRY_MAX) {
|
||||
DEBUGPRINT("Error, get the information of CMT2310 failed with Chip-ID[%#X] State[%#X].", g_chip_id, chip_state);
|
||||
return -1;
|
||||
}
|
||||
else if (fail_retry == 1) {
|
||||
vRadioPowerUp(); // Release RST(GPIO5)
|
||||
delay1ms(20);
|
||||
}
|
||||
|
||||
/* 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__);
|
||||
vRadioSoftReset(); // Software reset
|
||||
vRadioBoot(); // Boot CMT2310 core
|
||||
delay1ms(50);
|
||||
|
||||
/* 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 */
|
||||
goto init_prepare;
|
||||
init_run:
|
||||
/* Step3~6 */
|
||||
vRadioInit();
|
||||
|
||||
init_end:
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
void Ebyte_E48x_SendPayload( uint8_t *payload, uint8_t size, uint32_t timeout )
|
||||
|
||||
@ -430,6 +430,11 @@ void vRadioRegPageSel( uint8_t page_sel )
|
||||
}
|
||||
}
|
||||
|
||||
void vRadioBoot( void )
|
||||
{
|
||||
bSpiWriteByte( CMT2310A_CTL_REG_00, CMT2310A_REBOOT );
|
||||
}
|
||||
|
||||
/******************************
|
||||
**Name: vRadioPowerUpBoot
|
||||
**Func: Radio power up boot start
|
||||
|
||||
@ -15,7 +15,7 @@
|
||||
#define CM2310A_868MHZ 2
|
||||
#define CM2310A_915MHZ 3
|
||||
|
||||
#define PRODUCT_FREQUENCY CM2310A_410MHZ//ѡ<><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƶ<EFBFBD><C6B5>
|
||||
#define PRODUCT_FREQUENCY CM2310A_433MHZ//ѡ<><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƶ<EFBFBD><C6B5>
|
||||
|
||||
#include "radio_spi.h"
|
||||
#include "CMT2310A_def.h"
|
||||
@ -83,6 +83,8 @@ extern void vRadioXoWaitCfg( uint8_t div_sel );
|
||||
|
||||
extern void delay1ms(uint16_t cnt);
|
||||
extern void delay10us(uint32_t cnt);
|
||||
|
||||
extern void vRadioBoot( void );
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user