From 9a3c9b80f6cd12b6807d46aa2ab3fc627868d452 Mon Sep 17 00:00:00 2001 From: Josh Gao Date: Sat, 24 May 2025 16:31:44 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E6=A0=B9=E6=8D=AE=E7=AC=AC=E4=B8=80?= =?UTF-8?q?=E6=AC=A1=E6=B5=8B=E8=AF=95=E7=BB=93=E6=9E=9C=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 增加节点默认速率, 接收端聆听模式写入Key, 根据PL物理层控制模块修改POLL模式控制字 --- src/main.c | 2 ++ src/networking/link_layer/link_layer.c | 4 ++++ src/networking/link_layer/link_layer.h | 1 + src/networking/phy_layer/phy_reg.h | 3 ++- 4 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/main.c b/src/main.c index 7cb3995..209fffe 100644 --- a/src/main.c +++ b/src/main.c @@ -80,6 +80,7 @@ struct callback_desc apptimer_callback_desc = { // .myId = 1, // .headId = 1, // .netScale = 3, +// .serviceRate = L2_SVC_512K, // .phyInstPtr = NULL, // physical layer reference // .tmcInstPtr = NULL //}; @@ -90,6 +91,7 @@ L2_CONFIG linkConfig = { .myId = 2, .headId = 1, .netScale = 10, + .serviceRate = L2_SVC_512K, .phyInstPtr = NULL, // physical layer reference .tmcInstPtr = NULL }; diff --git a/src/networking/link_layer/link_layer.c b/src/networking/link_layer/link_layer.c index 6e215af..3df1fae 100644 --- a/src/networking/link_layer/link_layer.c +++ b/src/networking/link_layer/link_layer.c @@ -1120,6 +1120,10 @@ int32_t Linklayer_Proc(L2_INST *instPtr) else { Phy_SetMode(phyRef, PHY_MODE_LISTEN); + + // Trigger physical configuration. + // Indicate physical layer that all the configurations were done. + PhyWrite(phyRef, SLOT_CMD, SLOT_CMD_KEY); } } diff --git a/src/networking/link_layer/link_layer.h b/src/networking/link_layer/link_layer.h index e0962b5..1830ddd 100644 --- a/src/networking/link_layer/link_layer.h +++ b/src/networking/link_layer/link_layer.h @@ -26,6 +26,7 @@ #include "node_list.h" #include "circ_queue.h" #include "../phy_layer/phy_layer.h" +#include "../phy_layer/phy_reg.h" #include "../../system_monitor.h" /************************** Constant Definitions *****************************/ /***************** Macros (Inline Functions) Definitions *********************/ diff --git a/src/networking/phy_layer/phy_reg.h b/src/networking/phy_layer/phy_reg.h index 17e55a3..0525943 100644 --- a/src/networking/phy_layer/phy_reg.h +++ b/src/networking/phy_layer/phy_reg.h @@ -48,7 +48,8 @@ #define PHY_MAIN_CTRL_EN_DSBL 0x00000000U #define PHY_MAIN_CTRL_MODE_NONE 0x00000000U #define PHY_MAIN_CTRL_MODE_LISTEN 0x00000100U -#define PHY_MAIN_CTRL_MODE_POLL 0x00000200U +#define PHY_MAIN_CTRL_MODE_SCHEDULE 0x00000200U // not used +#define PHY_MAIN_CTRL_MODE_POLL 0x00000300U /** * Register: TXRX_CTRL