From 99d1e2b436da24259740d8b46a843324fa4494cf Mon Sep 17 00:00:00 2001 From: zhaohe Date: Mon, 25 Mar 2024 20:33:09 +0800 Subject: [PATCH] v3 --- .settings/language.settings.xml | 4 +- .settings/stm32cubeide.project.prefs | 4 +- .vscode/settings.json | 4 +- README.md | 12 +++- STM32F407VETX_FLASH.ld | 2 +- iflytop_xsync | 2 +- usrc/base_service/xsync_regs.hpp | 3 + usrc/main.cpp | 22 +++--- usrc/project_configs.h | 2 +- usrc/service/device_info.cpp | 15 ---- usrc/service/device_info.hpp | 20 ------ usrc/service/reg_manager.c | 19 ++--- usrc/service/report_generator_service.c | 119 ++++++++++++++++++++------------ usrc/service/report_generator_service.h | 10 --- 如何修改SN码.png | Bin 0 -> 53940 bytes 15 files changed, 110 insertions(+), 128 deletions(-) delete mode 100644 usrc/service/device_info.cpp delete mode 100644 usrc/service/device_info.hpp create mode 100644 如何修改SN码.png diff --git a/.settings/language.settings.xml b/.settings/language.settings.xml index 92b355c..fb4990c 100644 --- a/.settings/language.settings.xml +++ b/.settings/language.settings.xml @@ -5,7 +5,7 @@ - + @@ -16,7 +16,7 @@ - + diff --git a/.settings/stm32cubeide.project.prefs b/.settings/stm32cubeide.project.prefs index 5dbf50e..24e4e15 100644 --- a/.settings/stm32cubeide.project.prefs +++ b/.settings/stm32cubeide.project.prefs @@ -1,6 +1,6 @@ -2F62501ED4689FB349E356AB974DBE57=E20EF8A1CFA8D2AA5E7713614514A9E1 +2F62501ED4689FB349E356AB974DBE57=415725201A9C3CE6FDA557B2C9FBCC13 635E684B79701B039C64EA45C3F84D30=C8B026EBE17C208F17FB66CE4235156C 66BE74F758C12D739921AEA421D593D3=1 -8DF89ED150041C4CBC7CB9A9CAA90856=E20EF8A1CFA8D2AA5E7713614514A9E1 +8DF89ED150041C4CBC7CB9A9CAA90856=415725201A9C3CE6FDA557B2C9FBCC13 DC22A860405A8BF2F2C095E5B6529F12=071C30CF380DE7D03307EB9085476C68 eclipse.preferences.version=1 diff --git a/.vscode/settings.json b/.vscode/settings.json index 4cd6516..0d302ce 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -104,7 +104,9 @@ "xutility": "c", "cstring": "cpp", "optional": "cpp", - "span": "cpp" + "span": "cpp", + "xs_device_id.h": "c", + "xs_log.h": "c" }, "files.autoGuessEncoding": false, "files.encoding": "gbk" diff --git a/README.md b/README.md index 67f64b5..1cada81 100644 --- a/README.md +++ b/README.md @@ -6,4 +6,14 @@ ref:https://iflytop1.feishu.cn/docx/FPqjdaTtkoBeU9x4qbjcD6vxnUc V1 Ƭȶ -``` \ No newline at end of file +V3 + 1.SN룬淶 + 2.޸xsyncͬϢϱʽ + 3.޸xsynctimecodeϢϱʽ + +``` + + +豸ID÷: + ֱͨ + \ No newline at end of file diff --git a/STM32F407VETX_FLASH.ld b/STM32F407VETX_FLASH.ld index d2fe0f0..084da88 100644 --- a/STM32F407VETX_FLASH.ld +++ b/STM32F407VETX_FLASH.ld @@ -47,7 +47,7 @@ MEMORY { CCMRAM (xrw) : ORIGIN = 0x10000000, LENGTH = 64K RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 128K - FLASH (rx) : ORIGIN = 0x8000000, LENGTH = 384K + FLASH (rx) : ORIGIN = 0x8000000, LENGTH = 768K } /* Sections */ diff --git a/iflytop_xsync b/iflytop_xsync index 6434f42..5ae77f0 160000 --- a/iflytop_xsync +++ b/iflytop_xsync @@ -1 +1 @@ -Subproject commit 6434f422ec46fc02968f71ad0dec47de6c8f1827 +Subproject commit 5ae77f0687ccf0fc7710d922deda0e32f4e73678 diff --git a/usrc/base_service/xsync_regs.hpp b/usrc/base_service/xsync_regs.hpp index 32e416f..d60a7da 100644 --- a/usrc/base_service/xsync_regs.hpp +++ b/usrc/base_service/xsync_regs.hpp @@ -256,5 +256,8 @@ typedef enum { *******************************************************************************/ camera_sync_module = REGADDOFF__CAMERA_SYNC_OUT + 0, camera_sync_pulse_mode_valid_len = REGADDOFF__CAMERA_SYNC_OUT + 1, + camera_sync_timecode_snapshot0 = REGADDOFF__CAMERA_SYNC_OUT + 2, + camera_sync_timecode_snapshot1 = REGADDOFF__CAMERA_SYNC_OUT + 3, + camera_sync_cnt = REGADDOFF__CAMERA_SYNC_OUT + 4, } RegAdd_t; diff --git a/usrc/main.cpp b/usrc/main.cpp index c76e32f..b15f549 100644 --- a/usrc/main.cpp +++ b/usrc/main.cpp @@ -4,7 +4,6 @@ // #include "base_service/base_service.h" #include "base_service/fpga_if.h" -#include "service/device_info.hpp" #include "service/extern_if_service.h" #include "service/network_service.h" #include "service/reg_manager.h" @@ -86,14 +85,9 @@ void factory_reset_key_detect() { } void umain() { - /** - * @brief device_info init - */ - sn_t sn; - device_info_init(); - device_info_get_sn(&sn); XS_LOGI(TAG, "%s:%d", PC_PROJECT_NAME, PC_VERSION); - XS_LOGI(TAG, "sn: %x:%x:%x", sn.sn0, sn.sn1, sn.sn2); + XS_LOGI(TAG, "sn: %02d%02d%04d", xs_device_info_get()->year, xs_device_info_get()->weak, xs_device_info_get()->index); + // XS_LOGI(TAG, "sn: %x:%x:%x", sn.sn0, sn.sn1, sn.sn2); /** * @brief @@ -144,12 +138,12 @@ void umain() { debug_light_ctrl(); factory_reset_key_detect(); - if (xs_has_passedms(0) >= 1* 60 * 60 * 1000) { - //ƿͻʹʱ - // reset_pin_io - NVIC_SystemReset(); - } - + // if (xs_has_passedms(0) >= * 60 * 60 * 1000) { + // ƿͻʹʱ + // reset_pin_io + // NVIC_SystemReset(); + // } + // ZLOGI(TAG,"factory_reset_key_state %d",xs_gpio_read(&m_factory_reset_key)); // osDelay(10); diff --git a/usrc/project_configs.h b/usrc/project_configs.h index 3521942..1761df2 100644 --- a/usrc/project_configs.h +++ b/usrc/project_configs.h @@ -1,6 +1,6 @@ #pragma once -#define PC_VERSION 1 +#define PC_VERSION (3 | 0 | 0 | 0) // main/sub/fix #define PC_MANUFACTURER0 ('i' | 'f' << 8 | 'l' << 16 | 'y' << 24) #define PC_MANUFACTURER1 ('t' | 'o' << 8 | 'p' << 16 | '\0' << 24) #define PC_PROJECT_NAME "xsync" diff --git a/usrc/service/device_info.cpp b/usrc/service/device_info.cpp deleted file mode 100644 index e169cfc..0000000 --- a/usrc/service/device_info.cpp +++ /dev/null @@ -1,15 +0,0 @@ - - -#include "device_info.hpp" - -#include "iflytop_xsync/xs_id.h" -void device_info_init() {} - -void device_info_get_sn(sn_t* device_id) { - static cpu_id_t cpu_id; - xs_id_get_cpu_id(&cpu_id); - device_id->sn0 = cpu_id.id[0] | (cpu_id.id[1] << 8) | (cpu_id.id[2] << 16) | (cpu_id.id[3] << 24); - device_id->sn1 = cpu_id.id[4] | (cpu_id.id[5] << 8) | (cpu_id.id[6] << 16) | (cpu_id.id[7] << 24); - device_id->sn2 = cpu_id.id[8] | (cpu_id.id[9] << 8) | (cpu_id.id[10] << 16) | (cpu_id.id[11] << 24); - return; -} diff --git a/usrc/service/device_info.hpp b/usrc/service/device_info.hpp deleted file mode 100644 index ad4ad48..0000000 --- a/usrc/service/device_info.hpp +++ /dev/null @@ -1,20 +0,0 @@ -#pragma once -#include "iflytop_xsync/iflytop_xsync.h" -#include "project_configs.h" - -#ifdef __cplusplus -extern "C" { -#endif - -void device_info_init(); -typedef struct { - uint32_t sn0; - uint32_t sn1; - uint32_t sn2; -} sn_t; - -void device_info_get_sn(sn_t* device_id); - -#ifdef __cplusplus -} -#endif \ No newline at end of file diff --git a/usrc/service/reg_manager.c b/usrc/service/reg_manager.c index 52df038..ba4f5a1 100644 --- a/usrc/service/reg_manager.c +++ b/usrc/service/reg_manager.c @@ -2,7 +2,6 @@ #include "base_service/config_service.h" #include "base_service/fpga_if.h" -#include "device_info.hpp" #include "iflytop_xsync_protocol/iflytop_xsync_protocol.h" #include "service/report_generator_service.h" @@ -34,8 +33,6 @@ static uint32_t doaction(uint32_t action, uint32_t val) { uint32_t reg_manager_read_reg(uint32_t addr) { uint32_t readbak = 0; - static sn_t sncode; - if (addr == kxsync_reg_software_version) { // read only readbak = PC_VERSION; } else if (addr == kxsync_reg_manufacturer0) { // read only @@ -45,14 +42,11 @@ uint32_t reg_manager_read_reg(uint32_t addr) { } else if (addr == kxsync_reg_product_type_id) { // read only readbak = kxsync_device_type_xsync; } else if (addr == kxsync_reg_sn_id0) { // read only - device_info_get_sn(&sncode); - readbak = sncode.sn0; + readbak = xs_device_info_get()->year; } else if (addr == kxsync_reg_sn_id1) { // read only - device_info_get_sn(&sncode); - readbak = sncode.sn1; + readbak = xs_device_info_get()->weak; } else if (addr == kxsync_reg_sn_id2) { // read only - device_info_get_sn(&sncode); - readbak = sncode.sn2; + readbak = xs_device_info_get()->index; } else if (addr == kxsync_reg_mac0) { // read only memcpy(&readbak, config_get()->mac, 4); } else if (addr == kxsync_reg_mac1) { // read only @@ -71,8 +65,6 @@ uint32_t reg_manager_read_reg(uint32_t addr) { readbak = config_get()->netmask; } else if (addr == kxsync_reg_stm32_config0) { readbak = config_get()->config0; - } else if (addr == kxsync_reg_stm32_camera_sync_signal_count) { - readbak = ReportGeneratorService_xsync_get_count(); } /******************************************************************************* @@ -124,10 +116,7 @@ uint32_t reg_manager_write_reg(uint32_t addr, uint32_t value) { readbak = config_get()->netmask; } else if (addr == kxsync_reg_stm32_config0) { readbak = config_get()->config0; - } else if (addr == kxsync_reg_stm32_camera_sync_signal_count) { - ReportGeneratorService_xsync_set_count(value); - readbak = ReportGeneratorService_xsync_get_count(); - } + } /******************************************************************************* * ACTION * *******************************************************************************/ diff --git a/usrc/service/report_generator_service.c b/usrc/service/report_generator_service.c index 2a511c6..f294064 100644 --- a/usrc/service/report_generator_service.c +++ b/usrc/service/report_generator_service.c @@ -11,10 +11,8 @@ static udp_broadcast_handler_t m_udp_camera_sync_sender; // static udp_broadcast_handler_t m_udp_camera_timecode_sender; // -osThreadId timecode_report_thread_id; osThreadId xync_signal_report_thread_id; -static uint32_t m_sync_count = 0; // static uint32_t m_camera_sync_packet_report_period = 1; static uint32_t m_xsync_workstate_start_sig_irq_pin_off; @@ -30,13 +28,14 @@ static uint32_t m_xyns_camera_sync_packet_last_report_tp; * @param timecode1 */ -static void create_and_send_timecode(uint32_t timecode0, uint32_t timecode1) { +static void create_and_send_timecode(uint32_t timecode0, uint32_t timecode1, uint32_t frameNum) { static uint8_t txbuf[256]; iflytop_xsync_event_report_packet_t *txpacket = (iflytop_xsync_event_report_packet_t *)txbuf; txpacket->eventid = ktimecode_report_event; txpacket->data[0] = timecode0; txpacket->data[1] = timecode1; - xs_udp_broadcast(&m_udp_camera_timecode_sender, IFLYTOP_XSYNC_EVENT_REPORT_PC_PORT, txbuf, sizeof(iflytop_xsync_event_report_packet_t) + 8); + txpacket->data[2] = frameNum; + xs_udp_broadcast(&m_udp_camera_timecode_sender, IFLYTOP_XSYNC_EVENT_REPORT_PC_PORT, txbuf, sizeof(iflytop_xsync_event_report_packet_t) + 12); } static void create_and_send_sync_record_state_packet(uint32_t workstate, uint32_t timecode0, uint32_t timecode1) { static uint8_t txbuf[256]; @@ -68,13 +67,77 @@ static void create_and_send_camera_sync_msg(uint32_t count) { 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) { +typedef struct { + uint32_t hour; + uint32_t minute; + uint32_t second; + uint32_t frame; + + uint32_t timeinall; +} timecode_parse_result_t; + +timecode_parse_result_t parsetimecode(uint32_t t0, uint32_t t1) { + timecode_parse_result_t result; + + uint8_t frameuints = t0 & 0x0f; + uint8_t frame10s = (t0 >> 8) & 0x3; + uint8_t seconduints = (t0 >> 16) & 0x0f; + uint8_t second10s = (t0 >> 24) & 0x07; + + uint8_t minuteuints = t1 & 0x0f; + uint8_t minute10s = (t1 >> 8) & 0x07; + uint8_t houruints = (t1 >> 16) & 0x0f; + uint8_t hour10s = (t1 >> 24) & 0x03; + + result.hour = hour10s * 10 + houruints; + result.minute = minute10s * 10 + minuteuints; + result.second = second10s * 10 + seconduints; + result.frame = frame10s * 10 + frameuints; + + result.timeinall = result.hour * 3600 + result.minute * 60 + result.second; + return result; +} + +static timecode_parse_result_t lasttimecode; +static uint32_t daycnt; +static uint32_t second; + +static uint32_t dtimes(timecode_parse_result_t *a, timecode_parse_result_t *b, bool *newday) { + if (b->timeinall >= a->timeinall) { + return b->timeinall - a->timeinall; + } else { + *newday = true; + return b->timeinall + 24 * 3600 - a->timeinall; + } +} + +static void xync_signal_report_thread(void const *argument) { while (true) { osEvent signal = osSignalWait(0x07, osWaitForever); - if (signal.value.signals & 0x01) { - uint32_t timecode0, timecode1; - fpga_if_get_timecode(&timecode0, &timecode1); - create_and_send_timecode(timecode0, timecode1); + if (signal.value.signals == 0x01) { + uint32_t tc0; + uint32_t tc1; + uint32_t cnt; + + fpga_if_spi_read_data_02(camera_sync_timecode_snapshot0, &tc0); + fpga_if_spi_read_data_02(camera_sync_timecode_snapshot1, &tc1); + fpga_if_spi_read_data_02(camera_sync_cnt, &cnt); + + bool newday = false; + timecode_parse_result_t result = parsetimecode(tc0, tc1); + uint32_t dtime = dtimes(&lasttimecode, &result, &newday); + lasttimecode = result; + if (dtime < 5 && newday) { + daycnt++; + } else { // xsync޸ʱ + daycnt = 0; + } + + create_and_send_timecode(tc0, tc1, cnt); + if (dtime >= 1) { + second = daycnt * 24 * 3600 + result.timeinall; + create_and_send_camera_sync_msg(second); + } } if (signal.value.signals & 0x02) { // ʼ¼ @@ -91,45 +154,19 @@ static void timecode_report_thread(void const *argument) { fpga_if_spi_read_data_02(record_sig_gen_timecode_snapshot0, &timecode0); fpga_if_spi_read_data_02(record_sig_gen_timecode_snapshot1, &timecode1); create_and_send_sync_record_state_packet(0, timecode0, timecode1); - m_sync_count = 0; } } } -static void xync_signal_report_thread(void const *argument) { - while (true) { - osEvent signal = osSignalWait(0x01, osWaitForever); - if (signal.value.signals == 0x01) { - if (m_sync_count == 0) { - m_xyns_camera_sync_packet_last_report_tp = HAL_GetTick(); - create_and_send_camera_sync_msg(m_sync_count); - m_sync_count++; - } else if (xs_has_passedms(m_xyns_camera_sync_packet_last_report_tp) >= 998) { - // TODO:˴ôдƵʴ500HZʱ򣬾Ͳȫպÿ1sϱһϢ - m_xyns_camera_sync_packet_last_report_tp = HAL_GetTick(); - create_and_send_camera_sync_msg(m_sync_count); - m_sync_count++; - } else { - m_sync_count++; - } - } - // osSignalClear(xync_signal_report_thread_id, 0x01); - } -} void ReportGeneratorService_irq_trigger(uint16_t gpiopin) { - if (gpiopin == m_timecode_trigger_input_off) { - // timecode trigger sig - osSignalSet(timecode_report_thread_id, 0x01); - } if (m_xsync_workstate_start_sig_irq_pin_off == gpiopin) { if (xs_gpio_read(&fpga_if_get_instance()->xsync_workstate_start_sig_irq_io)) { - osSignalSet(timecode_report_thread_id, 0x02); // ʼź + osSignalSet(xync_signal_report_thread_id, 0x02); // ʼź } else { - osSignalSet(timecode_report_thread_id, 0x04); // ź + osSignalSet(xync_signal_report_thread_id, 0x04); // ź } } if (gpiopin == m_xync_trigger_input_off) { - // ͬź osSignalSet(xync_signal_report_thread_id, 0x01); } } @@ -138,20 +175,12 @@ void ReportGeneratorService_init() { 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_EVENT_REPORT_XSYNC_PORT)); - // - osThreadDef(timecode_report_thread, timecode_report_thread, TIMECODE_REPORT_TASK_LEVEL, 0, 512); - timecode_report_thread_id = osThreadCreate(osThread(timecode_report_thread), NULL); - osThreadDef(xync_signal_report_thread, xync_signal_report_thread, CAMERA_SYNC_SIG_REPORT_TASK_LEVEL, 0, 512); xync_signal_report_thread_id = osThreadCreate(osThread(xync_signal_report_thread), NULL); - ZASSERT(timecode_report_thread_id != NULL); ZASSERT(xync_signal_report_thread_id != NULL); m_timecode_trigger_input_off = fpga_if_get_instance()->timecode_irq_io.pinoff; m_xync_trigger_input_off = fpga_if_get_instance()->camera_sync_code_irq_io.pinoff; m_xsync_workstate_start_sig_irq_pin_off = fpga_if_get_instance()->xsync_workstate_start_sig_irq_io.pinoff; } - -void ReportGeneratorService_xsync_set_count(uint32_t count) { m_sync_count = count; } -uint32_t ReportGeneratorService_xsync_get_count(void) { return m_sync_count; } diff --git a/usrc/service/report_generator_service.h b/usrc/service/report_generator_service.h index 4fd928f..fe436bf 100644 --- a/usrc/service/report_generator_service.h +++ b/usrc/service/report_generator_service.h @@ -31,16 +31,6 @@ void ReportGeneratorService_init(Pin_t timecode_trigger_pin, Pin_t xync_trigger_ * @param gpiopin */ void ReportGeneratorService_irq_trigger(uint16_t gpiopin); -/** - * @brief xync - */ -void ReportGeneratorService_xsync_set_count(uint32_t count); -/** - * @brief ȡxync - * - * @return uint32_t - */ -uint32_t ReportGeneratorService_xsync_get_count(void); uint32_t ReportGeneratorService_set_camera_sync_code_report_period(uint32_t period); uint32_t ReportGeneratorService_get_camera_sync_code_report_period(void); diff --git a/如何修改SN码.png b/如何修改SN码.png new file mode 100644 index 0000000000000000000000000000000000000000..5ee55a37781ed50da0377a527a63a9a23a04547b GIT binary patch literal 53940 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 literal 0 HcmV?d00001