The definition of the fields for the senxor.
You can use this class to get the field definitions statically, without connecting to a device.
Attributes:
| Name |
Type |
Description |
__fields__ |
list[type[Field]]
|
The list of field definitions.
|
__reg2fields__ |
dict[int, list[str]]
|
The dictionary of register addresses to field names.
|
Examples:
>>> from senxor.regmap import Fields
>>> Fields.__fields__
['SW_RESET', ...]
>>> Fields.__reg2fields__
{0x00: ['SW_RESET'], 0x01: ['DMA_TIMEOUT_ENABLE', 'TIMEOUT_PERIOD', 'STOP_HOST_XFER'], ...}
>>> Fields.SW_RESET.name
'SW_RESET'
SW_RESET
name = 'SW_RESET'
class-attribute
instance-attribute
description = 'Software reset'
class-attribute
instance-attribute
help = '\n Set this bit to 1 to reset the MI48.\n This bit is cleared automatically after the reset is complete.\n '
class-attribute
instance-attribute
address = 0
class-attribute
instance-attribute
bits_range = (0, 1)
class-attribute
instance-attribute
writable = True
class-attribute
instance-attribute
readable = False
class-attribute
instance-attribute
self_reset = True
class-attribute
instance-attribute
available = True
class-attribute
instance-attribute
DMA_TIMEOUT_ENABLE
name = 'DMA_TIMEOUT_ENABLE'
class-attribute
instance-attribute
description = 'DMA timeout enable'
class-attribute
instance-attribute
help = '\n For SPI interface only. Enable DMA timeout monitoring for the SPI transfer.\n The value of timeout is determined by the TIMEOUT_PERIOD below.\n '
class-attribute
instance-attribute
address = 1
class-attribute
instance-attribute
bits_range = (0, 1)
class-attribute
instance-attribute
writable = True
class-attribute
instance-attribute
readable = True
class-attribute
instance-attribute
self_reset = False
class-attribute
instance-attribute
available = True
class-attribute
instance-attribute
TIMEOUT_PERIOD
name = 'TIMEOUT_PERIOD'
class-attribute
instance-attribute
description = 'Select timeout period for DMA'
class-attribute
instance-attribute
help = '\n The value selects the timeout period as follows, in conjunction when bit 0 is set to 1:\n - 0: 500 ms\n - 1: 1000 ms\n - 2: 2000 ms\n - 3: 100 ms (default)\n '
class-attribute
instance-attribute
address = 1
class-attribute
instance-attribute
bits_range = (1, 3)
class-attribute
instance-attribute
writable = True
class-attribute
instance-attribute
readable = True
class-attribute
instance-attribute
self_reset = False
class-attribute
instance-attribute
available = True
class-attribute
instance-attribute
value_map = {0: '500 ms', 1: '1000 ms', 2: '2000 ms', 3: '100 ms'}
class-attribute
STOP_HOST_XFER
name = 'STOP_HOST_XFER'
class-attribute
instance-attribute
description = 'Reset SPI transfer between host and MI48'
class-attribute
instance-attribute
help = '\n For SPI interface only. For the host to reset the SPI transfer between the host and the MI48.\n Stop and reset host SPI DMA by setting to 1. This bit is self-cleared when the reset is complete.\n '
class-attribute
instance-attribute
address = 1
class-attribute
instance-attribute
bits_range = (3, 4)
class-attribute
instance-attribute
writable = True
class-attribute
instance-attribute
readable = True
class-attribute
instance-attribute
self_reset = True
class-attribute
instance-attribute
available = True
class-attribute
instance-attribute
REQ_RETRANSMIT
name = 'REQ_RETRANSMIT'
class-attribute
instance-attribute
description = 'Request retransmission from MI48'
class-attribute
instance-attribute
help = '\n Set this bit to 1 to request a retransmission from MI48\n This bit is cleared automatically after the changes are applied.\n '
class-attribute
instance-attribute
address = 25
class-attribute
instance-attribute
bits_range = (0, 1)
class-attribute
instance-attribute
writable = True
class-attribute
instance-attribute
readable = True
class-attribute
instance-attribute
self_reset = True
class-attribute
instance-attribute
available = True
class-attribute
instance-attribute
AUTO_RETRANSMIT
name = 'AUTO_RETRANSMIT'
class-attribute
instance-attribute
description = 'Enable automatic retransmission on SPI timeout'
class-attribute
instance-attribute
help = '\n Set this bit to 1 to enable automatic retransmission when SPI timeout is detected\n '
class-attribute
instance-attribute
address = 25
class-attribute
instance-attribute
bits_range = (1, 2)
class-attribute
instance-attribute
writable = True
class-attribute
instance-attribute
readable = True
class-attribute
instance-attribute
self_reset = False
class-attribute
instance-attribute
available = True
class-attribute
instance-attribute
GET_SINGLE_FRAME
name = 'GET_SINGLE_FRAME'
class-attribute
instance-attribute
description = 'Acquire a single frame'
class-attribute
instance-attribute
help = '\n Setting this bit to 1 leads to the acquisition of a single frame.\n This bit is automatically reset to 0 after the acquisition of one frame.\n Note that writing 1 to this bit prior to it being auto-reset and prior to DATA_READY going high will restart the frame acquisition.\n DATA_READY will remain low until the data from the restarted acquisition is available in the output buffer.\n '
class-attribute
instance-attribute
address = 177
class-attribute
instance-attribute
bits_range = (0, 1)
class-attribute
instance-attribute
writable = True
class-attribute
instance-attribute
readable = True
class-attribute
instance-attribute
self_reset = True
class-attribute
instance-attribute
available = True
class-attribute
instance-attribute
CONTINUOUS_STREAM
name = 'CONTINUOUS_STREAM'
class-attribute
instance-attribute
description = 'Enable continuous capture mode'
class-attribute
instance-attribute
help = '\n Setting this bit to 1 instructs the MI48xx to operate in Continuous Capture Mode, whereby it continuously acquires data from the camera module and updates the readout buffer accessible through the SPI interface.\n Resetting this bit to 0 instructs the MI48xx to stop continuous data acquisition. This also resets to 0 the DATA_READY pin and the corresponding bit 4 of the STATUS register.\n '
class-attribute
instance-attribute
address = 177
class-attribute
instance-attribute
bits_range = (1, 2)
class-attribute
instance-attribute
writable = True
class-attribute
instance-attribute
readable = True
class-attribute
instance-attribute
self_reset = False
class-attribute
instance-attribute
available = True
class-attribute
instance-attribute
READOUT_MODE
name = 'READOUT_MODE'
class-attribute
instance-attribute
description = 'Configure the readout mode'
class-attribute
instance-attribute
help = '\n Configure the readout mode of the output frame buffer, accessible through the SPI interface.\n Currently only Full-Frame Readout Mode is implemented, where the host controller can read out the frame only when it is captured and processed in its entirety.\n\n Values:\n - 0: Full-Frame Readout Mode (default)\n - 1 to 7: Reserved.\n '
class-attribute
instance-attribute
address = 177
class-attribute
instance-attribute
bits_range = (2, 5)
class-attribute
instance-attribute
writable = True
class-attribute
instance-attribute
readable = True
class-attribute
instance-attribute
self_reset = False
class-attribute
instance-attribute
available = True
class-attribute
instance-attribute
value_map = {0: 'Full-Frame Readout Mode'}
class-attribute
ADC_ENABLE
name = 'ADC_ENABLE'
class-attribute
instance-attribute
description = 'Output raw ADC data'
class-attribute
instance-attribute
help = '\n Setting this bit to 1 enables the output of raw ADC data.\n '
class-attribute
instance-attribute
address = 177
class-attribute
instance-attribute
bits_range = (7, 8)
class-attribute
instance-attribute
writable = True
class-attribute
instance-attribute
readable = True
class-attribute
instance-attribute
self_reset = False
class-attribute
instance-attribute
available = True
class-attribute
instance-attribute
FW_VERSION_MAJOR
name = 'FW_VERSION_MAJOR'
class-attribute
instance-attribute
description = 'Major firmware version number'
class-attribute
instance-attribute
help = '\n Major firmware version number\n '
class-attribute
instance-attribute
address = 178
class-attribute
instance-attribute
bits_range = (4, 8)
class-attribute
instance-attribute
writable = False
class-attribute
instance-attribute
readable = True
class-attribute
instance-attribute
self_reset = False
class-attribute
instance-attribute
available = True
class-attribute
instance-attribute
FW_VERSION_MINOR
name = 'FW_VERSION_MINOR'
class-attribute
instance-attribute
description = 'Minor firmware version number'
class-attribute
instance-attribute
help = '\n Minor firmware version number\n '
class-attribute
instance-attribute
address = 178
class-attribute
instance-attribute
bits_range = (0, 4)
class-attribute
instance-attribute
writable = False
class-attribute
instance-attribute
readable = True
class-attribute
instance-attribute
self_reset = False
class-attribute
instance-attribute
available = True
class-attribute
instance-attribute
FW_VERSION_BUILD
name = 'FW_VERSION_BUILD'
class-attribute
instance-attribute
description = 'Firmware build number'
class-attribute
instance-attribute
help = '\n Firmware build number\n '
class-attribute
instance-attribute
address = 179
class-attribute
instance-attribute
bits_range = (0, 8)
class-attribute
instance-attribute
writable = False
class-attribute
instance-attribute
readable = True
class-attribute
instance-attribute
self_reset = False
class-attribute
instance-attribute
available = True
class-attribute
instance-attribute
FRAME_RATE_DIVIDER
name = 'FRAME_RATE_DIVIDER'
class-attribute
instance-attribute
description = 'Frame rate divider'
class-attribute
instance-attribute
help = '\n The value of these bits establishes the rate at which the host controller can read out thermal data frame from the Output Frame Buffer through the SPI interface.\n The value must be an unsigned integer representing the frame rate divisor of the maximum frame rate, FPS_MAX, of the attached camera module: FPS = FPS_MAX / FRAME_RATE_DIVIDER.\n Exception is FRAME_RATE = 0, which yields FPS_MAX.\n\n Values:\n - 0: MAX FPS\n - 1 to 127: 1/value MAX FPS\n '
class-attribute
instance-attribute
address = 180
class-attribute
instance-attribute
bits_range = (0, 7)
class-attribute
instance-attribute
writable = True
class-attribute
instance-attribute
readable = True
class-attribute
instance-attribute
self_reset = False
class-attribute
instance-attribute
available = True
class-attribute
instance-attribute
SLEEP_PERIOD
name = 'SLEEP_PERIOD'
class-attribute
instance-attribute
description = 'Sleep period duration'
class-attribute
instance-attribute
help = '\n The length of time during which the MI48xx and the attached SenXorTM camera module stay in low power mode (sleep mode) after every frame that has been read out through the SPI interface.\n The value represents time in units of 10 milliseconds, or time in units of 1 s if PERIOD_X100 (bit 6) is set.\n Values:\n - 0 to 63: value * 10 ms or value * 1 s\n '
class-attribute
instance-attribute
address = 181
class-attribute
instance-attribute
bits_range = (0, 6)
class-attribute
instance-attribute
writable = True
class-attribute
instance-attribute
readable = True
class-attribute
instance-attribute
self_reset = False
class-attribute
instance-attribute
available = True
class-attribute
instance-attribute
PERIOD_X100
name = 'PERIOD_X100'
class-attribute
instance-attribute
description = 'Set sleep period units to seconds'
class-attribute
instance-attribute
help = '\n When this bit is set, the value of SLEEP_PERIOD is in units of 1 second.\n '
class-attribute
instance-attribute
address = 181
class-attribute
instance-attribute
bits_range = (6, 7)
class-attribute
instance-attribute
writable = True
class-attribute
instance-attribute
readable = True
class-attribute
instance-attribute
self_reset = False
class-attribute
instance-attribute
available = True
class-attribute
instance-attribute
SLEEP
name = 'SLEEP'
class-attribute
instance-attribute
description = 'Enter low power sleep mode'
class-attribute
instance-attribute
help = '\n When this bit is set to 1 the MI48xx will power down the SenXorTM Camera Module and will enter low power sleep mode itself immediately after.\n The bit is automatically reset to 0 if MI48xx is addressed via the I2C interface, upon which the chip exits sleep mode and powers up the camera module.\n\n In SPI/I2C mode the chip supports host-control and automatic sleep modes.\n Host-control: set this bit to 1 to enter sleep; any I2C access exits sleep and clears the bit. Wait 50 ms before capture.\n Automatic: set a non-zero SLEEP_PERIOD; the chip sleeps after each frame and waits 50 ms on wake-up.\n Do not use in USB mode.\n\n '
class-attribute
instance-attribute
address = 181
class-attribute
instance-attribute
bits_range = (7, 8)
class-attribute
instance-attribute
writable = True
class-attribute
instance-attribute
readable = True
class-attribute
instance-attribute
self_reset = True
class-attribute
instance-attribute
available = True
class-attribute
instance-attribute
READOUT_TOO_SLOW
name = 'READOUT_TOO_SLOW'
class-attribute
instance-attribute
description = 'Last frame readout was too slow'
class-attribute
instance-attribute
help = '\n Reads 1 if the last frame was not readout within the time-period reciprocal to the maximum frame rate of the attached camera module.\n Relevant only in Continuous Capture Mode (see bit 1, CONTINUOUS_STREAM, of register FRAME_MODE, 0xB1).\n Reads 0 otherwise.\n Auto-reset upon read.\n Supported only in SPI/I2C mode.\n '
class-attribute
instance-attribute
address = 182
class-attribute
instance-attribute
bits_range = (1, 2)
class-attribute
instance-attribute
writable = False
class-attribute
instance-attribute
readable = True
class-attribute
instance-attribute
self_reset = True
class-attribute
instance-attribute
available = True
class-attribute
instance-attribute
SENXOR_IF_ERROR
name = 'SENXOR_IF_ERROR'
class-attribute
instance-attribute
description = 'Error detected during power-up'
class-attribute
instance-attribute
help = '\n Reads 1 if an error was detected on the SenXor interface during power-up of the MI48xx.\n '
class-attribute
instance-attribute
address = 182
class-attribute
instance-attribute
bits_range = (2, 3)
class-attribute
instance-attribute
writable = False
class-attribute
instance-attribute
readable = True
class-attribute
instance-attribute
self_reset = False
class-attribute
instance-attribute
available = True
class-attribute
instance-attribute
CAPTURE_ERROR
name = 'CAPTURE_ERROR'
class-attribute
instance-attribute
description = 'Communication error during data capture'
class-attribute
instance-attribute
help = '\n Communication error on the SenXor interface during thermal data capture.\n '
class-attribute
instance-attribute
address = 182
class-attribute
instance-attribute
bits_range = (3, 4)
class-attribute
instance-attribute
writable = False
class-attribute
instance-attribute
readable = True
class-attribute
instance-attribute
self_reset = True
class-attribute
instance-attribute
available = True
class-attribute
instance-attribute
DATA_READY
name = 'DATA_READY'
class-attribute
instance-attribute
description = 'Data ready status flag'
class-attribute
instance-attribute
help = '\n This bit reflects the state of the DATA_READY pin and is intended to be polled by a system that cannot have a hardware connection to the DATA_READY pin.\n Note however, that when this bit is polled continuously without delay it might cause a drop in the data frame rate.\n Therefore, it is recommended to introduce a few milliseconds delay between successive polls.\n '
class-attribute
instance-attribute
address = 182
class-attribute
instance-attribute
bits_range = (4, 5)
class-attribute
instance-attribute
writable = False
class-attribute
instance-attribute
readable = True
class-attribute
instance-attribute
self_reset = True
class-attribute
instance-attribute
available = True
class-attribute
instance-attribute
BOOTING_UP
name = 'BOOTING_UP'
class-attribute
instance-attribute
description = 'MI48xx boot status'
class-attribute
instance-attribute
help = '\n Reads 1 if the MI48xx is still booting up. Reads 0 after the MI48xx completes its boot up process.\n Once it reads zero, write to other registers is allowed, and frame capture can start.\n '
class-attribute
instance-attribute
address = 182
class-attribute
instance-attribute
bits_range = (5, 6)
class-attribute
instance-attribute
writable = False
class-attribute
instance-attribute
readable = True
class-attribute
instance-attribute
self_reset = True
class-attribute
instance-attribute
available = True
class-attribute
instance-attribute
CLK_SLOW_DOWN
name = 'CLK_SLOW_DOWN'
class-attribute
instance-attribute
description = 'Reduce internal clock speed'
class-attribute
instance-attribute
help = '\n Setting this bit to 0 reduces the internal clock speed of the MI48xx by a half, and leads to a reduction of its dynamic power by approximately the same factor.\n '
class-attribute
instance-attribute
address = 183
class-attribute
instance-attribute
bits_range = (0, 1)
class-attribute
instance-attribute
writable = True
class-attribute
instance-attribute
readable = True
class-attribute
instance-attribute
self_reset = False
class-attribute
instance-attribute
available = True
class-attribute
instance-attribute
MODULE_GAIN
name = 'MODULE_GAIN'
class-attribute
instance-attribute
description = 'SenXor array signal amplification'
class-attribute
instance-attribute
help = '\n These bits define the common amplification of the signal generated by each pixel in the SenXor array.\n The increased amplification improves signal to noise ratio but limits the range of scene temperatures that can be reported.\n\n Values:\n - 0: 1.0 (default, maximum gain)\n - 1: auto (automatic gain selection: 1.0, 0.5, or 0.25 based on input signal)\n - 2: 0.25 (quarter gain)\n - 3: 0.5 (half gain)\n - 4: 1.0 (maximum gain)\n - 5-15: Reserved\n '
class-attribute
instance-attribute
address = 185
class-attribute
instance-attribute
bits_range = (0, 4)
class-attribute
instance-attribute
writable = True
class-attribute
instance-attribute
readable = True
class-attribute
instance-attribute
self_reset = False
class-attribute
instance-attribute
available = True
class-attribute
instance-attribute
value_map = {0: '1.0', 1: 'auto', 2: '0.25', 3: '0.5', 4: '1.0'}
class-attribute
SENXOR_TYPE
name = 'SENXOR_TYPE'
class-attribute
instance-attribute
description = 'SenXor chip type identifier'
class-attribute
instance-attribute
help = '\n As per the SenXor chip in the attached module\n '
class-attribute
instance-attribute
address = 186
class-attribute
instance-attribute
bits_range = (0, 8)
class-attribute
instance-attribute
writable = False
class-attribute
instance-attribute
readable = True
class-attribute
instance-attribute
self_reset = False
class-attribute
instance-attribute
available = True
class-attribute
instance-attribute
MODULE_TYPE
name = 'MODULE_TYPE'
class-attribute
instance-attribute
description = 'Camera module type identifier'
class-attribute
instance-attribute
help = '\n Module type, defined by the combination of SenXor chip type and specific lens.\n The value of this register is typically pre-set during factory calibration of the module.\n However, for self-calibrated modules, the user must write the correct value before initiating the self-calibration process.\n '
class-attribute
instance-attribute
address = 187
class-attribute
instance-attribute
bits_range = (0, 8)
class-attribute
instance-attribute
writable = False
class-attribute
instance-attribute
readable = True
class-attribute
instance-attribute
self_reset = False
class-attribute
instance-attribute
available = True
class-attribute
instance-attribute
MCU_TYPE
name = 'MCU_TYPE'
class-attribute
instance-attribute
description = 'MCU type identifier'
class-attribute
instance-attribute
help = '\n The MCU_TYPE register indicates the model of the MIxx series chip used in the module.\n '
class-attribute
instance-attribute
address = 51
class-attribute
instance-attribute
bits_range = (0, 8)
class-attribute
instance-attribute
writable = False
class-attribute
instance-attribute
readable = True
class-attribute
instance-attribute
self_reset = False
class-attribute
instance-attribute
available = True
class-attribute
instance-attribute
LUT_SOURCE
name = 'LUT_SOURCE'
class-attribute
instance-attribute
description = 'Select LUT source'
class-attribute
instance-attribute
help = '\n Select LUT Source.\n\n Values:\n - 0: Module flash (default)\n - 1: Firmware\n '
class-attribute
instance-attribute
address = 188
class-attribute
instance-attribute
bits_range = (0, 1)
class-attribute
instance-attribute
writable = True
class-attribute
instance-attribute
readable = True
class-attribute
instance-attribute
self_reset = False
class-attribute
instance-attribute
available = True
class-attribute
instance-attribute
value_map = {0: 'Module flash', 1: 'Firmware'}
class-attribute
LUT_SELECTOR
name = 'LUT_SELECTOR'
class-attribute
instance-attribute
description = 'Select specific LUT'
class-attribute
instance-attribute
help = "\n Interpretation depends on the 'LUT_SOURCE' as follows:\n\n `LUT_SOURCE` is `0`:\n - 0: lens-specific\n - 1-7: reserved\n\n `LUT_SOURCE` is `1`:\n - 0: not lens-specific\n - 1: reserved\n - 2: extended LUT, for MI0802-M5S, supporting an extended scene range\n - 4: LUT V10, for MI0802-M7G\n - 5-7: reserved\n "
class-attribute
instance-attribute
address = 188
class-attribute
instance-attribute
bits_range = (1, 3)
class-attribute
instance-attribute
writable = True
class-attribute
instance-attribute
readable = True
class-attribute
instance-attribute
self_reset = False
class-attribute
instance-attribute
available = True
class-attribute
instance-attribute
LUT_VERSION
name = 'LUT_VERSION'
class-attribute
instance-attribute
description = 'Look-up-table version'
class-attribute
instance-attribute
help = '\n Read-only field indicating the version of the currently selected look-up-table.\n '
class-attribute
instance-attribute
address = 188
class-attribute
instance-attribute
bits_range = (4, 8)
class-attribute
instance-attribute
writable = False
class-attribute
instance-attribute
readable = True
class-attribute
instance-attribute
self_reset = False
class-attribute
instance-attribute
available = True
class-attribute
instance-attribute
CORR_FACTOR
name = 'CORR_FACTOR'
class-attribute
instance-attribute
description = 'Temperature readout correction factor'
class-attribute
instance-attribute
help = '\n Multiplicative factor to the temperature readout of every pixel, allowing correction of the sensitivity.\n e.g. when a protective filter is placed in front of the thermal camera lens.\n\n Formula: corrected_factor = CORR_FACTOR * 0.01.\n e.g. value 100 means corrected_factor = 1.0.\n '
class-attribute
instance-attribute
address = 194
class-attribute
instance-attribute
bits_range = (0, 8)
class-attribute
instance-attribute
writable = True
class-attribute
instance-attribute
readable = True
class-attribute
instance-attribute
self_reset = False
class-attribute
instance-attribute
available = True
class-attribute
instance-attribute
START_COLOFFS_CALIB
name = 'START_COLOFFS_CALIB'
class-attribute
instance-attribute
description = 'Start column offsets calibration'
class-attribute
instance-attribute
help = '\n Start column offsets calibration.\n The bit is automatically set during power up and upon a change in MODULE_GAIN (either manual or automatic).\n '
class-attribute
instance-attribute
address = 197
class-attribute
instance-attribute
bits_range = (1, 2)
class-attribute
instance-attribute
writable = True
class-attribute
instance-attribute
readable = True
class-attribute
instance-attribute
self_reset = True
class-attribute
instance-attribute
available = True
class-attribute
instance-attribute
COLOFFS_CALIB_ON
name = 'COLOFFS_CALIB_ON'
class-attribute
instance-attribute
description = 'Column offsets calibration status'
class-attribute
instance-attribute
help = '\n After setting START_COLOFFS_CALIB to 1, COLOFFS_CALIB_ON bit reads 1 throughout the process of column offsets calibration.\n Once the process is complete, this bit returns to 0.\n '
class-attribute
instance-attribute
address = 197
class-attribute
instance-attribute
bits_range = (2, 3)
class-attribute
instance-attribute
writable = False
class-attribute
instance-attribute
readable = True
class-attribute
instance-attribute
self_reset = True
class-attribute
instance-attribute
available = True
class-attribute
instance-attribute
USE_SELF_CALIB
name = 'USE_SELF_CALIB'
class-attribute
instance-attribute
description = 'Use self-calibration data'
class-attribute
instance-attribute
help = '\n If set to 1, the module will not use module-specific calibration data. It will use instead the data obtained during column offset calibration, and predefined generic data for the given chip and lens combination.\n NOTE: the user must write the correct value of MODULE_TYPE to register 0xBB, in order to achieve a reliable self-calibration operation. In any case, the use of self-calibration cannot be as good as the factory calibration, which is done for each individual module.\n '
class-attribute
instance-attribute
address = 197
class-attribute
instance-attribute
bits_range = (4, 5)
class-attribute
instance-attribute
writable = True
class-attribute
instance-attribute
readable = True
class-attribute
instance-attribute
self_reset = False
class-attribute
instance-attribute
available = True
class-attribute
instance-attribute
CALIB_SAMPLE_SIZE
name = 'CALIB_SAMPLE_SIZE'
class-attribute
instance-attribute
description = 'Number of calibration frames'
class-attribute
instance-attribute
help = '\n These bits define the number of frames acquired during column calibration.\n According to the formula: (SAMPLE_SIZE + 1) x 100.\n '
class-attribute
instance-attribute
address = 197
class-attribute
instance-attribute
bits_range = (5, 8)
class-attribute
instance-attribute
writable = True
class-attribute
instance-attribute
readable = True
class-attribute
instance-attribute
self_reset = False
class-attribute
instance-attribute
available = True
class-attribute
instance-attribute
EMISSIVITY
name = 'EMISSIVITY'
class-attribute
instance-attribute
description = 'Target object emissivity value (percent)'
class-attribute
instance-attribute
help = '\n Emissivity value (percent) to be used in the conversion of raw data captured from SenXor to the temperature data that is readout through the SPI interface.\n The reset value reflects the emissivity of the black body source used for factory calibration of the camera module.\n If the target object is known to have a different emissivity, programming the correct value will lead to an accurate readout of the absolute temperature.\n\n Formula: emissivity = EMISSIVITY * 0.01.\n e.g. value 100 means emissivity = 1.0.\n '
class-attribute
instance-attribute
address = 202
class-attribute
instance-attribute
bits_range = (0, 8)
class-attribute
instance-attribute
writable = True
class-attribute
instance-attribute
readable = True
class-attribute
instance-attribute
self_reset = False
class-attribute
instance-attribute
available = True
class-attribute
instance-attribute
OFFSET
name = 'OFFSET'
class-attribute
instance-attribute
description = 'Temperature offset correction'
class-attribute
instance-attribute
help = "\n This field specifies a temperature offset applied to every pixel in the data frame.\n\n - Representation: 8-bit signed integer (two's complement)\n - Units: 0.1 K (or 0.1Β°C)\n - Range: -12.8 K to +12.7 K\n - Enables precise adjustment of the temperature readout to correct for bias\n\n For example, to correct a bias of +0.7 K, set the offset to -0.7 K. Compute the register value: `-0.7 x 10 = -7`, since -7 is negative, encode as unsigned: `256 + (-7) = 249`.\n And for an offset of +0.75 K: Compute the register value: `0.75 x 10 = 7.5`, rounded to `8`,\n "
class-attribute
instance-attribute
address = 203
class-attribute
instance-attribute
bits_range = (0, 8)
class-attribute
instance-attribute
writable = True
class-attribute
instance-attribute
readable = True
class-attribute
instance-attribute
self_reset = False
class-attribute
instance-attribute
available = True
class-attribute
instance-attribute
OTF
name = 'OTF'
class-attribute
instance-attribute
description = 'Object temperature correction factor'
class-attribute
instance-attribute
help = "\n A multiplicative factor applied to each pixel's value before the frame is output.\n This is used to correct for size-of-source optical phenomena.\n\n - Representation: 8-bit signed integer (two's complement).\n - Resolution: 0.01.\n - Range: -1.28 to +1.27.\n - It is a unitless factor.\n - Formula: `Corrected_Temp = Raw_Temp * (1 + uint8_to_int8(OTF) * 0.01)`\n\n For example,\n If the factor is 1.01, the field value should be `(1.01 - 1) * 100 = 1`.\n If the filed value is 1, the factor should be `1 + 1 * 0.01 = 1.01`.\n If the factor is 0.99, the field value should be `(0.99 - 1) * 100 = -1, -1 < 0, so 256 + (-1) = 255`.\n "
class-attribute
instance-attribute
address = 205
class-attribute
instance-attribute
bits_range = (0, 8)
class-attribute
instance-attribute
writable = True
class-attribute
instance-attribute
readable = True
class-attribute
instance-attribute
self_reset = False
class-attribute
instance-attribute
available = True
class-attribute
instance-attribute
PRODUCTION_YEAR
name = 'PRODUCTION_YEAR'
class-attribute
instance-attribute
description = 'Production year'
class-attribute
instance-attribute
help = '\n The year of production, stored as an offset from year 2000.\n\n - Valid range: 19-99\n '
class-attribute
instance-attribute
address = 224
class-attribute
instance-attribute
bits_range = (0, 8)
class-attribute
instance-attribute
writable = False
class-attribute
instance-attribute
readable = True
class-attribute
instance-attribute
self_reset = False
class-attribute
instance-attribute
available = True
class-attribute
instance-attribute
PRODUCTION_WEEK
name = 'PRODUCTION_WEEK'
class-attribute
instance-attribute
description = 'Production week'
class-attribute
instance-attribute
help = '\n The week number in which the module was produced.\n '
class-attribute
instance-attribute
address = 225
class-attribute
instance-attribute
bits_range = (0, 8)
class-attribute
instance-attribute
writable = False
class-attribute
instance-attribute
readable = True
class-attribute
instance-attribute
self_reset = False
class-attribute
instance-attribute
available = True
class-attribute
instance-attribute
MANUF_LOCATION
name = 'MANUF_LOCATION'
class-attribute
instance-attribute
description = 'Manufacturing location'
class-attribute
instance-attribute
help = '\n A code identifying the manufacturing location.\n '
class-attribute
instance-attribute
address = 226
class-attribute
instance-attribute
bits_range = (0, 8)
class-attribute
instance-attribute
writable = False
class-attribute
instance-attribute
readable = True
class-attribute
instance-attribute
self_reset = False
class-attribute
instance-attribute
available = True
class-attribute
instance-attribute
SERIAL_NUMBER_0
name = 'SERIAL_NUMBER_0'
class-attribute
instance-attribute
description = 'Serial number 0'
class-attribute
instance-attribute
help = '\n Serial number 0.\n '
class-attribute
instance-attribute
address = 227
class-attribute
instance-attribute
bits_range = (0, 8)
class-attribute
instance-attribute
writable = False
class-attribute
instance-attribute
readable = True
class-attribute
instance-attribute
self_reset = False
class-attribute
instance-attribute
available = True
class-attribute
instance-attribute
SERIAL_NUMBER_1
name = 'SERIAL_NUMBER_1'
class-attribute
instance-attribute
description = 'Serial number 1'
class-attribute
instance-attribute
help = '\n Serial number 1.\n '
class-attribute
instance-attribute
address = 228
class-attribute
instance-attribute
bits_range = (0, 8)
class-attribute
instance-attribute
writable = False
class-attribute
instance-attribute
readable = True
class-attribute
instance-attribute
self_reset = False
class-attribute
instance-attribute
available = True
class-attribute
instance-attribute
SERIAL_NUMBER_2
name = 'SERIAL_NUMBER_2'
class-attribute
instance-attribute
description = 'Serial number 2'
class-attribute
instance-attribute
help = '\n Serial number 2.\n '
class-attribute
instance-attribute
address = 229
class-attribute
instance-attribute
bits_range = (0, 8)
class-attribute
instance-attribute
writable = False
class-attribute
instance-attribute
readable = True
class-attribute
instance-attribute
self_reset = False
class-attribute
instance-attribute
available = True
class-attribute
instance-attribute
USER_FLASH_ENABLE
name = 'USER_FLASH_ENABLE'
class-attribute
instance-attribute
description = 'Enable host access to User Flash'
class-attribute
instance-attribute
help = '\n When set to `1`, this bit enables host access to the 128-byte User Flash memory area (addresses `0x00` to `0x7F`).\n\n - Access is via register-like byte access through the host interface (USB or I2C).\n - This bit must be cleared to `0` to regain access to the standard registers.\n - For firmware version 4.5.10 and newer, this area can store up to 63 register address/value pairs for pre-set\n '
class-attribute
instance-attribute
address = 216
class-attribute
instance-attribute
bits_range = (0, 1)
class-attribute
instance-attribute
writable = True
class-attribute
instance-attribute
readable = True
class-attribute
instance-attribute
self_reset = False
class-attribute
instance-attribute
available = True
class-attribute
instance-attribute
TEMP_UNITS
name = 'TEMP_UNITS'
class-attribute
instance-attribute
description = 'Temperature units selection'
class-attribute
instance-attribute
help = "\n These 3 bits select the temperature units for the frame output and the temperature items in the frame header. The\n representation of the values can be an unsigned integer, two's complement, or half-precision 16-bit floating point,\n depending on the unit.\n\n | Value | Unit | 16-bit Representation | Resolution |\n | ---------- | ------------ | ---------------------------- | ---------- |\n | 0(default) | deci-Kelvin | Fixed point unsigned integer | 1 dK |\n | 1 | deci-Celsius | Fixed point two's complement | 0.1Β°C |\n | 2 | deci-Fahr. | Fixed point two's complement | 0.1Β°F |\n | 4 | Kelvin | Half-precision float | 1 K |\n | 5 | Celsius | Half-precision float | 1Β°C |\n | 6 | Fahrenheit | Half-precision float | 1Β°F |\n "
class-attribute
instance-attribute
address = 49
class-attribute
instance-attribute
bits_range = (0, 3)
class-attribute
instance-attribute
writable = True
class-attribute
instance-attribute
readable = True
class-attribute
instance-attribute
self_reset = False
class-attribute
instance-attribute
available = False
class-attribute
instance-attribute
unavailable_reason = "This field is not supported in some firmware versions. Don't use it."
class-attribute
instance-attribute
value_map = {0: 'dK', 1: 'dC', 2: 'dF', 4: 'K', 5: 'C', 6: 'F'}
class-attribute
STARK_ENABLE
name = 'STARK_ENABLE'
class-attribute
instance-attribute
description = 'Enable STARK denoising filter'
class-attribute
instance-attribute
help = '\n Enable STARK denoising filter (Spatio-temporal advanced rolling kernel).\n Preserves features without significant historical artefacts. Optimal filter for quasi-static scenes.\n However, for dynamic scenes, the changing parts of the scene will have noise penetration (which perceptually may be confused with motion blur/ghosting).\n '
class-attribute
instance-attribute
address = 32
class-attribute
instance-attribute
bits_range = (0, 1)
class-attribute
instance-attribute
writable = True
class-attribute
instance-attribute
readable = True
class-attribute
instance-attribute
self_reset = False
class-attribute
instance-attribute
available = True
class-attribute
instance-attribute
STARK_TYPE
name = 'STARK_TYPE'
class-attribute
instance-attribute
description = 'STARK filter type selection'
class-attribute
instance-attribute
help = '\n Select the STARK filter type:\n\n - 0: quick-stark (lowest processing overhead)\n - 1: stark-v1 (auto)\n - 2: stark-v2\n - 3: stark-v1 (background smooth)\n - 4: full-stark (higher processing overhead)\n - 5-7: quick-stark\n '
class-attribute
instance-attribute
address = 32
class-attribute
instance-attribute
bits_range = (1, 4)
class-attribute
instance-attribute
writable = True
class-attribute
instance-attribute
readable = True
class-attribute
instance-attribute
self_reset = False
class-attribute
instance-attribute
available = True
class-attribute
instance-attribute
value_map = {0: 'quick-stark', 1: 'stark-v1', 2: 'stark-v2', 3: 'stark-v1-background-smooth', 4: 'full-stark', 5: 'quick-stark', 6: 'quick-stark', 7: 'quick-stark'}
class-attribute
SPATIAL_KERNEL
name = 'SPATIAL_KERNEL'
class-attribute
instance-attribute
description = 'Kernel size for spatial operations'
class-attribute
instance-attribute
help = '\n Select the kernel size for spatial filtering operations:\n\n Values:\n - 0: 3x3 kernel (default)\n - 1: 5x5 kernel (lower noise, but there is some feature erosion and FPS drops for small FPS_DIVISOR of 1 to 3), significantly\n '
class-attribute
instance-attribute
address = 32
class-attribute
instance-attribute
bits_range = (4, 5)
class-attribute
instance-attribute
writable = True
class-attribute
instance-attribute
readable = True
class-attribute
instance-attribute
self_reset = False
class-attribute
instance-attribute
available = True
class-attribute
instance-attribute
value_map = {0: '3x3 kernel', 1: '5x5 kernel'}
class-attribute
STARK_CUTOFF
name = 'STARK_CUTOFF'
class-attribute
instance-attribute
description = 'Noise suppression cutoff value'
class-attribute
instance-attribute
help = '\n Noise suppression cutoff in units of dK\n The higher the value, the better the noise suppression, except during scene change.\n '
class-attribute
instance-attribute
address = 33
class-attribute
instance-attribute
bits_range = (0, 7)
class-attribute
instance-attribute
writable = True
class-attribute
instance-attribute
readable = True
class-attribute
instance-attribute
self_reset = False
class-attribute
instance-attribute
available = True
class-attribute
instance-attribute
STARK_GRADIENT
name = 'STARK_GRADIENT'
class-attribute
instance-attribute
description = 'Filter output transition steepness'
class-attribute
instance-attribute
help = '\n Unitless value that influences the steepness of filter output transition upon scene change.\n A higher value leads to more rapid transition, but also lowers the noise immunity of the output from the filter.\n '
class-attribute
instance-attribute
address = 34
class-attribute
instance-attribute
bits_range = (0, 8)
class-attribute
instance-attribute
writable = True
class-attribute
instance-attribute
readable = True
class-attribute
instance-attribute
self_reset = False
class-attribute
instance-attribute
available = True
class-attribute
instance-attribute
STARK_SCALE
name = 'STARK_SCALE'
class-attribute
instance-attribute
description = 'Maximum allowed output change percentage'
class-attribute
instance-attribute
help = '\n Percentage of the input change that is ever allowed to reach the output during change.\n '
class-attribute
instance-attribute
address = 35
class-attribute
instance-attribute
bits_range = (0, 8)
class-attribute
instance-attribute
writable = True
class-attribute
instance-attribute
readable = True
class-attribute
instance-attribute
self_reset = False
class-attribute
instance-attribute
available = True
class-attribute
instance-attribute
MMS_KXMS
name = 'MMS_KXMS'
class-attribute
instance-attribute
description = 'Enable k-extrema median stabilization'
class-attribute
instance-attribute
help = '\n KXMS is short for k-extrema median stabilization, which is turned ON when this flag is set to 1 (default).\n It operates on a per-frame basis, and thus has an instantaneous response to a dynamic scene.\n However, it is computationally more expensive and may lead to noticeable FPS drop for small values of FPS_DIVISOR.\n Disabled if this bit is cleared.\n '
class-attribute
instance-attribute
address = 37
class-attribute
instance-attribute
bits_range = (0, 1)
class-attribute
instance-attribute
writable = True
class-attribute
instance-attribute
readable = True
class-attribute
instance-attribute
self_reset = False
class-attribute
instance-attribute
available = True
class-attribute
instance-attribute
MMS_RA
name = 'MMS_RA'
class-attribute
instance-attribute
description = 'Enable rolling average min/max stabilization'
class-attribute
instance-attribute
help = '\n Min/Max stabilization based on a rolling average of FPS_DIVISOR-dependent depth, providing ~500 ms response time upon a change in scene range, is enabled if this bit is set to 1.\n Cleared (disabled) by default.\n '
class-attribute
instance-attribute
address = 37
class-attribute
instance-attribute
bits_range = (1, 2)
class-attribute
instance-attribute
writable = True
class-attribute
instance-attribute
readable = True
class-attribute
instance-attribute
self_reset = False
class-attribute
instance-attribute
available = True
class-attribute
instance-attribute
TEMPORAL_ENABLE
name = 'TEMPORAL_ENABLE'
class-attribute
instance-attribute
description = 'Enable temporal domain filtering'
class-attribute
instance-attribute
help = '\n Enable data filtering in the temporal domain when set to 1.\n The effect of this filter is determined by the value of register FILTER_SETTING_1 (0xD1 - 0xD2).\n The higher the value, the more stable the readout temperature, but also the more noticeable trailing artefacts in a dynamical scene.\n Note that the use of the temporal filter in conjunction with bit 0 of CLK_SPEED register, CLK_SLOW_DOWN, leads to a reduction in the data frame rate.\n '
class-attribute
instance-attribute
address = 208
class-attribute
instance-attribute
bits_range = (0, 1)
class-attribute
instance-attribute
writable = True
class-attribute
instance-attribute
readable = True
class-attribute
instance-attribute
self_reset = False
class-attribute
instance-attribute
available = True
class-attribute
instance-attribute
TEMPORAL_INIT
name = 'TEMPORAL_INIT'
class-attribute
instance-attribute
description = 'Initialize temporal filter'
class-attribute
instance-attribute
help = '\n Initialize temporal filter, when set to 1.\n This bit must be set to one whenever a new value is written to register FILTER_SETTING_1 (0xD1 - 0xD2), in order for the new setting to take effect.\n The bit will be automatically reset to 0 after the initialization is complete.\n '
class-attribute
instance-attribute
address = 208
class-attribute
instance-attribute
bits_range = (1, 2)
class-attribute
instance-attribute
writable = True
class-attribute
instance-attribute
readable = True
class-attribute
instance-attribute
self_reset = True
class-attribute
instance-attribute
available = True
class-attribute
instance-attribute
TEMPORAL_LSB
name = 'TEMPORAL_LSB'
class-attribute
instance-attribute
description = 'Temporal filter strength low byte'
class-attribute
instance-attribute
help = '\n The lower 8 bits of the temporal filter strength value.\n '
class-attribute
instance-attribute
address = 209
class-attribute
instance-attribute
bits_range = (0, 8)
class-attribute
instance-attribute
writable = True
class-attribute
instance-attribute
readable = True
class-attribute
instance-attribute
self_reset = False
class-attribute
instance-attribute
available = True
class-attribute
instance-attribute
TEMPORAL_MSB
name = 'TEMPORAL_MSB'
class-attribute
instance-attribute
description = 'Temporal filter strength high byte'
class-attribute
instance-attribute
help = '\n The upper 8 bits of the temporal filter strength value.\n '
class-attribute
instance-attribute
address = 210
class-attribute
instance-attribute
bits_range = (0, 8)
class-attribute
instance-attribute
writable = True
class-attribute
instance-attribute
readable = True
class-attribute
instance-attribute
self_reset = False
class-attribute
instance-attribute
available = True
class-attribute
instance-attribute