TMF8829 Universal Driver 0.1.0
Loading...
Searching...
No Matches
tmf8829_regs.h File Reference

Register map, command/status codes, interrupt masks, frame layout, and bootloader constants. More...

#include <stdint.h>
Include dependency graph for tmf8829_regs.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

Default bus addresses
#define TMF8829_DEFAULT_I2C_ADDR   0x41u
#define TMF8829_SPI_WR_CMD   0x02u
#define TMF8829_SPI_RD_CMD   0x03u
Registers in bootloader and application
#define TMF8829_REG_APP_ID   0x00u
#define TMF8829_REG_CMD_STAT   0x08u
#define TMF8829_REG_PREV_CMD   0x09u
#define TMF8829_APP_ID__BOOTLOADER   0x80u
#define TMF8829_APP_ID__APPLICATION   0x01u
Power, reset, identification
#define TMF8829_REG_I2C_DEVADDR   0xE0u
#define TMF8829_REG_INT_STATUS   0xE1u
#define TMF8829_REG_INT_ENAB   0xE2u
#define TMF8829_REG_ID   0xE3u
#define TMF8829_REG_REVID   0xE4u
#define TMF8829_REG_INTERFACE   0xE9u
#define TMF8829_REG_GPIO01CFG   0xF1u
#define TMF8829_REG_GPIO23CFG   0xF2u
#define TMF8829_REG_GPIO45CFG   0xF3u
#define TMF8829_REG_GPIO6CFG   0xF4u
#define TMF8829_REG_RESET   0xF7u
#define TMF8829_REG_ENABLE   0xF8u
#define TMF8829_CHIP_ID   0x9Eu
#define TMF8829_RESET_SOFT_MASK   0x40u
#define TMF8829_RESET_HARD_MASK   0x80u
#define TMF8829_ENABLE_STANDBY_MASK   0x01u
#define TMF8829_ENABLE_TIMED_STBY_MASK   0x02u
#define TMF8829_ENABLE_PON_MASK   0x04u
#define TMF8829_ENABLE_POFF_MASK   0x08u
#define TMF8829_ENABLE_POWERUP_SHIFT   4u
#define TMF8829_ENABLE_POWERUP_MASK   (0x03u << TMF8829_ENABLE_POWERUP_SHIFT)
#define TMF8829_ENABLE_BOOT_NO_PLL_MASK   0x40u
#define TMF8829_ENABLE_CPU_READY_MASK   0x80u
#define TMF8829_GPIO0_FUNC_OFFSET   0u /* TMF8829_REG_GPIO01CFG[3:0] */
#define TMF8829_GPIO1_FUNC_OFFSET   4u /* TMF8829_REG_GPIO01CFG[7:4] */
#define TMF8829_GPIO2_FUNC_OFFSET   0u /* TMF8829_REG_GPIO23CFG[3:0] */
#define TMF8829_GPIO3_FUNC_OFFSET   4u /* TMF8829_REG_GPIO23CFG[7:4] */
#define TMF8829_GPIO4_FUNC_OFFSET   0u /* TMF8829_REG_GPIO45CFG[3:0] */
#define TMF8829_GPIO5_FUNC_OFFSET   4u /* TMF8829_REG_GPIO45CFG[7:4] */
#define TMF8829_GPIO6_FUNC_OFFSET   0u /* TMF8829_REG_GPIO6CFG[3:0] */
#define TMF8829_GPIO_FUNC_GPIO   0x00u
#define TMF8829_GPIO_FUNC_PERIPHERAL   0x01u
#define TMF8829_GPIO0_FUNC_SPI_MOSI   TMF8829_GPIO_FUNC_PERIPHERAL
#define TMF8829_GPIO1_FUNC_SPI_CSN   TMF8829_GPIO_FUNC_PERIPHERAL
#define TMF8829_GPIO2_FUNC_SPI_SCLK   TMF8829_GPIO_FUNC_PERIPHERAL
#define TMF8829_GPIO3_FUNC_SPI_MISO   TMF8829_GPIO_FUNC_PERIPHERAL
#define TMF8829_GPIO4_FUNC_IxC_SCL   TMF8829_GPIO_FUNC_PERIPHERAL
#define TMF8829_GPIO5_FUNC_IxC_SDA   TMF8829_GPIO_FUNC_PERIPHERAL
#define TMF8829_GPIO6_FUNC_INT   TMF8829_GPIO_FUNC_PERIPHERAL
#define TMF8829_POWERUP_NO_OVERRIDE   0u
#define TMF8829_POWERUP_FORCE_BOOTMON   1u
#define TMF8829_POWERUP_RAM   2u
Application registers
#define TMF8829_REG_APP_VER_MAJOR   0x01u
#define TMF8829_REG_APP_VER_MINOR   0x02u
#define TMF8829_REG_APP_VER_PATCH   0x04u
#define TMF8829_REG_MEASURE_STATUS   0x05u
#define TMF8829_REG_GPIO_VALUE   0x10u
#define TMF8829_REG_LIVE_BEAT_0   0x1Au
#define TMF8829_REG_LIVE_BEAT_1   0x1Bu
#define TMF8829_REG_SERIAL_NUMBER_0   0x1Cu
#define TMF8829_REG_SERIAL_NUMBER_1   0x1Du
#define TMF8829_REG_SERIAL_NUMBER_2   0x1Eu
#define TMF8829_REG_SERIAL_NUMBER_3   0x1Fu
#define TMF8829_REG_CID_RID   0x20u
#define TMF8829_REG_PAYLOAD   0x21u
#define TMF8829_REG_CFG_PERIOD_MS_LSB   0x22u
#define TMF8829_REG_CFG_PERIOD_MS_MSB   0x23u
#define TMF8829_REG_CFG_KILO_ITER_LSB   0x24u
#define TMF8829_REG_CFG_KILO_ITER_MSB   0x25u
#define TMF8829_REG_CFG_FP_MODE   0x26u
#define TMF8829_REG_CFG_SPAD_SELECT   0x27u
#define TMF8829_REG_CFG_REF_SPAD_SELECT   0x28u
#define TMF8829_REG_CFG_SPAD_DEADTIME   0x29u
#define TMF8829_REG_CFG_RESULT_FORMAT   0x2Au
#define TMF8829_REG_CFG_DUMP_HISTOGRAMS   0x2Bu
#define TMF8829_REG_CFG_POWER_MODES   0x2Eu
#define TMF8829_REG_CFG_VCSEL_ON   0x30u
#define TMF8829_REG_CFG_DITHER   0x31u
#define TMF8829_REG_CFG_VCDRV   0x32u
#define TMF8829_REG_CFG_VCDRV_2   0x33u
#define TMF8829_REG_CFG_VCDRV_3   0x34u
#define TMF8829_REG_CFG_VCSEL_PERIOD_LSB   0x36u
#define TMF8829_REG_CFG_VCSEL_PERIOD_MSB   0x37u
#define TMF8829_REG_CFG_VCDRV_OFFSET_LSB   0x38u
#define TMF8829_REG_CFG_VCDRV_OFFSET_MSB   0x39u
#define TMF8829_REG_CFG_VCDRV_CP   0x3Au
#define TMF8829_REG_CFG_HISTOGRAM_BINS_LSB   0x40u
#define TMF8829_REG_CFG_HISTOGRAM_BINS_MSB   0x41u
#define TMF8829_REG_CFG_BIN_SHIFT   0x42u
#define TMF8829_REG_CFG_REF_BIN_SHIFT   0x43u
#define TMF8829_REG_CFG_TDC_OFFSET_LSB   0x44u
#define TMF8829_REG_CFG_TDC_OFFSET_MSB   0x45u
#define TMF8829_REG_CFG_TDC_PRE_PERIODS_LSB   0x46u
#define TMF8829_REG_CFG_TDC_PRE_PERIODS_MSB   0x47u
#define TMF8829_REG_CFG_HV_CP   0x48u
#define TMF8829_REG_CFG_HA_KILO_ITER_LSB   0x4Au
#define TMF8829_REG_CFG_HA_KILO_ITER_MSB   0x4Bu
#define TMF8829_REG_CFG_ENABLE_DUAL_MODE   0x4Cu
#define TMF8829_REG_CFG_HV_CP_OVERLOAD_DETECT   0x4Du
#define TMF8829_REG_CFG_ALG_PEAK_BINS   0x50u
#define TMF8829_REG_CFG_ALG_REF_PEAK_BINS   0x51u
#define TMF8829_REG_CFG_ALG_DISTANCE   0x52u
#define TMF8829_REG_CFG_ALG_CONFIDENCE_THRESHOLD   0x53u
#define TMF8829_REG_CFG_ALG_HW_PEAK_START   0x57u
#define TMF8829_REG_CFG_ALG_CALIBRATION   0x5Fu
#define TMF8829_REG_CFG_INT_ZONE_MASK_0   0x60u
#define TMF8829_REG_CFG_INT_ZONE_MASK_1   0x61u
#define TMF8829_REG_CFG_INT_ZONE_MASK_2   0x62u
#define TMF8829_REG_CFG_INT_ZONE_MASK_3   0x63u
#define TMF8829_REG_CFG_INT_ZONE_MASK_4   0x64u
#define TMF8829_REG_CFG_INT_ZONE_MASK_5   0x65u
#define TMF8829_REG_CFG_INT_ZONE_MASK_6   0x66u
#define TMF8829_REG_CFG_INT_ZONE_MASK_7   0x67u
#define TMF8829_REG_CFG_INT_LOW_LSB   0x68u
#define TMF8829_REG_CFG_INT_LOW_MSB   0x69u
#define TMF8829_REG_CFG_INT_HIGH_LSB   0x6Au
#define TMF8829_REG_CFG_INT_HIGH_MSB   0x6Bu
#define TMF8829_REG_CFG_INT_PERSISTENCE   0x6Cu
#define TMF8829_REG_CFG_POST_PROCESSING   0x6Du
#define TMF8829_REG_CFG_PROX_DISTANCE   0x6Eu
#define TMF8829_REG_CFG_CROP_TOP_X   0x70u
#define TMF8829_REG_CFG_CROP_TOP_Y   0x71u
#define TMF8829_REG_CFG_CROP_BOTTOM_X   0x72u
#define TMF8829_REG_CFG_CROP_BOTTOM_Y   0x73u
#define TMF8829_REG_CFG_INFO_FOV_CORR   0x78u
#define TMF8829_REG_CFG_GPIO_0   0x80u
#define TMF8829_REG_CFG_GPIO_1   0x81u
#define TMF8829_REG_CFG_GPIO_2   0x82u
#define TMF8829_REG_CFG_GPIO_3   0x83u
#define TMF8829_REG_CFG_GPIO_4   0x84u
#define TMF8829_REG_CFG_GPIO_5   0x85u
#define TMF8829_REG_CFG_GPIO_6   0x86u
#define TMF8829_REG_CFG_GPIO   0x87u
#define TMF8829_REG_CFG_I2C_ADDRESS   0x90u
#define TMF8829_REG_CFG_MOTION_DETECT_DISTANCE_LSB   0xB0u
#define TMF8829_REG_CFG_MOTION_DETECT_DISTANCE_MSB   0xB1u
#define TMF8829_REG_CFG_MOTION_DETECT_SNR   0xB2u
#define TMF8829_REG_CFG_MOTION_RELEASE_SNR   0xB3u
#define TMF8829_REG_CFG_MOTION_ADJACENT_PIXEL   0xB4u
#define TMF8829_REG_CFG_LAST_AVAILABLE   0xDFu
#define TMF8829_CFG_PAGE_SIZE   ((unsigned)(TMF8829_REG_CFG_LAST_AVAILABLE - TMF8829_REG_CFG_PERIOD_MS_LSB + 1u))
#define TMF8829_RESULT_FULL_NOISE_MASK   7u
#define TMF8829_RESULT_SUB_RESULT_MASK   6u
#define TMF8829_RESULT_XTALK_MASK   5u
#define TMF8829_RESULT_NOISE_STRENGTH_MASK   4u
#define TMF8829_RESULT_SIGNAL_STRENGTH_MASK   3u
#define TMF8829_RESULT_NR_PEAKS_MASK   0u
#define TMF8829_GPIO_CTRL_TRISTATE   0u
#define TMF8829_GPIO_CTRL_INPUT_IR   1u
#define TMF8829_GPIO_CTRL_INPUT_ACTIVE_HIGH   2u
#define TMF8829_GPIO_CTRL_INPUT_ACTIVE_LOW   3u
#define TMF8829_GPIO_CTRL_OUTPUT_LOW_VCSEL_PULSING   4u
#define TMF8829_GPIO_CTRL_OUTPUT_HIGH_VCSEL_PULSING   5u
#define TMF8829_GPIO_CTRL_OUTPUT_HIGH   6u
#define TMF8829_GPIO_CTRL_OUTPUT_LOW   7u
#define TMF8829_GPIO_PRE_DELAY_NONE   0u
#define TMF8829_GPIO_PRE_DELAY_100_US   1u
#define TMF8829_GPIO_PRE_DELAY_200_US   2u
#define TMF8829_REG_FIFO_STATUS   0xFAu
#define TMF8829_REG_SYS_TICK_0   0xFBu
#define TMF8829_REG_SYS_TICK_1   0xFCu
#define TMF8829_REG_SYS_TICK_2   0xFDu
#define TMF8829_REG_SYS_TICK_3   0xFEu
Application @ref TMF8829_REG_CMD_STAT opcodes and status
#define TMF8829_CMD_MEASURE   0x10u
#define TMF8829_CMD_CLEAR_STATUS   0x11u
#define TMF8829_CMD_WRITE_PAGE   0x15u
#define TMF8829_CMD_LOAD_CONFIG_PAGE   0x16u
#define TMF8829_CMD_LOAD_CFG_8X8   0x40u
#define TMF8829_CMD_LOAD_CFG_8X8_LONG_RANGE   0x41u
#define TMF8829_CMD_LOAD_CFG_8X8_HIGH_ACC   0x42u
#define TMF8829_CMD_LOAD_CFG_16X16   0x43u
#define TMF8829_CMD_LOAD_CFG_16X16_HIGH_ACC   0x44u
#define TMF8829_CMD_LOAD_CFG_32X32   0x45u
#define TMF8829_CMD_LOAD_CFG_32X32_HIGH_ACC   0x46u
#define TMF8829_CMD_LOAD_CFG_48X32   0x47u
#define TMF8829_CMD_LOAD_CFG_48X32_HIGH_ACC   0x48u
#define TMF8829_CMD_STOP   0xFFu
#define TMF8829_STAT_OK   0x00u
#define TMF8829_STAT_ACCEPTED   0x01u
Interrupt status / enable bits
#define TMF8829_INT_RESULTS   0x01u
#define TMF8829_INT_MOTION   0x02u
#define TMF8829_INT_PROXIMITY   0x04u
#define TMF8829_INT_HISTOGRAMS   0x08u
#define TMF8829_INT_ALL   (TMF8829_INT_RESULTS | TMF8829_INT_MOTION | TMF8829_INT_PROXIMITY | TMF8829_INT_HISTOGRAMS)
FIFO frame layout and identifiers
#define TMF8829_PRE_HEADER_SIZE   5u
#define TMF8829_FRAME_HEADER_SIZE   16u
#define TMF8829_FRAME_HEADER_OFFSET   4u
#define TMF8829_FRAME_FOOTER_SIZE   12u
#define TMF8829_FRAME_EOF_SIZE   2u
#define TMF8829_FRAME_EOF   0xE0F7u
#define TMF8829_FID_MASK   0xF0u
#define TMF8829_FID_RESULTS   0x10u
#define TMF8829_FID_HISTOGRAMS   0x20u
#define TMF8829_FPM_MASK   0x0Fu
#define TMF8829_RESULT_FRAME_SUBIDX_MASK   0x40u
#define TMF8829_RESULT_ID_MEAS_RES   0xAAu
#define TMF8829_RESULT_ID_MEAS_HIST   0xBBu
#define TMF8829_RESULT_ID_MEAS_HEADER   0xFDu
#define TMF8829_RESULT_ID_ERROR   0xFEu
#define TMF8829_RESULT_ID_NONE   0xFFu
#define TMF8829_RESULT_ERR_EOF   0x01u
#define TMF8829_RESULT_ERR_UNKNOWN   0x00u
#define TMF8829_RESULT_FORMAT_NR_PEAKS_MASK   0x07u
#define TMF8829_RESULT_FORMAT_SIG_STRENGTH_MASK   0x08u
#define TMF8829_RESULT_FORMAT_NOISE_MASK   0x10u
#define TMF8829_RESULT_FORMAT_XTALK_MASK   0x20u
Focal-plane resolution modes (@ref TMF8829_REG_CFG_FP_MODE)
#define TMF8829_FP_MODE_8X8A   0u
#define TMF8829_FP_MODE_8X8B   1u
#define TMF8829_FP_MODE_16X16   2u
#define TMF8829_FP_MODE_32X32   3u
#define TMF8829_FP_MODE_32X32S   4u
#define TMF8829_FP_MODE_48X32   5u
Device limits and clock constant
#define TMF8829_FIFO_SIZE   8192u
#define TMF8829_TICKS_PER_1000_US   125u
Bootloader / download
#define TMF8829_REG_FIFO   0xFFu
#define TMF8829_REG_BL_PAYLOAD   0x09u
#define TMF8829_REG_BL_ADDRESS0   0x0Au
#define TMF8829_REG_BL_ADDRESS1   0x0Bu
#define TMF8829_REG_BL_ADDRESS2   0x0Cu
#define TMF8829_REG_BL_ADDRESS3   0x0Du
#define TMF8829_REG_BL_WORD_SIZE0   0x0Eu
#define TMF8829_REG_BL_WORD_SIZE1   0x0Fu
#define TMF8829_BL_CMD_STAT_SPI_OFF   0x20u
#define TMF8829_BL_CMD_STAT_I2C_OFF   0x22u
#define TMF8829_BL_CMD_STAT_ADDR_RAM   0x43u
#define TMF8829_BL_CMD_STAT_W_RAM_BOTH   0x42u
#define TMF8829_BL_CMD_STAT_FIFO_BOTH   0x45u
#define TMF8829_BL_CMD_STAT_START_RAM_APP   0x16u
#define TMF8829_BL_STAT_READY   0x00u
#define TMF8829_BL_WR_HEADER   2u
#define TMF8829_BL_MAX_PAYLOAD   128u
#define TMF8829_FW_IMAGE_LOAD_ADDR_DEFAULT   0x00010000u
Poll timeouts (milliseconds), overridable at compile time
#define TMF8829_BL_CMD_TIMEOUT_MS   3u
#define TMF8829_BL_SET_ADDR_TIMEOUT_MS   3u
#define TMF8829_BL_W_RAM_TIMEOUT_MS   3u
#define TMF8829_BL_W_FIFO_TIMEOUT_MS   3u
#define TMF8829_BL_START_APP_TIMEOUT_MS   3u
#define TMF8829_APP_CMD_LOAD_CONFIG_TIMEOUT_MS   3u
#define TMF8829_APP_CMD_WRITE_CONFIG_TIMEOUT_MS   3u
#define TMF8829_APP_CMD_MEASURE_TIMEOUT_MS   5u
#define TMF8829_APP_CMD_STOP_TIMEOUT_MS   25u

Detailed Description

Register map, command/status codes, interrupt masks, frame layout, and bootloader constants.

Derived from the ams-OSRAM TMF8829 Arduino and Linux reference drivers (MIT-licensed).

Macro Definition Documentation

◆ TMF8829_APP_CMD_LOAD_CONFIG_TIMEOUT_MS

#define TMF8829_APP_CMD_LOAD_CONFIG_TIMEOUT_MS   3u

◆ TMF8829_APP_CMD_MEASURE_TIMEOUT_MS

#define TMF8829_APP_CMD_MEASURE_TIMEOUT_MS   5u

◆ TMF8829_APP_CMD_STOP_TIMEOUT_MS

#define TMF8829_APP_CMD_STOP_TIMEOUT_MS   25u

◆ TMF8829_APP_CMD_WRITE_CONFIG_TIMEOUT_MS

#define TMF8829_APP_CMD_WRITE_CONFIG_TIMEOUT_MS   3u

◆ TMF8829_APP_ID__APPLICATION

#define TMF8829_APP_ID__APPLICATION   0x01u

TMF8829_REG_APP_ID value when measurement app is running

◆ TMF8829_APP_ID__BOOTLOADER

#define TMF8829_APP_ID__BOOTLOADER   0x80u

TMF8829_REG_APP_ID value when bootloader is running

◆ TMF8829_BL_CMD_STAT_ADDR_RAM

#define TMF8829_BL_CMD_STAT_ADDR_RAM   0x43u

◆ TMF8829_BL_CMD_STAT_FIFO_BOTH

#define TMF8829_BL_CMD_STAT_FIFO_BOTH   0x45u

◆ TMF8829_BL_CMD_STAT_I2C_OFF

#define TMF8829_BL_CMD_STAT_I2C_OFF   0x22u

◆ TMF8829_BL_CMD_STAT_SPI_OFF

#define TMF8829_BL_CMD_STAT_SPI_OFF   0x20u

◆ TMF8829_BL_CMD_STAT_START_RAM_APP

#define TMF8829_BL_CMD_STAT_START_RAM_APP   0x16u

◆ TMF8829_BL_CMD_STAT_W_RAM_BOTH

#define TMF8829_BL_CMD_STAT_W_RAM_BOTH   0x42u

◆ TMF8829_BL_CMD_TIMEOUT_MS

#define TMF8829_BL_CMD_TIMEOUT_MS   3u

◆ TMF8829_BL_MAX_PAYLOAD

#define TMF8829_BL_MAX_PAYLOAD   128u

Max payload bytes per W_RAM_BOTH command (ams reference).

◆ TMF8829_BL_SET_ADDR_TIMEOUT_MS

