Skip to content

Commit eee6f45

Browse files
committed
update
- New mdns - Disable TCP server when AUTOPID is selected - MQTT can be disabled when AUTOPID is selected, poll data using http
1 parent e80e80b commit eee6f45

File tree

4 files changed

+108
-23
lines changed

4 files changed

+108
-23
lines changed

CMakeLists.txt

+2-2
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,11 @@ cmake_minimum_required(VERSION 3.5)
44

55

66
set(PROJECT_PREF "wican-fw")
7-
set(PROJECT_VER "v343_hv300")
7+
set(PROJECT_VER "v344_hv300")
88
#set(PROJECT_VER "v155_hv210")
99

1010
# set(PROJECT_PREF "wican-fw-usb")
11-
# set(PROJECT_VER "v343_hv150")
11+
# set(PROJECT_VER "v344_hv150")
1212

1313
set(PROJECT_VERU ${PROJECT_VER})
1414
set(PROJECT_BIN "${PROJECT_PREF}_${PROJECT_VERU}")

main/main.c

+35-9
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@
5353
#include "esp_mac.h"
5454
#include "ftp.h"
5555
#include "autopid.h"
56+
#include "mdns.h"
5657

5758
#define TAG __func__
5859
#define TX_GPIO_NUM 0
@@ -76,7 +77,7 @@ int FTP_TASK_FINISH_BIT = BIT2;
7677
EventGroupHandle_t xEventTask;
7778
static uint8_t mqtt_elm327_log_en = 0;
7879
static uint8_t derived_mac_addr[6] = {0};
79-
static uint8_t uid[33];
80+
static uint8_t uid[16];
8081
static uint8_t ble_uid[33];
8182

8283
static void log_can_to_mqtt(twai_message_t *frame, uint8_t type)
@@ -273,7 +274,7 @@ static void can_rx_task(void *pvParameters)
273274
}
274275
}
275276
//TODO: optimize, useless ifs
276-
if(tcp_port_open() || ble_connected() || project_hardware_rev == WICAN_USB_V100 || mqtt_connected())
277+
if(tcp_port_open() || ble_connected() || project_hardware_rev == WICAN_USB_V100 || mqtt_connected() || protocol == AUTO_PID )
277278
{
278279
memset(ucTCP_TX_Buffer.ucElement, 0, sizeof(ucTCP_TX_Buffer.ucElement));
279280
ucTCP_TX_Buffer.usLen = 0;
@@ -346,6 +347,26 @@ static void can_rx_task(void *pvParameters)
346347
}
347348
}
348349

350+
static void initialise_mdns(char *id)
351+
{
352+
static char mdns_host_name[24] = {0};
353+
354+
sprintf(mdns_host_name, "wican_%s", id);
355+
356+
mdns_init();
357+
mdns_hostname_set(mdns_host_name);
358+
mdns_instance_name_set("wican web server");
359+
360+
mdns_txt_item_t serviceTxtData[] = {
361+
{"fimrware", "3.44"},
362+
{"hardware", "wican"},
363+
{"path", "/"}
364+
};
365+
366+
ESP_ERROR_CHECK(mdns_service_add("WiCAN-WebServer", "_http", "_tcp", 80, serviceTxtData,
367+
sizeof(serviceTxtData) / sizeof(serviceTxtData[0])));
368+
}
369+
349370
void app_main(void)
350371
{
351372
ESP_ERROR_CHECK(nvs_flash_init());
@@ -409,6 +430,7 @@ void app_main(void)
409430
can_set_silent(1);
410431
}
411432

433+
initialise_mdns((char*)uid);
412434
protocol = config_server_protocol();
413435
// protocol = OBD_ELM327;
414436

