Releases: adel-mamin/amast
Releases · adel-mamin/amast
v0.7.2
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
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
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
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
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
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
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
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
Changes
- Add more active object API documentation
am_ao_publish()
now takesconst struct am_event **
as a parameter
v0.6.0
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