Skip to content

Releases: adel-mamin/amast

v0.6.1

06 Jan 20:40

Choose a tag to compare

Changes

  • Add more active object API documentation
  • am_ao_publish() now takes const struct am_event ** as a parameter

v0.6.0

05 Jan 19:17

Choose a tag to compare

Changes

  • Add amast-pragma: verbatim-include-std-on(off) support
  • Enable AM_ASSERT_FAILURE in amast_config.h
  • Add AM_PAL_MUTEX_NUM_MAX
  • Use LTO only for amast.c and amast_test.c
  • Add example links for ringbuf and ao modules
  • Add repo link to copyright notes
  • Add libs/pal/pal.h descriptions
  • Add README.rst to ringbuf, onesize, event, timer and ao libs
  • Enable optimization, ASAN and USAN

v0.5.0

24 Dec 11:56

Choose a tag to compare

Changes

  • Prune on_idle AO callback
  • Rework am_ao_run_all()
  • Add AM_PAL_TASK_ID_MAIN
  • Add am_pal_sleep_till_ticks() and am_pal_sleep_till_ms()
  • Rename AM_DIVIDE_ROUND_UP() to AM_DIV_CEIL()
  • Add AM_PAL_TASK_NUM_MAX
  • Fix am_ao_notify() signature
  • Prune ao_type meson option
  • Prune global src variable from meson.build files
  • Upgrade pixi tools
  • Add minimal active object usage unit test
  • Add cspell, fix typos
  • Mark am_ao_init_subscribe_list() as optional
  • Add ringbuf module with examples

Known issues

  • the FreeRTOS port is still work in progress

v0.4.2

14 Dec 10:01

Choose a tag to compare

Changes

  • Fix posix port of DPP example
  • Allow for external setting of HSM_HIERARCHY_DEPTH_MAX
  • Use AM_POOL_BLOCK_SIZEOF and AM_POOL_BLOCK_ALIGNMENT
  • Re-enable LTO and release type optimization
  • Assert HSM transitions are not to am_hsm_top() state
  • Streamline naming of global variables
  • Rework am_event_recall()
  • Rename AM_EVENT_RC_OK_WAS_EMPTY to AM_EVENT_RC_OK_QUEUE_WAS_EMPTY
  • Upgrade build tools. Fix warnings
  • Rework libs/ao/cooperative/port.c
  • Expose am_ao_event_queue_is_empty()
  • Add enum am_event_rc and rework event push APIs
  • Fix ao/cooperative/port.c compilation errors
  • Prune am_ao_notify_event_queue_empty(), rework AO cooperative port
  • Prune am_ao_wait()
  • Prune AO_COOPERATIVE and AO_PREEMPTIVE defines

Known issues

  • the FreeRTOS port is still work in progress

v0.4.1

08 Dec 10:15

Choose a tag to compare

Changes

  • combine amast_stubs.c with amast_test.c
  • add debug print-outs to dining philosophers problem (DPP) example

Known issues

  • the posix port of DPP crashes sometimes
  • the freertos port is still work in progress

v0.4.0

07 Dec 20:41

Choose a tag to compare

Changes

  • Extend and fix bugs in posix port
  • Add active ojbect library implementation
  • Add dining philosophers example. Tested with posix port
  • Extend and fix bugs in event library implementation
  • Improve FSM and HSM documentation
  • Add bit library
  • Add libs/hsm/tests/defer.c

v0.3.1

16 Nov 20:39

Choose a tag to compare

Features

  • Add AM_ASSERT_FAILURE configuration to amast_config.h
  • Add struct am_onesize_cfg with crit_enter(exit) callbacks

v0.3.0

15 Nov 17:12

Choose a tag to compare

Features

  • Add critical section handling to timer module
  • Add libs/pal/stubs
  • Fix include-what-you-use warnings
  • Add tools/unity/amast_config.h
  • Add libs/common/assert.c
  • Rework hierarchy depth check in hsm_dispatch()
  • Add am_hsm_state::init_called
  • Place static functions at top of hsm.c
  • Optimize HSM implementation

v0.2.0

09 Nov 17:09

Choose a tag to compare

Features

  • The finite state machine implementation (documentation)
  • Compilation instructions in README.md

v0.1.0

03 Nov 17:08

Choose a tag to compare

Features

  • The hierarchical state machine implementation (documentation, examples)
  • The async-await implementation (documentation)
  • Singly and doubly linked lists
  • One size memory allocator
  • Timers
  • Events