My Dev Process for GoPiGo3 Carl

Diverting the discussion from:

  • 98% of the time, directly on Carl.
  • On extremely rare occasions, I have created Readme documentation, spreadsheet analysis, or code stubs on my Mac, pushed it up to Git, then pulled it down to Carl.

What development tools do you use?

  • None. Probably should but too lazy these days.
  • Dev Process: (one 24" 4k monitor, one 24" ultrawide (21:9) HD monitor attached to Mac Mini)
    • Open one browser tab to github/dexterind/easygopigo3.py, and one browser tab for googling stuff
    • I start a big terminal window on my Mac
    • ssh pi@x.x.x.x
    • Create a new project directory under ~/Carl/Examples/, ~/Carl/Projects/, or ~Carl/systests/
    • Copy ~/Carl/Examples/template/carl_template.py as ./new_file.py
    • chmod +x new_file.py
    • repeat:
      • nano new_file.py to add functionality, with copious “if debug: print” or commentable prints
      • ./new_file.py till no errors and see what happens
    • If it is OpenCV code, I remote desktop to the vnc desktop (or open the browser noVNC desktop) and run the code from a command shell on Carl’s desktop, while editing in the shell on the Mac.
    • viewing video output files is a pain - usually scp them to my Mac for viewing.
    • When done with a utility module, like myDistSensor.py or juicer.py, I duplicate a debug=False copy to Carl’s operational library: ~/Carl/plib/

How do you handle Git integration?

When I am done for the day(ssh terminal - command line)

  • git status
  • git add x,y,z
  • git commit
  • git push, username,pw

I don’t use branches.

Periodically, I do a pull from Git to ~/dev/Carl/ directory on my Mac, especially if I need to do docs or spreadsheets. If I make mods: git add, commit, push up to Git, and pull down to Carl.

1 Like