RTEMS 6.1-rc6
Loading...
Searching...
No Matches
Data Structures | Macros | Typedefs | Enumerations | Enumerator | Variables
Enc

Data Structures

struct  _enc_config
 Define user configuration structure for ENC module. More...
 
struct  _enc_self_test_config
 Define configuration structure for self test module. More...
 

Macros

#define FSL_ENC_DRIVER_VERSION   (MAKE_VERSION(2, 1, 0))
 

Typedefs

typedef enum _enc_home_trigger_mode enc_home_trigger_mode_t
 Define HOME signal's trigger mode.
 
typedef enum _enc_index_trigger_mode enc_index_trigger_mode_t
 Define INDEX signal's trigger mode.
 
typedef enum _enc_decoder_work_mode enc_decoder_work_mode_t
 Define type for decoder work mode.
 
typedef enum _enc_position_match_mode enc_position_match_mode_t
 Define type for the condition of POSMATCH pulses.
 
typedef enum _enc_revolution_count_condition enc_revolution_count_condition_t
 Define type for determining how the revolution counter (REV) is incremented/decremented.
 
typedef enum _enc_self_test_direction enc_self_test_direction_t
 Define type for direction of self test generated signal.
 
typedef struct _enc_config enc_config_t
 Define user configuration structure for ENC module.
 
typedef struct _enc_self_test_config enc_self_test_config_t
 Define configuration structure for self test module.
 

Enumerations

enum  _enc_interrupt_enable {
  kENC_HOMETransitionInterruptEnable = (1U << 0U) , kENC_INDEXPulseInterruptEnable = (1U << 1U) , kENC_WatchdogTimeoutInterruptEnable = (1U << 2U) , kENC_PositionCompareInerruptEnable = (1U << 3U) ,
  kENC_SimultBothPhaseChangeInterruptEnable , kENC_PositionRollOverInterruptEnable = (1U << 5U) , kENC_PositionRollUnderInterruptEnable = (1U << 6U)
}
 Interrupt enable/disable mask. More...
 
enum  _enc_status_flags {
  kENC_HOMETransitionFlag = (1U << 0U) , kENC_INDEXPulseFlag = (1U << 1U) , kENC_WatchdogTimeoutFlag = (1U << 2U) , kENC_PositionCompareFlag = (1U << 3U) ,
  kENC_SimultBothPhaseChangeFlag = (1U << 4U) , kENC_PositionRollOverFlag = (1U << 5U) , kENC_PositionRollUnderFlag = (1U << 6U) , kENC_LastCountDirectionFlag = (1U << 7U)
}
 Status flag mask. More...
 
enum  _enc_signal_status_flags {
  kENC_RawHOMEStatusFlag = ENC_IMR_HOME_MASK , kENC_RawINDEXStatusFlag = ENC_IMR_INDEX_MASK , kENC_RawPHBStatusFlag = ENC_IMR_PHB_MASK , kENC_RawPHAEXStatusFlag = ENC_IMR_PHA_MASK ,
  kENC_FilteredHOMEStatusFlag = ENC_IMR_FHOM_MASK , kENC_FilteredINDEXStatusFlag = ENC_IMR_FIND_MASK , kENC_FilteredPHBStatusFlag = ENC_IMR_FPHB_MASK , kENC_FilteredPHAStatusFlag = ENC_IMR_FPHA_MASK
}
 Signal status flag mask. More...
 
enum  _enc_home_trigger_mode { kENC_HOMETriggerDisabled = 0U , kENC_HOMETriggerOnRisingEdge , kENC_HOMETriggerOnFallingEdge }
 Define HOME signal's trigger mode. More...
 
enum  _enc_index_trigger_mode { kENC_INDEXTriggerDisabled = 0U , kENC_INDEXTriggerOnRisingEdge , kENC_INDEXTriggerOnFallingEdge }
 Define INDEX signal's trigger mode. More...
 
enum  _enc_decoder_work_mode { kENC_DecoderWorkAsNormalMode = 0U , kENC_DecoderWorkAsSignalPhaseCountMode }
 Define type for decoder work mode. More...
 
enum  _enc_position_match_mode { kENC_POSMATCHOnPositionCounterEqualToComapreValue = 0U , kENC_POSMATCHOnReadingAnyPositionCounter }
 Define type for the condition of POSMATCH pulses. More...
 
enum  _enc_revolution_count_condition { kENC_RevolutionCountOnINDEXPulse = 0U , kENC_RevolutionCountOnRollOverModulus }
 Define type for determining how the revolution counter (REV) is incremented/decremented. More...
 
enum  _enc_self_test_direction { kENC_SelfTestDirectionPositive = 0U , kENC_SelfTestDirectionNegative }
 Define type for direction of self test generated signal. More...
 

Variables

bool _enc_config::enableReverseDirection
 
enc_decoder_work_mode_t _enc_config::decoderWorkMode
 
enc_home_trigger_mode_t _enc_config::HOMETriggerMode
 
enc_index_trigger_mode_t _enc_config::INDEXTriggerMode
 
bool _enc_config::enableTRIGGERClearPositionCounter
 
bool _enc_config::enableTRIGGERClearHoldPositionCounter
 
bool _enc_config::enableWatchdog
 
uint16_t _enc_config::watchdogTimeoutValue
 
uint16_t _enc_config::filterCount
 
uint16_t _enc_config::filterSamplePeriod
 
enc_position_match_mode_t _enc_config::positionMatchMode
 
uint32_t _enc_config::positionCompareValue
 
enc_revolution_count_condition_t _enc_config::revolutionCountCondition
 
bool _enc_config::enableModuloCountMode
 
uint32_t _enc_config::positionModulusValue
 
uint32_t _enc_config::positionInitialValue
 
enc_self_test_direction_t _enc_self_test_config::signalDirection
 
uint16_t _enc_self_test_config::signalCount
 
uint16_t _enc_self_test_config::signalPeriod
 

Initialization and De-initialization

void ENC_Init (ENC_Type *base, const enc_config_t *config)
 Initialization for the ENC module.
 
void ENC_Deinit (ENC_Type *base)
 De-initialization for the ENC module.
 
void ENC_GetDefaultConfig (enc_config_t *config)
 Get an available pre-defined settings for ENC's configuration.
 
void ENC_DoSoftwareLoadInitialPositionValue (ENC_Type *base)
 Load the initial position value to position counter.
 
void ENC_SetSelfTestConfig (ENC_Type *base, const enc_self_test_config_t *config)
 Enable and configure the self test function.
 
void ENC_EnableWatchdog (ENC_Type *base, bool enable)
 Enable watchdog for ENC module.
 
void ENC_SetInitialPositionValue (ENC_Type *base, uint32_t value)
 Set initial position value for ENC module.
 

Status

uint32_t ENC_GetStatusFlags (ENC_Type *base)
 Get the status flags.
 
void ENC_ClearStatusFlags (ENC_Type *base, uint32_t mask)
 Clear the status flags.
 

Interrupts

void ENC_EnableInterrupts (ENC_Type *base, uint32_t mask)
 Enable the interrupts.
 
void ENC_DisableInterrupts (ENC_Type *base, uint32_t mask)
 Disable the interrupts.
 
uint32_t ENC_GetEnabledInterrupts (ENC_Type *base)
 Get the enabled interrupts' flags.
 

Value Operation

uint32_t ENC_GetPositionValue (ENC_Type *base)
 Get the current position counter's value.
 
uint32_t ENC_GetHoldPositionValue (ENC_Type *base)
 Get the hold position counter's value.
 

Detailed Description

Typedef Documentation

◆ enc_decoder_work_mode_t

Define type for decoder work mode.

The normal work mode uses the standard quadrature decoder with PHASEA and PHASEB. When in signal phase count mode, a positive transition of the PHASEA input generates a count signal while the PHASEB input and the reverse direction control the counter direction. If the reverse direction is not enabled, PHASEB = 0 means counting up and PHASEB = 1 means counting down. Otherwise, the direction is reversed.

◆ enc_home_trigger_mode_t

Define HOME signal's trigger mode.

The ENC would count the trigger from HOME signal line.

◆ enc_index_trigger_mode_t

Define INDEX signal's trigger mode.

The ENC would count the trigger from INDEX signal line.

◆ enc_self_test_config_t

Define configuration structure for self test module.

The self test module provides a quadrature test signal to the inputs of the quadrature decoder module. This is a factory test feature. It is also useful to customers' software development and testing.

Enumeration Type Documentation

◆ _enc_decoder_work_mode

Define type for decoder work mode.

The normal work mode uses the standard quadrature decoder with PHASEA and PHASEB. When in signal phase count mode, a positive transition of the PHASEA input generates a count signal while the PHASEB input and the reverse direction control the counter direction. If the reverse direction is not enabled, PHASEB = 0 means counting up and PHASEB = 1 means counting down. Otherwise, the direction is reversed.

Enumerator
kENC_DecoderWorkAsNormalMode 

Use standard quadrature decoder with PHASEA and PHASEB.

kENC_DecoderWorkAsSignalPhaseCountMode 

PHASEA input generates a count signal while PHASEB input control the direction.

◆ _enc_home_trigger_mode

Define HOME signal's trigger mode.

The ENC would count the trigger from HOME signal line.

Enumerator
kENC_HOMETriggerDisabled 

HOME signal's trigger is disabled.

kENC_HOMETriggerOnRisingEdge 

Use positive going edge-to-trigger initialization of position counters.

kENC_HOMETriggerOnFallingEdge 

Use negative going edge-to-trigger initialization of position counters.

◆ _enc_index_trigger_mode

Define INDEX signal's trigger mode.

The ENC would count the trigger from INDEX signal line.

Enumerator
kENC_INDEXTriggerDisabled 

INDEX signal's trigger is disabled.

kENC_INDEXTriggerOnRisingEdge 

Use positive going edge-to-trigger initialization of position counters.

kENC_INDEXTriggerOnFallingEdge 

Use negative going edge-to-trigger initialization of position counters.

◆ _enc_interrupt_enable

Interrupt enable/disable mask.

Enumerator
kENC_HOMETransitionInterruptEnable 

HOME interrupt enable.

kENC_INDEXPulseInterruptEnable 

INDEX pulse interrupt enable.

kENC_WatchdogTimeoutInterruptEnable 

Watchdog timeout interrupt enable.

kENC_PositionCompareInerruptEnable 

Position compare interrupt enable.

kENC_SimultBothPhaseChangeInterruptEnable 

Simultaneous PHASEA and PHASEB change interrupt enable.

kENC_PositionRollOverInterruptEnable 

Roll-over interrupt enable.

kENC_PositionRollUnderInterruptEnable 

Roll-under interrupt enable.

◆ _enc_position_match_mode

Define type for the condition of POSMATCH pulses.

Enumerator
kENC_POSMATCHOnPositionCounterEqualToComapreValue 

POSMATCH pulses when a match occurs between the position counters (POS) and the compare value (COMP).

kENC_POSMATCHOnReadingAnyPositionCounter 

POSMATCH pulses when any position counter register is read.

◆ _enc_revolution_count_condition

Define type for determining how the revolution counter (REV) is incremented/decremented.

Enumerator
kENC_RevolutionCountOnINDEXPulse 

Use INDEX pulse to increment/decrement revolution counter.

kENC_RevolutionCountOnRollOverModulus 

Use modulus counting roll-over/under to increment/decrement revolution counter.

◆ _enc_self_test_direction

Define type for direction of self test generated signal.

Enumerator
kENC_SelfTestDirectionPositive 

Self test generates the signal in positive direction.

kENC_SelfTestDirectionNegative 

Self test generates the signal in negative direction.

◆ _enc_signal_status_flags

Signal status flag mask.

These flags indicate the counter's signal.

Enumerator
kENC_RawHOMEStatusFlag 

Raw HOME input.

kENC_RawINDEXStatusFlag 

Raw INDEX input.

kENC_RawPHBStatusFlag 

Raw PHASEB input.

kENC_RawPHAEXStatusFlag 

Raw PHASEA input.

kENC_FilteredHOMEStatusFlag 

The filtered version of HOME input.

kENC_FilteredINDEXStatusFlag 

The filtered version of INDEX input.

kENC_FilteredPHBStatusFlag 

The filtered version of PHASEB input.

kENC_FilteredPHAStatusFlag 

The filtered version of PHASEA input.

◆ _enc_status_flags

Status flag mask.

These flags indicate the counter's events.

Enumerator
kENC_HOMETransitionFlag 

HOME signal transition interrupt request.

kENC_INDEXPulseFlag 

INDEX Pulse Interrupt Request.

kENC_WatchdogTimeoutFlag 

Watchdog timeout interrupt request.

kENC_PositionCompareFlag 

Position compare interrupt request.

kENC_SimultBothPhaseChangeFlag 

Simultaneous PHASEA and PHASEB change interrupt request.

kENC_PositionRollOverFlag 

Roll-over interrupt request.

kENC_PositionRollUnderFlag 

Roll-under interrupt request.

kENC_LastCountDirectionFlag 

Last count was in the up direction, or the down direction.

Function Documentation

◆ ENC_ClearStatusFlags()

void ENC_ClearStatusFlags ( ENC_Type base,
uint32_t  mask 
)

Clear the status flags.

Parameters
baseENC peripheral base address.
maskMask value of status flags to be cleared. For available mask, see to "_enc_status_flags".

brief Clear the status flags.

param base ENC peripheral base address. param mask Mask value of status flags to be cleared. For available mask, see to "_enc_status_flags".

◆ ENC_Deinit()

void ENC_Deinit ( ENC_Type base)

De-initialization for the ENC module.

This function is to make the de-initialization for the ENC module. It could be called when ENC is no longer used with the operations like:

  • Disable the clock for ENC module.
Parameters
baseENC peripheral base address.

brief De-initialization for the ENC module.

This function is to make the de-initialization for the ENC module. It could be called when ENC is no longer used with the operations like:

  • Disable the clock for ENC module.

param base ENC peripheral base address.

◆ ENC_DisableInterrupts()

void ENC_DisableInterrupts ( ENC_Type base,
uint32_t  mask 
)

Disable the interrupts.

Parameters
baseENC peripheral base address.
maskMask value of interrupts to be disabled. For available mask, see to "_enc_interrupt_enable".

brief Disable the interrupts.

param base ENC peripheral base address. param mask Mask value of interrupts to be disabled. For available mask, see to "_enc_interrupt_enable".

◆ ENC_DoSoftwareLoadInitialPositionValue()

void ENC_DoSoftwareLoadInitialPositionValue ( ENC_Type base)

Load the initial position value to position counter.

This function is to transfer the initial position value (UINIT and LINIT) contents to position counter (UPOS and LPOS), so that to provide the consistent operation the position counter registers.

Parameters
baseENC peripheral base address.

brief Load the initial position value to position counter.

This function is to transfer the initial position value (UINIT and LINIT) contents to position counter (UPOS and LPOS), so that to provide the consistent operation the position counter registers.

param base ENC peripheral base address.

◆ ENC_EnableInterrupts()

void ENC_EnableInterrupts ( ENC_Type base,
uint32_t  mask 
)

Enable the interrupts.

Parameters
baseENC peripheral base address.
maskMask value of interrupts to be enabled. For available mask, see to "_enc_interrupt_enable".

brief Enable the interrupts.

param base ENC peripheral base address. param mask Mask value of interrupts to be enabled. For available mask, see to "_enc_interrupt_enable".

◆ ENC_EnableWatchdog()

void ENC_EnableWatchdog ( ENC_Type base,
bool  enable 
)

Enable watchdog for ENC module.

Parameters
baseENC peripheral base address
enableEnables or disables the watchdog

brief Enable watchdog for ENC module.

param base ENC peripheral base address param enable Enables or disables the watchdog

◆ ENC_GetDefaultConfig()

void ENC_GetDefaultConfig ( enc_config_t config)

Get an available pre-defined settings for ENC's configuration.

This function initializes the ENC configuration structure with an available settings, the default value are:

config->enableReverseDirection = false;
config->HOMETriggerMode = kENC_HOMETriggerDisabled;
config->INDEXTriggerMode = kENC_INDEXTriggerDisabled;
config->enableTRIGGERClearPositionCounter = false;
config->enableTRIGGERClearHoldPositionCounter = false;
config->enableWatchdog = false;
config->watchdogTimeoutValue = 0U;
config->filterCount = 0U;
config->filterSamplePeriod = 0U;
config->positionCompareValue = 0xFFFFFFFFU;
config->revolutionCountCondition = kENC_RevolutionCountOnINDEXPulse;
config->enableModuloCountMode = false;
config->positionModulusValue = 0U;
config->positionInitialValue = 0U;
config->prescalerValue = kENC_ClockDiv1;
config->enablePeriodMeasurementFunction = true;
@ kENC_INDEXTriggerDisabled
Definition: fsl_enc.h:95
@ kENC_HOMETriggerDisabled
Definition: fsl_enc.h:83
@ kENC_DecoderWorkAsNormalMode
Definition: fsl_enc.h:110
@ kENC_POSMATCHOnPositionCounterEqualToComapreValue
Definition: fsl_enc.h:120
@ kENC_RevolutionCountOnINDEXPulse
Definition: fsl_enc.h:130
Definition: deflate.c:114
Parameters
configPointer to a variable of configuration structure. See to "enc_config_t".

brief Get an available pre-defined settings for ENC's configuration.

This function initializes the ENC configuration structure with an available settings, the default value are: code config->enableReverseDirection = false; config->decoderWorkMode = kENC_DecoderWorkAsNormalMode; config->HOMETriggerMode = kENC_HOMETriggerDisabled; config->INDEXTriggerMode = kENC_INDEXTriggerDisabled; config->enableTRIGGERClearPositionCounter = false; config->enableTRIGGERClearHoldPositionCounter = false; config->enableWatchdog = false; config->watchdogTimeoutValue = 0U; config->filterCount = 0U; config->filterSamplePeriod = 0U; config->positionMatchMode = kENC_POSMATCHOnPositionCounterEqualToComapreValue; config->positionCompareValue = 0xFFFFFFFFU; config->revolutionCountCondition = kENC_RevolutionCountOnINDEXPulse; config->enableModuloCountMode = false; config->positionModulusValue = 0U; config->positionInitialValue = 0U; config->prescalerValue = kENC_ClockDiv1; config->enablePeriodMeasurementFunction = true; endcode param config Pointer to a variable of configuration structure. See to "enc_config_t".

◆ ENC_GetEnabledInterrupts()

uint32_t ENC_GetEnabledInterrupts ( ENC_Type base)

Get the enabled interrupts' flags.

Parameters
baseENC peripheral base address.
Returns
Mask value of enabled interrupts.

brief Get the enabled interrupts' flags.

param base ENC peripheral base address.

return Mask value of enabled interrupts.

◆ ENC_GetHoldPositionValue()

uint32_t ENC_GetHoldPositionValue ( ENC_Type base)

Get the hold position counter's value.

When any of the counter registers is read, the contents of each counter register is written to the corresponding hold register. Taking a snapshot of the counters' values provides a consistent view of a system position and a velocity to be attained.

Parameters
baseENC peripheral base address.
Returns
Hold position counter's value.

brief Get the hold position counter's value.

When any of the counter registers is read, the contents of each counter register is written to the corresponding hold register. Taking a snapshot of the counters' values provides a consistent view of a system position and a velocity to be attained.

param base ENC peripheral base address.

return Hold position counter's value.

◆ ENC_GetPositionValue()

uint32_t ENC_GetPositionValue ( ENC_Type base)

Get the current position counter's value.

Parameters
baseENC peripheral base address.
Returns
Current position counter's value.

brief Get the current position counter's value.

param base ENC peripheral base address.

return Current position counter's value.

◆ ENC_GetStatusFlags()

uint32_t ENC_GetStatusFlags ( ENC_Type base)

Get the status flags.

Parameters
baseENC peripheral base address.
Returns
Mask value of status flags. For available mask, see to "_enc_status_flags".

brief Get the status flags.

param base ENC peripheral base address.

return Mask value of status flags. For available mask, see to "_enc_status_flags".

◆ ENC_Init()

void ENC_Init ( ENC_Type base,
const enc_config_t config 
)

Initialization for the ENC module.

This function is to make the initialization for the ENC module. It should be called firstly before any operation to the ENC with the operations like:

  • Enable the clock for ENC module.
  • Configure the ENC's working attributes.
Parameters
baseENC peripheral base address.
configPointer to configuration structure. See to "enc_config_t".

brief Initialization for the ENC module.

This function is to make the initialization for the ENC module. It should be called firstly before any operation to the ENC with the operations like:

  • Enable the clock for ENC module.
  • Configure the ENC's working attributes.

param base ENC peripheral base address. param config Pointer to configuration structure. See to "enc_config_t".

◆ ENC_SetInitialPositionValue()

void ENC_SetInitialPositionValue ( ENC_Type base,
uint32_t  value 
)

Set initial position value for ENC module.

Parameters
baseENC peripheral base address
valuePositive initial value

brief Set initial position value for ENC module.

param base ENC peripheral base address param value Positive initial value

◆ ENC_SetSelfTestConfig()

void ENC_SetSelfTestConfig ( ENC_Type base,
const enc_self_test_config_t config 
)

Enable and configure the self test function.

This function is to enable and configuration the self test function. It controls and sets the frequency of a quadrature signal generator. It provides a quadrature test signal to the inputs of the quadrature decoder module. It is a factory test feature; however, it may be useful to customers' software development and testing.

Parameters
baseENC peripheral base address.
configPointer to configuration structure. See to "enc_self_test_config_t". Pass "NULL" to disable.

brief Enable and configure the self test function.

This function is to enable and configuration the self test function. It controls and sets the frequency of a quadrature signal generator. It provides a quadrature test signal to the inputs of the quadrature decoder module. It is a factory test feature; however, it may be useful to customers' software development and testing.

param base ENC peripheral base address. param config Pointer to configuration structure. See to "enc_self_test_config_t". Pass "NULL" to disable.

Variable Documentation

◆ decoderWorkMode

enc_decoder_work_mode_t _enc_config::decoderWorkMode

Enable signal phase count mode.

◆ enableModuloCountMode

bool _enc_config::enableModuloCountMode

Enable Modulo Counting.

◆ enableReverseDirection

bool _enc_config::enableReverseDirection

Enable reverse direction counting.

◆ enableTRIGGERClearHoldPositionCounter

bool _enc_config::enableTRIGGERClearHoldPositionCounter

Enable update of hold registers on rising edge of TRIGGER, or not.

◆ enableTRIGGERClearPositionCounter

bool _enc_config::enableTRIGGERClearPositionCounter

Clear POSD, REV, UPOS and LPOS on rising edge of TRIGGER, or not.

◆ enableWatchdog

bool _enc_config::enableWatchdog

Enable the watchdog to detect if the target is moving or not.

◆ filterCount

uint16_t _enc_config::filterCount

Input Filter Sample Count. This value should be chosen to reduce the probability of noisy samples causing an incorrect transition to be recognized. The value represent the number of consecutive samples that must agree prior to the input filter accepting an input transition. A value of 0x0 represents 3 samples. A value of 0x7 represents 10 samples. The Available range is 0 - 7.

◆ filterSamplePeriod

uint16_t _enc_config::filterSamplePeriod

Input Filter Sample Period. This value should be set such that the sampling period is larger than the period of the expected noise. This value represents the sampling period (in IPBus clock cycles) of the decoder input signals. The available range is 0 - 255.

◆ HOMETriggerMode

enc_home_trigger_mode_t _enc_config::HOMETriggerMode

Enable HOME to initialize position counters.

◆ INDEXTriggerMode

enc_index_trigger_mode_t _enc_config::INDEXTriggerMode

Enable INDEX to initialize position counters.

◆ positionCompareValue

uint32_t _enc_config::positionCompareValue

Position compare value. The available value is a 32-bit number.

◆ positionInitialValue

uint32_t _enc_config::positionInitialValue

Position initial value. The available value is a 32-bit number.

◆ positionMatchMode

enc_position_match_mode_t _enc_config::positionMatchMode

The condition of POSMATCH pulses.

◆ positionModulusValue

uint32_t _enc_config::positionModulusValue

Position modulus value. This value would be available only when "enableModuloCountMode" = true. The available value is a 32-bit number.

◆ revolutionCountCondition

enc_revolution_count_condition_t _enc_config::revolutionCountCondition

Revolution Counter Modulus Enable.

◆ signalCount

uint16_t _enc_self_test_config::signalCount

Hold the number of quadrature advances to generate. The available range is 0 - 255.

◆ signalDirection

enc_self_test_direction_t _enc_self_test_config::signalDirection

Direction of self test generated signal.

◆ signalPeriod

uint16_t _enc_self_test_config::signalPeriod

Hold the period of quadrature phase in IPBus clock cycles. The available range is 0 - 31.

◆ watchdogTimeoutValue

uint16_t _enc_config::watchdogTimeoutValue

Watchdog timeout count value. It stores the timeout count for the quadrature decoder module watchdog timer. This field is only available when "enableWatchdog" = true. The available value is a 16-bit unsigned number.