polarimeter_software/User/driver/sv630p/h00_motor_args.h
2025-09-30 10:37:23 +08:00

670 lines
23 KiB
C

/*
* @Date: 2025-06-26 09:17:59
* @Author: mypx
* @LastEditors: mypx mypx_coder@163.com
* @LastEditTime: 2025-07-22 15:08:28
* @FilePath: h00_motor_args.h
* @Description:
* Copyright (c) 2025 by mypx, All Rights Reserved.
*/
#ifndef __H00_MOTOR_ARGS_H__
#define __H00_MOTOR_ARGS_H__
#include "sv_common.h"
/*======================================================================
* H00 group Servo Motor Parameters Macro Definitions (0x2000-0x202Ch)
*====================================================================*/
/* H00.00 Motor ID */
#define REG_H00_00_MOTOR_ID (0x0000)
#define REG_H00_00_MOTOR_ID_MIN (0)
#define REG_H00_00_MOR_ID_MAX (65535)
#define REG_H00_00_MOTOR_ID_DEFAULT (14101)
#define REG_H00_00_MOTOR_ID_TYPE UINT16
#define REG_H00_00_MOTOR_ID_DESC "Inovance 18-bit absolute encoder motor ID (default: 14101)"
/* H00.02 Non-standard Label */
#define REG_H00_02_NON_LABEL (0x0002)
#define REG_H00_02_NON_LABEL_MIN (0.00f)
#define REG_H00_02_NON_LABEL_MAX (42949672.95f)
#define REG_H00_02_NON_LABEL_DEFAULT (0.00f)
#define REG_H00_02_NON_LABEL_TYPE UINT32
#define REG_H00_02_NON_LABEL_DESC "MCU non-standard software version identifier (standard machine is 0.00)"
/* H00.04 Encoder Version */
#define REG_H00_04_ENC_VERSION (0x0004)
#define REG_H00_04_ENC_VERSION_MIN (0.0f)
#define REG_H00_04_ENC_VERSION_MAX (6553.5f)
#define REG_H00_04_ENC_VERSION_DEFAULT (0.0f)
#define REG_H00_04_ENC_VERSION_TYPE UINT16
#define REG_H00_04_ENC_VERSION_DESC "Encoder software version number (stored in the encoder)"
/* H00.05 Bus Motor ID */
#define REG_H00_05_BUS_MOTOR_ID (0x0005)
#define REG_H00_05_BUS_MOTOR_ID_MIN (0)
#define REG_H00_05_BUS_MOTOR_ID_MAX (65535)
#define REG_H00_05_BUS_MOTOR_ID_DEFAULT (0)
#define REG_H00_05_BUS_MOTOR_ID_TYPE UINT16
#define REG_H00_05_BUS_MOTOR_ID_DESC "Bus-type motor model ID (determined by motor model)"
/* H00.06 FPGA Non-standard Label */
#define REG_H00_06_FPGA_NON_LABEL (0x0006)
#define REG_H00_06_FPGA_NON_LABEL_MIN (0.00f)
#define REG_H00_06_FPGA_NON_LABEL_MAX (10485.75f)
#define REG_H00_06_FPGA_NON_LABEL_DEFAULT (0.00f)
#define REG_H00_06_FPGA_NON_LABEL_TYPE UINT32
#define REG_H00_06_FPGA_NON_LABEL_DESC "FPGA non-standard software version identifier (standard machine is 0.00)"
/* H00.08 Bus Encoder Type */
#define REG_H00_08_BUS_ENC_TYPE (0x0008)
#define REG_H00_08_BUS_ENC_TYPE_MIN (0)
#define REG_H00_08_BUS_ENC_TYPE_MAX (65535)
#define REG_H00_08_BUS_ENC_TYPE_DEFAULT (0)
#define REG_H00_08_BUS_ENC_TYPE_TYPE UINT16
#define REG_H00_08_BUS_ENC_TYPE_DESC "14100 = Multi-turn absolute encoder, others = Single-turn absolute encoder"
/* H00.09 Rated Voltage */
#define REG_H00_09_RATED_VOLTAGE (0x0009)
#define REG_H00_09_RATED_VOLTAGE_MIN (0)
#define REG_H00_09_RATED_VOLTAGE_MAX (1)
#define REG_H00_09_RATED_VOLTAGE_DEFAULT (0) // 0=220V, 1=380V
#define REG_H00_09_RATED_VOLTAGE_TYPE UINT16
#define REG_H00_09_RATED_VOLTAGE_DESC "0: 220V, 1: 380V (voltage level setting)"
/* H00.10 Rated Power */
#define REG_H00_10_RATED_POWER (0x0010)
#define REG_H00_10_RATED_POWER_MIN (0.01f)
#define REG_H00_10_RATED_POWER_MAX (655.35f)
#define REG_H00_10_RATED_POWER_DEFAULT (0.01f)
#define REG_H00_10_RATED_POWER_TYPE UINT16
#define REG_H00_10_RATED_POWER_DESC "Motor rated power (unit: kW)"
/* H00.11 Rated Current */
#define REG_H00_11_RATED_CURRENT (0x0011)
#define REG_H00_11_RATED_CURRENT_MIN (0.01f)
#define REG_H00_11_RATED_CURRENT_MAX (655.35f)
#define REG_H00_11_RATED_CURRENT_DEFAULT (0.01f)
#define REG_H00_11_RATED_CURRENT_TYPE UINT16
#define REG_H00_11_RATED_CURRENT_DESC "Motor rated current (unit: A)"
/* H00.12 Rated Torque */
#define REG_H00_12_RATED_TORQUE (0x0012)
#define REG_H00_12_RATED_TORQUE_MIN (0.10f)
#define REG_H00_12_RATED_TORQUE_MAX (655.35f)
#define REG_H00_12_RATED_TORQUE_DEFAULT (0.10f)
#define REG_H00_12_RATED_TORQUE_TYPE UINT16
#define REG_H00_12_RATED_TORQUE_DESC "Motor rated torque (unit: N·m)"
/* H00.13 Maximum Torque */
#define REG_H00_13_MAX_TORQUE (0x0013)
#define REG_H00_13_MAX_TORQUE_MIN (0.10f)
#define REG_H00_13_MAX_TORQUE_MAX (655.35f)
#define REG_H00_13_MAX_TORQUE_DEFAULT (0.10f)
#define REG_H00_13_MAX_TORQUE_TYPE UINT16
#define REG_H00_13_MAX_TORQUE_DESC "Maximum allowable torque of the motor (unit: N·m)"
/* H00.14 Rated Speed */
#define REG_H00_14_RATED_SPEED (0x0014)
#define REG_H00_14_RATED_SPEED_MIN (100)
#define REG_H00_14_RATED_SPEED_MAX (9000)
#define REG_H00_14_RATED_SPEED_DEFAULT (100)
#define REG_H00_14_RATED_SPEED_TYPE UINT16
#define REG_H00_14_RATED_SPEED_DESC "Motor rated speed (unit: rpm)"
/* H00.15 Maximum Speed */
#define REG_H00_15_MAX_SPEED (0x0015)
#define REG_H00_15_MAX_SPEED_MIN (100)
#define REG_H00_15_MAX_SPEED_MAX (9000)
#define REG_H00_15_MAX_SPEED_DEFAULT (100)
#define REG_H00_15_MAX_SPEED_TYPE UINT16
#define REG_H00_15_MAX_SPEED_DESC "Maximum allowable speed of the motor (unit: rpm)"
/* H00.16 Moment of Inertia Jm */
#define REG_H00_16_MOMENT_OF_INERTIA (0x0016)
#define REG_H00_16_MOMENT_OF_INERTIA_MIN (0.01f)
#define REG_H00_16_MOMENT_OF_INERTIA_MAX (655.35f)
#define REG_H00_16_MOMENT_OF_INERTIA_DEFAULT (0.01f)
#define REG_H00_16_MOMENT_OF_INERTIA_TYPE UINT16
#define REG_H00_16_MOMENT_OF_INERTIA_DESC "Moment of inertia of the motor (unit: kg·cm²)"
/* H00.17 Number of Pole Pairs of Permanent Magnet Synchronous Motor */
#define REG_H00_17_POLE_PAIRS (0x0017)
#define REG_H00_17_POLE_PAIRS_MIN (2)
#define REG_H00_17_POLE_PAIRS_MAX (360)
#define REG_H00_17_POLE_PAIRS_DEFAULT (2)
#define REG_H00_17_POLE_PAIRS_TYPE UINT16
#define REG_H00_17_POLE_PAIRS_DESC "Number of pole pairs of permanent magnet synchronous motor"
/* H00.18 Stator Resistance */
#define REG_H00_18_STATOR_RESISTANCE (0x0018)
#define REG_H00_18_STATOR_RESISTANCE_MIN (0.001f)
#define REG_H00_18_STATOR_RESISTANCE_MAX (65.535f)
#define REG_H00_18_STATOR_RESISTANCE_DEFAULT (0.001f)
#define REG_H00_18_STATOR_RESISTANCE_TYPE UINT16
#define REG_H00_18_STATOR_RESISTANCE_DESC "Stator resistance (unit: Ω)"
/* H00.19 Stator Inductance Lq */
#define REG_H00_19_STATOR_INDUCTANCE_LQ (0x0019)
#define REG_H00_19_STATOR_INDUCTANCE_LQ_MIN (0.01f)
#define REG_H00_19_STATOR_INDUCTANCE_LQ_MAX (655.35f)
#define REG_H00_19_STATOR_INDUCTANCE_LQ_DEFAULT (0.01f)
#define REG_H00_19_STATOR_INDUCTANCE_LQ_TYPE UINT16
#define REG_H00_19_STATOR_INDUCTANCE_LQ_DESC "Stator quadrature axis inductance (unit: mH)"
/* H00.20 Stator Inductance Ld */
#define REG_H00_20_STATOR_INDUCTANCE_LD (0x0020)
#define REG_H00_20_STATOR_INDUCTANCE_LD_MIN (0.01f)
#define REG_H00_20_STATOR_INDUCTANCE_LD_MAX (655.35f)
#define REG_H00_20_STATOR_INDUCTANCE_LD_DEFAULT (0.01f)
#define REG_H00_20_STATOR_INDUCTANCE_LD_TYPE UINT16
#define REG_H00_20_STATOR_INDUCTANCE_LD_DESC "Stator direct axis inductance (unit: mH)"
/* H00.21 Line Back EMF Coefficient */
#define REG_H00_21_BACK_EMF_COEFF (0x0021)
#define REG_H00_21_BACK_EMF_COEFF_MIN (0.01f)
#define REG_H00_21_BACK_EMF_COEFF_MAX (655.35f)
#define REG_H00_21_BACK_EMF_COEFF_DEFAULT (0.01f)
#define REG_H00_21_BACK_EMF_COEFF_TYPE UINT16
#define REG_H00_21_BACK_EMF_COEFF_DESC "Line back EMF coefficient (unit: mV/rpm)"
/* H00.22 Torque Coefficient Kt */
#define REG_H00_22_TORQUE_COEFF_KT (0x0022)
#define REG_H00_22_TORQUE_COEFF_KT_MIN (0.01f)
#define REG_H00_22_TORQUE_COEFF_KT_MAX (655.35f)
#define REG_H00_22_TORQUE_COEFF_KT_DEFAULT (0.01f)
#define REG_H00_22_TORQUE_COEFF_KT_TYPE UINT16
#define REG_H00_22_TORQUE_COEFF_KT_DESC "Torque coefficient (unit: N·m/Arms)"
/* H00.23 Electrical Time Constant Te */
#define REG_H00_23_ELECTRICAL_TIME_CONST (0x0023)
#define REG_H00_23_ELECTRICAL_TIME_CONST_MIN (0.01f)
#define REG_H00_23_ELECTRICAL_TIME_CONST_MAX (655.35f)
#define REG_H00_23_ELECTRICAL_TIME_CONST_DEFAULT (0.01f)
#define REG_H00_23_ELECTRICAL_TIME_CONST_TYPE UINT16
#define REG_H00_23_ELECTRICAL_TIME_CONST_DESC "Electrical time constant (unit: ms)"
/* H00.24 Mechanical Time Constant Tm */
#define REG_H00_24_MECHANICAL_TIME_CONST (0x0024)
#define REG_H00_24_MECHANICAL_TIME_CONST_MIN (0.01f)
#define REG_H00_24_MECHANICAL_TIME_CONST_MAX (655.35f)
#define REG_H00_24_MECHANICAL_TIME_CONST_DEFAULT (0.01f)
#define REG_H00_24_MECHANICAL_TIME_CONST_TYPE UINT16
#define REG_H00_24_MECHANICAL_TIME_CONST_DESC "Mechanical time constant (unit: ms)"
/* H00.27 Number of Sine/Cosine Signals of Bus Motor */
#define REG_H00_27_BUS_SINCOS_COUNT (0x0027)
#define REG_H00_27_BUS_SINCOS_COUNT_MIN (0)
#define REG_H00_27_BUS_SINCOS_COUNT_MAX (65535)
#define REG_H00_27_BUS_SINCOS_COUNT_DEFAULT (1)
#define REG_H00_27_BUS_SINCOS_COUNT_TYPE UINT16
#define REG_H00_27_BUS_SINCOS_COUNT_DESC "Number of sine/cosine signals of bus motor"
/* H00.28 Absolute Encoder Position Offset */
#define REG_H00_28_ABS_POS_OFFSET (0x0028)
#define REG_H00_28_ABS_POS_OFFSET_MIN (0)
#define REG_H00_28_ABS_POS_OFFSET_MAX (1073741824)
#define REG_H00_28_ABS_POS_OFFSET_DEFAULT (0)
#define REG_H00_28_ABS_POS_OFFSET_TYPE UINT32
#define REG_H00_28_ABS_POS_OFFSET_DESC "Absolute encoder position offset (unit: P/Rev)"
/* H00.30 Encoder Selection */
#define REG_H00_30_ENCODER_SELECT (0x0030)
#define REG_H00_30_ENCODER_SELECT_MIN (0)
#define REG_H00_30_ENCODER_SELECT_MAX (65535)
#define REG_H00_30_ENCODER_SELECT_DEFAULT (19) // 19 = Inovance Encoder
#define REG_H00_30_ENCODER_SELECT_TYPE UINT16
#define REG_H00_30_ENCODER_SELECT_DESC "Encoder type selection (19 = Inovance Encoder)"
/* H00.31 Encoder Lines */
#define REG_H00_31_ENCODER_LINES (0x0031)
#define REG_H00_31_ENCODER_LINES_MIN (1)
#define REG_H00_31_ENCODER_LINES_MAX (1073741824)
#define REG_H00_31_ENCODER_LINES_DEFAULT (8388608)
#define REG_H00_31_ENCODER_LINES_TYPE UINT32
#define REG_H00_31_ENCODER_LINES_DESC "Encoder lines (pulses per revolution)"
/* H00.35 Bus Encoder Stored Motor ID */
#define REG_H00_35_BUS_ENC_MOTOR_ID (0x0035)
#define REG_H00_35_BUS_ENC_MOTOR_ID_MIN (0)
#define REG_H00_35_BUS_ENC_MOTOR_ID_MAX (65535)
#define REG_H00_35_BUS_ENC_MOTOR_ID_DEFAULT (0)
#define REG_H00_35_BUS_ENC_MOTOR_ID_TYPE UINT16
#define REG_H00_35_BUS_ENC_MOTOR_ID_DESC "Bus encoder stored motor ID"
/* H00.37 Encoder Function Flags */
#define REG_H00_37_ENCODER_FUNC_FLAGS (0x0037)
#define REG_H00_37_ENCODER_FUNC_FLAGS_MIN (0)
#define REG_H00_37_ENCODER_FUNC_FLAGS_MAX (255)
#define REG_H00_37_ENCODER_FUNC_FLAGS_DEFAULT (0)
#define REG_H00_37_ENCODER_FUNC_FLAGS_TYPE UINT16
#define REG_H00_37_ENCODER_FUNC_FLAGS_DESC "Encoder function setting flags"
/* H00.43 Maximum Current */
#define REG_H00_43_MAX_CURRENT (0x0043)
#define REG_H00_43_MAX_CURRENT_MIN (0.00f)
#define REG_H00_43_MAX_CURRENT_MAX (655.35f)
#define REG_H00_43_MAX_CURRENT_DEFAULT (0.00f)
#define REG_H00_43_MAX_CURRENT_TYPE UINT16
#define REG_H00_43_MAX_CURRENT_DESC "Maximum allowed current of the driver (unit: A)"
/**
* @brief H00.00 Read motor ID
* @param dev Pointer to servo handle
* @param value Pointer to store the motor ID
* @return int
*/
int sv630p_read_h00_00_motor_id(sv630p_handle_t *dev, uint16_t *value);
/**
* @brief H00.00 Write motor ID
* @param dev Pointer to servo handle
* @param value Motor ID to write
* @return int
*/
int sv630p_write_h00_00_motor_id(sv630p_handle_t *dev, uint16_t value);
/**
* @brief H00.02 Read Non-standard Number (32-bit)
* @param dev Pointer to servo handle
* @param value Pointer to store the value
* @return int
*/
int sv630p_read_h00_02_non_label(sv630p_handle_t *dev, uint32_t *value);
/**
* @brief H00.04 Read Encoder Version (16-bit)
* @param value Pointer to store the value
* @return nmbs_error
*/
int sv630p_read_h00_04_enc_version(sv630p_handle_t *dev, uint16_t *value);
/**
* @brief H00.05 Read Bus Motor ID (16-bit)
* @param value Pointer to store the value
* @return nmbs_error
*/
int sv630p_read_h00_05_bus_motor_id(sv630p_handle_t *dev, uint16_t *value);
/**
* @brief H00.06 Read FPGA Non-standard Number (32-bit)
* @param value Pointer to store the value
* @return nmbs_error
*/
int sv630p_read_h00_06_fpga_non_label(sv630p_handle_t *dev, uint32_t *value);
/**
* @brief H00.08 Read Bus Encoder Type (16-bit)
* @param value Pointer to store the value
* @return nmbs_error
*/
int sv630p_read_h00_08_bus_enc_type(sv630p_handle_t *dev, uint16_t *value);
/**
* @brief H00.08 Write Bus Encoder Type (16-bit)
* @param dev Pointer to servo handle
* @param value Value to write
* @return int
*/
int sv630p_write_h00_08_bus_enc_type(sv630p_handle_t *dev, uint16_t value);
/**
* @brief H00.09 Read Rated Voltage (16-bit)
* @param value Pointer to store the value
* @return nmbs_error
*/
int sv630p_read_h00_09_rated_voltage(sv630p_handle_t *dev, uint16_t *value);
/**
* @brief H00.09 Write Rated Voltage (16-bit)
* @param value Value to write
* @return nmbs_error
*/
int sv630p_write_h00_09_rated_voltage(sv630p_handle_t *dev, uint16_t value);
/**
* @brief H00.10 Read Rated Power (16-bit)
* @param dev Pointer to servo handle
* @param value Pointer to store the value
* @return int
*/
int sv630p_read_h00_10_rated_power(sv630p_handle_t *dev, uint16_t *value);
/**
* @brief H00.10 Write Rated Power (16-bit)
* @param dev Pointer to servo handle
* @param value Value to write
* @return int
*/
int sv630p_write_h00_10_rated_power(sv630p_handle_t *dev, uint16_t value);
/**
* @brief H00.11 Read Rated Current (16-bit)
* @param dev Pointer to servo handle
* @param value Pointer to store the value
* @return int
*/
int sv630p_read_h00_11_rated_current(sv630p_handle_t *dev, uint16_t *value);
/**
* @brief H00.11 Write Rated Current (16-bit)
* @param dev Pointer to servo handle
* @param value Value to write
* @return int
*/
int sv630p_write_h00_11_rated_current(sv630p_handle_t *dev, uint16_t value);
/**
* @brief H00.12 Read Rated Torque (16-bit)
* @param dev Pointer to servo handle
* @param value Pointer to store the value
* @return int
*/
int sv630p_read_h00_12_rated_torque(sv630p_handle_t *dev, uint16_t *value);
/**
* @brief H00.12 Write Rated Torque (16-bit)
* @param dev Pointer to servo handle
* @param value Value to write
* @return int
*/
int sv630p_write_h00_12_rated_torque(sv630p_handle_t *dev, uint16_t value);
/**
* @brief H00.13 Read Maximum Torque (16-bit)
* @param dev Pointer to servo handle
* @param value Pointer to store the value
* @return int
*/
int sv630p_read_h00_13_max_torque(sv630p_handle_t *dev, uint16_t *value);
/**
* @brief H00.13 Write Maximum Torque (16-bit)
* @param dev Pointer to servo handle
* @param value Value to write
* @return int
*/
int sv630p_write_h00_13_max_torque(sv630p_handle_t *dev, uint16_t value);
/**
* @brief H00.14 Read Rated Speed (16-bit)
* @param dev Pointer to servo handle
* @param value Pointer to store the value
* @return int
*/
int sv630p_read_h00_14_rated_speed(sv630p_handle_t *dev, uint16_t *value);
/**
* @brief H00.14 Write Rated Speed (16-bit)
* @param dev Pointer to servo handle
* @param value Value to write
* @return int
*/
int sv630p_write_h00_14_rated_speed(sv630p_handle_t *dev, uint16_t value);
/**
* @brief H00.15 Read Maximum Speed (16-bit)
* @param dev Pointer to servo handle
* @param value Pointer to store the value
* @return int
*/
int sv630p_read_h00_15_max_speed(sv630p_handle_t *dev, uint16_t *value);
/**
* @brief H00.15 Write Maximum Speed (16-bit)
* @param dev Pointer to servo handle
* @param value Value to write
* @return int
*/
int sv630p_write_h00_15_max_speed(sv630p_handle_t *dev, uint16_t value);
/**
* @brief H00.16 Read Moment of Inertia Jm (16-bit, unit: 0.01kg·cm²)
* @param dev Pointer to servo handle
* @param value Pointer to store the value
* @return int
*/
int sv630p_read_h00_16_moment_of_inertia(sv630p_handle_t *dev, uint16_t *value);
/**
* @brief H00.16 Write Moment of Inertia Jm (16-bit, unit: 0.01kg·cm²)
* @param dev Pointer to servo handle
* @param value Value to write
* @return int
*/
int sv630p_write_h00_16_moment_of_inertia(sv630p_handle_t *dev, uint16_t value);
/**
* @brief H00.17 Read Number of Pole Pairs (16-bit)
* @param dev Pointer to servo handle
* @param value Pointer to store the value
* @return int
*/
int sv630p_read_h00_17_pole_pairs(sv630p_handle_t *dev, uint16_t *value);
/**
* @brief H00.17 Write Number of Pole Pairs (16-bit)
* @param dev Pointer to servo handle
* @param value Value to write
* @return int
*/
int sv630p_write_h00_17_pole_pairs(sv630p_handle_t *dev, uint16_t value);
/**
* @brief H00.18 Read Stator Resistance (16-bit, unit: 0.001Ω)
* @param dev Pointer to servo handle
* @param value Pointer to store the value
* @return int
*/
int sv630p_read_h00_18_stator_resistance(sv630p_handle_t *dev, uint16_t *value);
/**
* @brief H00.18 Write Stator Resistance (16-bit, unit: 0.001Ω)
* @param dev Pointer to servo handle
* @param value Value to write
* @return int
*/
int sv630p_write_h00_18_stator_resistance(sv630p_handle_t *dev, uint16_t value);
/**
* @brief H00.19 Read Stator Inductance Lq (16-bit, unit: 0.01mH)
* @param dev Pointer to servo handle
* @param value Pointer to store the value
* @return int
*/
int sv630p_read_h00_19_stator_inductance_lq(sv630p_handle_t *dev, uint16_t *value);
/**
* @brief H00.19 Write Stator Inductance Lq (16-bit, unit: 0.01mH)
* @param dev Pointer to servo handle
* @param value Value to write
* @return int
*/
int sv630p_write_h00_19_stator_inductance_lq(sv630p_handle_t *dev, uint16_t value);
/**
* @brief H00.20 Read Stator Inductance Ld (16-bit, unit: 0.01mH)
* @param dev Pointer to servo handle
* @param value Pointer to store the value
* @return int
*/
int sv630p_read_h00_20_stator_inductance_ld(sv630p_handle_t *dev, uint16_t *value);
/**
* @brief H00.20 Write Stator Inductance Ld (16-bit, unit: 0.01mH)
* @param dev Pointer to servo handle
* @param value Value to write
* @return int
*/
int sv630p_write_h00_20_stator_inductance_ld(sv630p_handle_t *dev, uint16_t value);
/**
* @brief H00.21 Read Back EMF Coefficient (16-bit, unit: 0.01mV/rpm)
* @param dev Pointer to servo handle
* @param value Pointer to store the value
* @return int
*/
int sv630p_read_h00_21_back_emf_coeff(sv630p_handle_t *dev, uint16_t *value);
/**
* @brief H00.21 Write Back EMF Coefficient (16-bit, unit: 0.01mV/rpm)
* @param dev Pointer to servo handle
* @param value Value to write
* @return int
*/
int sv630p_write_h00_21_back_emf_coeff(sv630p_handle_t *dev, uint16_t value);
/**
* @brief H00.22 Read Torque Coefficient Kt (16-bit, unit: 0.01N·m/Arms)
* @param dev Pointer to servo handle
* @param value Pointer to store the value
* @return int
*/
int sv630p_read_h00_22_torque_coeff_kt(sv630p_handle_t *dev, uint16_t *value);
/**
* @brief H00.22 Write Torque Coefficient Kt (16-bit, unit: 0.01N·m/Arms)
* @param dev Pointer to servo handle
* @param value Value to write
* @return int
*/
int sv630p_write_h00_22_torque_coeff_kt(sv630p_handle_t *dev, uint16_t value);
/**
* @brief H00.23 Read Electrical Time Constant Te (16-bit, unit: 0.01ms)
* @param dev Pointer to servo handle
* @param value Pointer to store the value
* @return int
*/
int sv630p_h00_23_read_electrical_constant(sv630p_handle_t *dev, uint16_t *value);
/**
* @brief H00.23 Write Electrical Time Constant Te (16-bit, unit: 0.01ms)
* @param dev Pointer to servo handle
* @param value Value to write
* @return int
*/
int sv630p_h00_23_write_electrical_constant(sv630p_handle_t *dev, uint16_t value);
/**
* @brief H00.24 Read Mechanical Time Constant Tm (16-bit, unit: 0.01ms)
* @param dev Pointer to servo handle
* @param value Pointer to store the value
* @return int
*/
int sv630p_h00_24_read_mechanical_constant(sv630p_handle_t *dev, uint16_t *value);
/**
* @brief H00.24 Write Mechanical Time Constant Tm (16-bit, unit: 0.01ms)
* @param dev Pointer to servo handle
* @param value Value to write
* @return int
*/
int sv630p_write_h00_24_mechanical_constant(sv630p_handle_t *dev, uint16_t value);
/**
* @brief H00.27 Read Bus Sine/Cosine Count (16-bit)
* @param dev Pointer to servo handle
* @param value Pointer to store the value
* @return int
*/
int sv630p_h00_27_read_bus_sincos_count(sv630p_handle_t *dev, uint16_t *value);
/**
* @brief H00.27 Write Bus Sine/Cosine Count (16-bit)
* @param dev Pointer to servo handle
* @param value Value to write
* @return int
*/
int sv630p_h00_27_write_bus_sincos_count(sv630p_handle_t *dev, uint16_t value);
/**
* @brief H00.28 Read Absolute Encoder Position Offset (32-bit)
* @param dev Pointer to servo handle
* @param value Pointer to store the value
* @return int
*/
int sv630p_h00_28_read_abs_pos_offset(sv630p_handle_t *dev, uint32_t *value);
/**
* @brief H00.28 Write Absolute Encoder Position Offset (32-bit)
* @param dev Pointer to servo handle
* @param value Value to write
* @return int
*/
int sv630p_h00_28_write_abs_pos_offset(sv630p_handle_t *dev, uint32_t value);
/**
* @brief H00.30 Read Encoder Select (HEX) (16-bit)
* @param dev Pointer to servo handle
* @param value Pointer to store the value
* @return int
*/
int sv630p_h00_30_read_encoder_select(sv630p_handle_t *dev, uint16_t *value);
/**
* @brief H00.30 Write Encoder Select (HEX) (16-bit)
* @param dev Pointer to servo handle
* @param value Value to write
* @return int
*/
int sv630p_h00_30_write_encoder_select(sv630p_handle_t *dev, uint16_t value);
/**
* @brief H00.31 Read Encoder Lines (32-bit)
* @param dev Pointer to servo handle
* @param value Pointer to store the value
* @return int
*/
int sv630p_h00_31_read_encoder_lines(sv630p_handle_t *dev, uint32_t *value);
/**
* @brief H00.31 Write Encoder Lines (32-bit)
* @param dev Pointer to servo handle
* @param value Value to write
* @return int
*/
int sv630p_h00_31_write_encoder_lines(sv630p_handle_t *dev, uint32_t value);
/**
* @brief H00.35 Read Bus Encoder Stored Motor ID (16-bit)
* @param dev Pointer to servo handle
* @param value Pointer to store the value
* @return int
*/
int sv630p_h00_35_read_bus_enc_motor_id(sv630p_handle_t *dev, uint16_t *value);
/**
* @brief H00.35 Write Bus Encoder Stored Motor ID (16-bit)
* @param dev Pointer to servo handle
* @param value Value to write
* @return int
*/
int sv630p_h00_35_write_bus_enc_motor_id(sv630p_handle_t *dev, uint16_t value);
/**
* @brief H00.37 Read Encoder Function Flags (16-bit)
* @param dev Pointer to servo handle
* @param value Pointer to store the value
* @return int
*/
int sv630p_h00_37_read_encoder_func_bits(sv630p_handle_t *dev, uint16_t *value);
/**
* @brief H00.43 Read Maximum Current (16-bit, unit: 0.01A)
* @param dev Pointer to servo handle
* @param value Pointer to store the value
* @return int
*/
int sv630p_read_h00_43_max_current(sv630p_handle_t *dev, uint16_t *value);
/**
* @brief H00.43 Write Maximum Current (16-bit, unit: 0.01A)
* @param dev Pointer to servo handle
* @param value Value to write
* @return int
*/
int sv630p_write_h00_43_max_current(sv630p_handle_t *dev, uint16_t value);
#endif