add webserver
parent
7a1da479ac
commit
213f886e64
|
@ -22,7 +22,7 @@ tcp_ota.o: tcp_ota.c
|
|||
oldflash: proxy-0x00000.bin
|
||||
./tools/esptool.py write_flash 0 proxy-0x00000.bin 0x40000 proxy-0x40000.bin
|
||||
|
||||
user1.bin: proxy.o tcp_ota.o st_ota.o elm327.o
|
||||
user1.bin: proxy.o tcp_ota.o st_ota.o elm327.o webserver.o
|
||||
$(CC) $(CFLAGS) $^ -o a.out -L$(SDK_BASE)/ld -T$(SDK_BASE)/ld/eagle.app.v6.new.1024.app1.ld $(LDLIBS)
|
||||
$(OBJCP) --only-section .text -O binary a.out eagle.app.v6.text.bin
|
||||
$(OBJCP) --only-section .data -O binary a.out eagle.app.v6.data.bin
|
||||
|
@ -32,7 +32,7 @@ user1.bin: proxy.o tcp_ota.o st_ota.o elm327.o
|
|||
rm -f eagle.app.v6.*.bin
|
||||
mv eagle.app.flash.bin $@
|
||||
|
||||
user2.bin: proxy.o tcp_ota.o st_ota.o elm327.o
|
||||
user2.bin: proxy.o tcp_ota.o st_ota.o elm327.o webserver.o
|
||||
$(CC) $(CFLAGS) $^ -o a.out -L$(SDK_BASE)/ld -T$(SDK_BASE)/ld/eagle.app.v6.new.1024.app2.ld $(LDLIBS)
|
||||
$(OBJCP) --only-section .text -O binary a.out eagle.app.v6.text.bin
|
||||
$(OBJCP) --only-section .data -O binary a.out eagle.app.v6.data.bin
|
||||
|
|
|
@ -194,6 +194,7 @@ void ICACHE_FLASH_ATTR wifi_init() {
|
|||
static os_event_t my_queue[QUEUE_SIZE];
|
||||
void loop();
|
||||
|
||||
void ICACHE_FLASH_ATTR web_init();
|
||||
void ICACHE_FLASH_ATTR elm327_init();
|
||||
void ICACHE_FLASH_ATTR st_ota_init();
|
||||
void ICACHE_FLASH_ATTR uart0_init(int flashing_mode);
|
||||
|
@ -237,6 +238,7 @@ void ICACHE_FLASH_ATTR user_init()
|
|||
ota_init();
|
||||
st_ota_init();
|
||||
elm327_init();
|
||||
web_init();
|
||||
|
||||
// jump to OS
|
||||
system_os_task(loop, LOOP_PRIO, my_queue, QUEUE_SIZE);
|
||||
|
|
|
@ -0,0 +1,35 @@
|
|||
#include "ets_sys.h"
|
||||
#include "osapi.h"
|
||||
#include "gpio.h"
|
||||
#include "os_type.h"
|
||||
#include "user_interface.h"
|
||||
#include "espconn.h"
|
||||
|
||||
char staticpage[] = "HTTP/1.0 200 OK\nContent-Type: text/html\n\n"
|
||||
"<html><body><tt>This is your comma.ai panda<br/><br/>\n"
|
||||
"It's open source. Find the code <a href=\"https://github.com/commaai/panda\">here</a>";
|
||||
|
||||
static struct espconn web_conn;
|
||||
static esp_tcp web_proto;
|
||||
|
||||
static void ICACHE_FLASH_ATTR web_rx_cb(void *arg, char *data, uint16_t len) {
|
||||
struct espconn *conn = (struct espconn *)arg;
|
||||
espconn_send(&web_conn, staticpage, strlen(staticpage));
|
||||
espconn_disconnect(conn);
|
||||
}
|
||||
|
||||
void ICACHE_FLASH_ATTR web_tcp_connect_cb(void *arg) {
|
||||
struct espconn *conn = (struct espconn *)arg;
|
||||
espconn_set_opt(&web_conn, ESPCONN_NODELAY);
|
||||
espconn_regist_recvcb(conn, web_rx_cb);
|
||||
}
|
||||
|
||||
void ICACHE_FLASH_ATTR web_init() {
|
||||
web_proto.local_port = 80;
|
||||
web_conn.type = ESPCONN_TCP;
|
||||
web_conn.state = ESPCONN_NONE;
|
||||
web_conn.proto.tcp = &web_proto;
|
||||
espconn_regist_connectcb(&web_conn, web_tcp_connect_cb);
|
||||
espconn_accept(&web_conn);
|
||||
}
|
||||
|
Loading…
Reference in New Issue