Motion Master 6.0.0-alpha.86
Next-generation motion control software
Loading...
Searching...
No Matches
mm::node::somanet::IcHausRegister Struct Reference

One row of a register map — usually one address, sometimes a printed range. More...

#include <ic_haus_registers.h>

Collaboration diagram for mm::node::somanet::IcHausRegister:
[legend]

Public Member Functions

std::span< const IcHausFieldnamedFields () const
 The fields this row names, most significant bit first.
 
std::string layout () const
 The row as the datasheet prints it — field names with their bit slices, joined with " | ". Derived rather than stored, so it can never disagree with fields.
 

Public Attributes

uint8_t address = 0
 The address, or the first of a range.
 
uint8_t lastAddress = 0
 
bool reserved = false
 The whole row is reserved and names no fields.
 
bool spiOnly = false
 
std::array< IcHausField, kMaxFieldsPerRegisterfields {}
 Only the first fieldCount count.
 
uint8_t fieldCount = 0
 How many of fields this row actually names.
 

Detailed Description

One row of a register map — usually one address, sometimes a printed range.

Member Function Documentation

◆ layout()

std::string mm::node::somanet::IcHausRegister::layout ( ) const

The row as the datasheet prints it — field names with their bit slices, joined with " | ". Derived rather than stored, so it can never disagree with fields.

◆ namedFields()

std::span< const IcHausField > mm::node::somanet::IcHausRegister::namedFields ( ) const
inline

The fields this row names, most significant bit first.

Member Data Documentation

◆ address

uint8_t mm::node::somanet::IcHausRegister::address = 0

The address, or the first of a range.

◆ fieldCount

uint8_t mm::node::somanet::IcHausRegister::fieldCount = 0

How many of fields this row actually names.

◆ fields

std::array<IcHausField, kMaxFieldsPerRegister> mm::node::somanet::IcHausRegister::fields {}

Only the first fieldCount count.

◆ lastAddress

uint8_t mm::node::somanet::IcHausRegister::lastAddress = 0

The last address of the range, equal to address for the ordinary single-address row. The datasheets print a block of identical rows once (0x30 … 0x3F RESERVED, the sixteen USER_EXCHANGE_REGISTERS at 0x60-0x6F), and collapsing them the same way keeps the transcription honest instead of inventing fifteen rows the vendor never wrote.

◆ reserved

bool mm::node::somanet::IcHausRegister::reserved = false

The whole row is reserved and names no fields.

◆ spiOnly

bool mm::node::somanet::IcHausRegister::spiOnly = false

Reachable over SPI only, so OS command 0 cannot touch it. True for the iC-MU's 0x80-0xAF, which the datasheet marks "access on address space SER > 0x7F only via SPI interface possible" — a client should show these rather than offer them.


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