21 #ifndef TLE5012B_REG_HPP
22 #define TLE5012B_REG_HPP
364 REG_ACSTAT_RESERVED1,
367 REG_ACSTAT_RESERVED2,
445 REG_IIF_CNT_RESERVED1,
451 bool getBitField (BitField_t bitField, uint16_t & bitFValue);
452 bool setBitField (BitField_t bitField, uint16_t bitFNewValue);
Bit field parameters.
Definition: tle5012b_reg.hpp:101
Definition: tle5012b_reg.hpp:35
Register address field.
Definition: tle5012b_reg.hpp:115
void disablePrediction(void)
disable the angle prediction
Definition: tle5012b_reg.cpp:1166
bool isSSCOutputMode(void)
Get the status of the SSC output mode.
Definition: tle5012b_reg.cpp:1281
void setTestVectorY(uint8_t adctvs)
Set the test vector s.
Definition: tle5012b_reg.cpp:1105
void enableVoltageCheck(void)
Enable the voltage regulator check.
Definition: tle5012b_reg.cpp:478
void setSlaveNumber(const uint8_t snr)
Set the slave number of the sensor. Up to four sensors can be selected with this register field.
Definition: tle5012b_reg.cpp:416
void releaseDSPU(void)
release DSPU operations
Definition: tle5012b_reg.cpp:916
void setTestVectorX(uint8_t adctvx)
Set the test vector x.
Definition: tle5012b_reg.cpp:1084
uint16_t getNumberOfRevolutions(void)
Get a new number of revolutions value.
Definition: tle5012b_reg.cpp:782
void disableVoltageCheck(void)
disable the voltage regulator check
Definition: tle5012b_reg.cpp:487
uint8_t getIIFMod(void)
Get the temperature value as signed offset compensated temperature value Saturated between -30°C and ...
Definition: tle5012b_reg.cpp:896
bool isADCCheck(void)
Get the status of the ADC test vectorGMR magnitude check.
Definition: tle5012b_reg.cpp:684
bool isStatusReset(void)
Indication that there was a reset state.
Definition: tle5012b_reg.cpp:236
uint8_t posMap
Addressfield register regMap position */.
Definition: tle5012b_reg.hpp:117
void enableDSPUbist(void)
Enable the DSPU bist check.
Definition: tle5012b_reg.cpp:540
uint16_t getSpeedValue(void)
Get a new calculated speed value.
Definition: tle5012b_reg.cpp:757
void disableXYCheck(void)
disable the X,Y out of limit check
Definition: tle5012b_reg.cpp:611
bool isStatusVoltage(void)
Permanent check of internal and external supply voltages.
Definition: tle5012b_reg.cpp:262
bool isStatusGMRXY(void)
No valid GMR X,Y values, cyclic check of ADC input.
Definition: tle5012b_reg.cpp:366
void setFrameSyncCounter(uint16_t fsync)
Set the frame synchronisation counter value.
Definition: tle5012b_reg.cpp:835
bool isDSPUbist(void)
Get the status of the DSPU bist check.
Definition: tle5012b_reg.cpp:560
bool isPrediction(void)
Get the status of angle perdiction.
Definition: tle5012b_reg.cpp:1177
bool isDSPUoverflow(void)
Get the status of the DSPU overflow check.
Definition: tle5012b_reg.cpp:591
bool isStatusRead(void)
Read status, checks if any status register changed since last readout.
Definition: tle5012b_reg.cpp:392
void disableDSPUoverflow(void)
disable the DSPU overflow check
Definition: tle5012b_reg.cpp:580
uint16_t getAngleBase(void)
Get the actual 0° angle position The 0° angle position is factory calibrated parallel to the edge of ...
Definition: tle5012b_reg.cpp:1303
void holdDSPU(void)
Set DSPU on hold.
Definition: tle5012b_reg.cpp:907
uint16_t getVectorMagnitude(void)
Get angle vactor magnitude.
Definition: tle5012b_reg.cpp:1684
void setFuseReload(void)
Set the fuse reload register and trigger a reload.
Definition: tle5012b_reg.cpp:1062
int16_t getADCx(void)
Get GMR ADC x value.
Definition: tle5012b_reg.cpp:1660
void activateFirmwareReset(void)
Activate the firmware reset, all configuration registers retain their contents. Will also set the SRS...
Definition: tle5012b_reg.cpp:696
uint8_t position
Bitfiled position */.
Definition: tle5012b_reg.hpp:105
void enableXYCheck(void)
Enable the X,Y out of limit check.
Definition: tle5012b_reg.cpp:602
void directionClockwise(void)
Set angle direction clockwise.
Definition: tle5012b_reg.cpp:1126
bool isSpeedValueNew(void)
Do we have a new calculated speed value since last readout.
Definition: tle5012b_reg.cpp:745
interfaceType_t getInterfaceMode(void)
Get the interface Mode on IFA,IFB,IFC.
Definition: tle5012b_reg.cpp:1504
bool isTemperatureToggle(void)
Is there a new Temperature Sensor RAW value.
Definition: tle5012b_reg.cpp:1709
uint16_t getCounterIncrements(void)
Get Counter value of increments.
Definition: tle5012b_reg.cpp:1721
uint16_t mask
Bitfield mask */.
Definition: tle5012b_reg.hpp:104
uint8_t posMap
Bitfield position of register in regMap */.
Definition: tle5012b_reg.hpp:107
uint16_t getTemperatureRAW(void)
Get Temperature Sensor raw value.
Definition: tle5012b_reg.cpp:1696
void disableFilterInverted(void)
disable the Filter inverted diagnostics function
Definition: tle5012b_reg.cpp:1009
void setHysteresisMode(uint8_t hyst)
Set the hysteresis mode for HSM, or the unit time if in SPC mode (see manual)
Definition: tle5012b_reg.cpp:1472
int8_t getOffsetTemperatureX(void)
Get offset temperature coefficient for x component.
Definition: tle5012b_reg.cpp:1567
void setOrthogonality(int16_t ortho)
Set the orthogonality correction of x y components.
Definition: tle5012b_reg.cpp:1450
bool isStartupBist(void)
Get the status of startup bist.
Definition: tle5012b_reg.cpp:1627
void setAngleBase(uint16_t base)
Set a new value for the angle base calibration.
Definition: tle5012b_reg.cpp:1292
void disableFilterParallel(void)
disable the Filter parallel diagnostics function
Definition: tle5012b_reg.cpp:978
bool isGMRCheck(void)
Get the status of the GMR magnitude check.
Definition: tle5012b_reg.cpp:653
bool isStatusROM(void)
Check of ROM-CRC at statup.
Definition: tle5012b_reg.cpp:353
bool getFulseReload(void)
Get the status of the fuse reload register.
Definition: tle5012b_reg.cpp:1073
bool isWatchdog(void)
Get the status of the DSPU watchdog.
Definition: tle5012b_reg.cpp:467
void enableFilterInverted(void)
Enable the Filter inverted diagnostics function.
Definition: tle5012b_reg.cpp:1000
uint16_t getT25Offset(void)
Get Temperature 25°C offset value.
Definition: tle5012b_reg.cpp:1733
uint16_t getAngleValue(void)
Get a new calculated angle value.
Definition: tle5012b_reg.cpp:732
bool isNumberOfRevolutionsNew(void)
Do we have a new number of revolutions since last readout.
Definition: tle5012b_reg.cpp:770
calibrationMode_t
Automatic calibration of offset and amplitude synchronicity for applications with full-turn....
Definition: tle5012b_reg.hpp:46
bool isDSPUhold(void)
Get the status of DSPU operations.
Definition: tle5012b_reg.cpp:927
bool isStatusOverflow(void)
Cyclic scheck of DSPU (Digital Signal Processing Unit) overflow.
Definition: tle5012b_reg.cpp:301
void setAngleRange(angleRange_t range)
Set the representation of the angle output value and the speed value.
Definition: tle5012b_reg.cpp:1188
void * p
Definition: tle5012b_reg.hpp:38
uint16_t getCRCpar(void)
Get CRC of parameters from address 08h to 0Fh.
Definition: tle5012b_reg.cpp:1648
void disableWatchdog(void)
disable the DSPU watchdog
Definition: tle5012b_reg.cpp:456
void enableSSCOpenDrain(void)
Enable open drain on SSC interface.
Definition: tle5012b_reg.cpp:1261
uint8_t getSlaveNumber(void)
Get the actual slave number of the sensor. Up to four sensors can be selected via this register field...
Definition: tle5012b_reg.cpp:404
bool isIFABOutputMode(void)
Get the status of the IFA, IFB and IFC output mode.
Definition: tle5012b_reg.cpp:1439
bool isStatusXYOutOfLimit(void)
Cyclic check of X and > raw values.
Definition: tle5012b_reg.cpp:314
bool isStatusDSPU(void)
Check DSPU, CORDIC and CAPCOM at startup.
Definition: tle5012b_reg.cpp:288
bool isADCTestVector(void)
Get the status of the ADC test vector diagnostics function.
Definition: tle5012b_reg.cpp:1051
int16_t getADCy(void)
Get GMR ADC y value.
Definition: tle5012b_reg.cpp:1672
void enableIFABOpenDrain(void)
Enable open drain in IFA, IFB and IFC.
Definition: tle5012b_reg.cpp:1419
int16_t getOffsetY(void)
Get offset correction y value.
Definition: tle5012b_reg.cpp:1366
void directionConterClockwise(void)
Set angle direction counter clockwise.
Definition: tle5012b_reg.cpp:1135
bool isStatusADC(void)
Check signal path with test vectors.
Definition: tle5012b_reg.cpp:340
uint8_t getPadDriver(void)
Get the pad driver configuration.
Definition: tle5012b_reg.cpp:1324
static const AddressField_t addrFields[]
Registers bitfields.
Definition: tle5012b_reg.hpp:120
bool isVoltageCheck(void)
Get the status of the voltage regulator check.
Definition: tle5012b_reg.cpp:498
void enableStartupBist(void)
Enable startup bist.
Definition: tle5012b_reg.cpp:1607
sensorType_t
Definition: tle5012b_reg.hpp:75
bool isFirmwareReset(void)
Get the status of the firmware reset register.
Definition: tle5012b_reg.cpp:707
uint16_t getFrameCounter(void)
Get the frame counter value. Internal frame counter increments every update period.
Definition: tle5012b_reg.cpp:801
angleRange_t getAngleRange(void)
Get the representation of the angle range.
Definition: tle5012b_reg.cpp:1198
bool isStatusFuse(void)
Cyclic CRC check of configuration registers and startup CRC.
Definition: tle5012b_reg.cpp:275
void disableFuseCRC(void)
disable the fuse CRC check
Definition: tle5012b_reg.cpp:518
void setFilterDecimation(uint8_t firmd)
Set the filter decimation, update rate setting.
Definition: tle5012b_reg.cpp:864
bool isSpikeFilter(void)
Get the status of the analog spike filter.
Definition: tle5012b_reg.cpp:1250
bool statusClockSource(void)
Get the status of the clock source.
Definition: tle5012b_reg.cpp:958
int16_t getAmplitudeSynch(void)
Get amplitude correction value.
Definition: tle5012b_reg.cpp:1387
uint8_t getHysteresisMode(void)
Get the hysteresis mode for HSM, or the unit time if in SPC mode (see manual)
Definition: tle5012b_reg.cpp:1483
bool isStatusGMRA(void)
No value GMR angle value, cyclic check of DSPU output.
Definition: tle5012b_reg.cpp:379
void setOffsetTemperatureX(int8_t tcox)
Set offset temperature coefficient for x component.
Definition: tle5012b_reg.cpp:1557
void setCRCpar(uint16_t crc)
Set CRC of parameters from address 08h to 0Fh.
Definition: tle5012b_reg.cpp:1638
uint16_t regAddress
Bitfiled register address */.
Definition: tle5012b_reg.hpp:103
bool isActivationReset(void)
Hardware reset, will be performed after chip select returns to high.
Definition: tle5012b_reg.cpp:427
void setOffsetX(int16_t offx)
Set offset correction x value.
Definition: tle5012b_reg.cpp:1335
uint8_t getFilterDecimation(void)
Get the filter decimation, update rate setting.
Definition: tle5012b_reg.cpp:874
uint8_t getTestVectorY(void)
Get the test vector y.
Definition: tle5012b_reg.cpp:1115
uint8_t getTestVectorX(void)
Get the test vector x.
Definition: tle5012b_reg.cpp:1094
void setHSMplp(uint8_t plp)
Set multipurpose register,.
Definition: tle5012b_reg.cpp:1536
uint8_t resetValue
Bitfield register reset value */.
Definition: tle5012b_reg.hpp:106
void setIIFMod(uint8_t iifmod)
Set the IIF (Incremental Interfave Mode)
Definition: tle5012b_reg.cpp:885
uint8_t getFIRUpdateRate(void)
Get the FIR update rate.
Definition: tle5012b_reg.cpp:1408
Addr_t
register address enumeration for all sensor registers
Definition: tle5012b_reg.hpp:127
void setExternalClock(void)
Set clock sourec to external SCK.
Definition: tle5012b_reg.cpp:947
void disableSpikeFilter(void)
disable the analog spike filter to filter
Definition: tle5012b_reg.cpp:1239
int16_t getOrthogonality(void)
Get the orthogonality correction of x y components.
Definition: tle5012b_reg.cpp:1460
angleRange_t
Definition: tle5012b_reg.hpp:54
void enableFilterParallel(void)
Enable the Filter parallel diagnostics function.
Definition: tle5012b_reg.cpp:969
void setCalibrationMode(calibrationMode_t autocal)
Set the automatic calibration mode.
Definition: tle5012b_reg.cpp:1209
bool isFilterInverted(void)
Get the status of the Filter inverted diagnostics function.
Definition: tle5012b_reg.cpp:1020
int16_t getOffsetX(void)
Get offset correction x value.
Definition: tle5012b_reg.cpp:1345
void enableIFABPushPull(void)
Enable push pull in IFA, IFB and IFC.
Definition: tle5012b_reg.cpp:1428
calibrationMode_t getCalibrationMode(void)
Get the actual automatic calibration mode.
Definition: tle5012b_reg.cpp:1219
bool isStatusWatchDog(void)
Permanent check of watchdog.
Definition: tle5012b_reg.cpp:249
uint16_t getTemperatureValue(void)
Get the temperature value as signed offset compensated temperature value Saturated between -30°C and ...
Definition: tle5012b_reg.cpp:846
bool isStatusMagnitideOutOfLimit(void)
Vector lengths cyclic check of X,Y values after error compensation.
Definition: tle5012b_reg.cpp:327
void setAmplitudeSynch(int16_t synch)
Set amplitude correction value.
Definition: tle5012b_reg.cpp:1377
void enableWatchdog(void)
Enable the DSPU watchdog.
Definition: tle5012b_reg.cpp:447
int8_t getOffsetTemperatureY(void)
Get offset temperature coefficient for y component.
Definition: tle5012b_reg.cpp:1592
void enableADCCheck(void)
Enable the ADC test vector check.
Definition: tle5012b_reg.cpp:664
void setPadDriver(uint8_t pad)
Set a new pad driver configuration.
Definition: tle5012b_reg.cpp:1314
Reg(void *p)
Construct a new Reg::Reg object.
Definition: tle5012b_reg.cpp:167
Access_t
Register access type.
Definition: tle5012b_reg.hpp:87
void disableDSPUbist(void)
disable the DSPU bist check
Definition: tle5012b_reg.cpp:549
void setFIRUpdateRate(bool fir)
Set the FIR (Filter Initial Rate) update rate.
Definition: tle5012b_reg.cpp:1398
uint16_t regMap[MAX_NUM_REG]
Register map */.
Definition: tle5012b_reg.hpp:152
bool isFuseCRC(void)
Get the status of the fuse CRC check.
Definition: tle5012b_reg.cpp:529
uint16_t getFrameSyncCounter(void)
Get the frame synchronisation counter value Internal frame sub counter within one frame.
Definition: tle5012b_reg.cpp:823
interfaceType_t
List of possible interface types witch are preset by fuses and can be changed into each other.
Definition: tle5012b_reg.hpp:65
uint8_t regAccess
Bitfield register access */.
Definition: tle5012b_reg.hpp:102
bool isXYCheck(void)
Get the status of the X,Y out of limit check.
Definition: tle5012b_reg.cpp:622
void disableStartupBist(void)
Disable startup bist.
Definition: tle5012b_reg.cpp:1616
void disableGMRCheck(void)
disable the GMR magnitude check
Definition: tle5012b_reg.cpp:642
void setIFABres(uint8_t res)
Set multipurpose register, PWM frequency, IIF resolution, SPC frame configuration.
Definition: tle5012b_reg.cpp:1515
void enableSpikeFilter(void)
Enable the analog spike filter to filter voltage spikes in IFC, SCK, CS.
Definition: tle5012b_reg.cpp:1230
void setOffsetY(int16_t offy)
Set offset correction y value.
Definition: tle5012b_reg.cpp:1356
void enableGMRCheck(void)
Enable the GMR magnitude check.
Definition: tle5012b_reg.cpp:633
void disableADCCheck(void)
disable the ADC test vector check
Definition: tle5012b_reg.cpp:673
void enableFuseCRC(void)
Enable the fuse CRC check.
Definition: tle5012b_reg.cpp:509
bool isFilterParallel(void)
Get the status of the Filter parallel diagnostics function.
Definition: tle5012b_reg.cpp:989
void enablePrediction(void)
Enable the angle prediction based on current speed.
Definition: tle5012b_reg.cpp:1157
void enableADCTestVector(void)
Enable the ADC test vector diagnostics function.
Definition: tle5012b_reg.cpp:1031
void setInterfaceMode(interfaceType_t ifmd)
Set the interface Mode on IFA,IFB,IFC.
Definition: tle5012b_reg.cpp:1494
~Reg()
Destroy the Reg::Reg object.
Definition: tle5012b_reg.cpp:175
void setActivationReset(void)
Set the Activation Reset object Performs a hardware reset.
Definition: tle5012b_reg.cpp:438
void setInternalClock(void)
Set the clock source to internal oscillator.
Definition: tle5012b_reg.cpp:938
uint8_t getHSMplp(void)
Get multipurpose register.
Definition: tle5012b_reg.cpp:1546
void enableDSPUoverflow(void)
Enable the DSPU overflow check.
Definition: tle5012b_reg.cpp:571
void setFrameCounter(uint16_t fcnt)
Set the frame counter value.
Definition: tle5012b_reg.cpp:812
bool isAngleDirection(void)
Get the angle direction.
Definition: tle5012b_reg.cpp:1146
void enableSSCPushPull(void)
Enable push pull on SSC interface.
Definition: tle5012b_reg.cpp:1270
void setOffsetTemperatureY(int8_t tcoy)
Set offset temperature coefficient for y component.
Definition: tle5012b_reg.cpp:1582
uint8_t getIFABres(void)
Get multipurpose register.
Definition: tle5012b_reg.cpp:1525
uint16_t regAddress
Addressfield register address */.
Definition: tle5012b_reg.hpp:116
void disableADCTestVector(void)
disable the ADC test vector diagnostics function
Definition: tle5012b_reg.cpp:1040
bool isAngleValueNew(void)
Do we have a new calculated angle value since last readout.
Definition: tle5012b_reg.cpp:720
@ mode1
mode1 update every angle update cycle (FIR_MD setting)
Definition: tle5012b_reg.hpp:48
@ mode2
mode2 update every 1.5 revolutions
Definition: tle5012b_reg.hpp:49
@ noAutoCal
noAutoCal = no auto-calibration
Definition: tle5012b_reg.hpp:47
@ mode3
mode3 update every 11.25°
Definition: tle5012b_reg.hpp:50
@ TLE5012B_E5020
TLE5012B_E5020.
Definition: tle5012b_reg.hpp:79
@ TLE5012B_E3005
TLE5012B_E3005.
Definition: tle5012b_reg.hpp:77
@ TLE5012B_E1000
TLE5012B_E1000 Sensor2Go variant.
Definition: tle5012b_reg.hpp:76
@ TLE5012B_E9000
TLE5012B_E9000 Sensor2Go variant.
Definition: tle5012b_reg.hpp:80
@ TLE5012B_E5000
TLE5012B_E5000 Sensor2Go variant.
Definition: tle5012b_reg.hpp:78
@ REG_MOD_4
MOD_4 interface mode4 register.
Definition: tle5012b_reg.hpp:142
@ REG_AVAL
AVAL angle value register.
Definition: tle5012b_reg.hpp:130
@ REG_IIF_CNT
IIF_CNT IIF counter value.
Definition: tle5012b_reg.hpp:148
@ REG_T25O
T25O temperature 25°c offset value.
Definition: tle5012b_reg.hpp:149
@ REG_SIL
SIL register.
Definition: tle5012b_reg.hpp:135
@ REG_IFAB
IFAB register.
Definition: tle5012b_reg.hpp:141
@ REG_ASPD
ASPD angle speed register.
Definition: tle5012b_reg.hpp:131
@ REG_T_RAW
T_RAW temperature sensor raw-value.
Definition: tle5012b_reg.hpp:147
@ REG_MOD_3
MOD_3 interface mode3 register.
Definition: tle5012b_reg.hpp:137
@ REG_D_MAG
D_MAG angle vector magnitude.
Definition: tle5012b_reg.hpp:146
@ REG_MOD_2
MOD_2 interface mode2 register.
Definition: tle5012b_reg.hpp:136
@ REG_SYNCH
SYNCH synchronicity.
Definition: tle5012b_reg.hpp:140
@ REG_OFFY
OFFY offset y.
Definition: tle5012b_reg.hpp:139
@ REG_ADC_X
ADC_X ADC X-raw value.
Definition: tle5012b_reg.hpp:144
@ REG_AREV
AREV angle revolution register.
Definition: tle5012b_reg.hpp:132
@ REG_OFFX
OFFX offset x.
Definition: tle5012b_reg.hpp:138
@ REG_MOD_1
MOD_1 interface mode1 register.
Definition: tle5012b_reg.hpp:134
@ REG_FSYNC
FSYNC frame synchronization register.
Definition: tle5012b_reg.hpp:133
@ REG_STAT
STAT status register.
Definition: tle5012b_reg.hpp:128
@ REG_ACSTAT
ACSTAT activation status register.
Definition: tle5012b_reg.hpp:129
@ REG_ADC_Y
ADC_Y ADC Y-raw value.
Definition: tle5012b_reg.hpp:145
@ REG_TCO_Y
TCO_Y temperature coefficient register.
Definition: tle5012b_reg.hpp:143
@ factor4
magnetic angle from -45° to +45°, mapped values from -16384 to 16384
Definition: tle5012b_reg.hpp:56
@ factor5
magnetic angle from -180° to +180°, mapped values from -8192 to 8192
Definition: tle5012b_reg.hpp:57
@ factor1
magnetic angle from -180° to +180°, mapped values from -16384 to 16384
Definition: tle5012b_reg.hpp:55
@ REG_ACCESS_W
Write access register */.
Definition: tle5012b_reg.hpp:89
@ REG_ACCESS_RWU
Read & write & update register */.
Definition: tle5012b_reg.hpp:93
@ REG_ACCESS_RU
Read & update register */.
Definition: tle5012b_reg.hpp:92
@ REG_ACCESS_RES
Reserved access register */.
Definition: tle5012b_reg.hpp:94
@ REG_ACCESS_U
Update register */.
Definition: tle5012b_reg.hpp:91
@ REG_ACCESS_R
Read access register */.
Definition: tle5012b_reg.hpp:88
@ REG_ACCESS_RW
Read & write access register */.
Definition: tle5012b_reg.hpp:90
@ IIF
IIF Incremental Interface (IIF)
Definition: tle5012b_reg.hpp:66
@ SSC
SSC Synchronous Serial Communication (SSC)
Definition: tle5012b_reg.hpp:70
@ SPC
SPC Short-PWM-Code (SPC)
Definition: tle5012b_reg.hpp:69
@ PWM
PWM Pulse-Width-Modulation (PWM)
Definition: tle5012b_reg.hpp:67
@ HSM
HSM Hall Switch Mode (HSM)
Definition: tle5012b_reg.hpp:68
#define MAX_NUM_REG
defines the value for temporary data to read all readable registers
Definition: tle5012b_util.hpp:51