diff --git a/.settings/language.settings.xml b/.settings/language.settings.xml
index c2a6735..f0a485f 100644
--- a/.settings/language.settings.xml
+++ b/.settings/language.settings.xml
@@ -5,7 +5,7 @@
-
+
@@ -16,7 +16,7 @@
-
+
diff --git a/Core/Inc/FreeRTOSConfig.h b/Core/Inc/FreeRTOSConfig.h
index c0a8ac3..05cc8ff 100644
--- a/Core/Inc/FreeRTOSConfig.h
+++ b/Core/Inc/FreeRTOSConfig.h
@@ -64,7 +64,7 @@
#define configTICK_RATE_HZ ((TickType_t)1000)
#define configMAX_PRIORITIES ( 7 )
#define configMINIMAL_STACK_SIZE ((uint16_t)128)
-#define configTOTAL_HEAP_SIZE ((size_t)15360)
+#define configTOTAL_HEAP_SIZE ((size_t)30000)
#define configMAX_TASK_NAME_LEN ( 16 )
#define configUSE_16_BIT_TICKS 0
#define configUSE_MUTEXES 1
diff --git a/LWIP/Target/lwipopts.h b/LWIP/Target/lwipopts.h
index ff5c86a..6f49472 100644
--- a/LWIP/Target/lwipopts.h
+++ b/LWIP/Target/lwipopts.h
@@ -89,6 +89,10 @@
#define DEFAULT_TCP_RECVMBOX_SIZE 6
/*----- Value in opt.h for DEFAULT_ACCEPTMBOX_SIZE: 0 -----*/
#define DEFAULT_ACCEPTMBOX_SIZE 6
+/*----- Default Value for LWIP_SO_SNDTIMEO: 0 ---*/
+#define LWIP_SO_SNDTIMEO 1
+/*----- Default Value for LWIP_SO_RCVTIMEO: 0 ---*/
+#define LWIP_SO_RCVTIMEO 1
/*----- Value in opt.h for RECV_BUFSIZE_DEFAULT: INT_MAX -----*/
#define RECV_BUFSIZE_DEFAULT 2000000000
/*----- Value in opt.h for LWIP_STATS: 1 -----*/
diff --git a/iflytop_xsync b/iflytop_xsync
index 0bae198..562d667 160000
--- a/iflytop_xsync
+++ b/iflytop_xsync
@@ -1 +1 @@
-Subproject commit 0bae19852f16f3039a7863c76ad0854bd81da56a
+Subproject commit 562d66799c183ce0ad6f9f242b700c13b6de1b5f
diff --git a/iflytop_xsync_protocol b/iflytop_xsync_protocol
index dd0c38c..cb1114b 160000
--- a/iflytop_xsync_protocol
+++ b/iflytop_xsync_protocol
@@ -1 +1 @@
-Subproject commit dd0c38c767378dbe9010cd7e94bf1bf7cf0e40d5
+Subproject commit cb1114b21bf415053cdaeb7ed2940406e48d378b
diff --git a/usrc/main.cpp b/usrc/main.cpp
index 2bc904a..83b27fb 100644
--- a/usrc/main.cpp
+++ b/usrc/main.cpp
@@ -131,6 +131,7 @@ void umain() {
*
* 解析并处理外部指令
*/
+ osDelay(1000);
extern_if_service_init();
ZLOGI(TAG, "system init done");
@@ -138,6 +139,6 @@ void umain() {
while (true) {
osDelay(10);
debug_light_ctrl();
- factory_reset_key_detect();
+ // factory_reset_key_detect();
}
}
diff --git a/usrc/service/extern_if_service.c b/usrc/service/extern_if_service.c
index 54ff873..6cc9e76 100644
--- a/usrc/service/extern_if_service.c
+++ b/usrc/service/extern_if_service.c
@@ -4,6 +4,7 @@
//
#include "iflytop_xsync\xs_udp.h"
#include "reg_manager.h"
+#define TAG "extern_if_service"
static udp_t m_udp_cmd_server; //
// static udp_broadcast_handler_t m_udp_camera_sync_sender; //
@@ -68,6 +69,12 @@ static void create_and_send_timecode(struct sockaddr_in client, uint32_t timecod
* @param len
*/
static void udp_on_packet(udp_t *server, struct sockaddr_in *client, uint8_t *data, uint16_t len) {
+ ZLOGI(TAG, "udp_on_packet %d:", len);
+ for (int i = 0; i < len; i++) {
+ printf("%02x ", data[i]);
+ }
+ printf("\n");
+
/**
* @brief
*/
@@ -110,7 +117,7 @@ static void udp_on_packet(udp_t *server, struct sockaddr_in *client, uint8_t *da
}
}
-void extern_if_service_init() { ZASSERT(xs_udp_init(&m_udp_cmd_server, "extern_if_udp", IFLYTOP_XSYNC_SERVICE_PORT, udp_on_packet, 1024, NULL)); }
+void extern_if_service_init() { ZASSERT(xs_udp_init(&m_udp_cmd_server, "extern_if_udp", IFLYTOP_XSYNC_SERVICE_XSYNC_PORT, udp_on_packet, 1024, NULL)); }
#if 0
void extern_if_service_send_timecode(struct sockaddr_in client, uint32_t timecode0, uint32_t timecode1) { create_and_send_timecode(client, timecode0, timecode1); }
#endif
diff --git a/usrc/service/report_generator_service.c b/usrc/service/report_generator_service.c
index 734db66..8f5d8fd 100644
--- a/usrc/service/report_generator_service.c
+++ b/usrc/service/report_generator_service.c
@@ -29,7 +29,7 @@ static void create_and_send_timecode(uint32_t timecode0, uint32_t timecode1) {
iflytop_timecode_report_packet_t *txpacket = (iflytop_timecode_report_packet_t *)txbuf;
txpacket->timecode0 = timecode0;
txpacket->timecode1 = timecode1;
- xs_udp_broadcast(&m_udp_camera_timecode_sender, IFLYTOP_XSYNC_TIMECODE_REPORT_TO_PORT, txbuf, sizeof(iflytop_timecode_report_packet_t));
+ xs_udp_broadcast(&m_udp_camera_timecode_sender, IFLYTOP_XSYNC_TIMECODE_REPORT_PC_PORT, txbuf, sizeof(iflytop_timecode_report_packet_t));
}
/**
* @brief 构建并发送相机同步数据包
@@ -47,7 +47,7 @@ static void create_and_send_camera_sync_msg(uint32_t count) {
txbuf[5] = (count >> 16) & 0xFF;
txbuf[4] = (count >> 24) & 0xFF;
- xs_udp_broadcast(&m_udp_camera_sync_sender, IFLYTOP_XSYNC_CAMERA_SYNC_PACKET_TO_PORT, txbuf, sizeof(txbuf));
+ xs_udp_broadcast(&m_udp_camera_sync_sender, IFLYTOP_XSYNC_CAMERA_SYNC_PACKET_PC_PORT, txbuf, sizeof(txbuf));
}
static void timecode_report_thread(void const *argument) {
@@ -79,8 +79,8 @@ void report_generator_service_irq_trigger(uint16_t gpiopin) {
}
void report_generator_service_init() {
- ZASSERT(xs_udp_broadcast_init(&m_udp_camera_sync_sender, IFLYTOP_XSYNC_CAMERA_SYNC_PACKET_FROM_PORT));
- ZASSERT(xs_udp_broadcast_init(&m_udp_camera_timecode_sender, IFLYTOP_XSYNC_TIMECODE_REPORT_FROM_PORT));
+ ZASSERT(xs_udp_broadcast_init(&m_udp_camera_sync_sender, IFLYTOP_XSYNC_CAMERA_SYNC_PACKET_XSYNC_PORT));
+ ZASSERT(xs_udp_broadcast_init(&m_udp_camera_timecode_sender, IFLYTOP_XSYNC_TIMECODE_REPORT_XSYNC_PORT));
osThreadDef(timecode_report_thread, timecode_report_thread, osPriorityNormal, 0, 512);
timecode_report_thread_id = osThreadCreate(osThread(timecode_report_thread), NULL);
diff --git a/xsync_stm32.ioc b/xsync_stm32.ioc
index f240b21..5c03d9e 100644
--- a/xsync_stm32.ioc
+++ b/xsync_stm32.ioc
@@ -25,10 +25,11 @@ ETH.PHY_User_Name=LAN8720A
ETH.RxBuffLen=1536
ETH.RxMode=ETH_RXINTERRUPT_MODE
FREERTOS.FootprintOK=true
-FREERTOS.IPParameters=Tasks01,FootprintOK,configUSE_NEWLIB_REENTRANT,configUSE_RECURSIVE_MUTEXES,configUSE_COUNTING_SEMAPHORES,configRECORD_STACK_HIGH_ADDRESS,configENABLE_FPU
+FREERTOS.IPParameters=Tasks01,FootprintOK,configUSE_NEWLIB_REENTRANT,configUSE_RECURSIVE_MUTEXES,configUSE_COUNTING_SEMAPHORES,configRECORD_STACK_HIGH_ADDRESS,configENABLE_FPU,configTOTAL_HEAP_SIZE
FREERTOS.Tasks01=defaultTask,-3,1024,StartDefaultTask,As weak,NULL,Dynamic,NULL,NULL
FREERTOS.configENABLE_FPU=1
FREERTOS.configRECORD_STACK_HIGH_ADDRESS=1
+FREERTOS.configTOTAL_HEAP_SIZE=30000
FREERTOS.configUSE_COUNTING_SEMAPHORES=1
FREERTOS.configUSE_NEWLIB_REENTRANT=1
FREERTOS.configUSE_RECURSIVE_MUTEXES=1
@@ -37,11 +38,13 @@ GPIO.groupedBy=Group By Peripherals
KeepUserPlacement=false
LWIP.BSP.number=1
LWIP.GATEWAY_ADDRESS=192.168.008.001
-LWIP.IPParameters=LWIP_DHCP,IP_ADDRESS,NETMASK_ADDRESS,GATEWAY_ADDRESS,LWIP_DNS,LWIP_NETIF_HOSTNAME
+LWIP.IPParameters=LWIP_DHCP,IP_ADDRESS,NETMASK_ADDRESS,GATEWAY_ADDRESS,LWIP_DNS,LWIP_NETIF_HOSTNAME,LWIP_SO_RCVTIMEO,LWIP_SO_SNDTIMEO
LWIP.IP_ADDRESS=192.168.008.010
LWIP.LWIP_DHCP=0
LWIP.LWIP_DNS=1
LWIP.LWIP_NETIF_HOSTNAME=1
+LWIP.LWIP_SO_RCVTIMEO=1
+LWIP.LWIP_SO_SNDTIMEO=1
LWIP.NETMASK_ADDRESS=255.255.255.255
LWIP.Version=v2.1.2_Cube
LWIP0.BSP.STBoard=false