The computed duration is no more pessimistic, for a few reasons.
- the main one is that it does not take retraction into account
- Z moves are not taken into account either
- arcs are not supported
- the acceleration code seems to estimate acceleration time correctly but is
wrong for deceleration
So instead of telling the user this estimation is pessimistic, let's just tell
them this is an estimate.
Okai, this may not make that much sense. However when removing the mainloop,
pronterface was segfaulting when Python was freeing everything. As a
workaround, explictely destroy the wx application, which will cleanly free
things in order, while Python might destroy wx things in a random order.
The gauges options is a CLI parameter as having it as an option would be
too painful to handle for now.
Argument parsing has been improved so that pronterface can add its own CLI
parameters in addition to pronsole's ones.
This replaces "" strings that cause aborts in python-wxWidgets wxColour_helper with
Python None objects. This corrects an abort where the helper tries to fetch the
first byte of the colour string even when it's 0 length.
Before, when there was an error while connecting, user didn't know, when
Pronterface wasn't launched from the terminal.
So you could just hit Connect button several times and all you've get was:
Connecting...
Connecting...
Connecting...
Now, when there is an exception during the connection, the user will notice:
Connecting...
Error: You are trying to connect to a non-exisiting port.
Or:
Connecting...
Error: You don't have permission to open /dev/ttyUSB0.
You might need to add yourself to the dialout group.
Unfortunately pyserial's SerialException doesn't provide errno yet, so the
message isn't so user friendly:
Connecting...
could not open port None: [Errno 2] No such file or directory: 'None'
I've filled a bug report with patch to pyserial.
Together with this I've realised, there is unnecessary UTF8 decoding of the
output. When user has UTF-8 locale, there was an exception when printing the
exception to the output (almost an exception inception). So I have dropped it,
but feel free to add it back, if I broke anything else.