Pico Core
Loading...
Searching...
No Matches
Registers Struct Reference

#include <core_registers.h>

Collaboration diagram for Registers:
[legend]

Public Member Functions

 Registers (uint16_t who_am_i, uint8_t hw_version_major, uint8_t hw_version_minor, uint8_t assembly_version, uint8_t harp_version_major, uint8_t harp_version_minor, uint8_t fw_version_major, uint8_t fw_version_minor, uint16_t serial_number, const char name[], const uint8_t tag[])
 
 ~Registers ()
 

Public Attributes

RegValues regs_
 
const RegSpecs address_to_specs [CORE_REG_COUNT]
 
OperationCtrlBitsr_operation_ctrl_bits = *((OperationCtrlBits*)(&regs_.R_OPERATION_CTRL))
 
ResetDefBitsr_reset_def_bits = *((ResetDefBits*)(&regs_.R_RESET_DEF))
 
ClockConfigBitsr_clock_config_bits = *((ClockConfigBits*)(&regs_.R_CLOCK_CONFIG))
 

Constructor & Destructor Documentation

◆ Registers()

Registers::Registers ( uint16_t who_am_i,
uint8_t hw_version_major,
uint8_t hw_version_minor,
uint8_t assembly_version,
uint8_t harp_version_major,
uint8_t harp_version_minor,
uint8_t fw_version_major,
uint8_t fw_version_minor,
uint16_t serial_number,
const char name[],
const uint8_t tag[] )

◆ ~Registers()

Registers::~Registers ( )

Member Data Documentation

◆ address_to_specs

const RegSpecs Registers::address_to_specs[CORE_REG_COUNT]
Initial value:
=
{{(uint8_t*)&regs_.R_WHO_AM_I, sizeof(regs_.R_WHO_AM_I), U16},
{(uint8_t*)&regs_.R_HW_VERSION_H, sizeof(regs_.R_HW_VERSION_H), U8},
{(uint8_t*)&regs_.R_HW_VERSION_L, sizeof(regs_.R_HW_VERSION_L), U8},
{(uint8_t*)&regs_.R_HARP_VERSION_L, sizeof(regs_.R_HW_VERSION_L), U8},
{(uint8_t*)&regs_.R_FW_VERSION_H, sizeof(regs_.R_FW_VERSION_H), U8},
{(uint8_t*)&regs_.R_FW_VERSION_L, sizeof(regs_.R_FW_VERSION_L), U8},
{(uint8_t*)&regs_.R_RESET_DEF, sizeof(regs_.R_RESET_DEF), U8},
{(uint8_t*)&regs_.R_DEVICE_NAME, sizeof(regs_.R_DEVICE_NAME), U8},
{(uint8_t*)&regs_.R_SERIAL_NUMBER, sizeof(regs_.R_SERIAL_NUMBER), U16},
{(uint8_t*)&regs_.R_CLOCK_CONFIG, sizeof(regs_.R_CLOCK_CONFIG), U8},
{(uint8_t*)&regs_.R_UUID, sizeof(regs_.R_UUID), U8},
{(uint8_t*)&regs_.R_TAG, sizeof(regs_.R_TAG), U8},
}
@ U8
Definition reg_types.h:12
@ U32
Definition reg_types.h:16
@ U16
Definition reg_types.h:14
volatile uint32_t R_TIMESTAMP_SECOND
Definition core_registers.h:76
uint8_t R_TAG[8]
Definition core_registers.h:85
volatile uint8_t R_TIMESTAMP_OFFSET
Definition core_registers.h:83
const uint8_t R_HW_VERSION_H
Definition core_registers.h:69
volatile uint16_t R_SERIAL_NUMBER
Definition core_registers.h:81
volatile uint8_t R_OPERATION_CTRL
Definition core_registers.h:78
const uint16_t R_WHO_AM_I
Definition core_registers.h:68
const uint8_t R_ASSEMBLY_VERSION
Definition core_registers.h:71
volatile uint8_t R_RESET_DEF
Definition core_registers.h:79
volatile uint8_t R_CLOCK_CONFIG
Definition core_registers.h:82
const uint8_t R_FW_VERSION_H
Definition core_registers.h:74
const uint8_t R_HARP_VERSION_L
Definition core_registers.h:73
volatile char R_DEVICE_NAME[25]
Definition core_registers.h:80
const uint8_t R_HARP_VERSION_H
Definition core_registers.h:72
const uint8_t R_HW_VERSION_L
Definition core_registers.h:70
uint8_t R_UUID[16]
Definition core_registers.h:84
const uint8_t R_FW_VERSION_L
Definition core_registers.h:75
volatile uint16_t R_TIMESTAMP_MICRO
Definition core_registers.h:77
RegValues regs_
Definition core_registers.h:108

◆ r_clock_config_bits

ClockConfigBits& Registers::r_clock_config_bits = *((ClockConfigBits*)(&regs_.R_CLOCK_CONFIG))

◆ r_operation_ctrl_bits

OperationCtrlBits& Registers::r_operation_ctrl_bits = *((OperationCtrlBits*)(&regs_.R_OPERATION_CTRL))

◆ r_reset_def_bits

ResetDefBits& Registers::r_reset_def_bits = *((ResetDefBits*)(&regs_.R_RESET_DEF))

◆ regs_

RegValues Registers::regs_

The documentation for this struct was generated from the following files: