Browse Source

update

master
zhaohe 1 year ago
parent
commit
99dcf7d396
  1. 2
      .cproject
  2. 5
      .settings/stm32cubeide.project.prefs
  3. 2
      STM32F407VETX_FLASH.ld
  4. 10
      libzaf/zaf_delay.c
  5. 2
      libzaf/zaf_gpio.c
  6. 18
      usrc/main.cpp
  7. 57
      usrc/project_configs.h
  8. 14
      usrc/project_dep.h
  9. 40
      usrc/service/config_service.c
  10. 23
      usrc/service/config_service.h
  11. 2
      zsdk

2
.cproject

@ -32,7 +32,7 @@
<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.targetplatform.553838709" isAbstract="false" osList="all" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.targetplatform"/>
<builder buildPath="${workspace_loc:/a8000_hbot_robot_controler}/Debug" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.builder.764087106" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Gnu Make Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.builder"/>
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.1243726437" name="MCU GCC Assembler" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler">
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.debuglevel.1007535807" name="Debug level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.debuglevel" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.debuglevel.value.g3" valueType="enumerated"/>
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.debuglevel.1007535807" name="Debug level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.debuglevel" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.debuglevel.value.g0" valueType="enumerated"/>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.definedsymbols.830905432" name="Define symbols (-D)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.definedsymbols" valueType="definedSymbols">
<listOptionValue builtIn="false" value="DEBUG"/>
</option>

5
.settings/stm32cubeide.project.prefs

@ -1,6 +1,5 @@
2F62501ED4689FB349E356AB974DBE57=E20EF8A1CFA8D2AA5E7713614514A9E1
635E684B79701B039C64EA45C3F84D30=C8B026EBE17C208F17FB66CE4235156C
66BE74F758C12D739921AEA421D593D3=1
8DF89ED150041C4CBC7CB9A9CAA90856=E20EF8A1CFA8D2AA5E7713614514A9E1
DC22A860405A8BF2F2C095E5B6529F12=071C30CF380DE7D03307EB9085476C68
8DF89ED150041C4CBC7CB9A9CAA90856=31CD5EEFA9F35C65D8E334D24F421EB1
DC22A860405A8BF2F2C095E5B6529F12=D3CF7BFAB9D98A63886F1AE7AFAEA0B9
eclipse.preferences.version=1

2
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 = 512K
}
/* Sections */

10
libzaf/zaf_delay.c