#define TMF8829_BL_SET_ADDR_TIMEOUT_MS   3u

◆ TMF8829_BL_START_APP_TIMEOUT_MS

#define TMF8829_BL_START_APP_TIMEOUT_MS   3u

◆ TMF8829_BL_STAT_READY

#define TMF8829_BL_STAT_READY   0x00u

◆ TMF8829_BL_W_FIFO_TIMEOUT_MS

#define TMF8829_BL_W_FIFO_TIMEOUT_MS   3u

◆ TMF8829_BL_W_RAM_TIMEOUT_MS

#define TMF8829_BL_W_RAM_TIMEOUT_MS   3u

◆ TMF8829_BL_WR_HEADER

#define TMF8829_BL_WR_HEADER   2u

Bootloader write-RAM layout: [0]=cmd, [1]=payload_len, [2..]=data

◆ TMF8829_CFG_PAGE_SIZE

#define TMF8829_CFG_PAGE_SIZE   ((unsigned)(TMF8829_REG_CFG_LAST_AVAILABLE - TMF8829_REG_CFG_PERIOD_MS_LSB + 1u))

◆ TMF8829_CHIP_ID

#define TMF8829_CHIP_ID   0x9Eu

Expected value read from TMF8829_REG_ID

◆ TMF8829_CMD_CLEAR_STATUS

#define TMF8829_CMD_CLEAR_STATUS   0x11u

◆ TMF8829_CMD_LOAD_CFG_16X16

#define TMF8829_CMD_LOAD_CFG_16X16   0x43u

◆ TMF8829_CMD_LOAD_CFG_16X16_HIGH_ACC

#define TMF8829_CMD_LOAD_CFG_16X16_HIGH_ACC   0x44u

◆ TMF8829_CMD_LOAD_CFG_32X32

#define TMF8829_CMD_LOAD_CFG_32X32   0x45u

◆ TMF8829_CMD_LOAD_CFG_32X32_HIGH_ACC

#define TMF8829_CMD_LOAD_CFG_32X32_HIGH_ACC   0x46u

◆ TMF8829_CMD_LOAD_CFG_48X32

#define TMF8829_CMD_LOAD_CFG_48X32   0x47u

◆ TMF8829_CMD_LOAD_CFG_48X32_HIGH_ACC

#define TMF8829_CMD_LOAD_CFG_48X32_HIGH_ACC   0x48u

◆ TMF8829_CMD_LOAD_CFG_8X8

#define TMF8829_CMD_LOAD_CFG_8X8   0x40u

◆ TMF8829_CMD_LOAD_CFG_8X8_HIGH_ACC

#define TMF8829_CMD_LOAD_CFG_8X8_HIGH_ACC   0x42u

◆ TMF8829_CMD_LOAD_CFG_8X8_LONG_RANGE

#define TMF8829_CMD_LOAD_CFG_8X8_LONG_RANGE   0x41u

◆ TMF8829_CMD_LOAD_CONFIG_PAGE

#define TMF8829_CMD_LOAD_CONFIG_PAGE   0x16u

◆ TMF8829_CMD_MEASURE

#define TMF8829_CMD_MEASURE   0x10u

◆ TMF8829_CMD_STOP

#define TMF8829_CMD_STOP   0xFFu

◆ TMF8829_CMD_WRITE_PAGE

#define TMF8829_CMD_WRITE_PAGE   0x15u

◆ TMF8829_DEFAULT_I2C_ADDR

#define TMF8829_DEFAULT_I2C_ADDR   0x41u

Default I2C 7-bit slave address.

◆ TMF8829_ENABLE_BOOT_NO_PLL_MASK

#define TMF8829_ENABLE_BOOT_NO_PLL_MASK   0x40u

bit 6: boot without PLL

◆ TMF8829_ENABLE_CPU_READY_MASK

#define TMF8829_ENABLE_CPU_READY_MASK   0x80u

bit 7: 1 if CPU is up

◆ TMF8829_ENABLE_POFF_MASK

#define TMF8829_ENABLE_POFF_MASK   0x08u

bit 3: power-off request

◆ TMF8829_ENABLE_PON_MASK

#define TMF8829_ENABLE_PON_MASK   0x04u

bit 2: power-on request (PON)

◆ TMF8829_ENABLE_POWERUP_MASK

#define TMF8829_ENABLE_POWERUP_MASK   (0x03u << TMF8829_ENABLE_POWERUP_SHIFT)

◆ TMF8829_ENABLE_POWERUP_SHIFT

#define TMF8829_ENABLE_POWERUP_SHIFT   4u

bits 4-5: powerup_select

◆ TMF8829_ENABLE_STANDBY_MASK

#define TMF8829_ENABLE_STANDBY_MASK   0x01u

bit 0: standby mode

◆ TMF8829_ENABLE_TIMED_STBY_MASK

#define TMF8829_ENABLE_TIMED_STBY_MASK   0x02u

bit 1: timed standby mode

◆ TMF8829_FID_HISTOGRAMS

#define TMF8829_FID_HISTOGRAMS   0x20u

◆ TMF8829_FID_MASK

#define TMF8829_FID_MASK   0xF0u

◆ TMF8829_FID_RESULTS

#define TMF8829_FID_RESULTS   0x10u

◆ TMF8829_FIFO_SIZE

#define TMF8829_FIFO_SIZE   8192u

Device-side FIFO size in bytes.

◆ TMF8829_FP_MODE_16X16

#define TMF8829_FP_MODE_16X16   2u

◆ TMF8829_FP_MODE_32X32

#define TMF8829_FP_MODE_32X32   3u

◆ TMF8829_FP_MODE_32X32S

#define TMF8829_FP_MODE_32X32S   4u

◆ TMF8829_FP_MODE_48X32

#define TMF8829_FP_MODE_48X32   5u

◆ TMF8829_FP_MODE_8X8A

#define TMF8829_FP_MODE_8X8A   0u

◆ TMF8829_FP_MODE_8X8B

#define TMF8829_FP_MODE_8X8B   1u

◆ TMF8829_FPM_MASK

#define TMF8829_FPM_MASK   0x0Fu

◆ TMF8829_FRAME_EOF

#define TMF8829_FRAME_EOF   0xE0F7u

End-of-frame marker stored in the last two bytes of every frame.

◆ TMF8829_FRAME_EOF_SIZE

#define TMF8829_FRAME_EOF_SIZE   2u

◆ TMF8829_FRAME_FOOTER_SIZE

#define TMF8829_FRAME_FOOTER_SIZE   12u

◆ TMF8829_FRAME_HEADER_OFFSET

#define TMF8829_FRAME_HEADER_OFFSET   4u

Bytes at start of frame not counted the same way as payload length field.

◆ TMF8829_FRAME_HEADER_SIZE

#define TMF8829_FRAME_HEADER_SIZE   16u

◆ TMF8829_FW_IMAGE_LOAD_ADDR_DEFAULT

#define TMF8829_FW_IMAGE_LOAD_ADDR_DEFAULT   0x00010000u

Default RAM start address for downloadable application image.

◆ TMF8829_GPIO0_FUNC_OFFSET

#define TMF8829_GPIO0_FUNC_OFFSET   0u /* TMF8829_REG_GPIO01CFG[3:0] */

◆ TMF8829_GPIO0_FUNC_SPI_MOSI

#define TMF8829_GPIO0_FUNC_SPI_MOSI   TMF8829_GPIO_FUNC_PERIPHERAL

◆ TMF8829_GPIO1_FUNC_OFFSET

#define TMF8829_GPIO1_FUNC_OFFSET   4u /* TMF8829_REG_GPIO01CFG[7:4] */

◆ TMF8829_GPIO1_FUNC_SPI_CSN

#define TMF8829_GPIO1_FUNC_SPI_CSN   TMF8829_GPIO_FUNC_PERIPHERAL

◆ TMF8829_GPIO2_FUNC_OFFSET

#define TMF8829_GPIO2_FUNC_OFFSET   0u /* TMF8829_REG_GPIO23CFG[3:0] */

◆ TMF8829_GPIO2_FUNC_SPI_SCLK

#define TMF8829_GPIO2_FUNC_SPI_SCLK   TMF8829_GPIO_FUNC_PERIPHERAL

◆ TMF8829_GPIO3_FUNC_OFFSET

#define TMF8829_GPIO3_FUNC_OFFSET   4u /* TMF8829_REG_GPIO23CFG[7:4] */

◆ TMF8829_GPIO3_FUNC_SPI_MISO

#define TMF8829_GPIO3_FUNC_SPI_MISO   TMF8829_GPIO_FUNC_PERIPHERAL

◆ TMF8829_GPIO4_FUNC_IxC_SCL

#define TMF8829_GPIO4_FUNC_IxC_SCL   TMF8829_GPIO_FUNC_PERIPHERAL

◆ TMF8829_GPIO4_FUNC_OFFSET

#define TMF8829_GPIO4_FUNC_OFFSET   0u /* TMF8829_REG_GPIO45CFG[3:0] */

◆ TMF8829_GPIO5_FUNC_IxC_SDA

#define TMF8829_GPIO5_FUNC_IxC_SDA   TMF8829_GPIO_FUNC_PERIPHERAL

◆ TMF8829_GPIO5_FUNC_OFFSET

#define TMF8829_GPIO5_FUNC_OFFSET   4u /* TMF8829_REG_GPIO45CFG[7:4] */

◆ TMF8829_GPIO6_FUNC_INT

#define TMF8829_GPIO6_FUNC_INT   TMF8829_GPIO_FUNC_PERIPHERAL

◆ TMF8829_GPIO6_FUNC_OFFSET

#define TMF8829_GPIO6_FUNC_OFFSET   0u /* TMF8829_REG_GPIO6CFG[3:0] */

◆ TMF8829_GPIO_CTRL_INPUT_ACTIVE_HIGH

#define TMF8829_GPIO_CTRL_INPUT_ACTIVE_HIGH   2u

◆ TMF8829_GPIO_CTRL_INPUT_ACTIVE_LOW

#define TMF8829_GPIO_CTRL_INPUT_ACTIVE_LOW   3u

◆ TMF8829_GPIO_CTRL_INPUT_IR

#define TMF8829_GPIO_CTRL_INPUT_IR   1u

◆ TMF8829_GPIO_CTRL_OUTPUT_HIGH

#define TMF8829_GPIO_CTRL_OUTPUT_HIGH   6u

◆ TMF8829_GPIO_CTRL_OUTPUT_HIGH_VCSEL_PULSING

#define TMF8829_GPIO_CTRL_OUTPUT_HIGH_VCSEL_PULSING   5u

◆ TMF8829_GPIO_CTRL_OUTPUT_LOW

#define TMF8829_GPIO_CTRL_OUTPUT_LOW   7u

◆ TMF8829_GPIO_CTRL_OUTPUT_LOW_VCSEL_PULSING

#define TMF8829_GPIO_CTRL_OUTPUT_LOW_VCSEL_PULSING   4u

◆ TMF8829_GPIO_CTRL_TRISTATE

#define TMF8829_GPIO_CTRL_TRISTATE   0u

◆ TMF8829_GPIO_FUNC_GPIO

#define TMF8829_GPIO_FUNC_GPIO   0x00u

◆ TMF8829_GPIO_FUNC_PERIPHERAL

#define TMF8829_GPIO_FUNC_PERIPHERAL   0x01u

◆ TMF8829_GPIO_PRE_DELAY_100_US

#define TMF8829_GPIO_PRE_DELAY_100_US   1u

◆ TMF8829_GPIO_PRE_DELAY_200_US

#define TMF8829_GPIO_PRE_DELAY_200_US   2u

◆ TMF8829_GPIO_PRE_DELAY_NONE

#define TMF8829_GPIO_PRE_DELAY_NONE   0u

◆ TMF8829_INT_ALL

◆ TMF8829_INT_HISTOGRAMS

#define TMF8829_INT_HISTOGRAMS   0x08u

◆ TMF8829_INT_MOTION

#define TMF8829_INT_MOTION   0x02u

◆ TMF8829_INT_PROXIMITY

#define TMF8829_INT_PROXIMITY   0x04u

◆ TMF8829_INT_RESULTS

#define TMF8829_INT_RESULTS   0x01u

◆ TMF8829_POWERUP_FORCE_BOOTMON

#define TMF8829_POWERUP_FORCE_BOOTMON   1u

