v1.2修复了EEPROM的读写以及掉电保持参数的功能,现在丢步的误差会保存在Canopen字典的0x60F4位置,网关那边可以通过SDO读取到

This commit is contained in:
编程浩
2026-03-02 17:43:52 +08:00
parent 25d82ccd66
commit 8955887f98
9 changed files with 1710 additions and 1597 deletions

View File

@@ -212,6 +212,7 @@ OD_ATTR_RAM OD_RAM_t OD_RAM = {
.x607A_targetPosition = 0x00000000,
.x6083_acceleration = 0x00000064,
.x6084_deceleration = 0x00000064,
.x60F4_followingErrorActualValue = 0,
.x60FF_targetVelocity = 0
};
@@ -264,6 +265,7 @@ typedef struct {
OD_obj_var_t o_607A_targetPosition;
OD_obj_var_t o_6083_acceleration;
OD_obj_var_t o_6084_deceleration;
OD_obj_var_t o_60F4_followingErrorActualValue;
OD_obj_var_t o_60FF_targetVelocity;
} ODObjs_t;
@@ -1182,6 +1184,11 @@ static CO_PROGMEM ODObjs_t ODObjs = {
.attribute = ODA_SDO_RW | ODA_MB,
.dataLength = 4
},
.o_60F4_followingErrorActualValue = {
.dataOrig = &OD_RAM.x60F4_followingErrorActualValue,
.attribute = ODA_SDO_RW | ODA_MB,
.dataLength = 4
},
.o_60FF_targetVelocity = {
.dataOrig = &OD_RAM.x60FF_targetVelocity,
.attribute = ODA_SDO_RW | ODA_RPDO | ODA_MB,
@@ -1237,6 +1244,7 @@ static OD_ATTR_OD OD_entry_t ODList[] = {
{0x607A, 0x01, ODT_VAR, &ODObjs.o_607A_targetPosition, NULL},
{0x6083, 0x01, ODT_VAR, &ODObjs.o_6083_acceleration, NULL},
{0x6084, 0x01, ODT_VAR, &ODObjs.o_6084_deceleration, NULL},
{0x60F4, 0x01, ODT_VAR, &ODObjs.o_60F4_followingErrorActualValue, NULL},
{0x60FF, 0x01, ODT_VAR, &ODObjs.o_60FF_targetVelocity, NULL},
{0x0000, 0x00, 0, NULL, NULL}
};

View File

@@ -16,7 +16,7 @@
Created: 2026/1/30 14:35:40
Created By:
Modified: 2026/2/26 17:17:54
Modified: 2026/3/2 16:53:20
Modified By:
Device Info:
@@ -252,6 +252,7 @@ typedef struct {
uint32_t x607A_targetPosition;
uint32_t x6083_acceleration;
uint32_t x6084_deceleration;
float32_t x60F4_followingErrorActualValue;
int32_t x60FF_targetVelocity;
} OD_RAM_t;
@@ -317,7 +318,8 @@ extern OD_ATTR_OD OD_t *OD;
#define OD_ENTRY_H607A &OD->list[40]
#define OD_ENTRY_H6083 &OD->list[41]
#define OD_ENTRY_H6084 &OD->list[42]
#define OD_ENTRY_H60FF &OD->list[43]
#define OD_ENTRY_H60F4 &OD->list[43]
#define OD_ENTRY_H60FF &OD->list[44]
/*******************************************************************************
@@ -366,7 +368,8 @@ extern OD_ATTR_OD OD_t *OD;
#define OD_ENTRY_H607A_targetPosition &OD->list[40]
#define OD_ENTRY_H6083_acceleration &OD->list[41]
#define OD_ENTRY_H6084_deceleration &OD->list[42]
#define OD_ENTRY_H60FF_targetVelocity &OD->list[43]
#define OD_ENTRY_H60F4_followingErrorActualValue &OD->list[43]
#define OD_ENTRY_H60FF_targetVelocity &OD->list[44]
/*******************************************************************************