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

FSW fixes to get everything compiling #29

Open
wants to merge 12 commits into
base: master
Choose a base branch
from

Conversation

justinnuwin
Copy link

@justinnuwin justinnuwin commented Sep 30, 2020

Errors and their respective fixes:

  • Autocoded Topology header does not include *Impl for various components even though it externs them: This header is only included by files that include Topology.hpp, so Topology.cpp and App/Main.cpp.Component.hpp includes these component *Impl so this include was moved to Topology.hpp.
  • Autocoded Topology header calls non-existent constructor of ActiveRateGroupImpl: Included patch file and build script which will generate the autocoded header and patch it with a non-initializing extern.
  • TI ARM C++ Compiler RTS does not implement strnlen: FPrime has an implementation of this function since VxWorks doesnt have it either. Added the TI ARM compiler flag to the guard to include this implementation.
  • TI ARM C++ Compiler RTS does not define NAME_MAX or PATH_MAX in limits.h. TODO: We may need to find a better value for, these as I just defined these macros with the values my 64-bit Linux machine uses.
  • RM46x is little-endian architecture: Added little-endian flag to compiler flags (it was already set in the CCS project, but not for compiling the Fprime libraries)
  • FreeRTOS build for RM46x does not include implementation of sockets: Remove Fprime modules that require socket libraries from build list
  • Path to fprime installation directory uses hard-coded path: Update to use HOME environmental variable
  • CubeRoverConfig has incorrectly defined divider values for ActiveRateGroup: Update divider values to reflect RM46x 220Mhz clock. TODO: Test that these values match wall clock time See Hardware In Loop Test document
  • CubeRoverTime component is not built: Remove all instances and connections to this component until it has been built and tested Added back with c95a781 but includes CubeRoverTime directly rather than through Svc/Time

Tests: No unit tests for these changes, but @nrjbs87 and @alecjprobst were able to build the project without errors with these changes

…ghtController/FlightMCU/Include. Move Components.hpp to header since it contains the includes for Impl of various modules required by CubeRoverTopologyAppAc.hpp
…5 and 26 on the fprime install tutorial (as of 9-27). Some questionable changes to get everything working..... Also a change to ComLogger that is TI ARM compiler specific and should be pushed upstream
…ing and LED B denotes low frequency rate group
@justinnuwin justinnuwin requested review from nrjbs87, lchomas and alecjprobst and removed request for cedriccorpa October 9, 2020 06:47
@justinnuwin
Copy link
Author

Since some of the timing can't be tested above the HAL without external resources, added tests TIME1 and TIME2 to hardware in the loop document.

Copy link
Author

@justinnuwin justinnuwin left a comment

Choose a reason for hiding this comment

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

  • FreeRTOS idle hook was modified to not perform no-ops anymore. Need to decide on rover operation during idle.
  • Just a note for the future that Svc/BuffGndSockIf, Svc/UdpSender, Svc/UdpReceiver was removed from build list due to lack of socket support on FreeRTOS

@justinnuwin justinnuwin requested review from Mikeydavidr and removed request for nrjbs87 October 14, 2020 18:46
Copy link

@Mikeydavidr Mikeydavidr left a comment

Choose a reason for hiding this comment

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

Nothing jumped out when viewing the changes, and I was able to get it to compile. There are still some items I am trying to understand.

Copy link
Collaborator

@alecjprobst alecjprobst left a comment

Choose a reason for hiding this comment

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

Looks good to me, surprised that we needed to up the rate group drivers that much but values make sense.

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.

5 participants