While typing the combobox text, the validator adapts the contents of
the dropdown menu to only those entries that match the text typed.
So one can enter "64", and will only be presented all device that
have a 64 in their name (which are a few more than just those with
64 KiB of flash).
libgpiod in version 2 or above introduced an API change which results
in compile error with the current code.
This commit adds some glue magic for the newer versions and
tries to detect the used libgpiod version based on the information
available in the pkg-config files.
At the moment, this eliminates the possibility to statically link
against this library.
Signed-off-by: Michael Heimpold <mhei@heimpold.de>
While the combobox validator prevents "QValidator.Invalid"
characters to be entered, the user could still get away with
any string that is considered "QValidator.Intermediate". In
that caes, disable the OK button of the button box so the
(intermediate) result could not be passed on.
Some fuse settings on some devices may be dangerous, like
disabling ISP, or changing the /RESET pin into a GPIO.
This adds some warning examples. Still does not consider
the actual programmer connection, but that could be added
in future.
SPI programming cannot disable SPI programming for the part configuration.
Hence. when another programming interface disables SPI that very same
interface can enable SPI again. The warning disabling SPI might brick the
part is therefore incorrect.
Not really understood, but with level MSG_TRACE2, on a Curiosity Nano
board, I get two instances of unicode decode errors within the trace
messages. Trying to debug them did not yield any useful result, but
catching the exception, and enforcing the type to be "str" appear to
be able to continue.
Maybe an internal bug of my Python interpreter, don't know.
Virtually none of the messages would have fit into the small
initial size. Still looking for a more automatic solution,
but enlarging it might be a good first step to get things
better visible.
It installs the Python and .ui files under datadir/avrdude/
(e.g. /usr/bin/share/avrdude/), and a batch or shell script
to call it as avrdude-gui into the normal bin directory.