mirror of
https://github.com/espressif/ESP8266_RTOS_SDK.git
synced 2025-05-22 01:27:11 +08:00
feat(wifi): refactor and add more wifi feature for 11n certificate
This commit is contained in:
@ -76,6 +76,15 @@ static void esp_wifi_set_debug_log()
|
||||
#endif
|
||||
#if CONFIG_ESP8266_WIFI_DEBUG_LOG_SUBMODULE_WPS
|
||||
wifi_log_submodule |= WIFI_LOG_SUBMODULE_WPS;
|
||||
#endif
|
||||
#if CONFIG_ESP8266_WIFI_DEBUG_LOG_SUBMODULE_AMPDU
|
||||
wifi_log_submodule |= WIFI_LOG_SUBMODULE_AMPDU;
|
||||
#endif
|
||||
#if CONFIG_ESP8266_WIFI_DEBUG_LOG_SUBMODULE_AMSDU
|
||||
wifi_log_submodule |= WIFI_LOG_SUBMODULE_AMSDU;
|
||||
#endif
|
||||
#if CONFIG_ESP8266_WIFI_DEBUG_LOG_SUBMODULE_FRAG
|
||||
wifi_log_submodule |= WIFI_LOG_SUBMODULE_FRAG;
|
||||
#endif
|
||||
esp_wifi_internal_set_log_level(wifi_log_level);
|
||||
esp_wifi_internal_set_log_mod(wifi_log_submodule);
|
||||
|
@ -29,6 +29,8 @@ void phy_afterwake_set_rfoption(uint8_t);
|
||||
void write_data_to_rtc(uint8_t *);
|
||||
|
||||
void get_data_from_rtc(uint8_t *);
|
||||
int register_chipv6_phy(uint8_t* );
|
||||
void phy_disable_agc();
|
||||
|
||||
uint8_t chip_init(uint8_t* init_data, uint8_t *mac, uint32_t uart_baudrate);
|
||||
|
||||
|
@ -68,12 +68,7 @@ esp_err_t esp_phy_rf_init(const esp_phy_init_data_t* init_data, esp_phy_calibrat
|
||||
{
|
||||
esp_err_t status = ESP_OK;
|
||||
uint8_t sta_mac[6];
|
||||
uint8_t* local_init_data = calloc(1, 256);
|
||||
#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
|
||||
uint8_t *local_init_data = calloc(1, 256);
|
||||
|
||||
memcpy(local_init_data, init_data->params, 128);
|
||||
|
||||
@ -89,9 +84,16 @@ esp_err_t esp_phy_rf_init(const esp_phy_init_data_t* init_data, esp_phy_calibrat
|
||||
}
|
||||
|
||||
esp_efuse_mac_get_default(sta_mac);
|
||||
chip_init(local_init_data, sta_mac, uart_baudrate);
|
||||
ESP_LOGI(TAG, "phy ver: %d_%d", (READ_PERI_REG(0x6000107C) >> 16) & 0xFFF, READ_PERI_REG(0x6000107C) >> 28);
|
||||
get_data_from_rtc((uint8_t*)calibration_data);
|
||||
|
||||
int ret = register_chipv6_phy(local_init_data);
|
||||
if (ret) {
|
||||
ESP_LOGI(TAG, "phy register error, ret:%d", ret);
|
||||
}
|
||||
|
||||
phy_disable_agc();
|
||||
|
||||
ESP_LOGI(TAG, "phy ver: %d_%d", (READ_PERI_REG(0x6000107C)>>16)&0xFFF, READ_PERI_REG(0x6000107C)>>28);
|
||||
get_data_from_rtc((uint8_t *)calibration_data);
|
||||
|
||||
memcpy(rx_gain_dc_table, calibration_data->rx_gain_dc_table, 4 * 125);
|
||||
phy_rx_gain_dc_table = rx_gain_dc_table;
|
||||
|
@ -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);
|
||||
|
||||
|
Reference in New Issue
Block a user