diff --git a/.cproject b/.cproject
index 570af61..8256f31 100644
--- a/.cproject
+++ b/.cproject
@@ -29,6 +29,7 @@
+
@@ -96,6 +97,8 @@
+
+
diff --git a/.settings/stm32cubeide.project.prefs b/.settings/stm32cubeide.project.prefs
index e5b59e0..a53e504 100644
--- a/.settings/stm32cubeide.project.prefs
+++ b/.settings/stm32cubeide.project.prefs
@@ -1,5 +1,5 @@
635E684B79701B039C64EA45C3F84D30=C8B026EBE17C208F17FB66CE4235156C
66BE74F758C12D739921AEA421D593D3=1
-8DF89ED150041C4CBC7CB9A9CAA90856=31CD5EEFA9F35C65D8E334D24F421EB1
+8DF89ED150041C4CBC7CB9A9CAA90856=807DDB2C2702E438DB0EBF3D5AA6AB41
DC22A860405A8BF2F2C095E5B6529F12=D3CF7BFAB9D98A63886F1AE7AFAEA0B9
eclipse.preferences.version=1
diff --git a/.vscode/settings.json b/.vscode/settings.json
index f588b24..d229c1c 100644
--- a/.vscode/settings.json
+++ b/.vscode/settings.json
@@ -87,7 +87,7 @@
"config_service.h": "c",
"base_service.h": "c",
"iflytop_xsync_protocol.h": "c",
- "project_dep.h": "c",
+ "project_dep.hpp": "c",
"project_configs.h": "c",
"sockets.h": "c",
"zaf_udp.h": "c",
diff --git a/Core/Inc/FreeRTOSConfig.h b/Core/Inc/FreeRTOSConfig.h
index 05cc8ff..8457b6d 100644
--- a/Core/Inc/FreeRTOSConfig.h
+++ b/Core/Inc/FreeRTOSConfig.h
@@ -63,7 +63,7 @@
#define configCPU_CLOCK_HZ ( SystemCoreClock )
#define configTICK_RATE_HZ ((TickType_t)1000)
#define configMAX_PRIORITIES ( 7 )
-#define configMINIMAL_STACK_SIZE ((uint16_t)128)
+#define configMINIMAL_STACK_SIZE ((uint16_t)512)
#define configTOTAL_HEAP_SIZE ((size_t)30000)
#define configMAX_TASK_NAME_LEN ( 16 )
#define configUSE_16_BIT_TICKS 0
@@ -96,6 +96,7 @@ to exclude the API function. */
#define INCLUDE_vTaskDelayUntil 0
#define INCLUDE_vTaskDelay 1
#define INCLUDE_xTaskGetSchedulerState 1
+#define INCLUDE_uxTaskGetStackHighWaterMark 1
/* Cortex-M specific definitions. */
#ifdef __NVIC_PRIO_BITS
diff --git a/Core/Inc/stm32f4xx_hal_conf.h b/Core/Inc/stm32f4xx_hal_conf.h
index 7468ef5..141962f 100644
--- a/Core/Inc/stm32f4xx_hal_conf.h
+++ b/Core/Inc/stm32f4xx_hal_conf.h
@@ -46,6 +46,7 @@
/* #define HAL_DCMI_MODULE_ENABLED */
/* #define HAL_DMA2D_MODULE_ENABLED */
/* #define HAL_ETH_MODULE_ENABLED */
+/* #define HAL_ETH_LEGACY_MODULE_ENABLED */
/* #define HAL_NAND_MODULE_ENABLED */
/* #define HAL_NOR_MODULE_ENABLED */
/* #define HAL_PCCARD_MODULE_ENABLED */
@@ -221,7 +222,7 @@
/* Section 2: PHY configuration section */
/* DP83848_PHY_ADDRESS Address*/
-#define DP83848_PHY_ADDRESS 0x01U
+#define DP83848_PHY_ADDRESS
/* PHY Reset delay these values are based on a 1 ms Systick interrupt*/
#define PHY_RESET_DELAY 0x000000FFU
/* PHY Configuration delay */
@@ -251,10 +252,10 @@
#define PHY_JABBER_DETECTION ((uint16_t)0x0002U) /*!< Jabber condition detected */
/* Section 4: Extended PHY Registers */
-#define PHY_SR ((uint16_t)0x10U) /*!< PHY status register Offset */
+#define PHY_SR ((uint16_t)) /*!< PHY status register Offset */
-#define PHY_SPEED_STATUS ((uint16_t)0x0002U) /*!< PHY Speed mask */
-#define PHY_DUPLEX_STATUS ((uint16_t)0x0004U) /*!< PHY Duplex mask */
+#define PHY_SPEED_STATUS ((uint16_t)) /*!< PHY Speed mask */
+#define PHY_DUPLEX_STATUS ((uint16_t)) /*!< PHY Duplex mask */
/* ################## SPI peripheral configuration ########################## */
@@ -326,6 +327,10 @@
#include "stm32f4xx_hal_eth.h"
#endif /* HAL_ETH_MODULE_ENABLED */
+#ifdef HAL_ETH_LEGACY_MODULE_ENABLED
+ #include "stm32f4xx_hal_eth_legacy.h"
+#endif /* HAL_ETH_LEGACY_MODULE_ENABLED */
+
#ifdef HAL_FLASH_MODULE_ENABLED
#include "stm32f4xx_hal_flash.h"
#endif /* HAL_FLASH_MODULE_ENABLED */
diff --git a/Core/Src/stm32f4xx_hal_msp.c b/Core/Src/stm32f4xx_hal_msp.c
index ed524b2..27650fc 100644
--- a/Core/Src/stm32f4xx_hal_msp.c
+++ b/Core/Src/stm32f4xx_hal_msp.c
@@ -20,6 +20,7 @@
/* Includes ------------------------------------------------------------------*/
#include "main.h"
+
/* USER CODE BEGIN Includes */
/* USER CODE END Includes */
diff --git a/Core/Src/stm32f4xx_hal_timebase_tim.c b/Core/Src/stm32f4xx_hal_timebase_tim.c
index 0332d9b..2272e77 100644
--- a/Core/Src/stm32f4xx_hal_timebase_tim.c
+++ b/Core/Src/stm32f4xx_hal_timebase_tim.c
@@ -54,7 +54,7 @@ HAL_StatusTypeDef HAL_InitTick(uint32_t TickPriority)
HAL_RCC_GetClockConfig(&clkconfig, &pFLatency);
/* Compute TIM11 clock */
- uwTimclock = 2*HAL_RCC_GetPCLK2Freq();
+ uwTimclock = 2*HAL_RCC_GetPCLK2Freq();
/* Compute the prescaler value to have TIM11 counter clock equal to 1MHz */
uwPrescalerValue = (uint32_t) ((uwTimclock / 1000000U) - 1U);
@@ -63,6 +63,7 @@ HAL_StatusTypeDef HAL_InitTick(uint32_t TickPriority)
htim11.Instance = TIM11;
/* Initialize TIMx peripheral as follow:
+
+ Period = [(TIM11CLK/1000) - 1]. to have a (1/1000) s time base.
+ Prescaler = (uwTimclock/1000000 - 1) to have a 1MHz counter clock.
+ ClockDivision = 0
diff --git a/STM32F407VETX_FLASH.ld b/STM32F407VETX_FLASH.ld
index d7d6fa5..ee22391 100644
--- a/STM32F407VETX_FLASH.ld
+++ b/STM32F407VETX_FLASH.ld
@@ -39,8 +39,8 @@ ENTRY(Reset_Handler)
/* Highest address of the user mode stack */
_estack = ORIGIN(RAM) + LENGTH(RAM); /* end of "RAM" Ram type memory */
-_Min_Heap_Size = 0x2000; /* required amount of heap */
-_Min_Stack_Size = 0x1000; /* required amount of stack */
+_Min_Heap_Size = 0; /* required amount of heap */
+_Min_Stack_Size = 0x3000; /* required amount of stack */
/* Memories definition */
MEMORY
diff --git a/dbdb_liquid_path_control_v2.ioc b/dbdb_liquid_path_control_v2.ioc
index 0274be5..a681327 100644
--- a/dbdb_liquid_path_control_v2.ioc
+++ b/dbdb_liquid_path_control_v2.ioc
@@ -38,9 +38,11 @@ Dma.USART3_TX.1.PeriphInc=DMA_PINC_DISABLE
Dma.USART3_TX.1.Priority=DMA_PRIORITY_LOW
Dma.USART3_TX.1.RequestParameters=Instance,Direction,PeriphInc,MemInc,PeriphDataAlignment,MemDataAlignment,Mode,Priority,FIFOMode
FREERTOS.FootprintOK=true
-FREERTOS.IPParameters=Tasks01,FootprintOK,configUSE_NEWLIB_REENTRANT,configUSE_RECURSIVE_MUTEXES,configUSE_COUNTING_SEMAPHORES,configRECORD_STACK_HIGH_ADDRESS,configENABLE_FPU,configTOTAL_HEAP_SIZE
+FREERTOS.INCLUDE_uxTaskGetStackHighWaterMark=1
+FREERTOS.IPParameters=Tasks01,FootprintOK,configUSE_NEWLIB_REENTRANT,configUSE_RECURSIVE_MUTEXES,configUSE_COUNTING_SEMAPHORES,configRECORD_STACK_HIGH_ADDRESS,configENABLE_FPU,configTOTAL_HEAP_SIZE,configMINIMAL_STACK_SIZE,INCLUDE_uxTaskGetStackHighWaterMark
FREERTOS.Tasks01=defaultTask,-3,1024,StartDefaultTask,As weak,NULL,Dynamic,NULL,NULL
FREERTOS.configENABLE_FPU=1
+FREERTOS.configMINIMAL_STACK_SIZE=512
FREERTOS.configRECORD_STACK_HIGH_ADDRESS=1
FREERTOS.configTOTAL_HEAP_SIZE=30000
FREERTOS.configUSE_COUNTING_SEMAPHORES=1
@@ -101,8 +103,8 @@ Mcu.PinsNb=27
Mcu.ThirdPartyNb=0
Mcu.UserConstants=
Mcu.UserName=STM32F407VETx
-MxCube.Version=6.7.0
-MxDb.Version=DB.6.0.70
+MxCube.Version=6.9.0
+MxDb.Version=DB.6.0.90
NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false\:false
NVIC.DMA1_Stream1_IRQn=true\:5\:0\:false\:false\:true\:true\:false\:true\:true
NVIC.DMA1_Stream3_IRQn=true\:5\:0\:false\:false\:true\:true\:false\:true\:true
@@ -202,7 +204,7 @@ ProjectManager.ToolChainLocation=
ProjectManager.UAScriptAfterPath=
ProjectManager.UAScriptBeforePath=
ProjectManager.UnderRoot=true
-ProjectManager.functionlistsort=1-SystemClock_Config-RCC-false-HAL-false,2-MX_GPIO_Init-GPIO-false-HAL-true,3-MX_DMA_Init-DMA-false-HAL-true,4-MX_USART1_UART_Init-USART1-false-HAL-true,5-MX_TIM3_Init-TIM3-false-HAL-true,6-MX_CRC_Init-CRC-false-HAL-true,7-MX_RNG_Init-RNG-false-HAL-true,8-MX_TIM7_Init-TIM7-false-HAL-true,9-MX_TIM6_Init-TIM6-false-HAL-true,10-MX_TIM1_Init-TIM1-false-HAL-true,11-MX_USART3_UART_Init-USART3-false-HAL-true
+ProjectManager.functionlistsort=1-SystemClock_Config-RCC-false-HAL-false,2-MX_GPIO_Init-GPIO-false-HAL-true,3-MX_DMA_Init-DMA-false-HAL-true,4-MX_USART1_UART_Init-USART1-false-HAL-true,5-MX_TIM3_Init-TIM3-false-HAL-true,6-MX_CRC_Init-CRC-false-HAL-true,7-MX_RNG_Init-RNG-false-HAL-true,8-MX_TIM7_Init-TIM7-false-HAL-true,9-MX_TIM6_Init-TIM6-false-HAL-true,10-MX_TIM1_Init-TIM1-false-HAL-true,11-MX_USART3_UART_Init-USART3-false-HAL-true,12-MX_CAN1_Init-CAN1-false-HAL-true,13-MX_SPI1_Init-SPI1-false-HAL-true,14-MX_USART2_UART_Init-USART2-false-HAL-true
RCC.48MHZClocksFreq_Value=48000000
RCC.AHBFreq_Value=144000000
RCC.APB1CLKDivider=RCC_HCLK_DIV4
diff --git a/usrc/gpio_mgr.cpp b/usrc/gpio_mgr.cpp
new file mode 100644
index 0000000..e69de29
diff --git a/usrc/gpio_mgr.hpp b/usrc/gpio_mgr.hpp
new file mode 100644
index 0000000..eec5a90
--- /dev/null
+++ b/usrc/gpio_mgr.hpp
@@ -0,0 +1,3 @@
+#pragma once
+namespace zwsd {
+} // namespace zwsd
\ No newline at end of file
diff --git a/usrc/main.cpp b/usrc/main.cpp
index c62aa93..342af20 100644
--- a/usrc/main.cpp
+++ b/usrc/main.cpp
@@ -1,49 +1,37 @@
#include
#include
-#include "service/config_service.h"
-#include "zsdk/zsdk.h"
+#include "service/config_service.hpp"
+#include "zsdk/zsdk.hpp"
#define TAG "main"
-using namespace std;
+using namespace iflytop;
extern void umain();
extern "C" {
-extern void MX_LWIP_Init(void);
-void StartDefaultTask(void const* argument) { umain(); }
+void StartDefaultTask(void const* argument) { umain(); }
}
/*******************************************************************************
* MAIN *
*******************************************************************************/
-/**
- * @brief
- * | extern_if_service |
- * ========================================
- * | reg_manager | device_info |
- * ========================================
- * | fpage_if |
- * =========================
- *
- */
-
extern "C" {
// void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin) {
// }
}
-// void debug_light_ctrl() {
-// static uint32_t lastcall = 0;
-// static bool light_status = false;
-// if (zaf_has_passedms(lastcall) > 100) {
-// light_status = !light_status;
-// zaf_gpio_write(&m_debug_led, light_status);
-// lastcall = zaf_get_ticket();
-// }
-// }
+ZGPIO m_debugled;
+
+void debug_light_ctrl() {
+ static uint32_t lastcall = 0;
+ static bool light_status = false;
+ if (zhas_passedms(lastcall) > 100) {
+ m_debugled.toggle();
+ lastcall = zget_ticket();
+ }
+}
void umain() {
- ZLOGI(TAG, "system init done");
int32_t count = 0;
ZLOGI(TAG, "%s: %d.%d.%d", PROJECT, VERSION_MAIN(PC_VERSION), VERSION_SUB(PC_VERSION), VERSION_FIX(PC_VERSION));
@@ -51,9 +39,15 @@ void umain() {
config_init();
-
+ m_debugled.initAsOutput(DEBUG_LIGHT_GPIO, kxs_gpio_nopull, false, false);
+
+ ZLOGI(TAG, "system init done");
+
+ SysMgr::ins()->regTaskId(osThreadGetId());
+ SysMgr::ins()->dumpSysInfo();
while (true) {
osDelay(10);
+ debug_light_ctrl();
}
}
diff --git a/usrc/project_dep.h b/usrc/project_dep.h
deleted file mode 100644
index 59b1ffd..0000000
--- a/usrc/project_dep.h
+++ /dev/null
@@ -1,3 +0,0 @@
-#pragma once
-
-#include "zsdk/zsdk.h"
\ No newline at end of file
diff --git a/usrc/project_dep.hpp b/usrc/project_dep.hpp
new file mode 100644
index 0000000..6c77ac9
--- /dev/null
+++ b/usrc/project_dep.hpp
@@ -0,0 +1,3 @@
+#pragma once
+
+#include "zsdk/zsdk.hpp"
\ No newline at end of file
diff --git a/usrc/service/config_service.c b/usrc/service/config_service.cpp
similarity index 94%
rename from usrc/service/config_service.c
rename to usrc/service/config_service.cpp
index d086ea7..426c51d 100644
--- a/usrc/service/config_service.c
+++ b/usrc/service/config_service.cpp
@@ -1,6 +1,6 @@
-#include "config_service.h"
+#include "config_service.hpp"
-#include "project_dep.h"
+#include "project_dep.hpp"
static config_t _config;
static config_t _default_val_config;
diff --git a/usrc/service/config_service.h b/usrc/service/config_service.hpp
similarity index 75%
rename from usrc/service/config_service.h
rename to usrc/service/config_service.hpp
index 2ac1ec6..41ce47d 100644
--- a/usrc/service/config_service.h
+++ b/usrc/service/config_service.hpp
@@ -1,11 +1,8 @@
#pragma once
#include
-#include "zsdk/zsdk.h"
+#include "zsdk/zsdk.hpp"
-#ifdef __cplusplus
-extern "C" {
-#endif
typedef struct {
uint32_t configMark;
@@ -18,6 +15,3 @@ config_t* config_get(void);
void config_flush(void);
void config_factory_reset(void);
-#ifdef __cplusplus
-}
-#endif
\ No newline at end of file
diff --git a/zsdk b/zsdk
index 1994f23..177cd90 160000
--- a/zsdk
+++ b/zsdk
@@ -1 +1 @@
-Subproject commit 1994f23bd8b2721a40555506cc269af91ef0e421
+Subproject commit 177cd900eba582c1380160be19949f933646af8e