diff --git a/.settings/language.settings.xml b/.settings/language.settings.xml
index 08c9439..09534a6 100644
--- a/.settings/language.settings.xml
+++ b/.settings/language.settings.xml
@@ -5,7 +5,7 @@
-
+
@@ -16,7 +16,7 @@
-
+
diff --git a/sdk b/sdk
index c13f0f7..6dbc5fa 160000
--- a/sdk
+++ b/sdk
@@ -1 +1 @@
-Subproject commit c13f0f786605b749458956e3b77c66b065315c7a
+Subproject commit 6dbc5fa5c7389d75f8766fd8fd11faa72a407c24
diff --git a/usrc/main.cpp b/usrc/main.cpp
index e26774c..824e6af 100644
--- a/usrc/main.cpp
+++ b/usrc/main.cpp
@@ -152,7 +152,7 @@ I_StepMotorCtrlModule* g_z_step_motor = nullptr;
/*******************************************************************************
* 串口指令 *
*******************************************************************************/
-StepMotorCtrlScriptCmderModule g_script_zmotor;
+StepMotorCtrlScriptCmderModule g_step_motor_ctrl_script_cmder_module;
XYRobotScriptCmderModule g_script_xyrobot;
ScriptCmderEq20Servomotor g_script_eq20servomotor;
@@ -239,19 +239,39 @@ void Main::run() {
zos_cfg_t zoscfg;
zos_init(&zoscfg);
+ /*******************************************************************************
+ * 总线初始化 *
+ *******************************************************************************/
+ // 指令总线
+ g_cmdScheduler.initialize(&DEBUG_UART, 1000);
+ // can总线
auto* cfg = m_zcanCommnaderMaster.createCFG();
m_zcanCommnaderMaster.init(cfg);
- g_cmdScheduler.initialize(&DEBUG_UART, 1000);
+ // 飞特舵机总线
g_feiteservomotor_bus.initialize(&huart3, &hdma_usart3_rx, &hdma_usart3_tx);
+ // modbus总线
g_modbusblockhost.initialize(&huart2, &hdma_usart2_tx, &hdma_usart2_rx);
-
g_main_servo_motor.init(&g_modbusblockhost, 1);
+ /*******************************************************************************
+ * 设备构造和初始化 *
+ *******************************************************************************/
+ g_z_step_motor = zcancmder_master::create_zcan_master_step_motor_ctrl_module(&m_zcanCommnaderMaster, 1);
+ ZASSERT(g_z_step_motor != nullptr);
+
+ g_xyrobotctrlmodule = zcancmder_master::create_xyrobot_ctrl_module(&m_zcanCommnaderMaster, 1);
+
/*******************************************************************************
* CMD *
*******************************************************************************/
g_script_eq20servomotor.initialize(&g_cmdScheduler);
g_script_eq20servomotor.regmodule(1, &g_main_servo_motor);
+
+ g_step_motor_ctrl_script_cmder_module.initialize(&g_cmdScheduler);
+ g_step_motor_ctrl_script_cmder_module.regmodule(1, g_z_step_motor);
+
+ g_script_xyrobot.initialize(&g_cmdScheduler);
+ g_script_xyrobot.regmodule(1, g_xyrobotctrlmodule);
#if 0
g_xyrobotctrlmodule = zcancmder_master::create_xyrobot_ctrl_module(&m_zcanCommnaderMaster, 1);
@@ -264,8 +284,7 @@ void Main::run() {
xyRobotScriptCmderModule.initialize(&cmdScheduler);
xyRobotScriptCmderModule.regXYRobot(1, g_xyrobotctrlmodule);
- stepMotorCtrlScriptCmderModule.initialize(&cmdScheduler);
- stepMotorCtrlScriptCmderModule.regmodule(1, g_stepmotorctrlmodule);
+
regfn();