feat(wifi): refactor and add more wifi feature for 11n certificate

This commit is contained in:
Zhang Jun Hao
2019-08-12 14:06:25 +08:00
parent f12b37bdf5
commit 53813599e9
7 changed files with 204 additions and 41 deletions

View File

@ -30,6 +30,7 @@
#include "internal/esp_wifi_internal.h"
#include "internal/esp_system_internal.h"
#include "esp8266/eagle_soc.h"
#include "esp8266/uart_register.h"
#include "FreeRTOS.h"
#include "task.h"
@ -47,6 +48,7 @@ extern int wifi_timer_init(void);
extern int wifi_nvs_init(void);
extern esp_err_t esp_pthread_init(void);
extern void phy_get_bb_evm(void);
extern void uart_div_modify(uint8_t uart_no, uint16_t DivLatchValue);
static inline int should_load(uint32_t load_addr)
{
@ -61,6 +63,19 @@ static inline int should_load(uint32_t load_addr)
return 1;
}
static inline void uart_init()
{
#ifdef CONFIG_CONSOLE_UART_BAUDRATE
const uint32_t uart_baudrate = CONFIG_CONSOLE_UART_BAUDRATE;
#else
const uint32_t uart_baudrate = 74880; // ROM default baudrate
#endif
while (READ_PERI_REG(UART_STATUS(0)) & (UART_TXFIFO_CNT << UART_TXFIFO_CNT_S));
while (READ_PERI_REG(UART_STATUS(1)) & (UART_TXFIFO_CNT << UART_TXFIFO_CNT_S));
uart_div_modify(0, UART_CLK_FREQ / uart_baudrate);
uart_div_modify(1, UART_CLK_FREQ / uart_baudrate);
}
static void user_init_entry(void *param)
{
void (**func)(void);
@ -76,13 +91,16 @@ static void user_init_entry(void *param)
phy_get_bb_evm();
/*enable tsf0 interrupt for pwm*/
REG_WRITE(PERIPHS_DPORT_BASEADDR, (REG_READ(PERIPHS_DPORT_BASEADDR) & ~0x1F) | 0x1);
REG_WRITE(INT_ENA_WDEV, REG_READ(INT_ENA_WDEV) | WDEV_TSF0_REACH_INT);
assert(nvs_flash_init() == 0);
assert(wifi_nvs_init() == 0);
assert(rtc_init() == 0);
assert(mac_init() == 0);
uart_init();
assert(base_gpio_init() == 0);
esp_phy_load_cal_and_init(0);
assert(wifi_timer_init() == 0);
esp_wifi_set_rx_pbuf_mem_type(WIFI_RX_PBUF_DRAM);