Skip to content

Releases: adel-mamin/amast

v0.8.1

07 Mar 21:24
Compare
Choose a tag to compare

Release Notes

  • Generate amast.tar.gz
  • Improve API documentation
  • Add am_timer_arm_ms()
  • Rename am_event_get_pools_num() to am_event_get_npools()
  • Add MIT license wording to docs/license.rst
  • Rename HSM_HIERARCHY_DEPTH_MAX to AM_HSM_HIERARCHY_DEPTH_MAX
  • Fix libs/hsm/tests/dtor.c
  • Fix ms computation bug in libuv port of am_pal_time_get_ms()

From now on the amast source files are distributed in the form of amast.tar.gz.
The content of the tarball:

> tar -tzf amast.tar.gz
amast/amast.c
amast/amast_test.c
amast/amast_freertos.c
amast/amast_posix.c
amast/amast_cooperative.c
amast/amast_preemptive.c
amast/amast.h
amast/amast_test.h
amast/amast_libuv.c
amast/amast_config.h
amast/Makefile

v0.8.0

23 Feb 17:37
Compare
Choose a tag to compare

Release Notes

  • Upgrade pixi tools and refactor pixi tasks
  • Add missing stub functions to libs/pal/stubs/pal.c
  • Update compile sizes in README.md
  • Only check valid tasks in am_pal_tasks_get_own_id()
  • Add libuv port and amast_libuv.c to the release package
  • am_event_recall() allows recalling without callback
  • Improve HSM and FSM documentation
  • Rename AM_ASYNC_BREAK() to AM_ASYNC_EXIT()
  • Use return to exit from async/await context
  • Fix shot_in_ticks bug in am_timer_arm()
  • Rework apps/examples/async/main.c

v0.7.3

14 Feb 09:21
Compare
Choose a tag to compare

Release Notes

  • Update README.md
  • Add critical_section_enter_cnt_ to posix/pal.c
  • Add struct am_ao_state::subscribe_list_set
  • Add struct am_queue::ctor_called
  • Add AO, onesize, bit and pal documentation to docs/api.rst
  • Fix active object restart
  • Add event corruption assert to am_h(f)sm_dispatch()
  • Improve libs/event/event.h documentation
  • Declare struct am_hsm_state::smi as uint8_t
  • Remove AO reserved events (subscribe, unsubscribe, unsubscribe all)
  • Elaborate am_(h)fsm_dtor() descriptions
  • Add examples/fork
  • Set AM_EVT_INVALID to -1

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