V1.1.0-Kobe
TinyTerm
V1.1.0 - Kobe
This version of tinyTerm has tons of fat on it, hence the name. And like a good Kobe steak, it's nice and juicy, but you'll need an alka seltzer to wash it down. It was heavily updated to add functionality that was needed, but the implementation is not the cleanest one. I split the code into a few different sketches to make it easier to read and follow, but it's still kinda convoluted. It also has code that makes it work on a Raspberry Pi, but needs to be commented / uncommented accordingly. Word of caution, this code is somewhat messy.
Added:
- In this release I added a "repeater" which allows you to send the same file as many times as indicated in the input field. This is super helpful if you're running the same test over and over again.
- I started parsing for particular keywords, like "CLS" to clear the terminal, we'll use this heavily later on
- This version also has many contributions from Dinesh Durai. Dinboy implemented a queue to improve the communications with the tinyG. Previously we were sending one line every so many milliseconds, which was OK but prevented us from injecting tinyG commands in the middle of a cnc script. He also added a few different methods for measuring using probes and sensors connected to the tinyG's digital I/O pins. This functionality is still on the works and needs tons of improvement.
- This version starts to look for a response from the tinyG
{stat:n}
in order to perform specific tasks. For example, astat:3
means the machine has stopped moving, so you could do something afterwards.
This version has code that is not yet fully functional for running a homing sequence.
TinyTerm V1.1.0 does:
- Runs a homing sequence for a DIWire PRO
- Send raw GCode and tinyG commands
- Dump text files (one line at a time)
- Dump init files (configuration files) in JSON format
- Save log files and make them human readable
- Allows to send the same file multiple times and keep track of how many times it's done it
- Reads tinyG status codes, but only looks for the {stat:3} status report.
- Runs a custom "measure" sequence that uses the digital I/O pins to detect changes on a probe - Raspberry Pi Only
TinyTerm V1.1.0 doesn't:
- Doesn't run custom homing sequences
Compatibility:
- Windows mostly
- Some linux but needs to be reviewed, commented and uncommented accordingly.
Known issues:
-
I'm still using Sojamo's ControlP5 library for the UI, which includes the textArea for displaying the terminal. This element ends up being a memory hog and will make your computer lag if you let it run for long. That's why I implemented the CLS command. If you feel your computer starts to struggle, send it a CLS and you'll free tons of memory.
I need to look at Sojamo's code to see how he implemented the textArea, and see if there's a way to make it more memory efficient, or check if there's a different way to implement this altogether. This app should be super lean.