Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(radio): OS compatibility layer #5840

Draft
wants to merge 1 commit into
base: main
Choose a base branch
from
Draft

Conversation

raphaelcoeffic
Copy link
Member

@raphaelcoeffic raphaelcoeffic commented Jan 26, 2025

This PR is aimed at providing a cleaner way to deal with differences btw. simulator and firmware.

Tasks and mutex were already kind of provided by rtos.h, but we lacked support for timers and async calls, which were provided exclusively by FreeRTOS timers. Now there is an implementation of timers for native platform, which could be used as well for async calls, the same way we do with FreeRTOS (but isn't right now, implementation is provided though).

Supported for far:

  • time
  • timers
  • asynchronous calls
  • tasks and mutex

TODOs:

  • move async calls to timer_queue::pend_function(...)
  • port MPM proto scan to the new API (see radio/src/io/multi_protolist.cpp)

@raphaelcoeffic raphaelcoeffic force-pushed the async-calls branch 3 times, most recently from 9049e6f to a4dd3c2 Compare January 26, 2025 15:37
Supports:
- time
- timers
- asynchronous calls
- tasks and mutexes
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant