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

Freertos-singlecore release candidate 1. #420

Draft
wants to merge 47 commits into
base: v2-singlecore-staging
Choose a base branch
from

Conversation

Known4225
Copy link
Contributor

@Known4225 Known4225 commented Oct 1, 2024

This will merge a rebased freertos-singlecore into a copy of the current 1.3.x main branch. The project "freertos_app_cpu0" contains a user app "vsiApp", which is used to demonstrate/test the following working features:

  • Custom user apps (with customisable task rates, priorities, and memory sizes)
  • LEDs
  • Terminal commands (and UART serial interface)
  • PWM generation
  • Analog sensing
  • Logging (and tcp/ip)
  • Profiling using the Freertos Run Time Statistics
  • Interaction with existing host interface (python wrapper + scripting compatibility)
  • AMDS (with low voltage card)
  • Signal injection

Yet untested features:

  • AMDC REV D and REV E
  • DAC board
  • Eddy current sensor
  • Encoder

TODO

  • Investigate anomalies with run time statistics, and find a way to make them useful for our purposes

Over the course of the review I plan to build upon the vsiApp (which operates with a uInverter) to include demonstrations of the yet untested features (interacting with the AMDS and other sensors). I also need to know of any other features that need to be demonstrated in order to consider this work complete.

I can also document testing procedures and results upon request.

Edit: Need to figure out timing manager + freertos integration. Also need to adjust stats to better reflect the information that the old stats would give.

@Known4225
Copy link
Contributor Author

BIG win today, AMDS is working successfully! I just had to upgrade the firmware to v2.0.x

@elsevers
Copy link
Contributor

elsevers commented Nov 9, 2024

BIG win today, AMDS is working successfully! I just had to upgrade the firmware to v2.0.x

Nice work @Known4225!

@Known4225 Known4225 marked this pull request as draft December 19, 2024 22:13
@Known4225
Copy link
Contributor Author

12/20 meeting: Priority is to have FreeRTOS and FreeRTOS+TCP working without any changes to FreeRTOS or FreeRTOS+TCP files.

Integrate semaphore or other system to have control task activated by timing manager interrupt.

Add user-facing wrapper code to more easily create special control tasks (high priority tasks that use callback functions and are synced with the timing manager)

@Known4225
Copy link
Contributor Author

List of changes made to FreeRTOS files:

  • FreeRTOSIPConfigDefaults.h at line 83, error: enumerator value for 'static_assert_0' is not an integer constant. Replaced with "enum { ASSERT_CONCAT( static_assert_, COUNTER ) = 0 }"

That was all that was necessary. The rest could be configured with FreeRTOSConfig.h and FreeRTOSIPConfig.h

This one could not though, it must be edited in this file.

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.

2 participants