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 |
|