Skip to content

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.

3 participants