From 3a11d581d73018d3836614d674210e017da43661 Mon Sep 17 00:00:00 2001 From: Richard Unger Date: Tue, 20 Feb 2024 14:06:55 +0100 Subject: [PATCH] add some missing registers --- src/comms/SimpleFOCRegisters.cpp | 14 ++++++++++++++ src/comms/SimpleFOCRegisters.h | 1 + 2 files changed, 15 insertions(+) diff --git a/src/comms/SimpleFOCRegisters.cpp b/src/comms/SimpleFOCRegisters.cpp index 76c3fbd..d83523e 100644 --- a/src/comms/SimpleFOCRegisters.cpp +++ b/src/comms/SimpleFOCRegisters.cpp @@ -245,6 +245,12 @@ bool SimpleFOCRegisters::registerToComms(RegisterIO& comms, uint8_t reg, FOCMoto case SimpleFOCRegister::REG_DRIVER_VOLTAGE_LIMIT: comms << ((BLDCMotor*)motor)->driver->voltage_limit; // TODO handle stepper motors break; + case SimpleFOCRegister::REG_DRIVER_VOLTAGE_PSU: + comms << (((BLDCMotor*)motor)->driver->voltage_power_supply); + return true; + case SimpleFOCRegister::REG_VOLTAGE_SENSOR_ALIGN: + comms << (((BLDCMotor*)motor)->voltage_sensor_align); + return true; case SimpleFOCRegister::REG_PWM_FREQUENCY: comms << (uint32_t)((BLDCMotor*)motor)->driver->pwm_frequency; // TODO handle stepper motors break; @@ -497,6 +503,12 @@ bool SimpleFOCRegisters::commsToRegister(RegisterIO& comms, uint8_t reg, FOCMoto case SimpleFOCRegister::REG_DRIVER_VOLTAGE_LIMIT: comms >> (((BLDCMotor*)motor)->driver->voltage_limit); return true; + case SimpleFOCRegister::REG_DRIVER_VOLTAGE_PSU: + comms >> (((BLDCMotor*)motor)->driver->voltage_power_supply); + return true; + case SimpleFOCRegister::REG_VOLTAGE_SENSOR_ALIGN: + comms >> (((BLDCMotor*)motor)->voltage_sensor_align); + return true; case SimpleFOCRegister::REG_PWM_FREQUENCY: comms >> val32; ((BLDCMotor*)motor)->driver->pwm_frequency = val32; @@ -631,6 +643,8 @@ uint8_t SimpleFOCRegisters::sizeOfRegister(uint8_t reg){ case SimpleFOCRegister::REG_VOLTAGE_LIMIT: case SimpleFOCRegister::REG_CURRENT_LIMIT: case SimpleFOCRegister::REG_DRIVER_VOLTAGE_LIMIT: + case SimpleFOCRegister::REG_DRIVER_VOLTAGE_PSU: + case SimpleFOCRegister::REG_VOLTAGE_SENSOR_ALIGN: case SimpleFOCRegister::REG_PWM_FREQUENCY: case SimpleFOCRegister::REG_ZERO_ELECTRIC_ANGLE: case SimpleFOCRegister::REG_ZERO_OFFSET: diff --git a/src/comms/SimpleFOCRegisters.h b/src/comms/SimpleFOCRegisters.h index 6c98900..7def8e1 100644 --- a/src/comms/SimpleFOCRegisters.h +++ b/src/comms/SimpleFOCRegisters.h @@ -80,6 +80,7 @@ typedef enum : uint8_t { REG_DRIVER_VOLTAGE_LIMIT = 0x53,// R/W - float REG_PWM_FREQUENCY = 0x54, // R/W - uint32_t REG_DRIVER_VOLTAGE_PSU = 0x55, // R/W - float + REG_VOLTAGE_SENSOR_ALIGN = 0x56,// R/W - float REG_MOTION_DOWNSAMPLE = 0x5F, // R/W - uint32_t REG_ZERO_ELECTRIC_ANGLE = 0x60, // RO - float