You are not Logged In!

Difference between revisions of "Public:GitHub/ARGO-FW"

From Illini Solar Car Wiki
Jump to navigation Jump to search
(Created page with "{{GithubRepo|org=IlliniSolarCar|repo=ARGO-FW}} is the home of firmware for Argo. At this point firmware for Argo is maintenance only - changes won't really be...")
 
m (Adityaj5 moved page GitHub/ARGO-FW to Public:GitHub/ARGO-FW)
 
(One intermediate revision by one other user not shown)
Line 1: Line 1:
 +
{{Infobox GitHub Repo|org=IlliniSolarCar|repo=ARGO-FW|status=Maintenance Only|content=Firmware from Argo|forkOrg=|forkRepo=|defaultBranch=master|access=Private|license=All Rights Reserved to ISC|branching=Now - Hot Fix Only|maintainer=Electrical Group|checks=* Reviews Required}}
 +
 
{{GithubRepo|org=IlliniSolarCar|repo=ARGO-FW}} is the home of firmware for [[Argo (2017)|Argo]]. At this point firmware for Argo is maintenance only - changes won't really be made aside from tweaks to keep it running as it is being used for events and such (such as changes to accommodate running on one motor). Branches previously were roughly following Gitflow (see [[GitHub/b-fw]]). As of now all changes can be considered "hot fixes" and therefore branched directly to/from master.  
 
{{GithubRepo|org=IlliniSolarCar|repo=ARGO-FW}} is the home of firmware for [[Argo (2017)|Argo]]. At this point firmware for Argo is maintenance only - changes won't really be made aside from tweaks to keep it running as it is being used for events and such (such as changes to accommodate running on one motor). Branches previously were roughly following Gitflow (see [[GitHub/b-fw]]). As of now all changes can be considered "hot fixes" and therefore branched directly to/from master.  
  

Latest revision as of 23:27, 10 September 2021

Github Logo.png IlliniSolarCar/ARGO-FW

Maintenance Only

ReadMe
Content: Firmware from Argo
Access: Private
License: All Rights Reserved to ISC
Branching Strategy: Now - Hot Fix Only
Maintained By: Electrical Group
Actions & Checks:
  • Reviews Required

Github Logo.png IlliniSolarCar/ARGO-FW is the home of firmware for Argo. At this point firmware for Argo is maintenance only - changes won't really be made aside from tweaks to keep it running as it is being used for events and such (such as changes to accommodate running on one motor). Branches previously were roughly following Gitflow (see GitHub/b-fw). As of now all changes can be considered "hot fixes" and therefore branched directly to/from master.

Note: This repo began life as Github Logo.png IlliniSolarCar/FW. That repo was archived and this created as a clean-up of lots of old code prior to ASC 2018 from the early testing days (i.e. stuff never used on a car or even a car like system) and as a preparation for the creation of Github Logo.png IlliniSolarCar/b-fw

Workflow

Git Flow Example Diagram

Like other repos this has roughly followed Git Flow (pictured). However, now that it is in maintenance mode everything can essentially be considered a "hot fix" so all branches just go to/from master.

Repo Structure

There are two shared folders of code used by every project:

  • common - shared base code for common hardware like Timers, CAN, etc.
  • mbed - the OS for the car. This is a submodule of Github Logo.png CalSol/mbed (specifically the Zephyr branch)

There are two template projects depending on which MCU the board is using:

  • mbed11c14_skelton - for boards using the LPC 11C14 chip
  • mbed1549_skeleton - for boards using the LPC1549 chip

There are 6 board projects:

  • BMS - battery management system code
  • Lights - code for Lights boards (note there are 4 on the car, they all share the same code)
  • MCC - code for the Motor Controller Controller
  • PDS - code for the power distribution system
  • Thermistors - code for the thermistors board in the Battery
  • dashboard - code the dashboard

Pull Requests

Pull Requests on Argo-FW at this time will pretty much all go into master. Code should be tested prior to merging and will be reviewed in the PR. Approval from a codeowner is required to merge a PR.

Initial Setup

In order to get the code onto your computer, use git clone --recursive <repo> <optional>. The --recursive option looks for submodules in the repo and clones them into the correct directory. If this option was omitted during the initial clone, run the command git submodule update --init to find any un-cloned submodules and clone them.

The submodules in this repo are our fork of Mbed. At this point Mbed for Argo won't be changing.

Once you have the FW cloned onto your computer, follow the instructions to set up MCUXpresso. Once this is done, you should be able to work on code.

To open code on another branch, such as a work in progress or a new feature that needs more testing, checkout the branch using git checkout <branch> --recurse-submodules. If you forget the submodule option, use git submodule update to get the correct version of mbed.