Commit Graph

3628 Commits

Author SHA1 Message Date
Joerg Wunsch
48bbd4b160 Ask for which fuse if needed
If loading a single-byte file (no '%' in filename pattern, and
not an ELF file), ask for which fuse to load.

When saving or programming, make sure to only handle interesting
values. Users can clear a fuse data entry to have this fuse skipped.
2024-04-02 23:33:43 +02:00
Joerg Wunsch
86de67f05f Implement fuse load and save from/to file
When loading from ELF file, all fuses are considered.

% in filename will be replaced by fuse name. That way, all fuses
could be saved to a bunch of files with a single "OK".
2024-04-02 09:07:14 +02:00
Joerg Wunsch
fd8b8bba0a Skip empty fuse value fields as well 2024-04-02 07:49:28 +02:00
Joerg Wunsch
1862b1942c Implement fuse programming
Only fuses that have been edited will be programmed.
2024-04-01 23:00:53 +02:00
Joerg Wunsch
8abd91b478 Implement fuse reading and editing
Also implement a filter that filters Key_Enter events for all
QLineEdit children of the "memories" dialog, in order to only finish
line editing but not "accept" the entire dialog (thereby closing it).
2024-04-01 22:57:44 +02:00
Joerg Wunsch
d215bdc633 Populate GUI fuse labels
Walk all possible fuse memories of the device, and construct
a list of fuse labels and value entries.
2024-04-01 13:57:35 +02:00
Joerg Wunsch
8ec3dd5a42 Provide explicit attach and detach functionality for programmer
Instead of automatically attaching once the user selected device
and programmer and port, provide explict menu entries for that.

That way, pre-loaded settings from the previous session can be
activated immediately, without going through the selection
popups. Also, it ought to be possible to completely switch to
different programmers and devices within one session.
2024-04-01 09:50:58 +02:00
Joerg Wunsch
da37f095f4 Start adding fuses
Implement a "Fuses" tab, but disable all fuse entries by now.
2024-03-31 23:47:50 +02:00
Joerg Wunsch
9bef6b23ad Clone flash operations into EEPROM operations 2024-03-30 22:41:26 +01:00
Joerg Wunsch
7f09662f03 Color-code buffer full/empty 2024-03-30 22:18:24 +01:00
Joerg Wunsch
3ccc199198 Add flash_load (from file) and flash_write (to device)
This completes all operations on flash.
2024-03-30 22:07:42 +01:00
Joerg Wunsch
33100e1c4f Add tooltips to buttons 2024-03-30 21:45:04 +01:00
Joerg Wunsch
7a52571c3b Implement chip erase 2024-03-30 18:16:12 +01:00
Joerg Wunsch
f61c4d862b Track flash size when reading from device 2024-03-30 18:06:29 +01:00
Joerg Wunsch
e332c4c818 When saving flash file, ask whether to overwrite existing file 2024-03-30 17:28:52 +01:00
Joerg Wunsch
76d54804c7 Re-add MSG2_LEFT_MARGIN into the enum used in this branch 2024-03-30 09:53:18 +01:00
Joerg Wunsch
b015fc244b Merge remote-tracking branch 'upstream/main' into swig_libavrdude 2024-03-30 09:51:11 +01:00
Joerg Wunsch
4458a3c8c1 Add saving flash contents to file 2024-03-29 23:34:35 +01:00
Joerg Wunsch
8d2f3105d4 Add an AVR Logo image to the memory tab 2024-03-29 23:29:30 +01:00
Stefan Rueger
cb61171598 Merge pull request #1724 from stefanrueger/progress-reporting
Document progress reporting in source code
2024-03-30 09:26:27 +13:00
Stefan Rueger
82e45130b8 Merge branch 'main' into progress-reporting 2024-03-30 09:19:22 +13:00
stefanrueger
840a098e29 Update NEWS 2024-03-30 09:16:44 +13:00
Stefan Rueger
22a7bf9be9 Merge pull request #1728 from stefanrueger/msg2_left_margin
Provide lmsg_xyz() functions to start message at left margin
2024-03-30 09:14:14 +13:00
Joerg Wunsch
cd79957312 Fine-tune handling of flash filename given
* Accept filenames from both, edited entry as well as file
  selection dialog
* If given file already exists, examine, and find its format
* If it doesn't exist, try determining format based on suffix
2024-03-29 18:02:37 +01:00
Joerg Wunsch
896785a192 Add copyright, add some more "About" text 2024-03-29 16:31:38 +01:00
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
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
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