Browse Source

feat: init ec master with INIT_APP_EXPORT for rtthread demo

Signed-off-by: sakumisu <1203593632@qq.com>
sakumisu 1 month ago
parent
commit
ffd5d11ee6
5 changed files with 35 additions and 12 deletions
  1. 1 0
      SConscript
  2. 1 6
      demo/hpmicro/CMakeLists.txt
  3. 2 0
      demo/hpmicro/main.c
  4. 31 0
      demo/rtthread/ec_main.c
  5. 0 6
      src/ec_cmd.c

+ 1 - 0
SConscript

@@ -23,6 +23,7 @@ src += Glob('src/ec_timestamp.c')
 src += Glob('src/ec_slave_table.c')
 src += Glob('src/phy/chry_phy.c')
 src += Glob('osal/ec_osal_rtthread.c')
+src += Glob('demo/rtthread/ec_main.c')
 
 if GetDepend(['PKG_CHERRYECAT_NETDEV_HPMICRO']):
     src += Glob('port/netdev_hpmicro.c')

+ 1 - 6
demo/hpmicro/CMakeLists.txt

@@ -12,12 +12,7 @@ set(CONFIG_CHERRYSH_INTERFACE "uart")
 
 set(CONFIG_ENET_PHY 1)
 set(APP_USE_ENET_PORT_COUNT 1)
-#set(APP_USE_ENET_ITF_RGMII 1)
-#set(APP_USE_ENET_ITF_RMII 1)
-#set(APP_USE_ENET_PHY_DP83867 1)
-#set(APP_USE_ENET_PHY_RTL8211 1)
-#set(APP_USE_ENET_PHY_DP83848 1)
-set(APP_USE_ENET_PHY_RTL8201 1)
+set(APP_USE_ENET_ITF_RGMII 1)
 
 set(CONFIG_CHERRYECAT 1)
 set(CONFIG_CHERRYECAT_OSAL "freertos")

+ 2 - 0
demo/hpmicro/main.c

@@ -108,8 +108,10 @@ static void task_start(void *param)
 
 CSH_CMD_EXPORT(ethercat, );
 
+// weak api used in ec_cmd.c
 unsigned char cherryecat_eepromdata[2048]; // EEPROM data buffer, please generate by esi_parse.py
 
+// weak api used in ec_cmd.c
 void ec_pdo_callback(ec_slave_t *slave, uint8_t *output, uint8_t *input)
 {
 }

+ 31 - 0
demo/rtthread/ec_main.c

@@ -0,0 +1,31 @@
+/*
+ * Copyright (c) 2026, sakumisu
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ */
+#include <rtthread.h>
+#include "ec_master.h"
+
+ec_master_t g_ec_master;
+
+// weak api used in ec_cmd.c
+unsigned char cherryecat_eepromdata[2048]; // EEPROM data buffer, please generate by esi_parse.py
+
+// weak api used in ec_cmd.c
+void ec_pdo_callback(ec_slave_t *slave, uint8_t *output, uint8_t *input)
+{
+}
+
+int ec_master_app_init(void)
+{
+    ec_master_cmd_init(&g_ec_master);
+    ec_master_init(&g_ec_master, 0);
+
+    return 0;
+}
+INIT_APP_EXPORT(ec_master_app_init);
+
+#ifdef FINSH_USING_MSH
+#include <finsh.h>
+MSH_CMD_EXPORT(ethercat, cherryecat command line tool);
+#endif

+ 0 - 6
src/ec_cmd.c

@@ -905,10 +905,4 @@ int ethercat(int argc, const char **argv)
     ec_master_cmd_show_help();
     return -1;
 }
-
-#ifdef FINSH_USING_MSH
-#include <finsh.h>
-MSH_CMD_EXPORT(ethercat, cherryecat command line tool);
 #endif
-
-#endif