Skip to content

Releases: TheTrueFlopsy/libavr

Version 0.1.1

18 Aug 23:37

Choose a tag to compare

Stuff is happening

In order to display some signs of life, I have released a new version of libavr with all the changes I have made since version 0.1 last year. Those changes include a new utility header for bit operations (bitops.h), a helper module for nRF24x transceivers (nrf24x.h) and some extensions in the spihelper.h and task_sched.h modules.

For version 0.2, I'm planning to focus on tidying up the task scheduler and its data types. If I succeed, the scheduler will end up both faster and more capable. I'll also try to deal with issues and clumsy implementations in other parts of the library, getting the code in good shape for subsequent I/O improvements. There is no time frame for this or anything else.

Version 0.3 is supposed to deliver much improved I/O, especially for command interfaces. What this will mean in practice is still not decided. I'll probably make the logical register interface (std_tlv.h) more flexible and easier for firmware developers to implement robustly. I might also introduce something like a network stack (replacing the TLV/INM protocol) and a hardware abstraction layer (replacing the current USART-only solution in task_tlv.h), if that seems useful, feasible and I have the time. In any case, I intend to do this in multiple incremental releases, instead of one big bang.

Beyond that, I don't know, but if I'm still working on the library at that point it might be a good idea to create a proper test suite and/or expand the set of supported devices. The latter option might bring additional design changes.

Version 0.1

01 May 23:39

Choose a tag to compare

Progress has been made

This is the first proper public release of the library. Changes since v0.0.1 include:

  • Better documentation. Extended readme file. Doc comments in Python modules.
  • Improved makefiles. Link-time optimization enabled. Support for project-specific library builds.
  • Improved input debouncing algorithm.
  • Added watchdog timer control module.
  • Added support for ATmegaU devices, with firmware examples. No support for the built-in USB controller at this time.

CAUTION: The current logical register specification in the std_tlv.h module has bothersome and unnecessary limitations (e.g. all registers being one byte large) and is therefore being considered for compatibility-breaking replacement in a future release of libavr.

Initial release

01 May 14:59

Choose a tag to compare

Initial release Pre-release
Pre-release

The Beginning

First release of the library, which was previously only intended for private use. The public release was made in haste to provide an example of my recent work.