![]() |
![]() |
|
MSPM0G1X0X_G3X0X Driver Library
2.05.01.00
|
Math Accelerator Driver Library.
#include <stdbool.h>#include <stdint.h>#include <ti/devices/msp/msp.h>#include <ti/driverlib/dl_common.h>
Go to the source code of this file.
Data Structures | |
| struct | DL_MathACL_operationConfig |
| Configuration struct for DL_MathACL_configOperation. More... | |
Macros | |
| #define | DL_MATHACL_STATUS_UNDERFLOW (MATHACL_STATUS_UF_UNDERFLOW) |
| MATHACL operation underflow status. | |
| #define | DL_MATHACL_STATUS_UF_MASK (MATHACL_STATUS_UF_MASK) |
| MATHACL generic underflow bitmask for MATHACL Status register comparison. | |
| #define | DL_MATHACL_STATUS_OVERFLOW (MATHACL_STATUS_OVF_OVERFLOW) |
| MATHACL operation overflow status. | |
| #define | DL_MATHACL_STATUS_OVF_MASK (MATHACL_STATUS_OVF_MASK) |
| MATHACL generic overflow bitmask for MATHACL Status register comparison. | |
| #define | DL_MATHACL_STATUS_ERR_DIVBY0 (MATHACL_STATUS_ERR_DIVBY0) |
| MATHACL divide by error status. | |
| #define | DL_MATHACL_STATUS_ERR_MASK (MATHACL_STATUS_ERR_MASK) |
| MATHACL generic error bits mask. | |
| #define | DL_MathACL_startSinCosOperation(MATHACL, config, op) DL_MathACL_configOperation(MATHACL, config, op, 0) |
| Alias for one-shot sin/cos operation. | |
| #define | DL_MathACL_startArcTan2Operation(MATHACL, config, x, y) DL_MathACL_configOperation(MATHACL, config, x, y) |
| Alias for one-shot inverse 4-quadrant arctan operation. | |
| #define | DL_MathACL_startArcTanOperation(MATHACL, config, x) DL_MathACL_configOperation(MATHACL, config, x, 0) |
| Alias for one-shot arctan operation. | |
| #define | DL_MathACL_startDivOperation(MATHACL, config, num, den) DL_MathACL_configOperation(MATHACL, config, num, den) |
| Alias for one-shot divide. | |
| #define | DL_MathACL_startSqrtOperation(MATHACL, config, sqrt) DL_MathACL_configOperation(MATHACL, config, sqrt, 0) |
| Alias for one-shot square root operation. | |
| #define | DL_MathACL_startMpyOperation(MATHACL, config, multicand, multiplier) DL_MathACL_configOperation(MATHACL, config, multicand, multiplier) |
| Alias for one-shot multiply operation. | |
Enumerations | |
| enum | DL_MATHACL_OP_TYPE { DL_MATHACL_OP_TYPE_SINCOS = MATHACL_CTL_FUNC_SINCOS, DL_MATHACL_OP_TYPE_ARCTAN2 = MATHACL_CTL_FUNC_ATAN2, DL_MATHACL_OP_TYPE_DIV = MATHACL_CTL_FUNC_DIV, DL_MATHACL_OP_TYPE_SQRT = MATHACL_CTL_FUNC_SQRT, DL_MATHACL_OP_TYPE_MPY_32 = MATHACL_CTL_FUNC_MPY32, DL_MATHACL_OP_TYPE_SQUARE_32 = MATHACL_CTL_FUNC_SQUARE32, DL_MATHACL_OP_TYPE_MPY_64 = MATHACL_CTL_FUNC_MPY64, DL_MATHACL_OP_TYPE_SQUARE_64 = MATHACL_CTL_FUNC_SQUARE64, DL_MATHACL_OP_TYPE_MAC = MATHACL_CTL_FUNC_MAC, DL_MATHACL_OP_TYPE_SAC = MATHACL_CTL_FUNC_SAC } |
| enum | DL_MATHACL_Q_TYPE { DL_MATHACL_Q_TYPE_Q0 = MATHACL_CTL_QVAL_Q0, DL_MATHACL_Q_TYPE_Q1 = MATHACL_CTL_QVAL_Q1, DL_MATHACL_Q_TYPE_Q2 = MATHACL_CTL_QVAL_Q2, DL_MATHACL_Q_TYPE_Q3 = MATHACL_CTL_QVAL_Q3, DL_MATHACL_Q_TYPE_Q4 = MATHACL_CTL_QVAL_Q4, DL_MATHACL_Q_TYPE_Q5 = MATHACL_CTL_QVAL_Q5, DL_MATHACL_Q_TYPE_Q6 = MATHACL_CTL_QVAL_Q6, DL_MATHACL_Q_TYPE_Q7 = MATHACL_CTL_QVAL_Q7, DL_MATHACL_Q_TYPE_Q8 = MATHACL_CTL_QVAL_Q8, DL_MATHACL_Q_TYPE_Q9 = MATHACL_CTL_QVAL_Q9, DL_MATHACL_Q_TYPE_Q10 = MATHACL_CTL_QVAL_Q10, DL_MATHACL_Q_TYPE_Q11 = MATHACL_CTL_QVAL_Q11, DL_MATHACL_Q_TYPE_Q12 = MATHACL_CTL_QVAL_Q12, DL_MATHACL_Q_TYPE_Q13 = MATHACL_CTL_QVAL_Q13, DL_MATHACL_Q_TYPE_Q14 = MATHACL_CTL_QVAL_Q14, DL_MATHACL_Q_TYPE_Q15 = MATHACL_CTL_QVAL_Q15, DL_MATHACL_Q_TYPE_Q16 = MATHACL_CTL_QVAL_Q16, DL_MATHACL_Q_TYPE_Q17 = MATHACL_CTL_QVAL_Q17, DL_MATHACL_Q_TYPE_Q18 = MATHACL_CTL_QVAL_Q18, DL_MATHACL_Q_TYPE_Q19 = MATHACL_CTL_QVAL_Q19, DL_MATHACL_Q_TYPE_Q20 = MATHACL_CTL_QVAL_Q20, DL_MATHACL_Q_TYPE_Q21 = MATHACL_CTL_QVAL_Q21, DL_MATHACL_Q_TYPE_Q22 = MATHACL_CTL_QVAL_Q22, DL_MATHACL_Q_TYPE_Q23 = MATHACL_CTL_QVAL_Q23, DL_MATHACL_Q_TYPE_Q24 = MATHACL_CTL_QVAL_Q24, DL_MATHACL_Q_TYPE_Q25 = MATHACL_CTL_QVAL_Q25, DL_MATHACL_Q_TYPE_Q26 = MATHACL_CTL_QVAL_Q26, DL_MATHACL_Q_TYPE_Q27 = MATHACL_CTL_QVAL_Q27, DL_MATHACL_Q_TYPE_Q28 = MATHACL_CTL_QVAL_Q28, DL_MATHACL_Q_TYPE_Q29 = MATHACL_CTL_QVAL_Q29, DL_MATHACL_Q_TYPE_Q30 = MATHACL_CTL_QVAL_Q30, DL_MATHACL_Q_TYPE_Q31 = MATHACL_CTL_QVAL_Q31 } |
| enum | DL_MATHACL_OPSIGN { DL_MATHACL_OPSIGN_UNSIGNED = MATHACL_CTL_OPTYPE_UNSIGNED, DL_MATHACL_OPSIGN_SIGNED = MATHACL_CTL_OPTYPE_SIGNED } |
Functions | |
| __STATIC_INLINE void | DL_MathACL_enablePower (MATHACL_Regs *mathacl) |
| Enables the Peripheral Write Enable (PWREN) register for the MATHACL. More... | |
| __STATIC_INLINE void | DL_MathACL_disablePower (MATHACL_Regs *mathacl) |
| Disables the Peripheral Write Enable (PWREN) register for the MATHACL. More... | |
| __STATIC_INLINE bool | DL_MathACL_isPowerEnabled (MATHACL_Regs *mathacl) |
| Returns if the Peripheral Write Enable (PWREN) register for the MATHACL is enabled. More... | |
| __STATIC_INLINE void | DL_MathACL_reset (MATHACL_Regs *mathacl) |
| Resets the MATHACL module. More... | |
| __STATIC_INLINE bool | DL_MathACL_isReset (const MATHACL_Regs *mathacl) |
| Returns if MATHACL peripheral was reset. More... | |
| __STATIC_INLINE void | DL_MathACL_enableSaturation (MATHACL_Regs *mathacl) |
| Enable saturation. More... | |
| __STATIC_INLINE void | DL_MathACL_disableSaturation (MATHACL_Regs *mathacl) |
| Disable saturation. More... | |
| __STATIC_INLINE bool | DL_MathACL_isSaturationEnabled (const MATHACL_Regs *mathacl) |
| Returns if saturation is enabled. More... | |
| __STATIC_INLINE void | DL_MathACL_setOperandOne (MATHACL_Regs *mathacl, uint32_t op) |
| Load Operand one into the math accelerator. More... | |
| __STATIC_INLINE void | DL_MathACL_setOperandTwo (MATHACL_Regs *mathacl, uint32_t op) |
| Load Operand two into the math accelerator. More... | |
| __STATIC_INLINE uint32_t | DL_MathACL_getResultOne (const MATHACL_Regs *mathacl) |
| Returns MATHACL result one register. More... | |
| __STATIC_INLINE uint32_t | DL_MathACL_getResultTwo (const MATHACL_Regs *mathacl) |
| Returns MATHACL result two register. More... | |
| __STATIC_INLINE uint32_t | DL_MathACL_getStatus (const MATHACL_Regs *mathacl) |
| Returns MATHACL operation status. More... | |
| __STATIC_INLINE void | DL_MathACL_clearOverflowStatus (MATHACL_Regs *mathacl) |
| Clear the overflow status bit. More... | |
| __STATIC_INLINE void | DL_MathACL_clearUnderflowStatus (MATHACL_Regs *mathacl) |
| Clear the underflow status bit. More... | |
| __STATIC_INLINE void | DL_MathACL_clearErrorStatus (MATHACL_Regs *mathacl) |
| Clear the error status bit. More... | |
| __STATIC_INLINE void | DL_MathACL_waitForOperation (const MATHACL_Regs *mathacl) |
| Block until MATHACL_STATUS_BUSY_DONE is active in MATHACL. More... | |
| void | DL_MathACL_configOperation (MATHACL_Regs *mathacl, const DL_MathACL_operationConfig *opConfig, uint32_t op1, uint32_t op2) |
| Configure and execute a Math accelerator operation. More... | |
| __STATIC_INLINE void | DL_MathACL_clearResultOne (MATHACL_Regs *mathacl) |
| Clears the RES1 register. More... | |
| __STATIC_INLINE void | DL_MathACL_clearResultTwo (MATHACL_Regs *mathacl) |
| Clears the RES2 register. More... | |
| __STATIC_INLINE void | DL_MathACL_clearResults (MATHACL_Regs *mathacl) |
| Clears the RES1 and RES2 registers. More... | |