device-driver-generation 1.0.9

Code generation for the `device-driver` crate
Documentation

config {
    type RegisterAddressType = u8;
    type CommandAddressType = u16;
    type BufferAddressType = u32;
    type DefaultByteOrder = LE;
    type NameWordBoundaries = [
        Hyphen, Underscore
    ];
    type DefmtFeature = "blah";
}
block Bar {
    const ADDRESS_OFFSET = 10;
    const REPEAT = {
        count: 2,
        stride: 20,
    };

    ///This is the Foo register
    register Foo {
        const ADDRESS = 0;
        const SIZE_BITS = 24;

        ///This is a bool!
        value0: bool = 0..1,
        value1: uint = 1..16,
        value2: int = 16..24,
    },
},
///A command with inputs and outputs
command InOut {
    const ADDRESS = 3;
    const SIZE_BITS_IN = 16;
    const SIZE_BITS_OUT = 8;

    in {
        ///The value!
        val: uint = 0..16,
    }
    out {
        ///The value!
        val: uint = 0..8,
    }
},
buffer WoBuf: WO = 1,
///This is the Foo ref
ref FooRef = register Foo {
    const ADDRESS = 3;
    const RESET_VALUE = 0x000002;
}