drivers: stepper: tmc5041: use tmc5xxx generalized macros

This commit refactors tmc5041 driver to use tmc5xxx generalized macros

Signed-off-by: Jilay Pandya <jilay.pandya@outlook.com>
This commit is contained in:
Jilay Pandya 2024-11-17 15:56:23 +01:00 committed by Anas Nashif
commit 6098b2f673
2 changed files with 31 additions and 31 deletions

View file

@ -63,7 +63,7 @@ static int tmc5041_write(const struct device *dev, const uint8_t reg_addr, const
k_sem_take(&data->sem, K_FOREVER);
err = tmc_spi_write_register(&bus, TMC5041_WRITE_BIT, reg_addr, reg_val);
err = tmc_spi_write_register(&bus, TMC5XXX_WRITE_BIT, reg_addr, reg_val);
k_sem_give(&data->sem);
@ -83,7 +83,7 @@ static int tmc5041_read(const struct device *dev, const uint8_t reg_addr, uint32
k_sem_take(&data->sem, K_FOREVER);
err = tmc_spi_read_register(&bus, TMC5041_ADDRESS_MASK, reg_addr, reg_val);
err = tmc_spi_read_register(&bus, TMC5XXX_ADDRESS_MASK, reg_addr, reg_val);
k_sem_give(&data->sem);
@ -117,7 +117,7 @@ static int stallguard_enable(const struct device *dev, const bool enable)
}
if (enable) {
reg_value |= TMC5041_SW_MODE_SG_STOP_ENABLE;
reg_value |= TMC5XXX_SW_MODE_SG_STOP_ENABLE;
int32_t actual_velocity;
@ -136,7 +136,7 @@ static int stallguard_enable(const struct device *dev, const bool enable)
return -EAGAIN;
}
} else {
reg_value &= ~TMC5041_SW_MODE_SG_STOP_ENABLE;
reg_value &= ~TMC5XXX_SW_MODE_SG_STOP_ENABLE;
}
err = tmc5041_write(config->controller, TMC5041_SWMODE(config->index), reg_value);
if (err) {
@ -193,11 +193,11 @@ static void rampstat_work_handler(struct k_work *work)
tmc5041_read(stepper_config->controller, TMC5041_DRVSTATUS(stepper_config->index),
&drv_status);
if (FIELD_GET(TMC5041_DRV_STATUS_SG_STATUS_MASK, drv_status) == 1U) {
if (FIELD_GET(TMC5XXX_DRV_STATUS_SG_STATUS_MASK, drv_status) == 1U) {
LOG_INF("%s: Stall detected", stepper_data->stepper->name);
err = tmc5041_write(stepper_config->controller,
TMC5041_RAMPMODE(stepper_config->index),
TMC5041_RAMPMODE_HOLD_MODE);
TMC5XXX_RAMPMODE_HOLD_MODE);
if (err != 0) {
LOG_ERR("%s: Failed to stop motor", stepper_data->stepper->name);
return;
@ -213,29 +213,29 @@ static void rampstat_work_handler(struct k_work *work)
return;
}
const uint8_t ramp_stat_values = FIELD_GET(TMC5041_RAMPSTAT_INT_MASK, rampstat_value);
const uint8_t ramp_stat_values = FIELD_GET(TMC5XXX_RAMPSTAT_INT_MASK, rampstat_value);
if (ramp_stat_values > 0) {
switch (ramp_stat_values) {
case TMC5041_STOP_LEFT_EVENT:
case TMC5XXX_STOP_LEFT_EVENT:
LOG_DBG("RAMPSTAT %s:Left end-stop detected", stepper_data->stepper->name);
execute_callback(stepper_data->stepper,
STEPPER_EVENT_LEFT_END_STOP_DETECTED);
break;
case TMC5041_STOP_RIGHT_EVENT:
case TMC5XXX_STOP_RIGHT_EVENT:
LOG_DBG("RAMPSTAT %s:Right end-stop detected", stepper_data->stepper->name);
execute_callback(stepper_data->stepper,
STEPPER_EVENT_RIGHT_END_STOP_DETECTED);
break;
case TMC5041_POS_REACHED_EVENT:
case TMC5XXX_POS_REACHED_EVENT:
LOG_DBG("RAMPSTAT %s:Position reached", stepper_data->stepper->name);
execute_callback(stepper_data->stepper, STEPPER_EVENT_STEPS_COMPLETED);
break;
case TMC5041_STOP_SG_EVENT:
case TMC5XXX_STOP_SG_EVENT:
LOG_DBG("RAMPSTAT %s:Stall detected", stepper_data->stepper->name);
stallguard_enable(stepper_data->stepper, false);
execute_callback(stepper_data->stepper, STEPPER_EVENT_STALL_DETECTED);
@ -266,9 +266,9 @@ static int tmc5041_stepper_enable(const struct device *dev, const bool enable)
}
if (enable) {
reg_value |= TMC5041_CHOPCONF_DRV_ENABLE_MASK;
reg_value |= TMC5XXX_CHOPCONF_DRV_ENABLE_MASK;
} else {
reg_value &= ~TMC5041_CHOPCONF_DRV_ENABLE_MASK;
reg_value &= ~TMC5XXX_CHOPCONF_DRV_ENABLE_MASK;
}
err = tmc5041_write(config->controller, TMC5041_CHOPCONF(config->index), reg_value);
@ -291,7 +291,7 @@ static int tmc5041_stepper_is_moving(const struct device *dev, bool *is_moving)
return -EIO;
}
*is_moving = (FIELD_GET(TMC5041_DRV_STATUS_STST_BIT, reg_value) != 1U);
*is_moving = (FIELD_GET(TMC5XXX_DRV_STATUS_STST_BIT, reg_value) != 1U);
LOG_DBG("Stepper motor controller %s is moving: %d", dev->name, *is_moving);
return 0;
}
@ -318,7 +318,7 @@ static int tmc5041_stepper_move(const struct device *dev, const int32_t steps)
int32_t target_position = position + steps;
err = tmc5041_write(config->controller, TMC5041_RAMPMODE(config->index),
TMC5041_RAMPMODE_POSITIONING_MODE);
TMC5XXX_RAMPMODE_POSITIONING_MODE);
if (err != 0) {
return -EIO;
}
@ -373,9 +373,9 @@ static int tmc5041_stepper_set_micro_step_res(const struct device *dev,
return -EIO;
}
reg_value &= ~TMC5041_CHOPCONF_MRES_MASK;
reg_value &= ~TMC5XXX_CHOPCONF_MRES_MASK;
reg_value |= ((MICRO_STEP_RES_INDEX(STEPPER_MICRO_STEP_256) - LOG2(res))
<< TMC5041_CHOPCONF_MRES_SHIFT);
<< TMC5XXX_CHOPCONF_MRES_SHIFT);
err = tmc5041_write(config->controller, TMC5041_CHOPCONF(config->index), reg_value);
if (err != 0) {
@ -398,8 +398,8 @@ static int tmc5041_stepper_get_micro_step_res(const struct device *dev,
if (err != 0) {
return -EIO;
}
reg_value &= TMC5041_CHOPCONF_MRES_MASK;
reg_value >>= TMC5041_CHOPCONF_MRES_SHIFT;
reg_value &= TMC5XXX_CHOPCONF_MRES_MASK;
reg_value >>= TMC5XXX_CHOPCONF_MRES_SHIFT;
*res = (1 << (MICRO_STEP_RES_INDEX(STEPPER_MICRO_STEP_256) - reg_value));
LOG_DBG("Stepper motor controller %s get micro step resolution: %d", dev->name, *res);
return 0;
@ -411,7 +411,7 @@ static int tmc5041_stepper_set_actual_position(const struct device *dev, const i
int err;
err = tmc5041_write(config->controller, TMC5041_RAMPMODE(config->index),
TMC5041_RAMPMODE_HOLD_MODE);
TMC5XXX_RAMPMODE_HOLD_MODE);
if (err != 0) {
return -EIO;
}
@ -449,7 +449,7 @@ static int tmc5041_stepper_set_target_position(const struct device *dev, const i
}
err = tmc5041_write(config->controller, TMC5041_RAMPMODE(config->index),
TMC5041_RAMPMODE_POSITIONING_MODE);
TMC5XXX_RAMPMODE_POSITIONING_MODE);
if (err != 0) {
return -EIO;
}
@ -493,7 +493,7 @@ static int tmc5041_stepper_enable_constant_velocity_mode(const struct device *de
switch (direction) {
case STEPPER_DIRECTION_POSITIVE:
err = tmc5041_write(config->controller, TMC5041_RAMPMODE(config->index),
TMC5041_RAMPMODE_POSITIVE_VELOCITY_MODE);
TMC5XXX_RAMPMODE_POSITIVE_VELOCITY_MODE);
if (err != 0) {
return -EIO;
}
@ -505,7 +505,7 @@ static int tmc5041_stepper_enable_constant_velocity_mode(const struct device *de
case STEPPER_DIRECTION_NEGATIVE:
err = tmc5041_write(config->controller, TMC5041_RAMPMODE(config->index),
TMC5041_RAMPMODE_NEGATIVE_VELOCITY_MODE);
TMC5XXX_RAMPMODE_NEGATIVE_VELOCITY_MODE);
if (err != 0) {
return -EIO;
}
@ -611,7 +611,7 @@ static int tmc5041_init(const struct device *dev)
/* Init non motor-index specific registers here. */
LOG_DBG("GCONF: %d", config->gconf);
err = tmc5041_write(dev, TMC5041_GCONF, config->gconf);
err = tmc5041_write(dev, TMC5XXX_GCONF, config->gconf);
if (err != 0) {
return -EIO;
}
@ -619,7 +619,7 @@ static int tmc5041_init(const struct device *dev)
/* Read GSTAT register values to clear any errors SPI Datagram. */
uint32_t gstat_value;
err = tmc5041_read(dev, TMC5041_GSTAT, &gstat_value);
err = tmc5041_read(dev, TMC5XXX_GSTAT, &gstat_value);
if (err != 0) {
return -EIO;
}
@ -647,8 +647,8 @@ static int tmc5041_stepper_init(const struct device *dev)
LOG_DBG("Setting stall guard to %d with delay %d ms", stepper_config->sg_threshold,
stepper_config->sg_velocity_check_interval_ms);
if (!IN_RANGE(stepper_config->sg_threshold, TMC5041_SG_MIN_VALUE,
TMC5041_SG_MAX_VALUE)) {
if (!IN_RANGE(stepper_config->sg_threshold, TMC5XXX_SG_MIN_VALUE,
TMC5XXX_SG_MAX_VALUE)) {
LOG_ERR("Stallguard threshold out of range");
return -EINVAL;
}
@ -657,7 +657,7 @@ static int tmc5041_stepper_init(const struct device *dev)
err = tmc5041_write(
stepper_config->controller, TMC5041_COOLCONF(stepper_config->index),
stall_guard_threshold << TMC5041_COOLCONF_SG2_THRESHOLD_VALUE_SHIFT);
stall_guard_threshold << TMC5XXX_COOLCONF_SG2_THRESHOLD_VALUE_SHIFT);
if (err != 0) {
return -EIO;
}