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

Merge initial FreeRTOS Code into v2 #359

Merged
merged 24 commits into from
Apr 23, 2024
Merged

Conversation

codecubepi
Copy link
Contributor

@codecubepi codecubepi commented Dec 21, 2023

PR Overview

This pull request includes my work on the FreeRTOS portion of the v2 firmware intiative up to 08 Feb 2024.

This includes the FreeRTOS source code v10.6.2 linked as a Git submodule, dual-core applications (without Inter-Core Communication), and a restructure of the sdk directory tree such that common system-level drivers can exist in a "shared" folder, which is linked into both dual-core applications (freertos_app_cpu0 and freertos_app_cpu1).

Additionally, efforts have been made in this pull request to streamline the setup of SDK projects for new users by making all build paths in the .cproject workspace-relative instead of absolute.

Dual-Core Apps

The dual-core applications freertos_app_cpu0 and freertos_app_cpu1 are to run on CPU0 and CPU1 respectively to demo basic FreeRTOS task and structure functionality. Both apps run independently of each other. Each app has its own Tx task, Rx task, and a Queue to send messages through. CPU0 operates the RGB LEDs, while messages are transmitting, they cycle red, and when messages have completed, all LEDs blink green (to showcase operation of the led.c driver). Each CPU also has its own FreeRTOSConfig.h, which are mostly identical, but can be individually configured if needed.

Using a live submodule of the FreeRTOS Kernel will ensure going forward that we can make use of the latest features in FreeRTOS, and updating the kernel is as easy as updating the submodule.

Merge Plan

The plan for merging is to Squash and Merge the stable FreeRTOS code in this branch into v2-staging. A Squash and Merge is ideal due to the existence of files created by a commit in this branch, and that are then deleted by a subsequent commit.

@codecubepi
Copy link
Contributor Author

@npetersen2

Please review this PR when you have time to do so. Tagging #360 for relevance.

Copy link
Collaborator

@npetersen2 npetersen2 left a comment

Choose a reason for hiding this comment

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

@codecubepi I took a look at all the files changed and left comments.

Mostly ready to be merged, but a few minor things to address

sdk/FreeRTOS-Kernel Outdated Show resolved Hide resolved
sdk/README.md Outdated Show resolved Hide resolved
sdk/freertos_app_cpu0/.project Show resolved Hide resolved
sdk/freertos_app_cpu0/.project Show resolved Hide resolved
sdk/freertos_app_cpu0/src/FreeRTOSConfig.h Outdated Show resolved Hide resolved
sdk/shared/README.md Show resolved Hide resolved
sdk/shared/drv/led.c Outdated Show resolved Hide resolved
sdk/shared/sys/icc.c Outdated Show resolved Hide resolved
sdk/shared/sys/icc.c Outdated Show resolved Hide resolved
sdk/shared/sys/icc.c Outdated Show resolved Hide resolved
@codecubepi
Copy link
Contributor Author

@npetersen2

I have pushed commits that include the work we did in the lab today, as well as a commit addressing most of your feedback. Anything I wasn't able to address I left unresolved for tomorrow's meeting (13 Feb 2024).

@npetersen2 npetersen2 self-requested a review February 13, 2024 17:45
Copy link
Collaborator

@npetersen2 npetersen2 left a comment

Choose a reason for hiding this comment

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

I approve this to be merged, please wait until after #358 is merged.

@codecubepi codecubepi changed the base branch from v1.3-staging to v2-staging April 23, 2024 16:42
@npetersen2
Copy link
Collaborator

We have split the timing manager feature away from the FreeRTOS feature. So, let's merge this PR into a new v2-staging and then we will treat v2-staging as the stable FreeRTOS codebase.

@npetersen2 npetersen2 merged commit f386438 into v2-staging Apr 23, 2024
1 check passed
@npetersen2 npetersen2 deleted the feature/freertos-stable branch April 23, 2024 16:45
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