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