Skip to content

Releases: adel-mamin/amast

v0.7.2

07 Feb 20:37
Compare
Choose a tag to compare

Release Notes

  • Add AM_EVT_AO_(UN)SUBSCRIBE events
  • Optimize the range of state machine specific events
  • Rename am_event_get_pool_nfree_now() to am_event_get_pool_nfree()
  • Rename am_onesize_get_min_nfree() to am_onesize_get_nfree_min()
  • Add am_queue_get_nfree/nbusy/nfree_min/capacity() APIs
  • Streamline _x APIs taking margin as a parameter
  • Uncomment configuration parameters in amast_config.h
  • Rename AM_EVENT_POOL_NUM_MAX to AM_EVENT_POOLS_NUM_MAX
  • Rename _init() to _ctor() in slist
  • Rename _init() to _ctor() in dlist
  • Rename am_async_init() to am_async_ctor()
  • Rename am_event_get_pool_min_nfree() to am_event_get_pool_nfree_min()
  • Rename am_hsm_state/instance() to am_hsm_get_state/instance()
  • Rename am_fsm_state() to am_fsm_get_state()
  • Prune AM_AO_EVT_PUB_MAX from libs/ao/ao.h
  • Add am_ao_state_ctor_()
  • Add margin argument to am_onesize_allocate()
  • Remove size argument from am_onesize_allocate()
  • Add FSM, HSM, async and slist sphinx documentation
  • Improve slist, ringbuf and queue documentation

v0.7.1

02 Feb 10:39
Compare
Choose a tag to compare

Release Notes

  • Improve AO API descriptions
  • Add am_ao_get_own_prio()
  • Add check for validity of pointer returned by am_onesize_allocate()
  • Rename am_pal_task_own_id() to am_pal_task_get_own_id()
  • Rename AM_FSM_EVT_ to AM_EVT_FSM_ and AM_HSM_EVT_ to AM_EVT_HSM_
  • Rename struct am_event_timer to struct am_timer
  • Add libs/ao/tests/stop.c
  • Rework am_ao_stop()
  • Add am_ao_get_cnt()
  • Prune am_ao_state_dtor()
  • Add am_queue_dtor()
  • Rename am_queue_init() to am_queue_ctor()
  • Link AM_AO_PRIO_MAX to AM_AO_NUM_MAX
  • Return from am_ao_unsubscribe() if no subscription list was set
  • Rename am_ao_wait_startup() to am_ao_wait_start_all()
  • Rename am_ao_dump_event_queues() to am_ao_log_event_queues()
  • Add amast documentation skeleton
  • Add struct am_queue::full
  • Add sphinx documentation generation

v0.7.0

27 Jan 19:53
Compare
Choose a tag to compare

Release Notes

  • Use am_pal_on_idle in dpp and ringbuf examples and in libs/ao/tests/minimal.c
  • Update README.md
  • Upgrade meson to v1.7.0
  • Add doxygen
  • Rework am_pal_sleep_ms() and am_pal_sleep_till_ms()
  • Add am_pal_on_idle()
  • Rename AM_ASYNC_EXIT() to AM_ASYNC_BREAK()
  • Rework user input handling in apps/examples/async/main.c
  • Rework libs/async
  • Rework am_onesize_ctor()
  • Add am_timer_get_ticks() and am_timer_get_interval()
  • Improve am_event_flush_queue() documentation
  • Support 'ticks' set to 0 in am_timer_arm()
  • Rework am_onesize_iterate_over_allocated()
  • Rework onesize statistics bookkeeping
  • Rework am_timer_domain_is_empty() to be called from critical section

v0.6.6

24 Jan 15:32
Compare
Choose a tag to compare

Release Notes

  • Limit timer list add/remove operations to in am_timer_tick()
  • Call am_ao_post_fifo() from HSM init state, when appropriate
  • Rework libs/dlist
  • Add iterator API to libs/slist
  • Timer events get owner at construction
  • Cosmetic change to libs/hsm/tests/hsm_top_as_nca.c
  • Rework libs/hsm/tests/history.c
  • Fix libs/hsm/tests/defer.c
  • Fix libs/fsm/tests/event_queue.c
  • Replace references to ASSERT() with AM_ASSERT()
  • Fix libs/hsm/tests/event_queue.c
  • Re-enable sanitizers for AO publish_cooperative test and hahi-example

Known Issues

  • amast_freertos.c is WIP

v0.6.5

21 Jan 10:06
Compare
Choose a tag to compare

Release Notes

  • Clarify event freeing in dispatch, post and publish APIs
  • Disable AM_ASSERT_FAILURE in amast_config.h by default
  • Add struct am_ao_state_cfg::on_idle() callback
  • Rework **event to *event in all APIs except am_event_free()
  • Add am_ao_publish_exclude() and am_ao_publish_x_exclude()
  • Add am_ao_wait_startup() to synchronize execution threads
  • Add am_ao_init_all() and rework AO HSM initial transition
  • Improve am_ao_run_all() comment
  • Prune libs/ao/cooperative/port.h as redundant

Known Issues

  • amast_freertos.c is WIP

v0.6.4

19 Jan 15:07
Compare
Choose a tag to compare

Release Notes

  • Add ccache ang gdb to pixi configuration
  • Upgrade pixi tools
  • Update README.md
  • Rework am_ao_run_all() output processing
  • Add async example apps/examples/async/main.c
  • Update libs documentation
  • Fix am_ao_state_ctor() initialization order
  • Rework am_ao_run_all() for preemptive AO build
  • Extend am_pal_sleep_xxx() to support sleep forever
  • Rename am_event_cfg->am_event_state_cfg, am_timer_cfg->am_timer_state_cfg
  • Rework am_ao_run_all()
  • Streamline extern 'C' usage
  • Rework am_event_inc(dec)_ref_cnt() APIs
  • Add DPP preemptive and cooperative examples to unit tests
  • Simplify AM_COMPILE_TIME_ASSERT3()
  • Rename struct am_ao_state::oa[] to struct am_ao_state::aos[]
  • Prune libs/blk
  • Fix documentation bug in queue/queue.h

Known Issues

  • amast_freertos.c is WIP

v0.6.3

14 Jan 20:13
Compare
Choose a tag to compare

Release Notes

  • Add missing memset to 0 in AO, FSM and PAL constructors - Fix am_fsm_ctor() bug
  • Fix am_hsm_ctor() bug
  • Add apps/examples/hsm/hahi
  • Add cobs library skeleton and basic unit tests
  • Add cosmetic changes to fsm/fsm.h
  • Rename struct am_hsm_state::ifn to struct am_hsm_state::smi
  • Rename tools/generate_sizes_rst.py -> tools/generate_lib_sizes.py
  • Fix meson warning
  • Disable clang-tidy check temporarily
  • Minor README.md amendments

Known Issues

  • amast_freertos.c is WIP

v0.6.2

08 Jan 17:58
Compare
Choose a tag to compare

Release Notes

  • Add 'How Big Are Compile Sizes' section to README.md
  • Pass HSM state by value is all APIs
  • Add automatic size calculation of selected libraries
  • Add clang-tools and binutils to pixi.toml
  • Enable address and undefined sanitizers via meson options
  • Fix compiler warnings in libs/ringbuf/ringbuf.c
  • Prune struct am_event::reserved
  • Improve API documentation
  • Update tools/unity/README.md

Known Issues

  • amast_freertos.c is WIP

v0.6.1

06 Jan 20:40
Compare
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
Compare
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