Public Types |
| enum | TlePinCS {
TLE94112_PIN_CS0 = RPI_V2_GPIO_P1_24
, TLE94112_PIN_CS1 = RPI_V2_GPIO_P1_26
, TLE94112_PIN_CS2 = RPI_V2_GPIO_P1_22
, TLE94112_PIN_CS3 = RPI_V2_GPIO_P1_15
,
TLE94112_PIN_EN = RPI_V2_GPIO_P1_37
} |
| | This enum is used to expose the CS-Pins of the Raspberry-Pi to the Pybind11 wrapper. More...
|
| |
| enum | HalfBridge {
TLE_NOHB = 0
, TLE_HB1
, TLE_HB2
, TLE_HB3
,
TLE_HB4
, TLE_HB5
, TLE_HB6
, TLE_HB7
,
TLE_HB8
, TLE_HB9
, TLE_HB10
, TLE_HB11
,
TLE_HB12
} |
| | enum for the halfbridges on a TLE94112 More...
|
| |
| enum | PWMChannel { TLE_NOPWM = 0
, TLE_PWM1
, TLE_PWM2
, TLE_PWM3
} |
| | enum for the PWM channels of a halfbridge on TLE94112 More...
|
| |
| enum | HBState { TLE_FLOATING = 0b00
, TLE_LOW = 0b01
, TLE_HIGH = 0b10
} |
| | enum for the output states of a halfbridge More...
|
| |
| enum | HBOCState { TLE_NONE = 0b00
, TLE_LOWSIDE = 0b01
, TLE_HIGHSIDE = 0b10
} |
| | enum for the overcurrent states of a halfbridge More...
|
| |
| enum | PWMFreq { TLE_FREQOFF = 0b00
, TLE_FREQ80HZ
, TLE_FREQ100HZ
, TLE_FREQ200HZ
} |
| | enum for the frequencies of a PWM channel More...
|
| |
| enum | DiagFlag {
TLE_SPI_ERROR = 0x80
, TLE_LOAD_ERROR = 0x40
, TLE_UNDER_VOLTAGE = 0x20
, TLE_OVER_VOLTAGE = 0x10
,
TLE_POWER_ON_RESET = 0x08
, TLE_TEMP_SHUTDOWN = 0x04
, TLE_TEMP_WARNING = 0x02
} |
| | enum for the flags in the register SYS_DIAG1 More...
|
| |
Public Member Functions |
| | Tle94112Rpi (void) |
| | Construct a new Tle94112Rpi::Tle94112Rpi object with default pin assignment.
|
| |
| | Tle94112Rpi (uint8_t csPin) |
| | constructor with individual pin assignment
|
| |
| void | begin (void) |
| | enables and initializes the TLE94112
|
| |
| void | end (void) |
| | deactivates all outputs and disables the TLE94112
|
| |
| void | configHB (HalfBridge hb, HBState state, PWMChannel pwm) |
| | sets the output state and the PWM channel for a halfbridge (only for passive freewheeling)
|
| |
| void | configHB (HalfBridge hb, HBState state, PWMChannel pwm, uint8_t activeFW) |
| | sets the output state and the PWM channel for a halfbridge (allows active freewheeling)
|
| |
| void | configPWM (PWMChannel pwm, PWMFreq freq, uint8_t dutyCycle) |
| | sets the frequency and duty cycle for a PWM channel
|
| |
| uint8_t | setLedMode (HalfBridge hb, uint8_t active) |
| | sets LED mode on compatible half bridges (half bridge 1 or 2 of TLE94112)
|
| |
| uint8_t | getSysDiagnosis () |
| | returns a diagnosis value for error detection
|
| |
| uint8_t | getSysDiagnosis (DiagFlag mask) |
| | shows if errors of a specific type have occurred
|
| |
| uint8_t | getSysDiagnosis (uint8_t mask) |
| | shows if errors of a specific type have occurred
|
| |
| uint8_t | getHBOverCurrent (HalfBridge hb) |
| | gets the overcurrent error flag bit for a specific halfbridge
|
| |
| uint8_t | getHBOpenLoad (HalfBridge hb) |
| | gets the openload error flag bit for a specific halfbridge
|
| |
| void | clearErrors () |
| | clears all clearable error flags
|
| |
| void | directWriteReg (uint8_t reg, uint8_t data) |
| | writes data bits directly to a register of the TLE94112
|
| |
| uint8_t | readStatusReg (uint8_t reg) |
| | reads one byte from a status register of the TLE94112
|
| |
Data Fields |
| SPIC * | sBus |
| |
| GPIOC * | cs |
| |
| GPIOC * | en |
| |
| Timer * | timer |
| |
Static Public Attributes |
| static const uint8_t | TLE_STATUS_OK = 0U |
| | Reference value of Status Register.
|
| |
Protected Types |
| enum | CtrlRegisters {
HB_ACT_1_CTRL = 0
, HB_ACT_2_CTRL
, HB_ACT_3_CTRL
, HB_MODE_1_CTRL
,
HB_MODE_2_CTRL
, HB_MODE_3_CTRL
, PWM_CH_FREQ_CTRL
, PWM1_DC_CTRL
,
PWM2_DC_CTRL
, PWM3_DC_CTRL
, FW_OL_CTRL
, FW_CTRL
} |
| | enum for the control registers in a TLE94112 More...
|
| |
| enum | StatusRegisters {
SYS_DIAG1 = 0
, OP_ERROR_1_STAT
, OP_ERROR_2_STAT
, OP_ERROR_3_STAT
,
OP_ERROR_4_STAT
, OP_ERROR_5_STAT
, OP_ERROR_6_STAT
} |
| | enum for the status registers in a TLE94112 More...
|
| |
Protected Member Functions |
| uint8_t | readStatusReg (uint8_t reg, uint8_t mask, uint8_t shift) |
| | reads some bits from a status register of the TLE94112
|
| |
| void | init (void) |
| | initializes this object, automatically called by begin()
|
| |
| void | _configHB (uint8_t hb, uint8_t state, uint8_t pwm, uint8_t activeFW) |
| | sets the output state and the PWM channel for a halfbridge automatically called by the public version of configHB
|
| |
| void | _configPWM (uint8_t pwm, uint8_t freq, uint8_t dutyCycle) |
| | sets the frequency and duty cycle for a PWM channel automatically called by the public version of configPWM
|
| |
| uint8_t | _getHBOverCurrent (uint8_t hb) |
| | gets the overcurrent error flag bit for a specific halfbridge automatically called by the public version of getHBOverCurrent
|
| |
| uint8_t | _getHBOpenLoad (uint8_t hb) |
| | gets the openload error flag bit for a specific halfbridge automatically called by the public version of getHBOpenLoad
|
| |
| void | writeReg (uint8_t reg, uint8_t mask, uint8_t shift, uint8_t data) |
| | writes data bits to a control register of the TLE94112
|
| |
| void | clearStatusReg (uint8_t reg) |
| | clears a status register by writing 0x00 to it
|
| |
Protected Attributes |
| HalfBridge_t | mHalfBridges [TLE94112_NUM_HB] |
| | array of register locations for halfbridges
|
| |
| PWMchannel_t | mPwmChannels [TLE94112_NUM_PWM] |
| | array of register locations for PWM channels
|
| |
| uint8_t | mCtrlRegAddresses [TLE94112_NUM_CTRL_REGS] |
| | mapping array for control register addresses
|
| |
| uint8_t | mCtrlRegData [TLE94112_NUM_CTRL_REGS] |
| | mirror array for control register data
|
| |
| uint8_t | mStatusRegAddresses [TLE94112_NUM_STATUS_REGS] |
| | mapping array for status register addresses
|
| |
| uint8_t | mEnabled |
| |