@@ -483,15 +505,19 @@ void app_main(void)
483505
{
484506
port = 3333;
485507
}
486-
if(config_server_get_port_type() == UDP_PORT)
487-
{
488-
tcp_server_init(port, &xMsg_Tx_Queue, &xMsg_Rx_Queue, CONNECTED_LED_GPIO_NUM, 1);
489-
}
490-
else
508+
509+
if(protocol != AUTO_PID)
491510
{
492-
tcp_server_init(port, &xMsg_Tx_Queue, &xMsg_Rx_Queue, CONNECTED_LED_GPIO_NUM, 0);
511+
if(config_server_get_port_type() == UDP_PORT)
512+
{
513+
tcp_server_init(port, &xMsg_Tx_Queue, &xMsg_Rx_Queue, CONNECTED_LED_GPIO_NUM, 1);
514+
}
515+
else
516+
{
517+
tcp_server_init(port, &xMsg_Tx_Queue, &xMsg_Rx_Queue, CONNECTED_LED_GPIO_NUM, 0);
518+
}
493519
}
494-
520+
495521
if(config_server_get_ble_config())
496522
{
497523
int pass = config_server_ble_pass();

sdkconfig

+30-1
Original file line numberDiff line numberDiff line change
@@ -283,7 +283,7 @@ CONFIG_IDF_TOOLCHAIN="gcc"
283283
CONFIG_IDF_TARGET_ARCH_RISCV=y
284284
CONFIG_IDF_TARGET_ARCH="riscv"
285285
CONFIG_IDF_TARGET="esp32c3"
286-
CONFIG_IDF_INIT_VERSION="5.3.0"
286+
CONFIG_IDF_INIT_VERSION="5.3.1"
287287
CONFIG_IDF_TARGET_ESP32C3=y
288288
CONFIG_IDF_FIRMWARE_CHIP_ID=0x0005
289289

@@ -1912,6 +1912,35 @@ CONFIG_WIFI_PROV_AUTOSTOP_TIMEOUT=30
19121912
CONFIG_WIFI_PROV_STA_ALL_CHANNEL_SCAN=y
19131913
# CONFIG_WIFI_PROV_STA_FAST_SCAN is not set
19141914
# end of Wi-Fi Provisioning Manager
1915+
1916+
#
1917+
# mDNS
1918+
#
1919+
CONFIG_MDNS_MAX_INTERFACES=3
1920+
CONFIG_MDNS_MAX_SERVICES=10
1921+
CONFIG_MDNS_TASK_PRIORITY=1
1922+
CONFIG_MDNS_ACTION_QUEUE_LEN=16
1923+
CONFIG_MDNS_TASK_STACK_SIZE=4096
1924+
# CONFIG_MDNS_TASK_AFFINITY_NO_AFFINITY is not set
1925+
CONFIG_MDNS_TASK_AFFINITY_CPU0=y
1926+
CONFIG_MDNS_TASK_AFFINITY=0x0
1927+
CONFIG_MDNS_SERVICE_ADD_TIMEOUT_MS=2000
1928+
CONFIG_MDNS_TIMER_PERIOD_MS=100
1929+
# CONFIG_MDNS_NETWORKING_SOCKET is not set
1930+
# CONFIG_MDNS_SKIP_SUPPRESSING_OWN_QUERIES is not set
1931+
# CONFIG_MDNS_ENABLE_DEBUG_PRINTS is not set
1932+
CONFIG_MDNS_ENABLE_CONSOLE_CLI=y
1933+
# CONFIG_MDNS_RESPOND_REVERSE_QUERIES is not set
1934+
CONFIG_MDNS_MULTIPLE_INSTANCE=y
1935+
1936+
#
1937+
# MDNS Predefined interfaces
1938+
#
1939+
CONFIG_MDNS_PREDEF_NETIF_STA=y
1940+
CONFIG_MDNS_PREDEF_NETIF_AP=y
1941+
CONFIG_MDNS_PREDEF_NETIF_ETH=y
1942+
# end of MDNS Predefined interfaces
1943+
# end of mDNS
19151944
# end of Component config
19161945

19171946
# CONFIG_IDF_EXPERIMENTAL_FEATURES is not set

sdkconfig.old

+41-11
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#
22
# Automatically generated file. DO NOT EDIT.
3-
# Espressif IoT Development Framework (ESP-IDF) 5.3.0 Project Configuration
3+
# Espressif IoT Development Framework (ESP-IDF) 5.3.1 Project Configuration
44
#
55
CONFIG_SOC_ADC_SUPPORTED=y
66
CONFIG_SOC_DEDICATED_GPIO_SUPPORTED=y
@@ -283,7 +283,7 @@ CONFIG_IDF_TOOLCHAIN="gcc"
283283
CONFIG_IDF_TARGET_ARCH_RISCV=y
284284
CONFIG_IDF_TARGET_ARCH="riscv"
285285
CONFIG_IDF_TARGET="esp32c3"
286-
CONFIG_IDF_INIT_VERSION="5.3.0"
286+
CONFIG_IDF_INIT_VERSION="5.3.1"
287287
CONFIG_IDF_TARGET_ESP32C3=y
288288
CONFIG_IDF_FIRMWARE_CHIP_ID=0x0005
289289

@@ -539,6 +539,7 @@ CONFIG_BT_GATTC_NOTIF_REG_MAX=5
539539
CONFIG_BT_GATTC_CONNECT_RETRY_COUNT=3
540540
CONFIG_BT_BLE_SMP_ENABLE=y
541541
# CONFIG_BT_SMP_SLAVE_CON_PARAMS_UPD_ENABLE is not set
542+
# CONFIG_BT_BLE_SMP_ID_RESET_ENABLE is not set
542543
CONFIG_BT_STACK_NO_LOG=y
543544
CONFIG_BT_ACL_CONNECTIONS=4
544545
CONFIG_BT_MULTI_CONNECTION_ENBALE=y
@@ -1322,32 +1323,32 @@ CONFIG_HAL_SPI_SLAVE_FUNC_IN_IRAM=y
13221323
CONFIG_HEAP_POISONING_DISABLED=y
13231324
# CONFIG_HEAP_POISONING_LIGHT is not set
13241325
# CONFIG_HEAP_POISONING_COMPREHENSIVE is not set
1325-
CONFIG_HEAP_TRACING_OFF=y
1326-
# CONFIG_HEAP_TRACING_STANDALONE is not set
1326+
# CONFIG_HEAP_TRACING_OFF is not set
1327+
CONFIG_HEAP_TRACING_STANDALONE=y
13271328
# CONFIG_HEAP_TRACING_TOHOST is not set
1329+
CONFIG_HEAP_TRACING=y
1330+
CONFIG_HEAP_TRACING_STACK_DEPTH=0
13281331
# CONFIG_HEAP_USE_HOOKS is not set
13291332
# CONFIG_HEAP_TASK_TRACKING is not set
1333+
# CONFIG_HEAP_TRACE_HASH_MAP is not set
13301334
# CONFIG_HEAP_ABORT_WHEN_ALLOCATION_FAILS is not set
13311335
# CONFIG_HEAP_PLACE_FUNCTION_INTO_FLASH is not set
13321336
# end of Heap memory debugging
13331337

13341338
#
13351339
# Log output
13361340
#
1337-
CONFIG_LOG_DEFAULT_LEVEL_NONE=y
1341+
# CONFIG_LOG_DEFAULT_LEVEL_NONE is not set
13381342
# CONFIG_LOG_DEFAULT_LEVEL_ERROR is not set
13391343
# CONFIG_LOG_DEFAULT_LEVEL_WARN is not set
1340-
# CONFIG_LOG_DEFAULT_LEVEL_INFO is not set
1344+
CONFIG_LOG_DEFAULT_LEVEL_INFO=y
13411345
# CONFIG_LOG_DEFAULT_LEVEL_DEBUG is not set
13421346
# CONFIG_LOG_DEFAULT_LEVEL_VERBOSE is not set
1343-
CONFIG_LOG_DEFAULT_LEVEL=0
1347+
CONFIG_LOG_DEFAULT_LEVEL=3
13441348
CONFIG_LOG_MAXIMUM_EQUALS_DEFAULT=y
1345-
# CONFIG_LOG_MAXIMUM_LEVEL_ERROR is not set
1346-
# CONFIG_LOG_MAXIMUM_LEVEL_WARN is not set
1347-
# CONFIG_LOG_MAXIMUM_LEVEL_INFO is not set
13481349
# CONFIG_LOG_MAXIMUM_LEVEL_DEBUG is not set
13491350
# CONFIG_LOG_MAXIMUM_LEVEL_VERBOSE is not set
1350-
CONFIG_LOG_MAXIMUM_LEVEL=0
1351+
CONFIG_LOG_MAXIMUM_LEVEL=3
13511352
# CONFIG_LOG_MASTER_LEVEL is not set
13521353
CONFIG_LOG_COLORS=y
13531354
CONFIG_LOG_TIMESTAMP_SOURCE_RTOS=y
@@ -1914,6 +1915,35 @@ CONFIG_WIFI_PROV_AUTOSTOP_TIMEOUT=30
19141915
CONFIG_WIFI_PROV_STA_ALL_CHANNEL_SCAN=y
19151916
# CONFIG_WIFI_PROV_STA_FAST_SCAN is not set
19161917
# end of Wi-Fi Provisioning Manager
1918+
1919+
#
1920+
# mDNS
1921+
#
1922+
CONFIG_MDNS_MAX_INTERFACES=3
1923+
CONFIG_MDNS_MAX_SERVICES=10
1924+
CONFIG_MDNS_TASK_PRIORITY=1
1925+
CONFIG_MDNS_ACTION_QUEUE_LEN=16
1926+
CONFIG_MDNS_TASK_STACK_SIZE=4096
1927+
# CONFIG_MDNS_TASK_AFFINITY_NO_AFFINITY is not set
1928+
CONFIG_MDNS_TASK_AFFINITY_CPU0=y
1929+
CONFIG_MDNS_TASK_AFFINITY=0x0
1930+
CONFIG_MDNS_SERVICE_ADD_TIMEOUT_MS=2000
1931+
CONFIG_MDNS_TIMER_PERIOD_MS=100
1932+
# CONFIG_MDNS_NETWORKING_SOCKET is not set
1933+
# CONFIG_MDNS_SKIP_SUPPRESSING_OWN_QUERIES is not set
1934+
# CONFIG_MDNS_ENABLE_DEBUG_PRINTS is not set
1935+
CONFIG_MDNS_ENABLE_CONSOLE_CLI=y
1936+
# CONFIG_MDNS_RESPOND_REVERSE_QUERIES is not set
1937+
CONFIG_MDNS_MULTIPLE_INSTANCE=y
1938+
1939+
#
1940+
# MDNS Predefined interfaces
1941+
#
1942+
CONFIG_MDNS_PREDEF_NETIF_STA=y
1943+
CONFIG_MDNS_PREDEF_NETIF_AP=y
1944+
CONFIG_MDNS_PREDEF_NETIF_ETH=y
1945+
# end of MDNS Predefined interfaces
1946+
# end of mDNS
19171947
# end of Component config
19181948

19191949
# CONFIG_IDF_EXPERIMENTAL_FEATURES is not set

0 commit comments

Comments
 (0)