Skip to content

Support "partially derive" #893

@burrbull

Description

@burrbull

For example such case:

REG1:
   description: REG1
   addressOffset: 0x0
   resetValue: 0x0
   fields:
        FIELD1: {}
        FIELD2: {}
        FIELD3: {}
REG2:
   addressOffset: 0x4
   derivedFrom: REG1
REG3:
   description: REG3
   addressOffset: 0x8
   resetValue: 0xF0
   derivedFrom: REG1

we should get something like this:

/// REG1
pub mod reg1 {
  // Fields
}
pub struct Reg1Spec;
/// REG1
pub type Reg1 = Reg<Reg1Spec>;

/// REG1
pub use reg1 as reg2; // same module
/// REG1
pub use Reg1 as Reg2; // same register

/// REG3
pub use reg1 as reg3;
pub struct Reg3Spec; // same module
/// REG3
pub type Reg3 = Reg<Reg3Spec>; // different registers

cc @Emilgardis

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions