diff --git a/docs_src/docs/api_guide/components/pruicss_pwm/pruicss_pwm.md b/docs_src/docs/api_guide/components/pruicss_pwm/pruicss_pwm.md index 01e3f7b..95fd816 100644 --- a/docs_src/docs/api_guide/components/pruicss_pwm/pruicss_pwm.md +++ b/docs_src/docs/api_guide/components/pruicss_pwm/pruicss_pwm.md @@ -1,8 +1,8 @@ -# PRUICSS PWM {#PRUICSS_PWM} +# PRU-ICSS PWM {#PRUICSS_PWM} [TOC] -The PRUICSS PWM driver provides API to program Intial, Trip, Active states of PWM outputs. +The PRU-ICSS PWM driver provides API to program Intial, Trip, Active states of PWM outputs. Below are the high level features supported by the driver. ## Features Supported @@ -28,13 +28,13 @@ SysConfig can be used to configure things mentioned below: - Generate PWM outputs with distinct time period, which means all the PWM outputs will be in sync with respected to each other, without re-programming. -- Dead band(it will be added in future release) +- Dead band(it will be added in future release) ## Important Note PRUICSS has one pwm module, which has four pwm sets (PWM0, PWM1, PWM2, PWM3) -Each Set has six signals (A0,A1,A2,B0,B1,B2) With Reference to Technical Reference Manual, Pwm six signals(A0,A1,A2,B0,B1,B2) Naming convention is is slightly different as mentioned in \ref PRUICSS_PWM_API - +Each Set has six signals (A0,A1,A2,B0,B1,B2) With Reference to Technical Reference Manual, Pwm six signals(A0,A1,A2,B0,B1,B2) Naming convention is is slightly different as mentioned in \ref PRUICSS_PWM_API + ## Example Usage \ref EXAMPLE_PRUICSS_PWM_DUTY_CYCLE diff --git a/docs_src/docs/api_guide/components/transforms/transforms.md b/docs_src/docs/api_guide/components/transforms/transforms.md index 521698e..386ef84 100644 --- a/docs_src/docs/api_guide/components/transforms/transforms.md +++ b/docs_src/docs/api_guide/components/transforms/transforms.md @@ -67,16 +67,17 @@ A benchmark on R5F core has been conducted to observe the following results when - \* Note both PARK and IPARK does not include trigonometric calculations of phasor. For R5F core, it's recommened to leverage the fast ti_arm_sincos() function found in ti_arm_trig/mathlib of MCU+ SDK. + \note both PARK and IPARK does not include trigonometric calculations of phasor. For R5F core, it's recommened to leverage the fast ti_arm_sincos() function found in ti_arm_trig/mathlib of MCU+ SDK. - Ran with TI Clang Compiler v3.2.0.LTS, with -Os flag and functions force-inlined onto the benchmarking function placed in TCM memory. Obtained the average result from 600 consecutive loops of running transform functions with DPL CycleCountP, mimicking the usage of a control loop. - Actual result may vary depending on provided datasets and memory configuration. For R5F, it is recommended for users to map control loops to TCM for the best performance. + ## Provided Examples The following examples has been provided to demonstrate transformation module: - \ref EXAMPLES_TRANSFORMS_TEST -## Additional References {#DCL_ADDITIONAL_REFERENCES} +## Additional References {#TRANSFORMS_ADDITIONAL_REFERENCES} N/A diff --git a/docs_src/docs/api_guide/device/am243x/includes.cfg b/docs_src/docs/api_guide/device/am243x/includes.cfg index a515d42..a0a67a9 100644 --- a/docs_src/docs/api_guide/device/am243x/includes.cfg +++ b/docs_src/docs/api_guide/device/am243x/includes.cfg @@ -14,6 +14,7 @@ INPUT += $(MOTOR_CONTROL_SDK_PATH)/docs_src/docs/api_guide/device/$(DEVICE)/rele @INCLUDE = $(MOTOR_CONTROL_SDK_PATH)/docs_src/docs/api_guide/device/$(DEVICE)/examples.cfg @INCLUDE = $(MOTOR_CONTROL_SDK_PATH)/docs_src/docs/api_guide/device/$(DEVICE)/components.cfg @INCLUDE = $(MOTOR_CONTROL_SDK_PATH)/docs_src/docs/api_guide/components/dcl/dcl.cfg +@INCLUDE = $(MOTOR_CONTROL_SDK_PATH)/docs_src/docs/api_guide/components/transforms/transforms.cfg # Used to selectively pick DEVICE specific sections within .md files ENABLED_SECTIONS = SOC_AM243X diff --git a/docs_src/docs/api_guide/device/am263x/includes.cfg b/docs_src/docs/api_guide/device/am263x/includes.cfg index b0b26e9..42fcfb0 100644 --- a/docs_src/docs/api_guide/device/am263x/includes.cfg +++ b/docs_src/docs/api_guide/device/am263x/includes.cfg @@ -14,6 +14,7 @@ INPUT += $(MOTOR_CONTROL_SDK_PATH)/docs_src/docs/api_guide/device/$(DEVICE)/rele @INCLUDE = $(MOTOR_CONTROL_SDK_PATH)/docs_src/docs/api_guide/device/$(DEVICE)/examples.cfg @INCLUDE = $(MOTOR_CONTROL_SDK_PATH)/docs_src/docs/api_guide/device/$(DEVICE)/components.cfg @INCLUDE = $(MOTOR_CONTROL_SDK_PATH)/docs_src/docs/api_guide/components/dcl/dcl.cfg +@INCLUDE = $(MOTOR_CONTROL_SDK_PATH)/docs_src/docs/api_guide/components/transforms/transforms.cfg # Used to selectively pick DEVICE specific sections within .md files ENABLED_SECTIONS = SOC_AM263X diff --git a/docs_src/docs/api_guide/doxygen.cfg b/docs_src/docs/api_guide/doxygen.cfg index c75d24e..acb56f2 100644 --- a/docs_src/docs/api_guide/doxygen.cfg +++ b/docs_src/docs/api_guide/doxygen.cfg @@ -21,7 +21,7 @@ # could be handy for archiving the generated documentation or if some version # control system is used. -PROJECT_NUMBER = 09.00.00 +PROJECT_NUMBER = 09.01.00 # Using the PROJECT_BRIEF tag one can provide an optional one line description # for a project that appears at the top of each page and should give viewer a @@ -1908,7 +1908,7 @@ ENABLE_PREPROCESSING = YES # The default value is: NO. # This tag requires that the tag ENABLE_PREPROCESSING is set to YES. -MACRO_EXPANSION = NO +MACRO_EXPANSION = YES # If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES then # the macro expansion is limited to the macros specified with the PREDEFINED and @@ -1916,7 +1916,7 @@ MACRO_EXPANSION = NO # The default value is: NO. # This tag requires that the tag ENABLE_PREPROCESSING is set to YES. -EXPAND_ONLY_PREDEF = NO +EXPAND_ONLY_PREDEF = YES # If the SEARCH_INCLUDES tag is set to YES the includes files in the # INCLUDE_PATH will be searched if a #include is found. @@ -1951,7 +1951,8 @@ INCLUDE_FILE_PATTERNS = *.h PREDEFINED = PTCP_SUPPORT \ IRT_LEGACY_STARTUP_SUPPORT \ MRP_SUPPORT \ - WATCHDOG_SUPPORT + WATCHDOG_SUPPORT \ + __attribute__(x)= # If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then this # tag can be used to specify a list of macro names that should be expanded. The diff --git a/source/current_sense/sdfm/include/sdfm_api.h b/source/current_sense/sdfm/include/sdfm_api.h index c142779..800f835 100644 --- a/source/current_sense/sdfm/include/sdfm_api.h +++ b/source/current_sense/sdfm/include/sdfm_api.h @@ -69,7 +69,7 @@ extern "C" { #define PRUx_DMEM_BASE_ADD (0x00) #define RTUx_DMEM_BASE_ADD (0x200) -#define TXPRUx_DMEM_BASE_ADD (0x400) +#define TXPRUx_DMEM_BASE_ADD (0x400) /* Number of SD channels */ #define NUM_SD_CH ( ICSSG_NUM_SD_CH ) /* ICSSG INTC event */ @@ -84,7 +84,7 @@ typedef SDFM *sdfm_handle; * * \param[in] pru_id Pru slice id * \param[in] coreId Pru core id - * + * * \retval sdfm SDFM instance handle * */ @@ -292,15 +292,16 @@ uint32_t SDFM_getFilterData(sdfm_handle h_sdfm,uint8_t ch); void SDFM_setFilterOverSamplingRatio(sdfm_handle h_sdfm, uint16_t nc_osr); /** * - * \brief Return Firmware version + * \brief Return Firmware version * * \param[in] h_sdfm SDFM handle - * + * * \retval firmwareVersion release vesrion of firmware * */ uint32_t SDFM_getFirmwareVersion(sdfm_handle h_sdfm); - /* + +/** * \brief This API Configure Fast detect block fields. * * \param[in] h_sdfm SDFM handle @@ -312,47 +313,50 @@ uint32_t SDFM_getFirmwareVersion(sdfm_handle h_sdfm); */ void SDFM_configFastDetect(sdfm_handle h_sdfm, uint8_t ch, uint8_t *fdParms); -/* +/** * \brief This API returns the fast detect error status for specified SDFM channel number. * * \param[in] h_sdfm SDFM handle - * \param[in] \param[in] chNum SDFM channel number : Channel0-Channel8 + * \param[in] chNum SDFM channel number : Channel0-Channel8 * - * \retval stauts of fd error: 1 means error available & 0 means no error, SystemP_FAILURE on not expected API parameters + * \retval stauts of fd error: 1 means error available & 0 means no error, SystemP_FAILURE on not expected API parameters * */ -int32_t SDFM_getFastDetectErrorStatus(sdfm_handle h_sdfm, uint8_t chNum); +int32_t SDFM_getFastDetectErrorStatus(sdfm_handle h_sdfm, uint8_t chNum); -/* +/** * \brief Clear PWM trip status of the corresponding PWM trip zone block for specified SDFM channel number. * * \param[in] h_sdfm SDFM handle - * \param[in] chNum SDFM channel number : Channel0-Channel8 + * \param[in] chNum SDFM channel number : Channel0-Channel8 * - * \retval SystemP_SUCCESS on success, SystemP_FAILURE on error or not expected API parameters + * \retval SystemP_SUCCESS on success, SystemP_FAILURE on error or not expected API parameters */ -int32_t SDFM_clearPwmTripStatus(sdfm_handle h_sdfm, uint8_t chNum); +int32_t SDFM_clearPwmTripStatus(sdfm_handle h_sdfm, uint8_t chNum); + /** * - * \brief This API enables continuous normal current sampling + * \brief This API enables continuous normal current sampling * * \param[in] h_sdfm SDFM handle - * + * * */ void SDFM_enableContinuousNormalCurrent(sdfm_handle h_sdfm); + /** * - * \brief This API enables load share mode + * \brief This API enables load share mode * * \param[in] h_sdfm SDFM handle - * \param[in] sliceID slice ID + * \param[in] sliceId slice ID * */ void SDFM_enableLoadShareMode(sdfm_handle h_sdfm, uint8_t sliceId); + /** * - * \brief Measure Clock phase compensation + * \brief Measure Clock phase compensation * * \param[in] h_sdfm SDFM handle * \param[in] clEdg Clock polarity: 1 -> falling edge, 0 -> raising edge @@ -388,7 +392,7 @@ uint8_t SDFM_getHighThresholdStatus(sdfm_handle h_sdfm, uint8_t chNum); * \param[in] h_sdfm SDFM handle * \param[in] chNum SDFM channel number : Channel0-Channel8 * - * \retval SystemP_SUCCESS on success, SystemP_FAILURE on not expected API parameters + * \retval SystemP_SUCCESS on success, SystemP_FAILURE on not expected API parameters */ int32_t SDFM_clearOverCurrentError(sdfm_handle h_sdfm, uint8_t chNum); @@ -397,8 +401,8 @@ int32_t SDFM_clearOverCurrentError(sdfm_handle h_sdfm, uint8_t chNum); * \brief This API enables zero cross detection for specified SDFM channel number * \param[in] h_sdfm SDFM handle * \param[in] chNum SDFM channel number : Channel0-Channel8 - * \param[in] zcThr zero cross threshold - * + * \param[in] zcThr zero cross threshold + * */ void SDFM_enableZeroCrossDetection(sdfm_handle h_sdfm, uint8_t chNum, uint32_t zcThr); @@ -408,7 +412,7 @@ void SDFM_enableZeroCrossDetection(sdfm_handle h_sdfm, uint8_t chNum, uint32_t z * \param[in] h_sdfm SDFM handle * \param[in] chNum SDFM channel number : Channel0-Channel8 * - * \retval Status of zero cross + * \retval Status of zero cross */ uint8_t SDFM_getZeroCrossThresholdStatus(sdfm_handle h_sdfm, uint8_t chNum); @@ -417,8 +421,8 @@ uint8_t SDFM_getZeroCrossThresholdStatus(sdfm_handle h_sdfm, uint8_t chNum); * \brief This API disbales zero cross detection for specified SDFM channel number * \param[in] h_sdfm SDFM handle * \param[in] chNum SDFM channel number : Channel0-Channel8 - * - * + * + * */ void SDFM_disableZeroCrossDetection(sdfm_handle h_sdfm, uint8_t chNum); /** @} */ diff --git a/source/position_sense/hdsl/include/hdsl_drv.h b/source/position_sense/hdsl/include/hdsl_drv.h index cdf3878..a130bef 100644 --- a/source/position_sense/hdsl/include/hdsl_drv.h +++ b/source/position_sense/hdsl/include/hdsl_drv.h @@ -461,7 +461,7 @@ int32_t HDSL_read_pc_short_msg(HDSL_Handle hdslHandle, uint8_t addr, uint8_t *da * \param[in] addr 10 bit address for long message * \param[in] offsetEnable Addressing with offset enable/disable from \ref HDSL_LongMessageAddrOffsetModes * \param[in] addrType Addressing Type from \ref HDSL_LongMessageAddrTypes - * \param[in] length Length from \ref HDSL_LongMessageLength + * \param[in] length Length from \ref HDSL_LongMessageLengths * \param[in] offset 15 bit address offset for long message (if offset is enabled in offsetEnable parameter) * \param[in] timeout Timeout in microseconds * @@ -477,7 +477,7 @@ int32_t HDSL_write_pc_long_msg(HDSL_Handle hdslHandle, uint16_t addr, uint8_t of * \param[in] addr 10 bit address for long message * \param[in] offsetEnable Addressing with offset enable/disable from \ref HDSL_LongMessageAddrOffsetModes * \param[in] addrType Addressing Type from \ref HDSL_LongMessageAddrTypes - * \param[in] length Length from \ref HDSL_LongMessageLength + * \param[in] length Length from \ref HDSL_LongMessageLengths * \param[in] offset 15 bit address offset for long message * \param[in] timeout Timeout in microseconds * diff --git a/source/transforms/svgen/svgen.h b/source/transforms/svgen/svgen.h index 55c9bb1..ca56c20 100644 --- a/source/transforms/svgen/svgen.h +++ b/source/transforms/svgen/svgen.h @@ -40,7 +40,7 @@ extern "C" /** * \addtogroup TRANSFORMS_API_MODULE APIs for motor transformations - * \@{ + * @{ * * \file svgen.h * \brief Contains svpwm generation implementation @@ -55,7 +55,7 @@ typedef float float32_t; //! \brief Implements a SVM that subtracts common-mode term to achieve SV modulation. -//! \param[in] oneOverDcBUS_invV The inverse dc bus voltage scale factor, used to convert inputs to pu, use 1 if units are already in pu. +//! \param[in] oneOverDcBus_invV The inverse dc bus voltage scale factor, used to convert inputs to pu, use 1 if units are already in pu. //! \param[in] inValpha Input voltage value in alpha-axis, V or pu //! \param[in] inVbeta Input voltage value in beta-axis, V or pu //! \param[in] pVa Output pointer to voltage value in a-axis, pu @@ -121,7 +121,7 @@ void SVGEN_runCom(const float32_t oneOverDcBus_invV, const float32_t inValpha, c } //! \brief Implements a DPWM that uses maximum modulation. -//! \param[in] oneOverDcBUS_invV The inverse dc bus voltage scale factor, used to convert inputs to pu, use 1 if units are already in pu. +//! \param[in] oneOverDcBus_invV The inverse dc bus voltage scale factor, used to convert inputs to pu, use 1 if units are already in pu. //! \param[in] inValpha Input voltage value in alpha-axis, V or pu //! \param[in] inVbeta Input voltage value in beta-axis, V or pu //! \param[in] pVa Output pointer to voltage value in a-axis, pu @@ -176,7 +176,7 @@ void SVGEN_runMax(const float32_t oneOverDcBus_invV, const float32_t inValpha, c } //! \brief Implements a DPWM that uses minimum modulation. -//! \param[in] oneOverDcBUS_invV The inverse dc bus voltage scale factor, used to convert inputs to pu, use 1 if units are already in pu. +//! \param[in] oneOverDcBus_invV The inverse dc bus voltage scale factor, used to convert inputs to pu, use 1 if units are already in pu. //! \param[in] inValpha Input voltage value in alpha-axis, V or pu //! \param[in] inVbeta Input voltage value in beta-axis, V or pu //! \param[in] pVa Output pointer to voltage value in a-axis, pu