Browse Source

init

master
zhaohe 2 years ago
parent
commit
d27d2e4994
  1. 4
      .settings/language.settings.xml
  2. 2
      Core/Inc/stm32f4xx_it.h
  3. 3
      Core/Inc/usart.h
  4. 7
      Core/Src/dma.c
  5. 1
      Core/Src/main.c
  6. 30
      Core/Src/stm32f4xx_it.c
  7. 44
      Core/Src/usart.c
  8. 28
      a8000_cliptip_module.ioc
  9. 2
      sdk
  10. 12
      usrc/board.h
  11. 207
      usrc/main.cpp
  12. 52
      usrc/project_configs.h

4
.settings/language.settings.xml

@ -5,7 +5,7 @@
<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
<provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="-1517513391230907091" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
<provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="995385305838657757" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
<language-scope id="org.eclipse.cdt.core.gcc"/>
<language-scope id="org.eclipse.cdt.core.g++"/>
</provider>
@ -16,7 +16,7 @@
<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
<provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="-1504777534269791586" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
<provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="1008121162799773262" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
<language-scope id="org.eclipse.cdt.core.gcc"/>
<language-scope id="org.eclipse.cdt.core.g++"/>
</provider>

2
Core/Inc/stm32f4xx_it.h

@ -63,6 +63,8 @@ void USART2_IRQHandler(void);
void USART3_IRQHandler(void);
void TIM6_DAC_IRQHandler(void);
void TIM7_IRQHandler(void);
void DMA2_Stream2_IRQHandler(void);
void DMA2_Stream7_IRQHandler(void);
/* USER CODE BEGIN EFP */
/* USER CODE END EFP */

3
Core/Inc/usart.h

@ -29,7 +29,8 @@ extern "C" {
#include "main.h"
/* USER CODE BEGIN Includes */
extern DMA_HandleTypeDef hdma_usart2_rx;
extern DMA_HandleTypeDef hdma_usart2_tx;
/* USER CODE END Includes */
extern UART_HandleTypeDef huart1;

7
Core/Src/dma.c

@ -41,6 +41,7 @@ void MX_DMA_Init(void)
/* DMA controller clock enable */
__HAL_RCC_DMA1_CLK_ENABLE();
__HAL_RCC_DMA2_CLK_ENABLE();
/* DMA interrupt init */
/* DMA1_Stream5_IRQn interrupt configuration */
@ -49,6 +50,12 @@ void MX_DMA_Init(void)
/* DMA1_Stream6_IRQn interrupt configuration */
HAL_NVIC_SetPriority(DMA1_Stream6_IRQn, 5, 0);
HAL_NVIC_EnableIRQ(DMA1_Stream6_IRQn);
/* DMA2_Stream2_IRQn interrupt configuration */
HAL_NVIC_SetPriority(DMA2_Stream2_IRQn, 5, 0);
HAL_NVIC_EnableIRQ(DMA2_Stream2_IRQn);
/* DMA2_Stream7_IRQn interrupt configuration */
HAL_NVIC_SetPriority(DMA2_Stream7_IRQn, 5, 0);
HAL_NVIC_EnableIRQ(DMA2_Stream7_IRQn);
}

1
Core/Src/main.c

@ -226,7 +226,6 @@ void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
/* USER CODE END Callback 1 */
}
#endif
/**
* @brief This function is executed in case of error occurrence.
* @retval None

30
Core/Src/stm32f4xx_it.c

@ -59,6 +59,8 @@ extern CAN_HandleTypeDef hcan1;
extern TIM_HandleTypeDef htim1;
extern TIM_HandleTypeDef htim6;
extern TIM_HandleTypeDef htim7;
extern DMA_HandleTypeDef hdma_usart1_rx;
extern DMA_HandleTypeDef hdma_usart1_tx;
extern DMA_HandleTypeDef hdma_usart2_rx;
extern DMA_HandleTypeDef hdma_usart2_tx;
extern UART_HandleTypeDef huart2;
@ -322,6 +324,34 @@ void TIM7_IRQHandler(void)
/* USER CODE END TIM7_IRQn 1 */
}
/**
* @brief This function handles DMA2 stream2 global interrupt.
*/
void DMA2_Stream2_IRQHandler(void)
{
/* USER CODE BEGIN DMA2_Stream2_IRQn 0 */
/* USER CODE END DMA2_Stream2_IRQn 0 */
HAL_DMA_IRQHandler(&hdma_usart1_rx);
/* USER CODE BEGIN DMA2_Stream2_IRQn 1 */
/* USER CODE END DMA2_Stream2_IRQn 1 */
}
/**
* @brief This function handles DMA2 stream7 global interrupt.
*/
void DMA2_Stream7_IRQHandler(void)
{
/* USER CODE BEGIN DMA2_Stream7_IRQn 0 */
/* USER CODE END DMA2_Stream7_IRQn 0 */
HAL_DMA_IRQHandler(&hdma_usart1_tx);
/* USER CODE BEGIN DMA2_Stream7_IRQn 1 */
/* USER CODE END DMA2_Stream7_IRQn 1 */
}
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */

44
Core/Src/usart.c

@ -27,6 +27,8 @@
UART_HandleTypeDef huart1;
UART_HandleTypeDef huart2;
UART_HandleTypeDef huart3;
DMA_HandleTypeDef hdma_usart1_rx;
DMA_HandleTypeDef hdma_usart1_tx;
DMA_HandleTypeDef hdma_usart2_rx;
DMA_HandleTypeDef hdma_usart2_tx;
@ -43,7 +45,7 @@ void MX_USART1_UART_Init(void)
/* USER CODE END USART1_Init 1 */
huart1.Instance = USART1;
huart1.Init.BaudRate = 1000000;
huart1.Init.BaudRate = 961200;
huart1.Init.WordLength = UART_WORDLENGTH_8B;
huart1.Init.StopBits = UART_STOPBITS_1;
huart1.Init.Parity = UART_PARITY_NONE;
@ -142,6 +144,43 @@ void HAL_UART_MspInit(UART_HandleTypeDef* uartHandle)
GPIO_InitStruct.Alternate = GPIO_AF7_USART1;
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
/* USART1 DMA Init */
/* USART1_RX Init */
hdma_usart1_rx.Instance = DMA2_Stream2;
hdma_usart1_rx.Init.Channel = DMA_CHANNEL_4;
hdma_usart1_rx.Init.Direction = DMA_PERIPH_TO_MEMORY;
hdma_usart1_rx.Init.PeriphInc = DMA_PINC_DISABLE;
hdma_usart1_rx.Init.MemInc = DMA_MINC_ENABLE;
hdma_usart1_rx.Init.PeriphDataAlignment = DMA_PDATAALIGN_BYTE;
hdma_usart1_rx.Init.MemDataAlignment = DMA_MDATAALIGN_BYTE;
hdma_usart1_rx.Init.Mode = DMA_NORMAL;
hdma_usart1_rx.Init.Priority = DMA_PRIORITY_LOW;
hdma_usart1_rx.Init.FIFOMode = DMA_FIFOMODE_DISABLE;
if (HAL_DMA_Init(&hdma_usart1_rx) != HAL_OK)
{
Error_Handler();
}
__HAL_LINKDMA(uartHandle,hdmarx,hdma_usart1_rx);
/* USART1_TX Init */
hdma_usart1_tx.Instance = DMA2_Stream7;
hdma_usart1_tx.Init.Channel = DMA_CHANNEL_4;
hdma_usart1_tx.Init.Direction = DMA_MEMORY_TO_PERIPH;
hdma_usart1_tx.Init.PeriphInc = DMA_PINC_DISABLE;
hdma_usart1_tx.Init.MemInc = DMA_MINC_ENABLE;
hdma_usart1_tx.Init.PeriphDataAlignment = DMA_PDATAALIGN_BYTE;
hdma_usart1_tx.Init.MemDataAlignment = DMA_MDATAALIGN_BYTE;
hdma_usart1_tx.Init.Mode = DMA_NORMAL;
hdma_usart1_tx.Init.Priority = DMA_PRIORITY_LOW;
hdma_usart1_tx.Init.FIFOMode = DMA_FIFOMODE_DISABLE;
if (HAL_DMA_Init(&hdma_usart1_tx) != HAL_OK)
{
Error_Handler();
}
__HAL_LINKDMA(uartHandle,hdmatx,hdma_usart1_tx);
/* USER CODE BEGIN USART1_MspInit 1 */
/* USER CODE END USART1_MspInit 1 */
@ -256,6 +295,9 @@ void HAL_UART_MspDeInit(UART_HandleTypeDef* uartHandle)
*/
HAL_GPIO_DeInit(GPIOA, GPIO_PIN_9|GPIO_PIN_10);
/* USART1 DMA DeInit */
HAL_DMA_DeInit(uartHandle->hdmarx);
HAL_DMA_DeInit(uartHandle->hdmatx);
/* USER CODE BEGIN USART1_MspDeInit 1 */
/* USER CODE END USART1_MspDeInit 1 */

