Skip to content
/ vexmason-template Public template

A template to use to get started with vexmason, the bundler that lets you write for V5 with Python modules, compile-time variables, and other idioms used in real Python projects.

Notifications You must be signed in to change notification settings

zabackary/vexmason-template

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 

Repository files navigation

vexmason template repository

Simply click "Use this Template" to get started with vexmason, the VEX V5 Python bundler that Just Works(r).

vexmason is a bundler that allows you to write modern, OOP, abstract Python code and yet still use the VEXCode V5 build/upload tools maintained by VEX.

Feel free to modify this setup to your needs, but the code here is roughly the same as my team is using in production. We are using a custom drivetrain implementation and a cool UI as well as some other fancy things which I'll consider open-sourcing later this year, but this is a good basic setup (I think) which is pretty "clean" - all the code is in different modules and lots of OOP paradigms. Good luck with your team!

My hope is this setup will help illustrate how real complex codebases are organized into modules. If you're up for a challenge, implement a route selection UI (user interface, i.e. buttons on a screen) like I did. I'm not perfect and we life in a sinful, fallen world, so if there's anything that needs to be improved, please let me know! I'm looking for feedback.

Setup

  • .vscode/vexmason-config.json
    This contains the program name, description and defines.
  • .vscode/vexmason-local-config.json
    This file is gitignored, but you should use vexmason-local-config.example.json as an example to get started. It contains the computer name (which you can use as a placeholder in the description like this: {{ computer-name }}) and the local defines overrides.
  • src/
    This is where your code lives! I have some things there already, but please modify it to suit your setup.

Support

If you run into any problems while compiling (i.e., an error popup saying VEX Error in the bottom right of your screen), make sure to check build/vexmason.log to see if there's any useful logs.

If you can't figure it out, leave a GitHub issue and I'll get back to you soon.

Small personal note

(feel free to ignore this)
Maybe you've heard the story of Jesus or have heard the name, but there are still so many people who haven't heard the "Good News", or the gospel of Christianity. Whether you're Christian or not, I urge you to find out that God's love for you, even through all your mistakes and failures both with robotics and with life, was large enough that He died for you to bring you back into a loving relationship with Him.

About

A template to use to get started with vexmason, the bundler that lets you write for V5 with Python modules, compile-time variables, and other idioms used in real Python projects.

Topics

Resources

Stars

Watchers

Forks

Languages