- Migrate code to wpilibj simulator/HAL framework
- Test basic HAL framework with mock classes
- Create serial schema for ardunio communication
- Implement jni hook for HAL serialization
- Create new lib for Arduino logic by hardware version
- Create PC test harness to test Arduino via USB serial communication
- Implement basic components
- Implement serial response message from Arduino to Raspberry PI for error handling
- Implement Raspberry PI message to PC for error feedback (already done in wpilibj?)
- Implement Joystick on Raspberry PI (lready done in wpilibj?)
- Implement Arduino firmware for PWM, from differentialDrive jni
- IDE Support upgrades*
- Refactor code to be cleaner and more flexible
- Add easy to append documentation area
- Allow for running locally
- Add "Save" option
- Allow for multiple files
- Integrate FRC driver station
- Add support for actuators
- choose actuators (servos, analog vs digital, etc)
- pitch actuators and why to team
- purchase actuators
- Implement Hardware Abstraction Layer jni
- Implement firmware in Arduino hardware library
- write sample code, integrate into doc in IDE
- train other engineers
- Add support for sensors
- choose sensors (switches, cameras, analog vs digital, etc)
- pitch sensors and why to team
- purchase sensors
- write wpilibj override
- write sample code, integrate into doc in IDE
- train other engineers
- Scoring System
- Build network to include field controls/robot overrides
- disable/enable
- teleop/autonomous
- Integrate Scoring system into network
- Re-implement scoring system to have the following interfaces
- Current Match Scoreboard
- Referee view for scoring
- Match schedule
- Ranking board
- Admin board to allow for manual updates
- Configurable game paremeters
- Build network to include field controls/robot overrides
- Migrate to VSCode
- move web services for build to local machine
- JVM build locally
- download hook/plug-in
- iOS vs windows
- create detailed list for installing and setup
- move web services for build to local machine
- Machining
- Reading a technical drawing
- Measurements and accuracy
- Punch, scribes, cut-side of line
- Hand tools
- Screw driver/allen key, file, vise, hacksaw
- tap & die (threading)
- Power tools
- drill or screw gun
- chop saw
- rotary saw/worm drive
- dremel
- jigsaw
- Others: band saw, belt sander/angle grinder, scroll saw, miter saw, table saw, etc.
- Milling
- Manual milling
- CNC milling
- CAD and g-code conversion
- Important considerations
- Material cutting
- Speed Calibration
- Tolerance and dimensions
- Introduction and lab on CAD
- Uses
- Visualization
- Animation
- Prototyping via 3D printer
- Materialization via CNC
- Drafting principles
- views (Ortho, perspective, iso, etc)
- Include meanings of solid line, dashed line
- Compare different views for same object
- Common designs, counterbore, countersink, etc.
- Coordinate systems (world and user defined)
- Navigation - Setting views and orientations
- Building simple designs (adding, appending, cropping, etc)
- Adding properties (materials, units, etc)
- Rendering (light source, etc)
- Adding dynamic constraints
- Animating
- Using 3D printing
- Conversion to g-code
- choice of program (SolidWorks, ZQs one?)
- views (Ortho, perspective, iso, etc)
- Uses
- Electrical basics
- wiring and schematics
- Signals types (analog, digital, CAN, & PWM)
- pull-ups, pull-downs, and shielding & interference
- Tools - Strippers, cutters, crimping
- Mechanical basics
- Frames and mounting
- Accessibility and construction
- Types actuators and motions they create
- Sensors and different kinds of feedback
Useful Links: