ra8-firmware 0.1.0
Bare-metal firmware for the Renesas RA8 family (RA8D2 / RA8P1)
Loading...
Searching...
No Matches
ra8_bit_constants.h
Go to the documentation of this file.
1
31
32#pragma once
33
34#ifdef __cplusplus
35extern "C" {
36#endif
37
38#include <stdint.h>
39
40/* =============================================================================
41 * Bit positions (uint8_t)
42 * =============================================================================
43 */
44
92
93/* =============================================================================
94 * Byte-level masks
95 * =============================================================================
96 */
97
102typedef enum : uint16_t {
104 k_ra8_mask_byte = 0x00FFU,
105 k_ra8_mask_word = 0xFFFFU,
106 k_ra8_mask_lsn2 = 0x0003U,
107 k_ra8_mask_lsn3 = 0x0007U,
108 k_ra8_mask_lsn4 = 0x000FU,
109 k_ra8_mask_lsn5 = 0x001FU,
110 k_ra8_mask_lsn6 = 0x003FU,
111 k_ra8_mask_lsn7 = 0x007FU,
112 k_ra8_mask_lsn8 = 0x00FFU,
114
125
126/* =============================================================================
127 * Byte-index helpers for MSB-first packing
128 * =============================================================================
129 */
130
152
153#ifdef __cplusplus
154}
155#endif
ra8_bit_position_t
Bit positions 0..31 as typed constants.
@ k_ra8_bit_20
RA8 bit 20.
@ k_ra8_bit_2
RA8 bit 2.
@ k_ra8_bit_26
RA8 bit 26.
@ k_ra8_bit_24
RA8 bit 24.
@ k_ra8_bit_9
RA8 bit 9.
@ k_ra8_bit_29
RA8 bit 29.
@ k_ra8_bit_3
RA8 bit 3.
@ k_ra8_bit_18
RA8 bit 18.
@ k_ra8_bit_11
RA8 bit 11.
@ k_ra8_bit_16
RA8 bit 16.
@ k_ra8_bit_0
RA8 bit 0.
@ k_ra8_bit_25
RA8 bit 25.
@ k_ra8_bit_22
RA8 bit 22.
@ k_ra8_bit_10
RA8 bit 10.
@ k_ra8_bit_8
RA8 bit 8.
@ k_ra8_bit_28
RA8 bit 28.
@ k_ra8_bit_17
RA8 bit 17.
@ k_ra8_bit_13
RA8 bit 13.
@ k_ra8_bit_19
RA8 bit 19.
@ k_ra8_bit_31
RA8 bit 31.
@ k_ra8_bit_30
RA8 bit 30.
@ k_ra8_bit_23
RA8 bit 23.
@ k_ra8_bit_4
RA8 bit 4.
@ k_ra8_bit_12
RA8 bit 12.
@ k_ra8_bit_14
RA8 bit 14.
@ k_ra8_bit_5
RA8 bit 5.
@ k_ra8_bit_15
RA8 bit 15.
@ k_ra8_bit_27
RA8 bit 27.
@ k_ra8_bit_7
RA8 bit 7.
@ k_ra8_bit_1
RA8 bit 1.
@ k_ra8_bit_21
RA8 bit 21.
@ k_ra8_bit_6
RA8 bit 6.
ra8_be_byte_idx_t
Byte indices when packing big-endian multi-byte values.
@ k_ra8_be_idx_mh32
Mid-high byte.
@ k_ra8_be_idx_ml32
Mid-low byte.
@ k_ra8_be_idx_lo32
Least significant byte.
@ k_ra8_be_idx_hi16
Most significant byte of a 16-bit big-endian value.
@ k_ra8_be_idx_hi32
Most significant byte of a 32-bit big-endian value.
@ k_ra8_be_idx_lo16
Least significant byte.
ra8_byte_mask_t
Byte-wide bit masks and positions for byte packing/unpacking.
@ k_ra8_mask_lsn4
Low 4-bit field (alias).
@ k_ra8_mask_lsn2
Low 2-bit field mask.
@ k_ra8_mask_nibble
Low 4 bits mask.
@ k_ra8_mask_word
Low 16 bits mask.
@ k_ra8_mask_lsn7
Low 7-bit field mask.
@ k_ra8_mask_lsn8
Low 8-bit field (alias).
@ k_ra8_mask_lsn5
Low 5-bit field mask.
@ k_ra8_mask_lsn3
Low 3-bit field mask.
@ k_ra8_mask_lsn6
Low 6-bit field mask.
@ k_ra8_mask_byte
Low 8 bits mask.
ra8_byte_count_t
Bit counts per integral type.
@ k_ra8_bits_per_byte
Bits in a byte.
@ k_ra8_bits_per_u16
Bits in a uint16_t.
@ k_ra8_bits_per_u32
Bits in a uint32_t.
@ k_ra8_bits_per_u64
Bits in a uint64_t.