Bitmask module

group nrf_bitmask

Bitmask managing module.

Defines

BITMASK_BYTES_CALCULATE(bits_count)

Get number of bytes needed to store the given bitmask.

Parameters:
  • bits_count[in] Number of bits in the bitmask.

Returns:

Number of bytes to store requested bit mask.

BITMASK_BYTE_GET(abs_bit)

Macro for getting index of byte in byte stream where abs_bit is put.

BITMASK_RELBIT_GET(abs_bit)

Macro for getting relative index of bit in byte.

Functions

__STATIC_INLINE bool nrf_bitmask_bit_is_set(uint32_t bit, void const *p_mask)

Function for checking if bit in the multi-byte bit mask is set.

Parameters:
  • bit[in] Bit index.

  • p_mask[in] Pointer to mask with bit fields.

Return values:
  • true – If the specified bit is set.

  • false – If the specified bit is cleared.

__STATIC_INLINE void nrf_bitmask_bit_set(uint32_t bit, void *p_mask)

Function for setting a bit in the multi-byte bit mask.

Parameters:
  • bit[in] Bit index.

  • p_mask[inout] Pointer to mask with bit fields.

__STATIC_INLINE void nrf_bitmask_bit_clear(uint32_t bit, void *p_mask)

Function for clearing a bit in the multi-byte bit mask.

Parameters:
  • bit[in] Bit index.

  • p_mask[inout] Pointer to mask with bit fields.

__STATIC_INLINE void nrf_bitmask_masks_or(void const *p_mask1, void const *p_mask2, void *p_out_mask, size_t length)

Function for performing bitwise OR operation on two multi-byte bit masks.

Parameters:
  • p_mask1[in] Pointer to the first bit mask.

  • p_mask2[in] Pointer to the second bit mask.

  • p_out_mask[out] Pointer to the output bit mask.

  • length[in] Length of output mask in bytes.

__STATIC_INLINE void nrf_bitmask_masks_and(void const *p_mask1, void const *p_mask2, void *p_out_mask, size_t length)

Function for performing bitwise AND operation on two multi-byte bit masks.

Parameters:
  • p_mask1[in] Pointer to the first bit mask.

  • p_mask2[in] Pointer to the second bit mask.

  • p_out_mask[out] Pointer to the output bit mask.

  • length[in] Length of output mask in bytes.