• More driver improvements

    J. Ian Lindsay11/30/2019 at 22:36 0 comments

    The driver had a tremendous amount of technical debt cleared away last night. Bus references are no longer hard-coded to "Wire", but are instead passed in as an argument to init(), and is then retained by the class. This costs an extra 4 bytes of resting memory load per-instance, but paves the way for the linux TwoWire abstraction, and makes life generally easier for anyone using the board with (suppose) "Wire1".

    Additionally, the driver now supports state serialization and restore. It needs some more testing, but it should allow state restore before or after init(), allowing for "profiles" and easy management of preferred settings, default states, etc. Buffers written this way are versioned so that new driver features can be gracefully migrated in. This API is essentially finished, so it is now safe to code against. The example sketch is updated, tested, committed, and pushed.

    Sloppy private boolean class variables were condensed into something more efficient and manageable (int member with flags).

  • Arduino driver is posted

    J. Ian Lindsay08/28/2019 at 02:55 0 comments

    The Arduino driver is posted.