Giter Club home page Giter Club logo

eng-software-pod's Introduction

#rLoop Pod Firmware Lachlan Grogan

Please make sure you review our code standards and contributing document. Also check out our Confluence Avionics pages.

Setup Development Tools:

The project uses the Texas Instruments Code Composer Studio (TI CCS) integrated development environment.

  1. Get TI CCS V6.1.2.00015 or latest version from the tools folder for any platform here.
  2. When installing make sure you have setup for TI RM4 support.

GIT:

The project uses Git for source code management Git documentation. The source code resides in a Github repository.

  1. Install Git Desktop
  2. Clone github.com:rLoopTeam/eng-software-pod into a folder.

CCS - Initial Use

CCS relies on the notion of a workspace, you need to create a workspace folder and then import the projects into the folder.

  1. Create a folder at FIRMWARE\WORKSPACE or FIRMWARE\VERIFICATION\WORKSPACE
  2. Open CCSV6
  3. When prompted, enter the full path to the workspace folder on your local drive.
  4. Choose File->Import and select any of the firmware projects under the firmware root or any projects under the verification root.
  5. Paths should be good to go.
  6. Avoid committing anything from the WORKSPACE folders. The .gitignore file is set up to handle this automatically.

Compiler Version

We are using the TI ARM v15.12.3.LTS (Long Term Support) C Compiler which has already been configured in the project files.

  1. Open a CCSV6 workspace
  2. Choose Help -> Install new Software
  3. From the drop down list box "work with:" Choose --All Available Sites--
  4. Expand TI Compiler Updates
  5. Select ARM Compiler Tools Version 15.12.3
  6. Choose Next/Finish and follow the prompts

Project Description

  • At the top level of the directory there’s FIRMWARE, APPLICATIONS, PodAppLayer, etc. FIRMWARE contains our code that will be on the pod, the others are primarily for emulation with CCS/VS.
  • Most of the time, FIRMWARE can be thought of as our root.
  • Code not specific to our hyperloop pod (e.g. TSYS01 temp sensor's driver), is located in COMMON_CODE.
  • Within that dir, code is divided up between what is 'RM4' specific (our mcu) versus code that can be used with various mcu’s, 'MULTICORE’.
  • PROJECT_CODE is where code unique to our pod should be.
  • VERIFICATION will eventually be filled with files meant to test the code in COMMON_CODE and PROJECT_CODE.
  • Names of particular drivers/nodes are prepended with a part number. Go to FIRMWARE/COMMON_CODE/MULTICORE/.
  • Everything begins with LCCM (think "Lachlan's Common Core Module") with a product number attached to it, and then a double underscore.
  • Next is the category it's under, in this case 'MULTICORE', and another double underscore.
  • Filenames end with a description of the hardware or what exactly the code is doing, e.g. 'TSYS01' or 'Software_CRC'

rPod Toolbox Notes

The rPod Toolbox is a VB.NET application developed in tandem with the embedded firmware. It can be found in eng-software-pod\APPLICATIONS\LAPP188__RLOOP__RPOD_CONTROL\bin\Debug\LAPP188__RLOOP__RPOD_CONTROL.exe It is dependent on proprietary libraries so you will not be able to compile it from scratch. To use it with the TI Launchpad hardware, your computer will need to be on a 192.168.0.0/24 subnet and you'll need libpcap installed. Many of the functions in the rPod Control Toolbox are available with the react-groundstation as well.

eng-software-pod's People

Contributors

acaratel avatar chipxsd avatar denistudor avatar eggvoice avatar gordon13 avatar gsweriduk avatar idillia avatar jennylin avatar kwan0xfff avatar m4rol avatar nazneenk avatar nemimccarter avatar omegabytes avatar piense avatar rjvyas avatar rutayanp avatar ryan1248 avatar safetylok avatar thomaszumsteg avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

eng-software-pod's Issues

Design and test UART read interface

rI2CRX_receiveBytes(&x, 1);

Be able to read data received from rl2CRX.
See snippet in below comments for framework for reading received data.

TSYS01 Temperature sensor

Needed to measure pressure vessel internal temperature

Master task for subtask reference. We could also handle these in milestones. Since this is an example setup, we will do both.

Restructure git architecture

We need to restructure how the team will be working on this code and how changes will be propagated. We need to communicate this structure in the README, and make sure that current and future team-members adhere to this style for effective debugging and feature implementation.

EXAMPLE URL-based Status Indicator Plugin

_EXAMPLE ISSUE_
The below is a great example of an issue. It has explains (1) why it's there, (2) a proposed basic solution or solution approach, (3) desired outcome.

(1)
After talking with a few customers it would be great to have a simple plugin for registering URL-based status indicators, i.e. those that poll a URL and show "connected/disconnected" or similar based on the availability of the URL.

(2)
Basic functionality might be

var googleIndicator = new IndicatorPlugin({ 
    url: 'https://google.com', 
    icon: 'database',
    label: 'Google',
    interval: 15000
});
openmct.install(googleIndicator);

(3)
And then you'd get an indicator icon that would go red/green based on whether or not it is connected to the server.

README refresh

We need to refresh the README to be more encompassing to new team-members.
To be added:

  • rLoop "into to git" document link
  • rLoop "code standards" document #2
  • Outline the repository structure
  • Outline of workflow - issues, assignments, tags, pull requests, etc
  • Overview of what the software is doing

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.