Personal fork of the library for direct control instead of library control
Dependents: Thesis_Rotating_Platform
Fork of X_NUCLEO_IHM01A1 by
l6474_target_config.h
00001 /** 00002 ****************************************************************************** 00003 * @file l6474_target_config.h 00004 * @author IPC Rennes 00005 * @version V1.5.0 00006 * @date November 12, 2014 00007 * @brief Predefines values for the L6474 registers 00008 * and for the devices parameters 00009 * @note (C) COPYRIGHT 2014 STMicroelectronics 00010 ****************************************************************************** 00011 * @attention 00012 * 00013 * <h2><center>© COPYRIGHT(c) 2014 STMicroelectronics</center></h2> 00014 * 00015 * Redistribution and use in source and binary forms, with or without modification, 00016 * are permitted provided that the following conditions are met: 00017 * 1. Redistributions of source code must retain the above copyright notice, 00018 * this list of conditions and the following disclaimer. 00019 * 2. Redistributions in binary form must reproduce the above copyright notice, 00020 * this list of conditions and the following disclaimer in the documentation 00021 * and/or other materials provided with the distribution. 00022 * 3. Neither the name of STMicroelectronics nor the names of its contributors 00023 * may be used to endorse or promote products derived from this software 00024 * without specific prior written permission. 00025 * 00026 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 00027 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 00028 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 00029 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 00030 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 00031 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 00032 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 00033 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 00034 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 00035 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 00036 * 00037 ****************************************************************************** 00038 */ 00039 00040 00041 /* Define to prevent recursive inclusion -------------------------------------*/ 00042 00043 #ifndef __L6474_TARGET_CONFIG_H 00044 #define __L6474_TARGET_CONFIG_H 00045 00046 #ifdef __cplusplus 00047 extern "C" { 00048 #endif 00049 00050 00051 /* Definitions ---------------------------------------------------------------*/ 00052 00053 /** @addtogroup BSP 00054 * @{ 00055 */ 00056 00057 /** @addtogroup L6474 00058 * @{ 00059 */ 00060 00061 /** @addtogroup L6474_Exported_Constants 00062 * @{ 00063 */ 00064 00065 /** @defgroup Predefined_L6474_Registers_Values 00066 * @{ 00067 */ 00068 00069 /// The maximum number of devices in the daisy chain 00070 #define MAX_NUMBER_OF_DEVICES (3) 00071 00072 /************************ Speed Profile *******************************/ 00073 00074 /// Acceleration rate in step/s2 for device 0 (must be greater than 0) 00075 #define L6474_CONF_PARAM_ACC_DEVICE_0 (160) 00076 /// Acceleration rate in step/s2 for device 1 (must be greater than 0) 00077 #define L6474_CONF_PARAM_ACC_DEVICE_1 (160) 00078 /// Acceleration rate in step/s2 for device 2 (must be greater than 0) 00079 #define L6474_CONF_PARAM_ACC_DEVICE_2 (160) 00080 00081 /// Deceleration rate in step/s2 for device 0 (must be greater than 0) 00082 #define L6474_CONF_PARAM_DEC_DEVICE_0 (160) 00083 /// Deceleration rate in step/s2 for device 1 (must be greater than 0) 00084 #define L6474_CONF_PARAM_DEC_DEVICE_1 (160) 00085 /// Deceleration rate in step/s2 for device 2 (must be greater than 0) 00086 #define L6474_CONF_PARAM_DEC_DEVICE_2 (160) 00087 00088 /// Maximum speed in step/s for device 0 (30 step/s < Maximum speed <= 10 000 step/s ) 00089 #define L6474_CONF_PARAM_MAX_SPEED_DEVICE_0 (1600) 00090 /// Maximum speed in step/s for device 1 (30 step/s < Maximum speed <= 10 000 step/s ) 00091 #define L6474_CONF_PARAM_MAX_SPEED_DEVICE_1 (1600) 00092 /// Maximum speed in step/s for device 2 (30 step/s < Maximum speed <= 10 000 step/s ) 00093 #define L6474_CONF_PARAM_MAX_SPEED_DEVICE_2 (1600) 00094 00095 /// Minimum speed in step/s for device 0 (30 step/s <= Minimum speed < 10 000 step/s) 00096 #define L6474_CONF_PARAM_MIN_SPEED_DEVICE_0 (800) 00097 /// Minimum speed in step/s for device 1 (30 step/s <= Minimum speed < 10 000 step/s) 00098 #define L6474_CONF_PARAM_MIN_SPEED_DEVICE_1 (800) 00099 /// Minimum speed in step/s for device 2 (30 step/s <= Minimum speed < 10 000 step/s) 00100 #define L6474_CONF_PARAM_MIN_SPEED_DEVICE_2 (800) 00101 00102 00103 /************************ Phase Current Control *******************************/ 00104 00105 // Current value that is assigned to the torque regulation DAC 00106 /// TVAL register value for device 0 (range 31.25mA to 4000mA) 00107 #define L6474_CONF_PARAM_TVAL_DEVICE_0 (250) 00108 /// TVAL register value for device 1 (range 31.25mA to 4000mA) 00109 #define L6474_CONF_PARAM_TVAL_DEVICE_1 (250) 00110 /// TVAL register value for device 2 (range 31.25mA to 4000mA) 00111 #define L6474_CONF_PARAM_TVAL_DEVICE_2 (250) 00112 00113 /// Fall time value (T_FAST field of T_FAST register) for device 0 (range 2us to 32us) 00114 #define L6474_CONF_PARAM_FAST_STEP_DEVICE_0 (L6474_FAST_STEP_12us) 00115 /// Fall time value (T_FAST field of T_FAST register) for device 1 (range 2us to 32us) 00116 #define L6474_CONF_PARAM_FAST_STEP_DEVICE_1 (L6474_FAST_STEP_12us) 00117 /// Fall time value (T_FAST field of T_FAST register) for device 2 (range 2us to 32us) 00118 #define L6474_CONF_PARAM_FAST_STEP_DEVICE_2 (L6474_FAST_STEP_12us) 00119 00120 /// Maximum fast decay time (T_OFF field of T_FAST register) for device 0 (range 2us to 32us) 00121 #define L6474_CONF_PARAM_TOFF_FAST_DEVICE_0 (L6474_TOFF_FAST_8us) 00122 /// Maximum fast decay time (T_OFF field of T_FAST register) for device 1 (range 2us to 32us) 00123 #define L6474_CONF_PARAM_TOFF_FAST_DEVICE_1 (L6474_TOFF_FAST_8us) 00124 /// Maximum fast decay time (T_OFF field of T_FAST register) for device 2 (range 2us to 32us) 00125 #define L6474_CONF_PARAM_TOFF_FAST_DEVICE_2 (L6474_TOFF_FAST_8us) 00126 00127 /// Minimum ON time (TON_MIN register) for device 0 (range 0.5us to 64us) 00128 #define L6474_CONF_PARAM_TON_MIN_DEVICE_0 (3) 00129 /// Minimum ON time (TON_MIN register) for device 1 (range 0.5us to 64us) 00130 #define L6474_CONF_PARAM_TON_MIN_DEVICE_1 (3) 00131 /// Minimum ON time (TON_MIN register) for device 2 (range 0.5us to 64us) 00132 #define L6474_CONF_PARAM_TON_MIN_DEVICE_2 (3) 00133 00134 /// Minimum OFF time (TOFF_MIN register) for device 0 (range 0.5us to 64us) 00135 #define L6474_CONF_PARAM_TOFF_MIN_DEVICE_0 (21) 00136 /// Minimum OFF time (TOFF_MIN register) for device 1 (range 0.5us to 64us) 00137 #define L6474_CONF_PARAM_TOFF_MIN_DEVICE_1 (21) 00138 /// Minimum OFF time (TOFF_MIN register) for device 2 (range 0.5us to 64us) 00139 #define L6474_CONF_PARAM_TOFF_MIN_DEVICE_2 (21) 00140 00141 /******************************* Others ***************************************/ 00142 00143 /// Overcurrent threshold settings for device 0 (OCD_TH register) 00144 #define L6474_CONF_PARAM_OCD_TH_DEVICE_0 (L6474_OCD_TH_3000mA) 00145 /// Overcurrent threshold settings for device 1 (OCD_TH register) 00146 #define L6474_CONF_PARAM_OCD_TH_DEVICE_1 (L6474_OCD_TH_2250mA) 00147 /// Overcurrent threshold settings for device 2 (OCD_TH register) 00148 #define L6474_CONF_PARAM_OCD_TH_DEVICE_2 (L6474_OCD_TH_750mA) 00149 00150 /// Alarm settings for device 0 (ALARM_EN register) 00151 #define L6474_CONF_PARAM_ALARM_EN_DEVICE_0 (L6474_ALARM_EN_OVERCURRENT |\ 00152 L6474_ALARM_EN_THERMAL_SHUTDOWN |\ 00153 L6474_ALARM_EN_THERMAL_WARNING |\ 00154 L6474_ALARM_EN_UNDERVOLTAGE |\ 00155 L6474_ALARM_EN_SW_TURN_ON |\ 00156 L6474_ALARM_EN_WRONG_NPERF_CMD) 00157 00158 ///Alarm settings for device 1 (ALARM_EN register) 00159 #define L6474_CONF_PARAM_ALARM_EN_DEVICE_1 (L6474_ALARM_EN_OVERCURRENT |\ 00160 L6474_ALARM_EN_THERMAL_SHUTDOWN |\ 00161 L6474_ALARM_EN_THERMAL_WARNING |\ 00162 L6474_ALARM_EN_UNDERVOLTAGE |\ 00163 L6474_ALARM_EN_SW_TURN_ON |\ 00164 L6474_ALARM_EN_WRONG_NPERF_CMD) 00165 00166 /// Alarm settings for device 2 (ALARM_EN register) 00167 #define L6474_CONF_PARAM_ALARM_EN_DEVICE_2 (L6474_ALARM_EN_OVERCURRENT |\ 00168 L6474_ALARM_EN_THERMAL_SHUTDOWN |\ 00169 L6474_ALARM_EN_THERMAL_WARNING |\ 00170 L6474_ALARM_EN_UNDERVOLTAGE |\ 00171 L6474_ALARM_EN_SW_TURN_ON |\ 00172 L6474_ALARM_EN_WRONG_NPERF_CMD) 00173 00174 /// Step selection settings for device 0 (STEP_SEL field of STEP_MODE register) 00175 #define L6474_CONF_PARAM_STEP_SEL_DEVICE_0 (L6474_STEP_SEL_1_16) 00176 /// Step selection settings for device 1 (STEP_SEL field of STEP_MODE register) 00177 #define L6474_CONF_PARAM_STEP_SEL_DEVICE_1 (L6474_STEP_SEL_1_16) 00178 /// Step selection settings for device 2 (STEP_SEL field of STEP_MODE register) 00179 #define L6474_CONF_PARAM_STEP_SEL_DEVICE_2 (L6474_STEP_SEL_1_16) 00180 00181 /// Synch. selection settings for device 0 (SYNC_SEL field of STEP_MODE register) 00182 #define L6474_CONF_PARAM_SYNC_SEL_DEVICE_0 (L6474_SYNC_SEL_1_2) 00183 /// Synch. selection settings for device 1 (SYNC_SEL field of STEP_MODE register) 00184 #define L6474_CONF_PARAM_SYNC_SEL_DEVICE_1 (L6474_SYNC_SEL_1_2) 00185 /// Synch. selection settings for device 2 (SYNC_SEL field of STEP_MODE register) 00186 #define L6474_CONF_PARAM_SYNC_SEL_DEVICE_2 (L6474_SYNC_SEL_1_2) 00187 00188 /// Target Swicthing Period for device 0 (field TOFF of CONFIG register) 00189 #define L6474_CONF_PARAM_TOFF_DEVICE_0 (L6474_CONFIG_TOFF_044us) 00190 /// Target Swicthing Period for device 1 (field TOFF of CONFIG register) 00191 #define L6474_CONF_PARAM_TOFF_DEVICE_1 (L6474_CONFIG_TOFF_044us) 00192 /// Target Swicthing Period for device 2 (field TOFF of CONFIG register) 00193 #define L6474_CONF_PARAM_TOFF_DEVICE_2 (L6474_CONFIG_TOFF_044us) 00194 00195 /// Slew rate for device 0 (POW_SR field of CONFIG register) 00196 #define L6474_CONF_PARAM_SR_DEVICE_0 (L6474_CONFIG_SR_320V_us) 00197 /// Slew rate for device 1 (POW_SR field of CONFIG register) 00198 #define L6474_CONF_PARAM_SR_DEVICE_1 (L6474_CONFIG_SR_320V_us) 00199 /// Slew rate for device 2 (POW_SR field of CONFIG register) 00200 #define L6474_CONF_PARAM_SR_DEVICE_2 (L6474_CONFIG_SR_320V_us) 00201 00202 /// Over current shutwdown enabling for device 0 (OC_SD field of CONFIG register) 00203 #define L6474_CONF_PARAM_OC_SD_DEVICE_0 (L6474_CONFIG_OC_SD_ENABLE) 00204 /// Over current shutwdown enabling for device 1 (OC_SD field of CONFIG register) 00205 #define L6474_CONF_PARAM_OC_SD_DEVICE_1 (L6474_CONFIG_OC_SD_ENABLE) 00206 /// Over current shutwdown enabling for device 2 (OC_SD field of CONFIG register) 00207 #define L6474_CONF_PARAM_OC_SD_DEVICE_2 (L6474_CONFIG_OC_SD_ENABLE) 00208 00209 /// Torque regulation method for device 0 (EN_TQREG field of CONFIG register) 00210 #define L6474_CONF_PARAM_TQ_REG_DEVICE_0 (L6474_CONFIG_EN_TQREG_TVAL_USED) 00211 ///Torque regulation method for device 1 (EN_TQREG field of CONFIG register) 00212 #define L6474_CONF_PARAM_TQ_REG_DEVICE_1 (L6474_CONFIG_EN_TQREG_TVAL_USED) 00213 /// Torque regulation method for device 2 (EN_TQREG field of CONFIG register) 00214 #define L6474_CONF_PARAM_TQ_REG_DEVICE_2 (L6474_CONFIG_EN_TQREG_TVAL_USED) 00215 00216 /// Clock setting for device 0 (OSC_CLK_SEL field of CONFIG register) 00217 #define L6474_CONF_PARAM_CLOCK_SETTING_DEVICE_0 (L6474_CONFIG_INT_16MHZ) 00218 /// Clock setting for device 1 (OSC_CLK_SEL field of CONFIG register) 00219 #define L6474_CONF_PARAM_CLOCK_SETTING_DEVICE_1 (L6474_CONFIG_INT_16MHZ) 00220 /// Clock setting for device 2 (OSC_CLK_SEL field of CONFIG register) 00221 #define L6474_CONF_PARAM_CLOCK_SETTING_DEVICE_2 (L6474_CONFIG_INT_16MHZ) 00222 00223 #ifdef __cplusplus 00224 } 00225 #endif 00226 00227 #endif /* __L6474_TARGET_CONFIG_H */ 00228 00229 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
Generated on Fri Jul 15 2022 12:57:41 by 1.7.2