@ -2,7 +2,7 @@
#include "zaf_basic.h"
extern TIM_HandleTypeDef PC_SYS_DELAY_US_TIMER;
extern TIM_HandleTypeDef PC_SYS_SDK_DELAY_US_TIMER;
static HAL_StatusTypeDef _HAL_TIM_Base_Start(TIM_HandleTypeDef* htim) __attribute__((optimize("O2")));
static HAL_StatusTypeDef _HAL_TIM_Base_Stop(TIM_HandleTypeDef* htim) __attribute__((optimize("O2")));
@ -34,12 +34,12 @@ static HAL_StatusTypeDef _HAL_TIM_Base_Stop(TIM_HandleTypeDef* htim) {
void zaf_delay_us(int var_nus) {
volatile uint32_t counter = 0;
__HAL_TIM_SET_COUNTER(&PC_SYS_DELAY_US_TIMER, 0);
_HAL_TIM_Base_Start(&PC_SYS_DELAY_US_TIMER);
__HAL_TIM_SET_COUNTER(&PC_SYS_SDK_DELAY_US_TIMER, 0);
_HAL_TIM_Base_Start(&PC_SYS_SDK_DELAY_US_TIMER);
while (counter < var_nus) {
counter = __HAL_TIM_GET_COUNTER(&PC_SYS_DELAY_US_TIMER);
counter = __HAL_TIM_GET_COUNTER(&PC_SYS_SDK_DELAY_US_TIMER);
}
_HAL_TIM_Base_Stop(&PC_SYS_DELAY_US_TIMER);
_HAL_TIM_Base_Stop(&PC_SYS_SDK_DELAY_US_TIMER);
}
void zaf_delay_ms(int ms) {
for (int i = 0; i < ms; i++) {

2
libzaf/zaf_gpio.c

@ -244,7 +244,7 @@ void zaf_gpio_init_as_input(zaf_gpio_t *gpio, Pin_t pin,zaf_gpio_mode_t mode,zaf
HAL_GPIO_Init(gpio->gpio, &init_type_def);
if (gpio->irqtype != kxs_gpio_no_irq) {
HAL_NVIC_SetPriority(getEXTIIRQn(gpio->pinoff), PC_IRQ_PREEMPTPRIORITY_DEFAULT, 0);
HAL_NVIC_SetPriority(getEXTIIRQn(gpio->pinoff), SDK_IRQ_PREEMPTPRIORITY_DEFAULT, 0);
HAL_NVIC_EnableIRQ(getEXTIIRQn(gpio->pinoff));
}

18
usrc/main.cpp

@ -1,5 +1,7 @@
#include <stddef.h>
#include <stdio.h>
#include "service/config_service.h"
#include "zsdk/zsdk.h"
#define TAG "main"
@ -25,13 +27,6 @@ void StartDefaultTask(void const* argument) { umain(); }
*
*/
// zaf_gpio_t m_debug_led;
// zaf_gpio_t m_factory_reset_key;
// zaf_gpio_t m_fan0_power;
// zaf_gpio_t m_fan1_power;
// zaf_gpio_t m_fan0_state;
// zaf_gpio_t m_fan1_state;
extern "C" {
// void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin) {
// }
@ -48,11 +43,16 @@ extern "C" {
// }
void umain() {
ZLOGI(TAG, "hello world");
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));
ZLOGI(TAG, "sn: %s", sn_get_str());
config_init();
while (true) {
osDelay(10);
}

57
usrc/project_configs.h

@ -1,28 +1,39 @@
#pragma once
#define VERSION(main, sub, fix) (main << 16 | sub << 8 | fix << 0)
#define VERSION "v1.0"
#define PROJECT "dbdb_liquid_path_control"
// ID
#define DEVICE_ID (2)
//
#define DEBUG_UART huart1
//
#define DEBUG_LIGHT_GPIO PE8
//
// http://192.168.1.3:3000/zwikipedia/iflytop_wikipedia/src/branch/master/doc/stm32cubemx_us_timer.md
#define DELAY_US_TIMER htim6
#define MICROSWITCH_NUM 6
//
#define MOTOR_SPI hspi1
#define VERSION_MAIN(version) ((version >> 16) & 0xFF)
#define VERSION_SUB(version) ((version >> 8) & 0xFF)
#define VERSION_FIX(version) ((version >> 0) & 0xFF)
#define TMC5130_MOTOR_NUM 2
#define MOTOR_CH(n) (n)
// FYBJ_PY
#define MOTOR2_CSN PA4 //
#define MOTOR2_ENN PE11
// FYBJ_TJ_DRV
#define MOTOR1_CSN PC4 //
#define MOTOR1_ENN PE12
/***********************************************************************************************************************
* PROJECT_CONFIG *
***********************************************************************************************************************/
/**
* @brief
*
*/
#define PC_VERSION VERSION(1, 0, 0)
#define PROJECT "dbdb_liquid_path_control"
#define SN_HEADER "SN"
#define DEVICE_ID (2)
#define DEBUG_UART huart1 // 调试串口
#define DEBUG_LIGHT_GPIO PE8 // 调试指示灯
#define PC_IRQ_PREEMPTPRIORITY_DEFAULT 5
/**
* @brief
*/
#define MOTOR_SPI hspi1
#define MOTOR_CH(n) (n)
#define MOTOR2_CSN PA4 //
#define MOTOR2_ENN PE11
#define MOTOR1_CSN PC4 //
#define MOTOR1_ENN PE12
/***********************************************************************************************************************
* SDK_CONFIG *
***********************************************************************************************************************/
#define SDK_DELAY_US_TIMER htim6 // 微秒延迟定时器,注意该延时定时器需要按照以下文档进行配置 http://192.168.1.3:3000/zwikipedia/iflytop_wikipedia/src/branch/master/doc/stm32cubemx_us_timer.md
#define SDK_IRQ_PREEMPTPRIORITY_DEFAULT 5 // IO中断默认中断等级
#define SDK_CFG__CFG_FLASH_ADDR 0x080C0000 //
#define SDK_CFG__SN_FLASH_ADDR 0x080E0000 //

14
usrc/project_dep.h

@ -1,15 +1,3 @@
#pragma once
#include <lwip/sockets.h>
#include "project_configs.h"
#include "lwip/api.h"
#include "lwip/opt.h"
#include "lwip/sys.h"
#include "libzaf\zaf.h"
#include "zaf_protocol\zaf_protocol.h"
#include "main.h"
#include "spi.h"
#include "zsdk/zsdk.h"

40
usrc/service/config_service.c

@ -0,0 +1,40 @@
#include "config_service.h"
#include "project_dep.h"
static config_t _config;
static config_t _default_val_config;
#define TAG "config"
static void dump_config(config_t *pcfg) {
ZLOGI(TAG, "=============== config ===============");
ZLOGI(TAG, "configMark : %08x", pcfg->configMark);
ZLOGI(TAG, "placeHolder: %08x", pcfg->placeHolder);
ZLOGI(TAG, "======================================");
}
static void create_default_config(config_t *default_cfg) { //
default_cfg->configMark = FLASH_MASK_VAL;
default_cfg->placeHolder = 0; // dhcp
}
void config_init(void) {
ZLOGI(TAG, "config_init");
// flash³õʼ»¯
_default_val_config.configMark = FLASH_MASK_VAL;
_default_val_config.placeHolder = 0;
zflash_init((uint32_t *)&_config, sizeof(config_t) / 4);
zflash_set_default_data((uint32_t *)&_default_val_config);
if (!zflash_check()) {
zflash_factory_reset();
}
// ´òÓ¡ÅäÖÃÐÅÏ¢
dump_config(&_config);
}
config_t *config_get(void) { return &_config; }
void config_flush(void) { zflash_flush(); }
void config_factory_reset(void) { zflash_factory_reset(); }

23
usrc/service/config_service.h

@ -0,0 +1,23 @@
#pragma once
#include <stdint.h>
#include "zsdk/zsdk.h"
#ifdef __cplusplus
extern "C" {
#endif
typedef struct {
uint32_t configMark;
uint32_t placeHolder;
uint32_t checksum; // ²»ÐèÒª±à¼­
} config_t;
void config_init(void);
config_t* config_get(void);
void config_flush(void);
void config_factory_reset(void);
#ifdef __cplusplus
}
#endif

2
zsdk

@ -1 +1 @@
Subproject commit dcee83d221e043ee968601a27fb293da8c389230
Subproject commit 1994f23bd8b2721a40555506cc269af91ef0e421
Loading…
Cancel
Save