Stay in bootmonitor

◆ TMF8829_POWERUP_NO_OVERRIDE

#define TMF8829_POWERUP_NO_OVERRIDE   0u

Use fuses (default)

◆ TMF8829_POWERUP_RAM

#define TMF8829_POWERUP_RAM   2u

Run RAM application after AORAM bootrecords

◆ TMF8829_PRE_HEADER_SIZE

#define TMF8829_PRE_HEADER_SIZE   5u

◆ TMF8829_REG_APP_ID

#define TMF8829_REG_APP_ID   0x00u

Currently running application id

◆ TMF8829_REG_APP_VER_MAJOR

#define TMF8829_REG_APP_VER_MAJOR   0x01u

◆ TMF8829_REG_APP_VER_MINOR

#define TMF8829_REG_APP_VER_MINOR   0x02u

◆ TMF8829_REG_APP_VER_PATCH

#define TMF8829_REG_APP_VER_PATCH   0x04u

◆ TMF8829_REG_BL_ADDRESS0

#define TMF8829_REG_BL_ADDRESS0   0x0Au

◆ TMF8829_REG_BL_ADDRESS1

#define TMF8829_REG_BL_ADDRESS1   0x0Bu

◆ TMF8829_REG_BL_ADDRESS2

#define TMF8829_REG_BL_ADDRESS2   0x0Cu

◆ TMF8829_REG_BL_ADDRESS3

#define TMF8829_REG_BL_ADDRESS3   0x0Du

◆ TMF8829_REG_BL_PAYLOAD

#define TMF8829_REG_BL_PAYLOAD   0x09u

◆ TMF8829_REG_BL_WORD_SIZE0

#define TMF8829_REG_BL_WORD_SIZE0   0x0Eu

◆ TMF8829_REG_BL_WORD_SIZE1

#define TMF8829_REG_BL_WORD_SIZE1   0x0Fu

◆ TMF8829_REG_CFG_ALG_CALIBRATION

#define TMF8829_REG_CFG_ALG_CALIBRATION   0x5Fu

◆ TMF8829_REG_CFG_ALG_CONFIDENCE_THRESHOLD

#define TMF8829_REG_CFG_ALG_CONFIDENCE_THRESHOLD   0x53u

◆ TMF8829_REG_CFG_ALG_DISTANCE

#define TMF8829_REG_CFG_ALG_DISTANCE   0x52u

◆ TMF8829_REG_CFG_ALG_HW_PEAK_START

#define TMF8829_REG_CFG_ALG_HW_PEAK_START   0x57u

◆ TMF8829_REG_CFG_ALG_PEAK_BINS

#define TMF8829_REG_CFG_ALG_PEAK_BINS   0x50u

◆ TMF8829_REG_CFG_ALG_REF_PEAK_BINS

#define TMF8829_REG_CFG_ALG_REF_PEAK_BINS   0x51u

◆ TMF8829_REG_CFG_BIN_SHIFT

#define TMF8829_REG_CFG_BIN_SHIFT   0x42u

◆ TMF8829_REG_CFG_CROP_BOTTOM_X

#define TMF8829_REG_CFG_CROP_BOTTOM_X   0x72u

◆ TMF8829_REG_CFG_CROP_BOTTOM_Y

#define TMF8829_REG_CFG_CROP_BOTTOM_Y   0x73u

◆ TMF8829_REG_CFG_CROP_TOP_X

#define TMF8829_REG_CFG_CROP_TOP_X   0x70u

◆ TMF8829_REG_CFG_CROP_TOP_Y

#define TMF8829_REG_CFG_CROP_TOP_Y   0x71u

◆ TMF8829_REG_CFG_DITHER

#define TMF8829_REG_CFG_DITHER   0x31u

◆ TMF8829_REG_CFG_DUMP_HISTOGRAMS

#define TMF8829_REG_CFG_DUMP_HISTOGRAMS   0x2Bu

◆ TMF8829_REG_CFG_ENABLE_DUAL_MODE

#define TMF8829_REG_CFG_ENABLE_DUAL_MODE   0x4Cu

◆ TMF8829_REG_CFG_FP_MODE

#define TMF8829_REG_CFG_FP_MODE   0x26u

◆ TMF8829_REG_CFG_GPIO

#define TMF8829_REG_CFG_GPIO   0x87u

◆ TMF8829_REG_CFG_GPIO_0

#define TMF8829_REG_CFG_GPIO_0   0x80u

◆ TMF8829_REG_CFG_GPIO_1

#define TMF8829_REG_CFG_GPIO_1   0x81u

◆ TMF8829_REG_CFG_GPIO_2

#define TMF8829_REG_CFG_GPIO_2   0x82u

◆ TMF8829_REG_CFG_GPIO_3

#define TMF8829_REG_CFG_GPIO_3   0x83u

◆ TMF8829_REG_CFG_GPIO_4

#define TMF8829_REG_CFG_GPIO_4   0x84u

◆ TMF8829_REG_CFG_GPIO_5

#define TMF8829_REG_CFG_GPIO_5   0x85u

◆ TMF8829_REG_CFG_GPIO_6

#define TMF8829_REG_CFG_GPIO_6   0x86u

◆ TMF8829_REG_CFG_HA_KILO_ITER_LSB

#define TMF8829_REG_CFG_HA_KILO_ITER_LSB   0x4Au

◆ TMF8829_REG_CFG_HA_KILO_ITER_MSB

#define TMF8829_REG_CFG_HA_KILO_ITER_MSB   0x4Bu

◆ TMF8829_REG_CFG_HISTOGRAM_BINS_LSB

#define TMF8829_REG_CFG_HISTOGRAM_BINS_LSB   0x40u

◆ TMF8829_REG_CFG_HISTOGRAM_BINS_MSB

#define TMF8829_REG_CFG_HISTOGRAM_BINS_MSB   0x41u

◆ TMF8829_REG_CFG_HV_CP

#define TMF8829_REG_CFG_HV_CP   0x48u

◆ TMF8829_REG_CFG_HV_CP_OVERLOAD_DETECT

#define TMF8829_REG_CFG_HV_CP_OVERLOAD_DETECT   0x4Du

◆ TMF8829_REG_CFG_I2C_ADDRESS

#define TMF8829_REG_CFG_I2C_ADDRESS   0x90u

◆ TMF8829_REG_CFG_INFO_FOV_CORR

#define TMF8829_REG_CFG_INFO_FOV_CORR   0x78u

◆ TMF8829_REG_CFG_INT_HIGH_LSB

#define TMF8829_REG_CFG_INT_HIGH_LSB   0x6Au

◆ TMF8829_REG_CFG_INT_HIGH_MSB

#define TMF8829_REG_CFG_INT_HIGH_MSB   0x6Bu

◆ TMF8829_REG_CFG_INT_LOW_LSB

#define TMF8829_REG_CFG_INT_LOW_LSB   0x68u

◆ TMF8829_REG_CFG_INT_LOW_MSB

#define TMF8829_REG_CFG_INT_LOW_MSB   0x69u

◆ TMF8829_REG_CFG_INT_PERSISTENCE

#define TMF8829_REG_CFG_INT_PERSISTENCE   0x6Cu

◆ TMF8829_REG_CFG_INT_ZONE_MASK_0

#define TMF8829_REG_CFG_INT_ZONE_MASK_0   0x60u

◆ TMF8829_REG_CFG_INT_ZONE_MASK_1

#define TMF8829_REG_CFG_INT_ZONE_MASK_1   0x61u

◆ TMF8829_REG_CFG_INT_ZONE_MASK_2

#define TMF8829_REG_CFG_INT_ZONE_MASK_2   0x62u

◆ TMF8829_REG_CFG_INT_ZONE_MASK_3

#define TMF8829_REG_CFG_INT_ZONE_MASK_3   0x63u

◆ TMF8829_REG_CFG_INT_ZONE_MASK_4

#define TMF8829_REG_CFG_INT_ZONE_MASK_4   0x64u

◆ TMF8829_REG_CFG_INT_ZONE_MASK_5

#define TMF8829_REG_CFG_INT_ZONE_MASK_5   0x65u

◆ TMF8829_REG_CFG_INT_ZONE_MASK_6

#define TMF8829_REG_CFG_INT_ZONE_MASK_6   0x66u

◆ TMF8829_REG_CFG_INT_ZONE_MASK_7

#define TMF8829_REG_CFG_INT_ZONE_MASK_7   0x67u

◆ TMF8829_REG_CFG_KILO_ITER_LSB

#define TMF8829_REG_CFG_KILO_ITER_LSB   0x24u

◆ TMF8829_REG_CFG_KILO_ITER_MSB

#define TMF8829_REG_CFG_KILO_ITER_MSB   0x25u

◆ TMF8829_REG_CFG_LAST_AVAILABLE

#define TMF8829_REG_CFG_LAST_AVAILABLE   0xDFu

◆ TMF8829_REG_CFG_MOTION_ADJACENT_PIXEL

#define TMF8829_REG_CFG_MOTION_ADJACENT_PIXEL   0xB4u

◆ TMF8829_REG_CFG_MOTION_DETECT_DISTANCE_LSB

#define TMF8829_REG_CFG_MOTION_DETECT_DISTANCE_LSB   0xB0u

◆ TMF8829_REG_CFG_MOTION_DETECT_DISTANCE_MSB

#define TMF8829_REG_CFG_MOTION_DETECT_DISTANCE_MSB   0xB1u

◆ TMF8829_REG_CFG_MOTION_DETECT_SNR

#define TMF8829_REG_CFG_MOTION_DETECT_SNR   0xB2u

◆ TMF8829_REG_CFG_MOTION_RELEASE_SNR

#define TMF8829_REG_CFG_MOTION_RELEASE_SNR   0xB3u

◆ TMF8829_REG_CFG_PERIOD_MS_LSB

#define TMF8829_REG_CFG_PERIOD_MS_LSB   0x22u

◆ TMF8829_REG_CFG_PERIOD_MS_MSB

#define TMF8829_REG_CFG_PERIOD_MS_MSB   0x23u

◆ TMF8829_REG_CFG_POST_PROCESSING

#define TMF8829_REG_CFG_POST_PROCESSING   0x6Du

◆ TMF8829_REG_CFG_POWER_MODES

#define TMF8829_REG_CFG_POWER_MODES   0x2Eu

◆ TMF8829_REG_CFG_PROX_DISTANCE

#define TMF8829_REG_CFG_PROX_DISTANCE   0x6Eu

◆ TMF8829_REG_CFG_REF_BIN_SHIFT

#define TMF8829_REG_CFG_REF_BIN_SHIFT   0x43u

◆ TMF8829_REG_CFG_REF_SPAD_SELECT

#define TMF8829_REG_CFG_REF_SPAD_SELECT   0x28u

◆ TMF8829_REG_CFG_RESULT_FORMAT

#define TMF8829_REG_CFG_RESULT_FORMAT   0x2Au

◆ TMF8829_REG_CFG_SPAD_DEADTIME

#define TMF8829_REG_CFG_SPAD_DEADTIME   0x29u

◆ TMF8829_REG_CFG_SPAD_SELECT

#define TMF8829_REG_CFG_SPAD_SELECT   0x27u

◆ TMF8829_REG_CFG_TDC_OFFSET_LSB

#define TMF8829_REG_CFG_TDC_OFFSET_LSB   0x44u

◆ TMF8829_REG_CFG_TDC_OFFSET_MSB

#define TMF8829_REG_CFG_TDC_OFFSET_MSB   0x45u

◆ TMF8829_REG_CFG_TDC_PRE_PERIODS_LSB

#define TMF8829_REG_CFG_TDC_PRE_PERIODS_LSB   0x46u

◆ TMF8829_REG_CFG_TDC_PRE_PERIODS_MSB

#define TMF8829_REG_CFG_TDC_PRE_PERIODS_MSB   0x47u

◆ TMF8829_REG_CFG_VCDRV

#define TMF8829_REG_CFG_VCDRV   0x32u

◆ TMF8829_REG_CFG_VCDRV_2

#define TMF8829_REG_CFG_VCDRV_2   0x33u

◆ TMF8829_REG_CFG_VCDRV_3

#define TMF8829_REG_CFG_VCDRV_3   0x34u

◆ TMF8829_REG_CFG_VCDRV_CP

#define TMF8829_REG_CFG_VCDRV_CP   0x3Au

◆ TMF8829_REG_CFG_VCDRV_OFFSET_LSB

#define TMF8829_REG_CFG_VCDRV_OFFSET_LSB   0x38u

◆ TMF8829_REG_CFG_VCDRV_OFFSET_MSB

#define TMF8829_REG_CFG_VCDRV_OFFSET_MSB   0x39u

◆ TMF8829_REG_CFG_VCSEL_ON

#define TMF8829_REG_CFG_VCSEL_ON   0x30u

◆ TMF8829_REG_CFG_VCSEL_PERIOD_LSB

#define TMF8829_REG_CFG_VCSEL_PERIOD_LSB   0x36u

◆ TMF8829_REG_CFG_VCSEL_PERIOD_MSB

#define TMF8829_REG_CFG_VCSEL_PERIOD_MSB   0x37u

◆ TMF8829_REG_CID_RID

#define TMF8829_REG_CID_RID   0x20u

◆ TMF8829_REG_CMD_STAT

#define TMF8829_REG_CMD_STAT   0x08u

Command / status register

◆ TMF8829_REG_ENABLE

#define TMF8829_REG_ENABLE   0xF8u

Power / boot / status register

◆ TMF8829_REG_FIFO

#define TMF8829_REG_FIFO   0xFFu

◆ TMF8829_REG_FIFO_STATUS

#define TMF8829_REG_FIFO_STATUS   0xFAu

◆ TMF8829_REG_GPIO01CFG

#define TMF8829_REG_GPIO01CFG   0xF1u

GPIO0/GPIO1 interface-function select

◆ TMF8829_REG_GPIO23CFG

#define TMF8829_REG_GPIO23CFG   0xF2u

GPIO2/GPIO3 interface-function select

◆ TMF8829_REG_GPIO45CFG

#define TMF8829_REG_GPIO45CFG   0xF3u

GPIO4/GPIO5 interface-function select

◆ TMF8829_REG_GPIO6CFG

#define TMF8829_REG_GPIO6CFG   0xF4u

GPIO6 function select (INT/GPIO6)

◆ TMF8829_REG_GPIO_VALUE

#define TMF8829_REG_GPIO_VALUE   0x10u

◆ TMF8829_REG_I2C_DEVADDR

#define TMF8829_REG_I2C_DEVADDR   0xE0u

Re-programmable I2C slave address

◆ TMF8829_REG_ID

#define TMF8829_REG_ID   0xE3u

Device id (read-only)

◆ TMF8829_REG_INT_ENAB

#define TMF8829_REG_INT_ENAB   0xE2u

Interrupt enable mask

◆ TMF8829_REG_INT_STATUS

#define TMF8829_REG_INT_STATUS   0xE1u

Interrupt status (write-1-to-clear)

◆ TMF8829_REG_INTERFACE

#define TMF8829_REG_INTERFACE   0xE9u

Active host interface status

◆ TMF8829_REG_LIVE_BEAT_0

#define TMF8829_REG_LIVE_BEAT_0   0x1Au

◆ TMF8829_REG_LIVE_BEAT_1

#define TMF8829_REG_LIVE_BEAT_1   0x1Bu

◆ TMF8829_REG_MEASURE_STATUS

#define TMF8829_REG_MEASURE_STATUS   0x05u

◆ TMF8829_REG_PAYLOAD

#define TMF8829_REG_PAYLOAD   0x21u

◆ TMF8829_REG_PREV_CMD

#define TMF8829_REG_PREV_CMD   0x09u

Previously executed command

◆ TMF8829_REG_RESET

#define TMF8829_REG_RESET   0xF7u

Reset register

◆ TMF8829_REG_REVID

#define TMF8829_REG_REVID   0xE4u

Device revision id (read-only)

◆ TMF8829_REG_SERIAL_NUMBER_0

#define TMF8829_REG_SERIAL_NUMBER_0   0x1Cu

◆ TMF8829_REG_SERIAL_NUMBER_1

#define TMF8829_REG_SERIAL_NUMBER_1   0x1Du

◆ TMF8829_REG_SERIAL_NUMBER_2

#define TMF8829_REG_SERIAL_NUMBER_2   0x1Eu

◆ TMF8829_REG_SERIAL_NUMBER_3

#define TMF8829_REG_SERIAL_NUMBER_3   0x1Fu

◆ TMF8829_REG_SYS_TICK_0

#define TMF8829_REG_SYS_TICK_0   0xFBu

◆ TMF8829_REG_SYS_TICK_1

#define TMF8829_REG_SYS_TICK_1   0xFCu

◆ TMF8829_REG_SYS_TICK_2

#define TMF8829_REG_SYS_TICK_2   0xFDu

◆ TMF8829_REG_SYS_TICK_3

#define TMF8829_REG_SYS_TICK_3   0xFEu

◆ TMF8829_RESET_HARD_MASK

#define TMF8829_RESET_HARD_MASK   0x80u

bit 7: hard reset

◆ TMF8829_RESET_SOFT_MASK

#define TMF8829_RESET_SOFT_MASK   0x40u

bit 6: soft reset

◆ TMF8829_RESULT_ERR_EOF

#define TMF8829_RESULT_ERR_EOF   0x01u

◆ TMF8829_RESULT_ERR_UNKNOWN

#define TMF8829_RESULT_ERR_UNKNOWN   0x00u

◆ TMF8829_RESULT_FORMAT_NOISE_MASK

#define TMF8829_RESULT_FORMAT_NOISE_MASK   0x10u

◆ TMF8829_RESULT_FORMAT_NR_PEAKS_MASK

#define TMF8829_RESULT_FORMAT_NR_PEAKS_MASK   0x07u

◆ TMF8829_RESULT_FORMAT_SIG_STRENGTH_MASK

#define TMF8829_RESULT_FORMAT_SIG_STRENGTH_MASK   0x08u

◆ TMF8829_RESULT_FORMAT_XTALK_MASK

#define TMF8829_RESULT_FORMAT_XTALK_MASK   0x20u

◆ TMF8829_RESULT_FRAME_SUBIDX_MASK

#define TMF8829_RESULT_FRAME_SUBIDX_MASK   0x40u

Bitmask within the sub-id byte that marks histogram sub-frames.

◆ TMF8829_RESULT_FULL_NOISE_MASK

#define TMF8829_RESULT_FULL_NOISE_MASK   7u

◆ TMF8829_RESULT_ID_ERROR

#define TMF8829_RESULT_ID_ERROR   0xFEu

◆ TMF8829_RESULT_ID_MEAS_HEADER

#define TMF8829_RESULT_ID_MEAS_HEADER   0xFDu

◆ TMF8829_RESULT_ID_MEAS_HIST

#define TMF8829_RESULT_ID_MEAS_HIST   0xBBu

◆ TMF8829_RESULT_ID_MEAS_RES

#define TMF8829_RESULT_ID_MEAS_RES   0xAAu

◆ TMF8829_RESULT_ID_NONE

#define TMF8829_RESULT_ID_NONE   0xFFu

◆ TMF8829_RESULT_NOISE_STRENGTH_MASK

#define TMF8829_RESULT_NOISE_STRENGTH_MASK   4u

◆ TMF8829_RESULT_NR_PEAKS_MASK

#define TMF8829_RESULT_NR_PEAKS_MASK   0u

◆ TMF8829_RESULT_SIGNAL_STRENGTH_MASK

#define TMF8829_RESULT_SIGNAL_STRENGTH_MASK   3u

◆ TMF8829_RESULT_SUB_RESULT_MASK

#define TMF8829_RESULT_SUB_RESULT_MASK   6u

◆ TMF8829_RESULT_XTALK_MASK

#define TMF8829_RESULT_XTALK_MASK   5u

◆ TMF8829_SPI_RD_CMD

#define TMF8829_SPI_RD_CMD   0x03u

SPI read command prefix byte.

◆ TMF8829_SPI_WR_CMD

#define TMF8829_SPI_WR_CMD   0x02u

SPI write command prefix byte.

◆ TMF8829_STAT_ACCEPTED

#define TMF8829_STAT_ACCEPTED   0x01u

◆ TMF8829_STAT_OK

#define TMF8829_STAT_OK   0x00u

◆ TMF8829_TICKS_PER_1000_US

#define TMF8829_TICKS_PER_1000_US   125u

Device clock rate (kHz) used for clock-correction math.