Code Monkey home page Code Monkey logo

wss's Introduction

Project Template

Overview

EVT-core

For an overview of EVT please see the following links:

EVT-core Documentation

EVT-core GitHub

Template Project

This project-template serves as the skeleton template that is used for all EVT board repositories. It contains the following capabilities:

  • Includes EVT-core as a submodule and compiled as a library for the board
  • Set up to contain code pertinent to the board to be built
  • Supports an arbitrary number of executable targets to be built and deployed onto a microcontroller
    • These contain targets to be run on a specific EVT custom PCB
    • Also contain utilities for validation and debugging
  • Provides a framework for auto-generated and built documentation using Sphinx and hosted on readthedocs.io

Steps to Set Up a New Project

  1. Create a new repo based on the project-template

    1. From project-template click Use this template
    2. Set the owner of the repository to RIT-EVT
    3. Name the repo with the new board's acronym
    4. Set the privacy to Public
    5. Don't include all branches
  2. Clone the new repo and create a setup branch

    1. git clone <URL>
    2. git checkout -b feature/<github-username>/inital-setup
  3. Set the project template up as an upstream repository

    1. git remote add upstream https://github.com/RIT-EVT/project-template
    2. git remote set-url --push upstream no-push
      1. Confirm that this worked by running git remote -v
      2. This should produce output similar to this:
        origin  https://github.com/RIT-EVT/ABC.git (fetch)
        origin  https://github.com/RIT-EVT/ABC.git (push)
        upstream        https://github.com/RIT-EVT/project-template (fetch)
        upstream        no-push (push)
        
    3. git fetch upstream
    4. git merge upstream/main --allow-unrelated-histories
  4. Update the EVT submodule

    1. git submodule update --init --recursive && git pull
    2. cd ./libs/EVT-core
    3. git merge origin/main
    4. cd ../..
  5. Import the project into Read the Docs, following the steps on the wiki

  6. Update all instances of BOARD_NAME to match your project name

    1. CMakeLists.txt:28
    2. Directory ./targets/BIKE_NAME-BOARD_NAME
    3. targets/BIKE_NAME-BOARD_NAME/CMakeLists.txt:3
    4. src/BOARD_NAME.cpp
    5. include/BOARD_NAME.hpp
    6. docs/Doxyfile:35
    7. docs/source/index.rst:6
    8. docs/source/api/index.rst:4,12,15
    9. README.md:56
  7. Sample files are included in ./src and ./include. Once proper functionality has been confirmed, these files should be deleted. There are placeholders to demonstrate the board library building functionality.

  8. Everything in this README from this final step up should be deleted, leaving only the content below. When finished, all the changes should be committed and pushed to the setup branch, and a PR should be created to merge into main.

BIKE_NAME-BOARD_NAME

Introduction

One-paragraph summary of the board and its purpose on the bike

wss's People

Contributors

diegolhendrix avatar

Watchers

 avatar  avatar  avatar

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.