Giter Club home page Giter Club logo

offseason2018's People

Contributors

00000010 avatar maniyar1 avatar maniyar2 avatar team3324metrobots avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

Forkers

maniyar2

offseason2018's Issues

Write Library To Remove Boilerplate

For example: write a DT library that takes encoder ports in the constructor and automatically initializes its setters/getters. It could also instantiate motors and make the DiffDrive setup. This could also be a subsystem extension or something else, ask @maniyar1 or @samf547 if you have questions.

Make a logger to ensure things are going correctly in matches

As @nhaas1 noticed when trying to work on observing current, the built-in log viewer is not very useful (and written in binary! So it won't work in with any other log viewer). It would be preferable to make our own custom logging system. This system will ideally piggyback of the (obscurely documented) Shuffleboard recording features (documented here and here. Basic goal: we should be able to make a front end that checks for simple problems. Example of a simple problem: two motors on the same gearbox are using significantly different amounts of current.

Setup a SH script to check if code is formatted correctly

Make some sort of sh script file to run clang-format on the directory and compare it to the current code. Then either me or someone else can integrate it into the Azure Pipelines to give an error when someone didn't format correctly (run the format.sh script).

Sub-Classes In Constants

We should incorporate sub-classes in Constants.java to be more clear about where constants are in. For example instead of Constants.driveTrainEncoderTicks; we can do Constants.DriveTrain.encoderTicks;. For an example look at this link.

Use Enums For Auto Selection

Using strings is not very necessary. Switch these to enums so we can have custom types with better checking. Remember, strings are arrays of chars, not very robust (extension of #4 ). Also, we're using magic ints/strings which are inherently confusing and difficult to understand.

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.