Joerg Wunsch
368b9ff14b
Fix breakage introduced by previous merge
...
MSG_* and MSG2_* definitions need to be in libavrdude.h rather
than avrdude.h, because they are part of the public interface.
2024-03-29 16:20:51 +01:00
mcuee
9b7d4d832b
To use Static Libs for macOS arduino_packing build
...
This is pointed out by @umbynos during the review of PR #1690
2024-03-29 18:47:17 +08:00
Stefan Rueger
0f216357a6
Merge branch 'main' into msg2_left_margin
2024-03-29 23:24:53 +13:00
Joerg Wunsch
89bd5f321c
Merge remote-tracking branch 'upstream/main' into swig_libavrdude
2024-03-29 11:06:34 +01:00
Joerg Wunsch
67867a6776
Update NEWS
2024-03-29 11:05:29 +01:00
Jörg Wunsch
8516243630
Merge pull request #1730 from stefanrueger/remove_avrdude_message
...
Remove unused avrdude_message()
Fixes #1719
2024-03-29 11:04:34 +01:00
Joerg Wunsch
39eea9649d
Add note about why avrdude_message2() is named that way.
2024-03-29 10:23:08 +01:00
Joerg Wunsch
674128cebc
Update NEWS for recent PR/issue
2024-03-29 10:18:43 +01:00
Jörg Wunsch
0ff5e84f10
Merge pull request #1727 from dl8dtl/fix-1726
...
Replace msg_info() by msg_debug() in jtag3_prmsg() and jtag3_prevent()
Closes #1726
2024-03-29 10:17:32 +01:00
stefanrueger
d91a48242e
Remove unused avrdude_message()
2024-03-29 19:55:34 +13:00
stefanrueger
f027493e3f
Change return type for avr_(ms|us)timestamp() to uint64_t
2024-03-29 19:42:07 +13:00
stefanrueger
a26c4343dc
Keep vertical tab at start of format string as conditional new line
2024-03-29 13:56:17 +13:00
stefanrueger
7f9f82de2e
Add MSG2_LEFT_MARGIN flag in lieu of \v messaging convention
...
Some messaging needs a functionality to end an open line, so that the next
message starts at the left margin, ie, the ability to print a \n if and
only if the last printed character was not already a \n.
This used to be effected by \v as first char in the message format.
This commit introduces a dedicated lmsg_xyz() set of messaging functions
that utilises a MSG2_LEFT_MARGIN flag to enforce a left margin start for
the message.
2024-03-29 13:43:22 +13:00
Joerg Wunsch
5b64a79dc4
Implement a config file
...
This saves and loads some of the settings to persistent
storage, so they are available pre-configured at next
startup.
2024-03-28 22:44:21 +01:00
Joerg Wunsch
bc8f008105
Do not attempt to add <br> if there is no HTML text
...
Happens for trace messages.
2024-03-28 15:37:56 +01:00
Joerg Wunsch
f091a1d578
Only allow access to flash and EEPROM tabs after reading signature
...
Also mark by green or red color if the signature matches the
selected device, and log a if they do not match.
Tune the error and warning colors a bit.
2024-03-28 15:29:34 +01:00
Joerg Wunsch
ad03989349
Make the loglevel radiobuttons automatically accept the popup.
...
There's not much point in requiring the user to explicitly press an
"OK" button for something that simple as switching log levels.
2024-03-28 12:48:14 +01:00
Joerg Wunsch
9aaf86466b
Move cursor to end of logging area
...
That way, the most recent message is always visible.
2024-03-28 11:32:26 +01:00
Joerg Wunsch
55acef957d
Fix HTML logging
...
Append <br> only if a newline is supposed to be emitted.
2024-03-28 11:30:39 +01:00
Joerg Wunsch
d42da3d4da
Merge branch 'fix-1726' into swig_libavrdude
2024-03-28 10:21:10 +01:00
Joerg Wunsch
b00c284289
Replace msg_info() by msg_debug() in jtag3_prmsg() and jtag3_prevent()
...
Both these functions are called at verbosity level DEBUG and above,
so they must not produce INFO level messages.
Supposed to fix issue #1726
2024-03-28 10:18:31 +01:00
Joerg Wunsch
471ce04604
Fix BOL detection for internal logging
...
Internal log messages are generated without setting "no_nl",
so the log is always at BOL next time.
2024-03-28 09:53:42 +01:00
Joerg Wunsch
dff00a39ba
Improve logging and \v and newline handling
...
Not yet fully where I'd like to have it, but already getting
closer. Internal logging always gets a \n appended unless
self.log() is called with "no_nl" - which is used when being
called from the avrdude_message2() callback.
2024-03-28 09:19:50 +01:00
Joerg Wunsch
1e78b8c2e2
Add option to save log file
...
Do not emit trace messages to log window - they are too verbose, and
cause the GUI to become very unresponsive.
Still needs improvements.
2024-03-27 14:37:36 +01:00
Joerg Wunsch
457c21aff5
Handle abnormal termination in progress_callback
2024-03-27 12:57:00 +01:00
Joerg Wunsch
8349f8860c
Replace PM_* constants enum by #define
...
This makes it consistent with src/libavrdude.h again.
2024-03-27 11:39:30 +01:00
Joerg Wunsch
65226cdd9e
Revert "Turn PM_* #defines into an enum"
...
This reverts commit 377d3f353c .
It's actually also possible to wrap the #defines in SWIG, so use that
subsequently.
2024-03-27 11:32:31 +01:00
Joerg Wunsch
6d1f413a69
Implement flash reading.
2024-03-27 06:38:07 +01:00
Joerg Wunsch
7b9acec467
Fix progress reporting
...
Turn time calculations into int.
"Finish" indication is percent == 100.
When reading signature, manually clear progress lest it would
stick at 66 %.
Enforce processing of GUI events in progress_callback()
2024-03-27 06:36:31 +01:00
stefanrueger
07669a9d40
Document progress reporting in source code
2024-03-27 14:07:07 +13:00
Joerg Wunsch
1f227636df
Implement progress indication
2024-03-26 22:29:24 +01:00
Joerg Wunsch
cc371f07cf
Only start programmer if not already started
...
This allows to re-select a different device (e.g. after reading the
signature).
2024-03-26 14:49:16 +01:00
Joerg Wunsch
2b4058887e
Add field with possible device after reading signature
2024-03-26 14:48:16 +01:00
Joerg Wunsch
09ece3753e
First device memory operations: read signature
...
Start a "Memories" popup for the device. In the "Signature" tab,
show the expected signature from the config file, versus the
signature read from the device.
2024-03-25 22:56:23 +01:00
Joerg Wunsch
c7ab10e9be
Enlarge the button boxes for programmer and device selection.
...
Should we ever want to translate the UI into other languages,
the English wording might become too small.
2024-03-25 21:40:02 +01:00
Joerg Wunsch
ce3b9f0a0c
Turn device family selection into a QGroupBox
...
This is similar to programmer selection, and replaces a rather
hacky design consisting of a vertical layout with a label on top.
2024-03-25 21:37:45 +01:00
Joerg Wunsch
72da4a9ee7
Rename View -> Device
...
There will be more related items below "Info".
2024-03-25 21:29:34 +01:00
Joerg Wunsch
a3d482dddf
Stop programmer when exiting
...
Some programmers behave erratical when not being told "Goodbye"
correctly.
2024-03-25 21:22:36 +01:00
Joerg Wunsch
c81f6d7031
Add programmer port selection, and starting programmer
...
Port names are automatically filled in for USB and linuxgpio programmers.
When all of programmer type, port name, and device are selected, try
to connect to the programmer.
2024-03-25 17:56:33 +01:00
Joerg Wunsch
28e05c6840
Implement programmer selection dialog
...
This tries to categorize the programmers by programming methods, to
allow reducing the size of the combo box to select from.
2024-03-25 16:57:26 +01:00
Joerg Wunsch
5022a36d95
Turn the log viewer into HTML and color-coded message levels
...
This demonstrates the possible features with implementing an
application-specific avrdude_message2() callback handler.
2024-03-25 14:34:16 +01:00
Joerg Wunsch
b7d6111d1b
Change the GUI from using uic -g python to directly loading the .ui files
...
uic support for Python has not always been present. There used to be a
pyside2-uic in the past, but at least on Ubuntu, it disappeared. As
the way how to integrate the uic calls into CMake is also not clear,
it appears to be best to just load the .ui files at run-time.
Most noticable side-effect is that the .ui property is no longer needed
to access the UI elements from the various widget objects.
2024-03-25 13:23:42 +01:00
Joerg Wunsch
c2bfc9fc91
Add tooltips to the radio buttons
...
They are easily accessible from inside the callback, so they can be
directly translated to ad.cvar.verbose.
2024-03-25 13:22:40 +01:00
Joerg Wunsch
d15672df66
Add dialog to change log level
...
This sets the global AVRDUDE verbosity level, based on a
radio button group.
quell_progress right now not supported
2024-03-25 11:22:48 +01:00
Joerg Wunsch
fbea1a7556
Fine-tune resizing the device info a bit
2024-03-24 22:58:36 +01:00
Joerg Wunsch
9b6fb3cf03
Implement the Device Info popup
...
This essentially displays the same information as the simple
test script does with its "getavr()" function:
* device names (long and short)
* location of definition in config file
* device memories
* device variants
2024-03-24 21:59:23 +01:00
Joerg Wunsch
77bcf8693b
Rename "Device Memories" to "Device Info"
2024-03-24 13:02:54 +01:00
Joerg Wunsch
e6d2d3f40d
Implement device selection
...
Unify logging into a single log() method.
2024-03-24 00:13:43 +01:00
Joerg Wunsch
fef43111e3
First skeleton of a very basic GUI
...
This adds a few .ui files (created with Qt designer), and a
skeleton to create a basic GUI out of them. Only functionality
so far is the selection of a device.
2024-03-23 23:49:58 +01:00
Joerg Wunsch
9c0623bf1c
Start a src/python subdir
2024-03-21 21:46:32 +01:00