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

Introduce FreeRTOS Software timers #1742

Merged
merged 10 commits into from
Mar 31, 2022
Merged

Introduce FreeRTOS Software timers #1742

merged 10 commits into from
Mar 31, 2022

Conversation

raphaelcoeffic
Copy link
Member

@raphaelcoeffic raphaelcoeffic commented Mar 27, 2022

Software timers are programmable timers and pending routines that are processed in a separate Task (Timer Task aka. Daemon Task).

The goal here is to allow the mixer scheduler to be freed from all none-essential tasks, as well as offering a nice way to schedule recurring tasks without always looking for a timer to hook into, or a task to add the burden to.

This PR starts with the telemetry processing which is moved first to this background task. Mid-term, the telemetry processing should be split into 2 parts with the following periods:

  • 10ms: recurring maintenance (mostly expiration and decay of values).
  • depends on module: each module should have the chance to schedule its telemetry polling task (if it supports telemetry) with a protocol/module specific period (don't be greedy!).

@raphaelcoeffic raphaelcoeffic marked this pull request as draft March 27, 2022 13:59
@raphaelcoeffic raphaelcoeffic marked this pull request as ready for review March 30, 2022 07:53
@pfeerick pfeerick added this to the 2.8 milestone Mar 30, 2022
@pfeerick pfeerick self-assigned this Mar 31, 2022
Copy link
Member

@pfeerick pfeerick left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

TX16S

  • internal and external MPM update
  • internal MPM: Flysky 2A FS-iA6B bind, telemetry discovery, servos move
  • external MPM: Frsky X8R bind, telemetry discovery, servos move
  • external ES24TX CRSF + EP2: receiver connect, telemetry discovery, lua, servos move, BF configurator

NV14

  • internal RF: FS-iA6B bind, telemetry discovery, servos move
  • external ES24TX CRSF + EP2: receiver connect, telemetry discovery, lua, servos move
  • external XJT + X8R: receiver bind, telemetry discovery, servos move

TPro

  • internal MPM: OrangeRX DSM2 6CH bind, servos move
  • external ES24TX CRSF + EP2: receiver connect, telemetry discovery, lua, servos move, BF telemetry

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.

3 participants