28
a8000_cliptip_module.ioc

@ -23,7 +23,29 @@ CAN1.TTCM=ENABLE
CAN1.TXFP=DISABLE
Dma.Request0=USART2_RX
Dma.Request1=USART2_TX
Dma.RequestsNb=2
Dma.Request2=USART1_RX
Dma.Request3=USART1_TX
Dma.RequestsNb=4
Dma.USART1_RX.2.Direction=DMA_PERIPH_TO_MEMORY
Dma.USART1_RX.2.FIFOMode=DMA_FIFOMODE_DISABLE
Dma.USART1_RX.2.Instance=DMA2_Stream2
Dma.USART1_RX.2.MemDataAlignment=DMA_MDATAALIGN_BYTE
Dma.USART1_RX.2.MemInc=DMA_MINC_ENABLE
Dma.USART1_RX.2.Mode=DMA_NORMAL
Dma.USART1_RX.2.PeriphDataAlignment=DMA_PDATAALIGN_BYTE
Dma.USART1_RX.2.PeriphInc=DMA_PINC_DISABLE
Dma.USART1_RX.2.Priority=DMA_PRIORITY_LOW
Dma.USART1_RX.2.RequestParameters=Instance,Direction,PeriphInc,MemInc,PeriphDataAlignment,MemDataAlignment,Mode,Priority,FIFOMode
Dma.USART1_TX.3.Direction=DMA_MEMORY_TO_PERIPH
Dma.USART1_TX.3.FIFOMode=DMA_FIFOMODE_DISABLE
Dma.USART1_TX.3.Instance=DMA2_Stream7
Dma.USART1_TX.3.MemDataAlignment=DMA_MDATAALIGN_BYTE
Dma.USART1_TX.3.MemInc=DMA_MINC_ENABLE
Dma.USART1_TX.3.Mode=DMA_NORMAL
Dma.USART1_TX.3.PeriphDataAlignment=DMA_PDATAALIGN_BYTE
Dma.USART1_TX.3.PeriphInc=DMA_PINC_DISABLE
Dma.USART1_TX.3.Priority=DMA_PRIORITY_LOW
Dma.USART1_TX.3.RequestParameters=Instance,Direction,PeriphInc,MemInc,PeriphDataAlignment,MemDataAlignment,Mode,Priority,FIFOMode
Dma.USART2_RX.0.Direction=DMA_PERIPH_TO_MEMORY
Dma.USART2_RX.0.FIFOMode=DMA_FIFOMODE_DISABLE
Dma.USART2_RX.0.Instance=DMA1_Stream5
@ -129,6 +151,8 @@ NVIC.CAN1_SCE_IRQn=true\:5\:0\:false\:false\:true\:true\:true\:true\:true
NVIC.CAN1_TX_IRQn=true\:5\:0\:false\:false\:true\:true\:true\:true\:true
NVIC.DMA1_Stream5_IRQn=true\:5\:0\:false\:false\:true\:true\:false\:true\:true
NVIC.DMA1_Stream6_IRQn=true\:5\:0\:false\:false\:true\:true\:false\:true\:true
NVIC.DMA2_Stream2_IRQn=true\:5\:0\:false\:false\:true\:true\:false\:true\:true
NVIC.DMA2_Stream7_IRQn=true\:5\:0\:false\:false\:true\:true\:false\:true\:true
NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false\:false
NVIC.ForceEnableDMAVector=true
NVIC.HardFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false\:false
@ -318,7 +342,7 @@ TIM6.IPParameters=Prescaler
TIM6.Prescaler=71
TIM7.IPParameters=Prescaler
TIM7.Prescaler=81
USART1.BaudRate=1000000
USART1.BaudRate=961200
USART1.IPParameters=VirtualMode,BaudRate
USART1.VirtualMode=VM_ASYNC
USART2.IPParameters=VirtualMode

2
sdk

@ -1 +1 @@
Subproject commit af685a17a8fd229ca4773a9c62949db89369c55f
Subproject commit fbe10eeb6c72a4419f1e05c745bca2b7518e54e8

12
usrc/board.h

