MSPM0G1X0X_G3X0X Driver Library  2.05.01.00
Data Structures | Macros | Enumerations | Functions
dl_mathacl.h File Reference

Detailed Description

Math Accelerator Driver Library.


#include <stdbool.h>
#include <stdint.h>
#include <ti/devices/msp/msp.h>
#include <ti/driverlib/dl_common.h>
Include dependency graph for dl_mathacl.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...
 
© Copyright 1995-2025, Texas Instruments Incorporated. All rights reserved.
Trademarks | Privacy policy | Terms of use | Terms of sale