GithubHelp home page GithubHelp logo

cyb3rwiz / alloy Goto Github PK

View Code? Open in Web Editor NEW

This project forked from montclairrobotics/alloy

0.0 0.0 0.0 3.04 MB

An FTC robot framework designed for both experienced, and inexperienced coders to be able to code highly functional and reliable robots

Home Page: http://www.montclairrobotics.org

License: MIT License

Java 100.00%

alloy's Introduction

Alloy CircleCI CodeFactor Codacy Badge

AlloyLogo

Status: Beta

Alloy is a robot framework designed specifically for the First Tech Challenge (FTC).

Alloy is based off the FRC robot framework Sprocket, but redesigned to abstract away the more complex ideas but still allow for advanced robot functionality.

Note: Alloy is still under heavy development, and not ready or suggested for use in creating a robot

Developed by FTC147 and FRC555

The goal of Alloy is to provide a robot framework that allows anyone, including new programmers, to be able to implement high functioning and quality code for their robots. In other terms, Alloy aims to prevent robot code from being a limiting factor on the performance of the robot.

Alloy is a robot framework designed specifically for the First Tech Challenge (FTC), but is also designed with expandibility in mind. FRC implementation is possible and will be coming in the future.

Alloy is based off the FRC robot framework Sprocket, but redesigned to abstract away the more complex ideas but still allow for advanced robot functionality.

Any information regarding Alloy, including how it works, project structure, as well as in-depth explanation on how to use all of the components can be found in the project Wiki as well as a quick start guide.

Formatting

Alloy uses the Spotless code formatter to ensure that all of the code follows a specific format. It is added as a build step for a gradle build so this means that all code in alloy must be compliant to be merged. Spotless allows for automatic code formatting, just run:

cmd> gradlew spotlessApply
:spotlessApply
BUILD SUCCESSFUL

cmd> gradlew build
BUILD SUCCESSFUL

FAQ

Q. What is the purpose of/how do I use ___?

A. Every class is heavily documented as well as wiki articles explaining the use of more complex/important parts of alloy

Q. I tried to update ___ method using @Update, but it isn't working?

A. The way alloy is designed, is that everything is split up into components, and a method can only be updated if it is within a component. you can read more about this topic Here

Q. What is a component/what is the difference between the components?

A. Different components have different purposes, for example, a control component would be used for an advanced control system, whereas a motor component, or motor ocmponent group would be used to control a drivetrain or manipulator

Q. What if I don't want to use components?

A. Things can be done in alloy without the use of components, but if you are designing code for a specific tool or component on the robot, such as a shooter, drivetrain, or control system, it is highly recommended as components add extra functionality like toggleability, easier debugging, and updateable methods. But again, all of this can be done without the use of components.

Q. ___ isn't working.

A. If you have a problem first see our Troubleshooting guide. If that does not fix your problem you can file an Issue using our issue template, please provide as much information as possible so we can fully understand the probelm and fix the issue.

alloy's People

Contributors

garrettburroughs avatar rafibaum 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.