@ -0,0 +1,12 @@
#pragma once
// MOTOR1
#define TMC_MOTOR_SPI hspi1
#define TMC5130_MOTOR_NUM 1
#define MOTOR0_CSN PA4
#define MOTOR0_ENN PD0
#define MOTOR1_SPI_MODE_SELECT PinNull
#define MOTOR_CFG_FLASH_MARK "MOTOR_CFG_FLASH_MARK"
#define BOARD_ID 2

207
usrc/main.cpp

@ -1,142 +1,121 @@
#include <stddef.h>
#include <stdio.h>
#include "sdk/os/zos.hpp"
#include "sdk\components\flash\zsimple_flash.hpp"
#include "sdk\components\zcancmder\zcanreceiver.hpp"
#include "sdk\components\zcancmder_module\zcan_basic_order_module.hpp"
#include "sdk\components\zprotocols\zcancmder_v2\protocol_parser.hpp"
//
#include "sdk\components\flash\znvs.hpp"
//
#include "board.h"
#include "sdk\components\subcanmodule\zcancmder_subboard_initer.hpp"
/*******************************************************************************
* PROJECT_INCLUDE *
*******************************************************************************/
#include "sdk/components/step_motor_ctrl_module/step_motor_ctrl_module.hpp"
#include "sdk\components\mini_servo_motor\feite_servo_motor.hpp"
#include "sdk\components\mini_servo_motor\mini_servo_motor_ctrl_module.hpp"
#include "sdk\components\pipette_module\pipette_ctrl_module_v2.hpp"
#include "sdk\components\sensors\m3078\m3078_code_scaner.hpp"
#include "sdk\components\sensors\tmp117\tmp117.hpp"
#include "sdk\components\ti\drv8710.hpp"
#include "sdk\components\tmc\ic\ztmc4361A.hpp"
#include "sdk\components\tmc\ic\ztmc5130.hpp"
#include "sdk\components\water_cooling_temperature_control_module\pwm_ctrl_module.hpp"
#include "sdk\components\water_cooling_temperature_control_module\water_cooling_temperature_control_module.hpp"
#include "sdk\components\water_cooling_temperature_control_module\water_cooling_temperature_control_module_factory.cpp"
#include "sdk\components\water_cooling_temperature_control_module\water_cooling_temperature_control_module_factory.hpp"
// #include "M3078CodeScanner"
#define TAG "main"
using namespace iflytop;
using namespace std;
static ZCancmderSubboardIniter initer;
extern void umain();
extern "C" {
void StartDefaultTask(void const* argument) { umain(); }
}
extern "C" {
extern DMA_HandleTypeDef hdma_usart2_rx;
extern DMA_HandleTypeDef hdma_usart2_tx;
}
static ZCanCmder g_zcanCmder;
static ZIProtocolParser g_ziProtocolParser;
//
static TMC5130 g_motor;
static StepMotorCtrlModule g_stepMotorCtrlModule;
//
static PipetteModule g_pipetteModule;
// USART4_TX
void init_and_reg_motor() {
/*******************************************************************************
* GET_DEVICE_ID *
*******************************************************************************/
static int32_t getDeviceId() { return BOARD_ID; }
/*******************************************************************************
* INIT_SUBMODULE *
*******************************************************************************/
void nvs_init_cb() {}
static void initsubmodule() {
osDelay(1000);
{
TMC5130::cfg_t cfg = {
.spi = &TMC_MOTOR_SPI, //
.csgpio = MOTOR0_CSN, //
.ennPin = MOTOR0_ENN, //
.spi_mode_select = MOTOR1_SPI_MODE_SELECT, //
static TMC5130 g_motor;
static StepMotorCtrlModule g_stepMotorCtrlModule;
TMC5130::cfg_t cfg = {
.spi = &TMC_MOTOR_SPI, //
.csgpio = MOTOR0_CSN, //
.ennPin = MOTOR0_ENN, //
.spi_mode_select = MOTOR1_SPI_MODE_SELECT, //
};
g_motor.initialize(&cfg);
g_motor.setMotorShaft(false);
ZLOGI(TAG, "motora initialize 5160:%x ", g_motor.readICVersion());
}
g_motor.setAcceleration(100);
g_motor.setDeceleration(100);
g_motor.setIHOLD_IRUN(0, 8, 10);
static ZGPIO input[10];
input[0].initAsInput(PD1 /*REFL*/, ZGPIO::kMode_nopull, ZGPIO::kIRQ_noIrq, true);
input[1].initAsInput(PD2 /*REFR*/, ZGPIO::kMode_nopull, ZGPIO::kIRQ_noIrq, true);
input[2].initAsInput(PD3 /*DIAG0*/, ZGPIO::kMode_nopull, ZGPIO::kIRQ_noIrq, true);
input[3].initAsInput(PD4 /*DIAG1*/, ZGPIO::kMode_nopull, ZGPIO::kIRQ_noIrq, true);
g_stepMotorCtrlModule.initialize(BOARD_ID * 10 + 1, &g_motor, input, ZARRAY_SIZE(input), MOTOR_CFG_FLASH_MARK);
g_ziProtocolParser.registerModule(&g_stepMotorCtrlModule);
}
void init_and_reg_cliptip_module() {
// # RS232输出压力流
// /1U2!0R\r
// # 设置移液枪最大行程100,防止设备误操作导致吸入液体到设备中
// /1u1,100R\r
PipetteModule::config_t cfg = {
.limit_ul = 100,
};
PipetteModule::hardward_config_t hardwarecfg = {
.uart = &huart2,
.hdma_rx = &hdma_usart2_rx,
.hdma_tx = &hdma_usart2_tx,
};
g_pipetteModule.initialize(BOARD_ID * 10 + 2, &cfg, &hardwarecfg);
g_ziProtocolParser.registerModule(&g_pipetteModule);
}
void init_and_reg_m3078() { //
static M3078CodeScanner codescanner;
static M3078CodeScanner::hardware_config_t cfg = {
.uart = &huart2,
.hdma_rx = nullptr,
.hdma_tx = nullptr,
.codeReadOkPin = PinNull,
.rstPin = PinNull,
.triggerPin = PD15,
};
codescanner.initialize(BOARD_ID * 10 + 3, &cfg);
g_ziProtocolParser.registerModule(&codescanner);
}
void umain() {
chip_cfg_t chipcfg;
chipcfg.us_dleay_tim = &DELAY_US_TIMER;
chipcfg.tim_irq_scheduler_tim = &TIM_IRQ_SCHEDULER_TIMER;
chipcfg.huart = &DEBUG_UART;
chipcfg.debuglight = DEBUG_LIGHT_GPIO;
chip_init(&chipcfg);
g_motor.setMotorShaft(false);
g_motor.setAcceleration(100);
g_motor.setDeceleration(100);
g_motor.setIHOLD_IRUN(0, 8, 10);
static ZGPIO input[10];
input[0].initAsInput(PD1 /*REFL*/, ZGPIO::kMode_nopull, ZGPIO::kIRQ_noIrq, true);
input[1].initAsInput(PD2 /*REFR*/, ZGPIO::kMode_nopull, ZGPIO::kIRQ_noIrq, true);
input[2].initAsInput(PD3 /*DIAG0*/, ZGPIO::kMode_nopull, ZGPIO::kIRQ_noIrq, true);
input[3].initAsInput(PD4 /*DIAG1*/, ZGPIO::kMode_nopull, ZGPIO::kIRQ_noIrq, true);
I_StepMotorCtrlModule::flash_config_t smcm_cfg = {0};
StepMotorCtrlModule::create_default_cfg(smcm_cfg);
smcm_cfg.base_param.distance_scale = 100;
smcm_cfg.base_param.distance_scale_denominator = 1;
smcm_cfg.base_param.ihold = 1;
smcm_cfg.base_param.irun = 8;
smcm_cfg.base_param.x_shaft = true;
smcm_cfg.base_param.maxspeed = 300;
smcm_cfg.base_param.run_to_zero_speed = 50;
smcm_cfg.base_param.max_x = 0;
smcm_cfg.base_param.min_x = 0;
g_stepMotorCtrlModule.initialize(initer.get_module_id(1), &g_motor, input, ZARRAY_SIZE(input), nullptr, &smcm_cfg);
initer.register_module(&g_stepMotorCtrlModule);
}
zos_cfg_t zoscfg;
zos_init(&zoscfg);
{
static PipetteModule g_pipetteModule;
PipetteModule::config_t cfg = {
.limit_ul = 100,
};
ZLOGI(TAG, "boardId:%d", BOARD_ID);
PipetteModule::hardward_config_t hardwarecfg = {
.uart = &huart2,
.hdma_rx = &hdma_usart2_rx,
.hdma_tx = &hdma_usart2_tx,
};
g_pipetteModule.initialize(initer.get_module_id(2), &cfg, &hardwarecfg);
initer.register_module(&g_pipetteModule);
}
/*******************************************************************************
* NVSINIT *
*******************************************************************************/
ZNVS::ins().initialize(IFLYTOP_NVS_CONFIG_FLASH_SECTOR);
{
static I_StepMotorCtrlModule::flash_config_t cfg;
StepMotorCtrlModule::create_default_cfg(cfg);
ZNVS::ins().alloc_config(MOTOR_CFG_FLASH_MARK, (uint8_t*)&cfg, sizeof(cfg));
//
static M3078CodeScanner codescanner;
static M3078CodeScanner::hardware_config_t cfg = {
.uart = &huart2,
.hdma_rx = nullptr,
.hdma_tx = nullptr,
.codeReadOkPin = PinNull,
.rstPin = PinNull,
.triggerPin = PD15,
};
codescanner.initialize(initer.get_module_id(3), &cfg);
initer.register_module(&codescanner);
}
ZNVS::ins().init_config();
auto zcanCmder_cfg = g_zcanCmder.createCFG(BOARD_ID);
g_zcanCmder.init(zcanCmder_cfg);
g_ziProtocolParser.initialize(&g_zcanCmder);
init_and_reg_motor();
init_and_reg_cliptip_module();
init_and_reg_m3078();
}
while (true) {
OSDefaultSchduler::getInstance()->loop();
g_zcanCmder.loop();
}
};
/*******************************************************************************
* MAIN *
*******************************************************************************/
void umain() {
ZCancmderSubboardIniter::cfg_t cfg = //
{
.deviceId = getDeviceId(),
.input_gpio = {},
.output_gpio = {},
};
initer.init(&cfg);
initsubmodule();
initer.loop();
}

52
usrc/project_configs.h

@ -1,43 +1,21 @@
#pragma once
#define PC_VERSION "v1.0.1"
#define PC_MANUFACTURER "http://www.iflytop.com/"
#define PC_PROJECT_NAME "a8000_cliptip_module"
#define PC_IFLYTOP_ENABLE_OS 1
#define VERSION "v1.0.0"
#define MANUFACTURER "http://www.iflytop.com/"
#define PROJECT_NAME "a8000_cliptip_module"
#define DEBUG_UART huart1
#define DEBUG_LIGHT_GPIO PE2
#define PC_DEBUG_UART huart1
#define PC_DEBUG_UART_DMA_HANDLER hdma_usart1_rx
#define PC_DEBUG_UART_RX_BUF_SIZE 1024
#define PC_DEBUG_LIGHT_GPIO PE2
#define DELAY_US_TIMER htim6 // US延时定时器
#define TIM_IRQ_SCHEDULER_TIMER htim7 // 中断定时器中断调度
#define IFLTYOP_ZTICKET_TIMER TIM11 // 系统ticket定时
#define PC_SYS_DELAY_US_TIMER htim6 // US延时定时器
#define PC_SYS_ZTICKET_TIMER TIM11 // 系统ticket定时
#define PC_SYS_TIM_IRQ_SCHEDULER_TIMER htim7 // 中断定时器中断调度
#define IFLYTOP_ENABLE_OS 1
#define IFLYTOP_PREEMPTPRIORITY_DEFAULT 5
#define PC_IRQ_PREEMPTPRIORITY_DEFAULT 5
#define PC_NVS_ENABLE 1
#define PC_NVS_CONFIG_FLASH_SECTOR 8
/****************************************FLASH***************************************/
#define IFLYTOP_NVS_CONFIG_FLASH_SECTOR 8
/*********************************************************************************/
// MOTOR1
#define TMC_MOTOR_SPI hspi1
#define TMC5130_MOTOR_NUM 1
#define MOTOR0_CSN PA4
#define MOTOR0_ENN PD0
#define MOTOR1_SPI_MODE_SELECT PinNull
#define MOTOR_CFG_FLASH_MARK "MOTOR_CFG_FLASH_MARK"
#define BOARD_ID 2
#if 0
#define STEPPER_MOTOR_ZERO_SENSOR SENSOR_INT0
#define STEPPER_MOTOR_FORWARD_SENSOR SENSOR_INT8
#define STEPPER_MOTOR_BACKWARD_SENSOR SENSOR_INT9
#endif
#define ID0_IO PD11
#define ID1_IO PD12
#define ID2_IO PD13
#define ID3_IO PD14
#define ID4_IO PD15
#define BOARD_ID 8
Loading…
Cancel
Save