diff --git a/.cproject b/.cproject
index ac9045d..5da375d 100644
--- a/.cproject
+++ b/.cproject
@@ -30,7 +30,7 @@
-
+
-
+
@@ -222,7 +222,7 @@
-
+
@@ -243,10 +243,10 @@
-
+
-
+
\ No newline at end of file
diff --git a/.project b/.project
index 10fa12e..8183321 100644
--- a/.project
+++ b/.project
@@ -1,6 +1,6 @@
- graphite_digester_tmc5160
+ graphite_digester_io_board
diff --git a/graphite_digester_tmc5160.cfg b/graphite_digester_io_board.cfg
similarity index 100%
rename from graphite_digester_tmc5160.cfg
rename to graphite_digester_io_board.cfg
diff --git a/graphite_digester_tmc5160.ioc b/graphite_digester_io_board.ioc
similarity index 99%
rename from graphite_digester_tmc5160.ioc
rename to graphite_digester_io_board.ioc
index e222508..2247961 100644
--- a/graphite_digester_tmc5160.ioc
+++ b/graphite_digester_io_board.ioc
@@ -217,8 +217,8 @@ ProjectManager.MainLocation=Core/Src
ProjectManager.NoMain=false
ProjectManager.PreviousToolchain=STM32CubeIDE
ProjectManager.ProjectBuild=false
-ProjectManager.ProjectFileName=graphite_digester_tmc5160.ioc
-ProjectManager.ProjectName=graphite_digester_tmc5160
+ProjectManager.ProjectFileName=graphite_digester_io_board.ioc
+ProjectManager.ProjectName=graphite_digester_io_board
ProjectManager.ProjectStructure=
ProjectManager.RegisterCallBack=
ProjectManager.StackSize=0x1000
diff --git a/graphite_digester_tmc5160.launch b/graphite_digester_io_board.launch
similarity index 95%
rename from graphite_digester_tmc5160.launch
rename to graphite_digester_io_board.launch
index 13a5b8a..277779f 100644
--- a/graphite_digester_tmc5160.launch
+++ b/graphite_digester_io_board.launch
@@ -12,7 +12,7 @@
-
+
@@ -37,7 +37,7 @@
-
+
@@ -47,7 +47,7 @@
-
+
@@ -82,13 +82,13 @@
-
-
+
+
-
+
diff --git a/sdk b/sdk
index cc77054..1163d88 160000
--- a/sdk
+++ b/sdk
@@ -1 +1 @@
-Subproject commit cc77054006205d1a3d1b238d6ecdd59038c007d6
+Subproject commit 1163d8803f5a9bd75ec05d8ab6104148056801c9
diff --git a/usrc/board.h b/usrc/board.h
index 4d9a0c8..838badf 100644
--- a/usrc/board.h
+++ b/usrc/board.h
@@ -1,41 +1,56 @@
#pragma once
-#define TMC_MOTOR_SPI hspi1
-// #define TMC_DIAG1 PB0
-// #define TMC_DIAG0 PB1
-
-#define ID0_IO PC0
-#define ID1_IO PC1
-#define ID2_IO PC2
-#define ID3_IO PC3
-#define ID4_IO PC4
-
-#define SENSOR_INT0 PD0
-#define SENSOR_INT1 PD1
-#define SENSOR_INT2 PD2
-#define SENSOR_INT3 PD3
-#define SENSOR_INT4 PD4
-#define SENSOR_INT5 PD5
-#define SENSOR_INT6 PD6
-#define SENSOR_INT7 PD7
-#define SENSOR_INT8 PD8
-#define SENSOR_INT9 PD9
-
-
-// MOTOR0
-#define MOTOR0_CSN PA4
-#define MOTOR0_ENN PB7
-#define MOTOR0_SPI_MODE_SELECT PB4
-#define MOTOR0_REFL SENSOR_INT0
-#define MOTOR0_REFR SENSOR_INT1
-
-
-
-
-// MOTOR1
-// #define MOTOR1_CSN PA8
-// #define MOTOR1_ENN PE6
-// #define MOTOR1_SPI_MODE_SELECT PinNull
-// #define MOTOR1_REFL PD11
-// #define MOTOR1_REFR PD12
-
-// #define MOTOR_CFG_FLASH_MARK "MOTOR_CFG_FLASH_MARK"
+#define TAG_SOLENOID_VALVE00 PD0
+#define TAG_SOLENOID_VALVE01 PD1
+#define TAG_SOLENOID_VALVE02 PD2
+#define TAG_SOLENOID_VALVE03 PD3
+#define TAG_SOLENOID_VALVE04 PD4
+#define TAG_SOLENOID_VALVE05 PD5
+#define TAG_SOLENOID_VALVE06 PD6
+#define TAG_SOLENOID_VALVE07 PD7
+#define TAG_SOLENOID_VALVE08 PD8
+#define TAG_SOLENOID_VALVE09 PD9
+#define TAG_SOLENOID_VALVE10 PD10
+#define TAG_SOLENOID_VALVE11 PD11
+
+#define SOLENOID_VALVE00 TAG_SOLENOID_VALVE07
+#define SOLENOID_VALVE01 TAG_SOLENOID_VALVE06
+#define SOLENOID_VALVE02 TAG_SOLENOID_VALVE05
+#define SOLENOID_VALVE03 TAG_SOLENOID_VALVE04
+#define SOLENOID_VALVE04 TAG_SOLENOID_VALVE03
+#define SOLENOID_VALVE05 TAG_SOLENOID_VALVE02
+#define SOLENOID_VALVE06 TAG_SOLENOID_VALVE01
+#define SOLENOID_VALVE07 TAG_SOLENOID_VALVE00
+#define SOLENOID_VALVE08 TAG_SOLENOID_VALVE11
+#define SOLENOID_VALVE09 TAG_SOLENOID_VALVE10
+#define SOLENOID_VALVE10 TAG_SOLENOID_VALVE09
+#define SOLENOID_VALVE11 TAG_SOLENOID_VALVE08
+
+// 光电传感器
+#define TAG_SENSOR_INT0 PC0
+#define TAG_SENSOR_INT1 PC1
+#define TAG_SENSOR_INT2 PC2
+#define TAG_SENSOR_INT3 PC3
+#define TAG_SENSOR_INT4 PC4
+#define TAG_SENSOR_INT5 PC5
+#define TAG_SENSOR_INT6 PC6
+#define TAG_SENSOR_INT7 PC7
+#define TAG_SENSOR_INT8 PC8
+#define TAG_SENSOR_INT9 PC9
+
+#define SENSOR_INT0 TAG_SENSOR_INT9
+#define SENSOR_INT1 TAG_SENSOR_INT8
+#define SENSOR_INT2 TAG_SENSOR_INT7
+#define SENSOR_INT3 TAG_SENSOR_INT6
+#define SENSOR_INT4 TAG_SENSOR_INT0
+#define SENSOR_INT5 TAG_SENSOR_INT1
+#define SENSOR_INT6 TAG_SENSOR_INT2
+#define SENSOR_INT7 TAG_SENSOR_INT3
+#define SENSOR_INT8 TAG_SENSOR_INT4
+#define SENSOR_INT9 TAG_SENSOR_INT5
+
+
+#define ID0_IO PB11
+#define ID1_IO PB12
+#define ID2_IO PB13
+#define ID3_IO PB14
+#define ID4_IO PB15
\ No newline at end of file
diff --git a/usrc/main.cpp b/usrc/main.cpp
index 12b69c7..b2cbc26 100644
--- a/usrc/main.cpp
+++ b/usrc/main.cpp
@@ -52,75 +52,43 @@ static int32_t getDeviceId() {
* INIT_SUBMODULE *
*******************************************************************************/
void nvs_init_cb() {}
-static void initsubmodule() {
- osDelay(1000);
- {
- 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 = MOTOR0_SPI_MODE_SELECT, //
- };
- g_motor.initialize(&cfg);
- ZLOGI(TAG, "motora initialize 5160:%x ", g_motor.readICVersion());
- g_motor.enable(true);
- g_motor.setMotorShaft(false);
- // g_motor.setAcceleration(100);
- // g_motor.setDeceleration(100);
- // g_motor.setIHOLD_IRUN(1,8, 10);
- // g_motor.rotate(1000);
-
- static ZGPIO input[10];
- input[0].initAsInput(MOTOR0_REFL /*REFL*/, ZGPIO::kMode_nopull, ZGPIO::kIRQ_noIrq, false);
- input[1].initAsInput(MOTOR0_REFR /*REFR*/, ZGPIO::kMode_nopull, ZGPIO::kIRQ_noIrq, false);
-
- StepMotorCtrlModule::flash_config_t smcm_cfg = {0};
- StepMotorCtrlModule::create_default_cfg(smcm_cfg);
- smcm_cfg.base_param.motor_one_circle_pulse = 100;
- smcm_cfg.base_param.motor_one_circle_pulse_denominator = 1;
- smcm_cfg.base_param.stepmotor_ihold = 1;
- smcm_cfg.base_param.stepmotor_irun = 15;
- smcm_cfg.base_param.motor_shaft = false;
- smcm_cfg.base_param.motor_default_velocity = 200;
- smcm_cfg.base_param.motor_run_to_zero_speed = 100;
- smcm_cfg.base_param.max_d = 0;
- smcm_cfg.base_param.min_d = 0;
-
- g_stepMotorCtrlModule.initialize(initer.get_module_id(1), &g_motor, input, ZARRAY_SIZE(input), nullptr, &smcm_cfg);
- initer.register_module(&g_stepMotorCtrlModule);
- }
-
- {
- // 115200
- /*******************************************************************************
- * 试管帽夹舵机 *
- *******************************************************************************/
- static FeiTeServoMotor feiteservomotor_bus; // 飞特舵机总线
- static MiniRobotCtrlModule mini_servo;
-
- // 飞特舵机总线
- ZASSERT(huart3.Init.BaudRate == 115200);
- feiteservomotor_bus.initialize(&huart3, &hdma_usart3_rx, &hdma_usart3_tx);
-
- static MiniRobotCtrlModule::flash_config_t cfg = {0};
- cfg.default_torque = 330;
- mini_servo.initialize(initer.get_module_id(2), &feiteservomotor_bus, 1, &cfg);
- initer.register_module(&mini_servo);
- }
-}
+static void initsubmodule() { osDelay(1000); }
/*******************************************************************************
* MAIN *
*******************************************************************************/
void umain() {
ZCancmderSubboardIniter::cfg_t cfg = //
- {
- .deviceId = getDeviceId(),
- .input_gpio = {},
- .output_gpio = {},
- };
+ { //
+ .deviceId = getDeviceId(),
+ .input_gpio =
+ {
+ {.pin = SENSOR_INT0, .mode = ZGPIO::kMode_nopull, .irqtype = ZGPIO::kIRQ_noIrq, .mirror = true},
+ {.pin = SENSOR_INT1, .mode = ZGPIO::kMode_nopull, .irqtype = ZGPIO::kIRQ_noIrq, .mirror = true},
+ {.pin = SENSOR_INT2, .mode = ZGPIO::kMode_nopull, .irqtype = ZGPIO::kIRQ_noIrq, .mirror = true},
+ {.pin = SENSOR_INT3, .mode = ZGPIO::kMode_nopull, .irqtype = ZGPIO::kIRQ_noIrq, .mirror = true},
+ {.pin = SENSOR_INT4, .mode = ZGPIO::kMode_nopull, .irqtype = ZGPIO::kIRQ_noIrq, .mirror = true},
+ {.pin = SENSOR_INT5, .mode = ZGPIO::kMode_nopull, .irqtype = ZGPIO::kIRQ_noIrq, .mirror = true},
+ {.pin = SENSOR_INT6, .mode = ZGPIO::kMode_nopull, .irqtype = ZGPIO::kIRQ_noIrq, .mirror = true},
+ {.pin = SENSOR_INT7, .mode = ZGPIO::kMode_nopull, .irqtype = ZGPIO::kIRQ_noIrq, .mirror = true},
+ {.pin = SENSOR_INT8, .mode = ZGPIO::kMode_nopull, .irqtype = ZGPIO::kIRQ_noIrq, .mirror = true},
+ {.pin = SENSOR_INT9, .mode = ZGPIO::kMode_nopull, .irqtype = ZGPIO::kIRQ_noIrq, .mirror = true},
+
+ },
+ .output_gpio = {
+ {.pin = PD7, /*SOLENOID_VALVE00*/ .mode = ZGPIO::kMode_nopull, .mirror = true, .initLevel = false, .log_when_setstate = false},
+ {.pin = PD6, /*SOLENOID_VALVE01*/ .mode = ZGPIO::kMode_nopull, .mirror = true, .initLevel = false, .log_when_setstate = false},
+ {.pin = PD5, /*SOLENOID_VALVE02*/ .mode = ZGPIO::kMode_nopull, .mirror = true, .initLevel = false, .log_when_setstate = false},
+ {.pin = PD4, /*SOLENOID_VALVE03*/ .mode = ZGPIO::kMode_nopull, .mirror = true, .initLevel = false, .log_when_setstate = false},
+ {.pin = PD3, /*SOLENOID_VALVE04*/ .mode = ZGPIO::kMode_nopull, .mirror = true, .initLevel = false, .log_when_setstate = false},
+ {.pin = PD2, /*SOLENOID_VALVE05*/ .mode = ZGPIO::kMode_nopull, .mirror = true, .initLevel = false, .log_when_setstate = false},
+ {.pin = PD1, /*SOLENOID_VALVE06*/ .mode = ZGPIO::kMode_nopull, .mirror = true, .initLevel = false, .log_when_setstate = false},
+ {.pin = PD0, /*SOLENOID_VALVE07*/ .mode = ZGPIO::kMode_nopull, .mirror = true, .initLevel = false, .log_when_setstate = false},
+ {.pin = PD11, /*SOLENOID_VALVE08*/ .mode = ZGPIO::kMode_nopull, .mirror = true, .initLevel = false, .log_when_setstate = false},
+ {.pin = PD10, /*SOLENOID_VALVE09*/ .mode = ZGPIO::kMode_nopull, .mirror = true, .initLevel = false, .log_when_setstate = false},
+ {.pin = PD9, /*SOLENOID_VALVE10*/ .mode = ZGPIO::kMode_nopull, .mirror = true, .initLevel = false, .log_when_setstate = false},
+ {.pin = PD8, /*SOLENOID_VALVE11*/ .mode = ZGPIO::kMode_nopull, .mirror = true, .initLevel = false, .log_when_setstate = false},
+ }};
initer.init(&cfg);
initsubmodule();
initer.loop();
diff --git a/usrc/project_configs.h b/usrc/project_configs.h
index 25395b0..c1240f6 100644
--- a/usrc/project_configs.h
+++ b/usrc/project_configs.h
@@ -1,13 +1,13 @@
#pragma once
#define PC_VERSION "v1.0.0"
#define PC_MANUFACTURER "http://www.iflytop.com/"
-#define PC_PROJECT_NAME "graphite_digester_tmc5160"
+#define PC_PROJECT_NAME "graphite_digester_io_board"
#define PC_IFLYTOP_ENABLE_OS 1
#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 PC_DEBUG_LIGHT_GPIO PE8
#define PC_SYS_DELAY_US_TIMER htim6 // US延时定时器
#define PC_SYS_ZTICKET_TIMER TIM11 // 系统ticket定时器