ESP_Web_Update
This commit is contained in:
463
code/esp8266.c
463
code/esp8266.c
@@ -12,197 +12,350 @@
|
||||
#include "zf_driver_gpio.h"
|
||||
#include "zf_driver_delay.h"
|
||||
#include "status_led.h"
|
||||
|
||||
const uint8 ESP8266_syncPkt[44] = {0x00, 0x08, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x07, 0x12, 0x20, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55};
|
||||
static uint8 syncPkt_index = 0;
|
||||
static uint8 esp8266_quit_download_judge_buffer[2] = {0};
|
||||
static uint8 esp8266_quit_download_judge_index = 0;
|
||||
static uint8 esp8266_quit_download_judge_flag = 0;
|
||||
static uint8 esp8266_init_flag = 0;
|
||||
uint8 esp8266_download_passthrough = 0;
|
||||
static uint8 esp8266_download_rst_flag = 0;
|
||||
|
||||
// static uint16 esp8266_uart_pass_tx_buff_index = 0;
|
||||
// static uint16 esp8266_uart_pass_rx_buff_index = 0;
|
||||
#include "vofa_client.h"
|
||||
#include "stdio.h"
|
||||
#include "string.h"
|
||||
|
||||
|
||||
void isr_uart0_rx_interrupt_hook_back(uint8 rev_data);
|
||||
static esp8266_mode_enum esp8266_mode = ESP8266_Mode_Invalid;
|
||||
static uint8 esp8266_get_config_pkt[7] = "CONFIG";
|
||||
uint8 esp8266_get_config_pkt_index = 0;
|
||||
esp8266_config_t esp8266_config;
|
||||
esp8266_status_t esp8266_status;
|
||||
|
||||
// // fifo_struct esp8266_rx_fifo;
|
||||
// #define EU_BUFFER_SIZE 1024
|
||||
// const uint8 ESP8266_syncPkt[44] = {0x00, 0x08, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x07, 0x12, 0x20, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55};
|
||||
// const uint8 ESP8266_ackPkt[12] = {0xC0, 0x01, 0x08, 0x02, 0x00, 0x07, 0x07, 0x12, 0x20, 0x00, 0x00, 0xC0};
|
||||
// uint8 esp8266_ack_counter = 0;
|
||||
// uint8 esp8266_ack_flag = 0;
|
||||
// static uint8 syncPkt_index = 0;
|
||||
// static uint8 esp8266_quit_download_judge_buffer[2] = {0};
|
||||
// static uint8 esp8266_quit_download_judge_index = 0;
|
||||
// static uint8 esp8266_quit_download_judge_flag = 0;
|
||||
// uint8 esp8266_download_passthrough = 0;
|
||||
// static uint8 esp8266_download_rst_flag = 0;
|
||||
|
||||
// // static uint16 esp8266_uart_pass_tx_buff_index = 0;
|
||||
// // static uint16 esp8266_uart_pass_rx_buff_index = 0;
|
||||
|
||||
|
||||
// void isr_uart0_rx_interrupt_hook_back(uint8 rev_data);
|
||||
|
||||
// fifo_struct esp8266_rx_fifo;
|
||||
// #define EU_BUFFER_SIZE 64
|
||||
// uint8 esp8266_rx_buffer[EU_BUFFER_SIZE];
|
||||
// uint8 esp8266_rx_buffer_index = 0;
|
||||
|
||||
// // fifo_struct esp8266_tx_fifo;
|
||||
// fifo_struct esp8266_tx_fifo;
|
||||
// uint8 esp8266_tx_buffer[EU_BUFFER_SIZE];
|
||||
|
||||
void ESP8266_Init(void)
|
||||
{
|
||||
|
||||
uart_init(ESP8266_UART_CHANNEL, ESP8266_UART_BAUDRATE, ESP8266_UART_TX_PIN, ESP8266_UART_RX_PIN);
|
||||
uart_rx_interrupt(ESP8266_UART_CHANNEL, 1);
|
||||
// fifo_init(&esp8266_rx_fifo, FIFO_DATA_8BIT, esp8266_rx_buffer, sizeof(esp8266_rx_buffer));
|
||||
// fifo_init(&esp8266_rx_fifo, FIFO_DATA_8BIT, esp8266_rx_buffer, sizeof(esp8266_rx_buffer));
|
||||
// fifo_init(&esp8266_tx_fifo, FIFO_DATA_8BIT, esp8266_tx_buffer, sizeof(esp8266_tx_buffer));
|
||||
gpio_init(ESP8266_EN, GPO, 1, GPO_PUSH_PULL);
|
||||
gpio_init(ESP8266_RST, GPO, 1, GPO_PUSH_PULL);
|
||||
gpio_init(ESP8266_IO0, GPO, 1, GPO_PUSH_PULL);
|
||||
gpio_init(ESP8266_IO2, GPO, 1, GPO_PUSH_PULL);
|
||||
gpio_init(ESP8266_IO15, GPO, 0, GPO_PUSH_PULL);
|
||||
|
||||
esp8266_init_flag = 1;
|
||||
ESP8266_Set_Config((uint8 *)ESP8266_WIFI_SSID, (uint8 *)ESP8266_WIFI_PASSWORD, (uint8 *)ESP8266_WIFI_TARGET_IP, ESP8266_WIFI_TARGET_PORT);
|
||||
|
||||
esp8266_mode = ESP8266_Mode_Working;
|
||||
}
|
||||
|
||||
void ESP8266_Set_Config(uint8 *ssid, uint8 *password, uint8 *target_ip, uint16 target_port)
|
||||
{
|
||||
strcpy((char *)esp8266_config.ssid, (char *)ssid);
|
||||
strcpy((char *)esp8266_config.password, (char *)password);
|
||||
strcpy((char *)esp8266_config.target_ip, (char *)target_ip);
|
||||
esp8266_config.target_port = target_port;
|
||||
|
||||
sprintf((char *)esp8266_config.config_str,
|
||||
"{\"ip\":\"%s\",\"port\":%d,\"ssid\":\"%s\",\"password\":\"%s\"}\r\n",
|
||||
esp8266_config.target_ip,
|
||||
esp8266_config.target_port,
|
||||
esp8266_config.ssid,
|
||||
esp8266_config.password
|
||||
);
|
||||
}
|
||||
|
||||
void ESP8266_Into_Download_Mode(void)
|
||||
{
|
||||
gpio_set_level(ESP8266_IO0, 0);
|
||||
gpio_set_level(ESP8266_IO2, 1);
|
||||
gpio_set_level(ESP8266_IO15, 0);
|
||||
gpio_set_level(ESP8266_EN, 0);
|
||||
system_delay_ms(1);
|
||||
gpio_set_level(ESP8266_EN, 1);
|
||||
}
|
||||
|
||||
void ESP8266_Into_Change_Config_Mode(uint8 on)
|
||||
{
|
||||
if(esp8266_mode == ESP8266_Mode_Invalid)
|
||||
{
|
||||
return;
|
||||
}
|
||||
if(on)
|
||||
{
|
||||
esp8266_mode = ESP8266_Mode_Config;
|
||||
system_delay_ms(100);
|
||||
gpio_set_level(ESP8266_CONFIG_SEND_PIN, 0);
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
gpio_set_level(ESP8266_CONFIG_SEND_PIN, 1);
|
||||
}
|
||||
}
|
||||
|
||||
void ESP8266_send_data_inner(uint8 *data, uint32 len)
|
||||
{
|
||||
if(esp8266_mode != ESP8266_Mode_Working && esp8266_mode != ESP8266_Mode_Invalid)
|
||||
{
|
||||
uart_write_buffer(ESP8266_UART_CHANNEL, data, len);
|
||||
}
|
||||
}
|
||||
|
||||
void ESP8266_send_data(uint8 *data, uint32 len)
|
||||
{
|
||||
if(esp8266_download_passthrough)
|
||||
if(esp8266_mode == ESP8266_Mode_Working)
|
||||
{
|
||||
return;
|
||||
}
|
||||
uart_write_buffer(ESP8266_UART_CHANNEL, data, len);
|
||||
}
|
||||
|
||||
void ESP8266_Main_Loop_Change_Mode(void)
|
||||
{
|
||||
if(esp8266_quit_download_judge_flag >= 4)
|
||||
{
|
||||
esp8266_download_passthrough = 0;
|
||||
esp8266_quit_download_judge_flag = 0;
|
||||
esp8266_download_rst_flag = 0;
|
||||
gpio_set_level(ESP8266_IO0, 1);
|
||||
gpio_set_level(ESP8266_IO2, 1);
|
||||
gpio_set_level(ESP8266_IO15, 0);
|
||||
gpio_set_level(ESP8266_EN, 0);
|
||||
// gpio_set_level(ESP8266_RST, 0);
|
||||
system_delay_ms(1);
|
||||
// gpio_set_level(ESP8266_RST, 1);
|
||||
gpio_set_level(ESP8266_EN, 1);
|
||||
OFF_LED(STATUS_LED_9);
|
||||
}
|
||||
if(esp8266_download_rst_flag >=3 && !esp8266_download_passthrough)
|
||||
{
|
||||
system_delay_ms(1);
|
||||
// gpio_set_level(ESP8266_RST, 1);
|
||||
gpio_set_level(ESP8266_EN, 1);
|
||||
esp8266_download_passthrough = 1;
|
||||
esp8266_download_rst_flag = 0;
|
||||
ON_LED(STATUS_LED_2);
|
||||
ON_LED(STATUS_LED_9);
|
||||
}
|
||||
}
|
||||
|
||||
void ESP8266_Judge_Quit_Download_Mode(uint8 rev_data)
|
||||
{
|
||||
if(esp8266_download_passthrough && !esp8266_quit_download_judge_flag)
|
||||
{
|
||||
|
||||
if(rev_data == 0xC0 && esp8266_quit_download_judge_buffer[0] != 0xC0)
|
||||
{
|
||||
esp8266_quit_download_judge_index = 0;
|
||||
}
|
||||
esp8266_quit_download_judge_buffer[esp8266_quit_download_judge_index++] = rev_data;
|
||||
if(esp8266_quit_download_judge_index >= 2 && esp8266_quit_download_judge_buffer[1] == 0x04)
|
||||
{
|
||||
esp8266_quit_download_judge_index = 0;
|
||||
esp8266_quit_download_judge_flag = 1;
|
||||
ON_LED(STATUS_LED_6);
|
||||
}
|
||||
}
|
||||
if(esp8266_quit_download_judge_flag == 1 && rev_data == 0xC0)
|
||||
{
|
||||
esp8266_quit_download_judge_flag = 2;
|
||||
ON_LED(STATUS_LED_7);
|
||||
}
|
||||
}
|
||||
|
||||
void ESP8266_Auto_Download_Uart_Hook(void)
|
||||
{
|
||||
uint8 rev_tmp;
|
||||
while(uart_query_byte(UART_0, &rev_tmp))
|
||||
{
|
||||
if((rev_tmp == ESP8266_syncPkt[syncPkt_index]) && (esp8266_download_passthrough == 0) && esp8266_init_flag)
|
||||
{
|
||||
Flash_LED(STATUS_LED_3);
|
||||
syncPkt_index++;
|
||||
if(syncPkt_index >= 44)
|
||||
{
|
||||
// if(!esp8266_download_rst_flag)
|
||||
// {
|
||||
gpio_set_level(ESP8266_IO0, 0);
|
||||
gpio_set_level(ESP8266_IO2, 1);
|
||||
gpio_set_level(ESP8266_IO15, 0);
|
||||
// gpio_set_level(ESP8266_RST, 0);
|
||||
gpio_set_level(ESP8266_EN, 0);
|
||||
esp8266_download_rst_flag++;
|
||||
ON_LED(STATUS_LED_1);
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// gpio_set_level(ESP8266_RST, 1);
|
||||
// esp8266_download_passthrough = 1;
|
||||
// ON_LED(STATUS_LED_2);
|
||||
// }
|
||||
syncPkt_index = 0;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
syncPkt_index = 0;
|
||||
}
|
||||
if(esp8266_download_passthrough == 0)
|
||||
{
|
||||
isr_uart0_rx_interrupt_hook_back(rev_tmp);
|
||||
}
|
||||
else
|
||||
{
|
||||
// esp8266_tx_buffer[esp8266_uart_pass_tx_buff_index++] = rev_tmp;
|
||||
// if(esp8266_uart_pass_tx_buff_index >= EU_BUFFER_SIZE)
|
||||
// {
|
||||
// uart_write_buffer(ESP8266_UART_CHANNEL, esp8266_tx_buffer, esp8266_uart_pass_tx_buff_index);
|
||||
// esp8266_uart_pass_tx_buff_index = 0;
|
||||
// }
|
||||
// if(rev_tmp == 0xC0)
|
||||
// {
|
||||
// uart_write_buffer(ESP8266_UART_CHANNEL, esp8266_tx_buffer, esp8266_uart_pass_tx_buff_index);
|
||||
// esp8266_uart_pass_tx_buff_index = 0;
|
||||
// }
|
||||
uart_write_byte(ESP8266_UART_CHANNEL, rev_tmp);
|
||||
// ON_LED(STATUS_LED_3);
|
||||
// ESP8266_Judge_Quit_Download_Mode(rev_tmp);
|
||||
}
|
||||
uart_write_buffer(ESP8266_UART_CHANNEL, data, len);
|
||||
}
|
||||
}
|
||||
|
||||
void ESP8266_Uart_Callback(void)
|
||||
{
|
||||
Flash_LED(STATUS_LED_9);
|
||||
uint8 rev_tmp;
|
||||
// ON_LED(STATUS_LED_4);
|
||||
while(uart_query_byte(ESP8266_UART_CHANNEL, &rev_tmp))
|
||||
{
|
||||
if(esp8266_download_passthrough)
|
||||
VOFA_Receiver_Callback(rev_tmp);
|
||||
if(rev_tmp == esp8266_get_config_pkt[esp8266_get_config_pkt_index])
|
||||
{
|
||||
// esp8266_rx_buffer[esp8266_uart_pass_rx_buff_index++] = rev_tmp;
|
||||
// if(esp8266_uart_pass_rx_buff_index >= EU_BUFFER_SIZE)
|
||||
// {
|
||||
// uart_write_buffer(UART_0, esp8266_rx_buffer, esp8266_uart_pass_rx_buff_index);
|
||||
// esp8266_uart_pass_rx_buff_index = 0;
|
||||
// }
|
||||
// if(rev_tmp == 0xC0)
|
||||
// {
|
||||
// uart_write_buffer(UART_0, esp8266_rx_buffer, esp8266_uart_pass_rx_buff_index);
|
||||
// esp8266_uart_pass_rx_buff_index = 0;
|
||||
// }
|
||||
uart_write_byte(UART_0, rev_tmp);
|
||||
// Flash_LED(STATUS_LED_5);
|
||||
if(esp8266_quit_download_judge_flag >= 2)
|
||||
esp8266_get_config_pkt_index++;
|
||||
if(esp8266_get_config_pkt_index >= 6)
|
||||
{
|
||||
if(rev_tmp == 0xC0)
|
||||
{
|
||||
ON_LED(STATUS_LED_8);
|
||||
esp8266_quit_download_judge_flag ++;
|
||||
}
|
||||
// <20>յ<EFBFBD><D5B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
Flash_LED(STATUS_LED_8);
|
||||
esp8266_get_config_pkt_index = 0;
|
||||
ESP8266_Into_Change_Config_Mode(0);
|
||||
esp8266_mode = ESP8266_Mode_Config;
|
||||
ESP8266_send_data_inner((uint8 *)esp8266_config.config_str, strlen((char *)esp8266_config.config_str));
|
||||
esp8266_mode = ESP8266_Mode_Working;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
isr_uart0_rx_interrupt_hook_back(rev_tmp);
|
||||
esp8266_get_config_pkt_index = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// void ESP8266_Init2(void)
|
||||
// {
|
||||
// uart_init(ESP8266_UART_CHANNEL, ESP8266_UART_BAUDRATE, ESP8266_UART_TX_PIN, ESP8266_UART_RX_PIN);
|
||||
// uart_rx_interrupt(ESP8266_UART_CHANNEL, 1);
|
||||
// }
|
||||
|
||||
|
||||
// void ESP8266_send_data(uint8 *data, uint32 len)
|
||||
// {
|
||||
// if(esp8266_download_passthrough)
|
||||
// {
|
||||
// return;
|
||||
// }
|
||||
// uart_write_buffer(ESP8266_UART_CHANNEL, data, len);
|
||||
// }
|
||||
|
||||
// void ESP8266_Main_Loop_Change_Mode(void)
|
||||
// {
|
||||
// if(esp8266_quit_download_judge_flag >= 4)
|
||||
// {
|
||||
// esp8266_download_passthrough = 0;
|
||||
// esp8266_quit_download_judge_flag = 0;
|
||||
// esp8266_download_rst_flag = 0;
|
||||
// gpio_set_level(ESP8266_IO0, 1);
|
||||
// gpio_set_level(ESP8266_IO2, 1);
|
||||
// gpio_set_level(ESP8266_IO15, 0);
|
||||
// gpio_set_level(ESP8266_EN, 0);
|
||||
// // gpio_set_level(ESP8266_RST, 0);
|
||||
// system_delay_ms(1);
|
||||
// // gpio_set_level(ESP8266_RST, 1);
|
||||
// gpio_set_level(ESP8266_EN, 1);
|
||||
// OFF_LED(STATUS_LED_9);
|
||||
// }
|
||||
// if(esp8266_download_rst_flag >=3 && !esp8266_download_passthrough)
|
||||
// {
|
||||
// system_delay_ms(1);
|
||||
// // gpio_set_level(ESP8266_RST, 1);
|
||||
// gpio_set_level(ESP8266_EN, 1);
|
||||
// esp8266_download_passthrough = 1;
|
||||
// esp8266_download_rst_flag = 0;
|
||||
// ON_LED(STATUS_LED_2);
|
||||
// ON_LED(STATUS_LED_9);
|
||||
// }
|
||||
// }
|
||||
|
||||
// void ESP8266_Judge_Quit_Download_Mode(uint8 rev_data)
|
||||
// {
|
||||
// if(esp8266_download_passthrough && !esp8266_quit_download_judge_flag)
|
||||
// {
|
||||
|
||||
// if(rev_data == 0xC0 && esp8266_quit_download_judge_buffer[0] != 0xC0)
|
||||
// {
|
||||
// esp8266_quit_download_judge_index = 0;
|
||||
// }
|
||||
// esp8266_quit_download_judge_buffer[esp8266_quit_download_judge_index++] = rev_data;
|
||||
// if(esp8266_quit_download_judge_index >= 2 && esp8266_quit_download_judge_buffer[1] == 0x04)
|
||||
// {
|
||||
// esp8266_quit_download_judge_index = 0;
|
||||
// esp8266_quit_download_judge_flag = 1;
|
||||
// ON_LED(STATUS_LED_6);
|
||||
// }
|
||||
// }
|
||||
// if(esp8266_quit_download_judge_flag == 1 && rev_data == 0xC0)
|
||||
// {
|
||||
// esp8266_quit_download_judge_flag = 2;
|
||||
// ON_LED(STATUS_LED_7);
|
||||
// }
|
||||
// }
|
||||
|
||||
// void ESP8266_Auto_Download_Uart_Hook(void)
|
||||
// {
|
||||
// uint8 rev_tmp;
|
||||
// while(uart_query_byte(UART_0, &rev_tmp))
|
||||
// {
|
||||
// if((rev_tmp == ESP8266_syncPkt[syncPkt_index]) && (esp8266_download_passthrough == 0) && esp8266_init_flag)
|
||||
// {
|
||||
// Flash_LED(STATUS_LED_3);
|
||||
// syncPkt_index++;
|
||||
// if(syncPkt_index >= 44)
|
||||
// {
|
||||
// // if(!esp8266_download_rst_flag)
|
||||
// // {
|
||||
// gpio_set_level(ESP8266_IO0, 0);
|
||||
// gpio_set_level(ESP8266_IO2, 1);
|
||||
// gpio_set_level(ESP8266_IO15, 0);
|
||||
// // gpio_set_level(ESP8266_RST, 0);
|
||||
// gpio_set_level(ESP8266_EN, 0);
|
||||
// esp8266_download_rst_flag++;
|
||||
// ON_LED(STATUS_LED_1);
|
||||
// // }
|
||||
// // else
|
||||
// // {
|
||||
// // gpio_set_level(ESP8266_RST, 1);
|
||||
// // esp8266_download_passthrough = 1;
|
||||
// // ON_LED(STATUS_LED_2);
|
||||
// // }
|
||||
// syncPkt_index = 0;
|
||||
// }
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// syncPkt_index = 0;
|
||||
// }
|
||||
// if(esp8266_download_passthrough == 0)
|
||||
// {
|
||||
// isr_uart0_rx_interrupt_hook_back(rev_tmp);
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// // esp8266_tx_buffer[esp8266_uart_pass_tx_buff_index++] = rev_tmp;
|
||||
// // if(esp8266_uart_pass_tx_buff_index >= EU_BUFFER_SIZE)
|
||||
// // {
|
||||
// // uart_write_buffer(ESP8266_UART_CHANNEL, esp8266_tx_buffer, esp8266_uart_pass_tx_buff_index);
|
||||
// // esp8266_uart_pass_tx_buff_index = 0;
|
||||
// // }
|
||||
// // if(rev_tmp == 0xC0)
|
||||
// // {
|
||||
// // uart_write_buffer(ESP8266_UART_CHANNEL, esp8266_tx_buffer, esp8266_uart_pass_tx_buff_index);
|
||||
// // esp8266_uart_pass_tx_buff_index = 0;
|
||||
// // }
|
||||
// uart_write_byte(ESP8266_UART_CHANNEL, rev_tmp);
|
||||
// // fifo_write_element(&esp8266_tx_fifo, rev_tmp);
|
||||
// // ON_LED(STATUS_LED_3);
|
||||
// // ESP8266_Judge_Quit_Download_Mode(rev_tmp);
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
|
||||
// void ESP8266_Uart_Callback(void)
|
||||
// {
|
||||
// uint8 rev_tmp;
|
||||
// // ON_LED(STATUS_LED_4);
|
||||
// while(uart_query_byte(ESP8266_UART_CHANNEL, &rev_tmp))
|
||||
// {
|
||||
// if(esp8266_download_passthrough)
|
||||
// {
|
||||
// // if(rev_tmp == 0xC0)
|
||||
// // {
|
||||
// // if(esp8266_ack_flag == 0)
|
||||
// // {
|
||||
// // esp8266_ack_flag = 1;
|
||||
// // esp8266_ack_counter++;
|
||||
// // }
|
||||
// // else
|
||||
// // {
|
||||
// // esp8266_ack_flag = 0;
|
||||
// // }
|
||||
// // }
|
||||
// fifo_write_element(&esp8266_rx_fifo, rev_tmp);
|
||||
// // esp8266_rx_buffer[esp8266_uart_pass_rx_buff_index++] = rev_tmp;
|
||||
// // if(esp8266_uart_pass_rx_buff_index >= EU_BUFFER_SIZE)
|
||||
// // {
|
||||
// // uart_write_buffer(UART_0, esp8266_rx_buffer, esp8266_uart_pass_rx_buff_index);
|
||||
// // esp8266_uart_pass_rx_buff_index = 0;
|
||||
// // }
|
||||
// // if(rev_tmp == 0xC0)
|
||||
// // {
|
||||
// // uart_write_buffer(UART_0, esp8266_rx_buffer, esp8266_uart_pass_rx_buff_index);
|
||||
// // esp8266_uart_pass_rx_buff_index = 0;
|
||||
// // }
|
||||
// // uart_write_byte(UART_0, rev_tmp);
|
||||
// // Flash_LED(STATUS_LED_5);
|
||||
// // if(esp8266_quit_download_judge_flag >= 2)
|
||||
// // {
|
||||
// // if(rev_tmp == 0xC0)
|
||||
// // {
|
||||
// // ON_LED(STATUS_LED_8);
|
||||
// // esp8266_quit_download_judge_flag ++;
|
||||
// // }
|
||||
// // }
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
|
||||
// void ESP8266_send_sync_packet(void)
|
||||
// {
|
||||
// uint8 rev_tmp;
|
||||
// while(fifo_read_element(&esp8266_tx_fifo, &rev_tmp, FIFO_READ_AND_CLEAN) == FIFO_SUCCESS)
|
||||
// {
|
||||
// uart_write_byte(ESP8266_UART_CHANNEL, rev_tmp);
|
||||
// }
|
||||
// }
|
||||
|
||||
|
||||
// void ESP8266_send_ack_packet(void)
|
||||
// {
|
||||
// uint8 rev_tmp;
|
||||
// while(fifo_read_element(&esp8266_rx_fifo, &rev_tmp, FIFO_READ_AND_CLEAN) == FIFO_SUCCESS)
|
||||
// {
|
||||
// uart_write_byte(UART_0, rev_tmp);
|
||||
// }
|
||||
|
||||
// // if(esp8266_ack_counter)
|
||||
// // {
|
||||
// // uart_write_buffer(UART_0, (uint8 *)ESP8266_ackPkt, 12);
|
||||
// // esp8266_ack_counter--;
|
||||
// // }
|
||||
// }
|
||||
|
||||
|
||||
@@ -21,13 +21,48 @@
|
||||
#define ESP8266_UART_TX_PIN UART2_TX_P33_9
|
||||
#define ESP8266_UART_RX_PIN UART2_RX_P33_8
|
||||
|
||||
#define ESP8266_WIFI_SSID "601_IoT_WIFI"
|
||||
#define ESP8266_WIFI_PASSWORD "wuhcw64667_jsj"
|
||||
#define ESP8266_WIFI_TARGET_IP "192.168.1.111"
|
||||
#define ESP8266_WIFI_TARGET_PORT 1347
|
||||
|
||||
extern uint8 esp8266_download_passthrough;
|
||||
#define ESP8266_CONFIG_SEND_PIN ESP8266_IO0
|
||||
|
||||
|
||||
typedef enum{
|
||||
ESP8266_Mode_Invalid = 0,
|
||||
ESP8266_Mode_Per_Config,
|
||||
ESP8266_Mode_Config,
|
||||
ESP8266_Mode_Working,
|
||||
}esp8266_mode_enum;
|
||||
|
||||
typedef struct{
|
||||
uint8 ssid[64];
|
||||
uint8 password[128];
|
||||
uint8 target_ip[20];
|
||||
uint16 target_port;
|
||||
uint8 config_str[254];
|
||||
}esp8266_config_t;
|
||||
|
||||
typedef struct{
|
||||
uint8 ip[16];
|
||||
uint8 mac[18];
|
||||
}esp8266_status_t;
|
||||
|
||||
// extern uint8 esp8266_download_passthrough;
|
||||
|
||||
void ESP8266_Init(void);
|
||||
void ESP8266_send_data(uint8 *data, uint32 len);
|
||||
void ESP8266_Auto_Download_Uart_Hook(void);
|
||||
void ESP8266_Uart_Callback(void);
|
||||
void ESP8266_Main_Loop_Change_Mode(void);
|
||||
void ESP8266_send_data(uint8 *data, uint32 len);
|
||||
void ESP8266_Set_Config(uint8 *ssid, uint8 *password, uint8 *target_ip, uint16 target_port);
|
||||
void ESP8266_Into_Change_Config_Mode(uint8 on);
|
||||
// void ESP8266_Auto_Download_Uart_Hook(void);
|
||||
// void ESP8266_Uart_Callback(void);
|
||||
// void ESP8266_Main_Loop_Change_Mode(void);
|
||||
|
||||
// void ESP8266_send_ack_packet(void);
|
||||
|
||||
// void ESP8266_Init2(void);
|
||||
// void ESP8266_send_sync_packet(void);
|
||||
|
||||
#endif /* CODE_ESP8266_H_ */
|
||||
|
||||
Reference in New Issue
Block a user