Commit Graph

3650 Commits

Author SHA1 Message Date
Joerg Wunsch
9a8d5c1328 Replace PYTHONLIBS by PYTHON3 in CMakeLists.txt
https://cmake.org/cmake/help/latest/module/FindPython3.html
2024-04-07 09:55:15 +02:00
Joerg Wunsch
b39332d636 Probe for both, PySide6 as well as PySide2
The GUI is supposed to work on both versions.
2024-04-07 08:25:00 +02:00
Joerg Wunsch
b800d16481 Make the AVR logo class-internal data
This allows it to place it at the bottom of the file, so
the top area is not cluttered with lots of binary data.
2024-04-07 08:19:07 +02:00
Joerg Wunsch
6fb142dfee Mention the % pattern in fuse file names. 2024-04-07 08:16:44 +02:00
Joerg Wunsch
0be9a8865d Add help text 2024-04-07 01:07:04 +02:00
Joerg Wunsch
5f3dc74553 Handle fuse names of avrX devices
For avrX devices, fuses are named according to the datasheet,
rather than their internal naming "fuse<N>". So instead, use
the "memoffset" (which corresponds to <N>).
2024-04-07 00:15:32 +02:00
Joerg Wunsch
c03480a7d9 Initialize self.pgm and self.dev 2024-04-06 13:15:27 +02:00
Joerg Wunsch
69672a8470 Handle AVRMEM_ALIAS
Aliases are interesting for generic vs. datasheet names of
avrX fuses
2024-04-05 21:58:41 +02:00
mcuee
306d948bc5 No longer need to use CMAKE_VERBOSE_MAKEFILE 2024-04-05 20:24:56 +08:00
Joerg Wunsch
74f5ec3c65 Add a fuse configuration popup
When activating the context menu in one of the fuse value lineedit
fields, a popup is constructed that shows all the options for this
fuse, as an array of comboboxes. The data for this is from
avrintel.c.
2024-04-04 13:51:48 +02:00
Joerg Wunsch
e03820be72 Add default_fuse() helper
Synthesizes default fuse value
2024-04-04 13:50:06 +02:00
Joerg Wunsch
2efc3712f8 Fix 'invalid escape sequence' warning
Backslash in regular expression is best used by writing a raw
string.
2024-04-04 07:56:51 +02:00
Joerg Wunsch
ccaa3ddae7 Add layout to askfuse.ui 2024-04-03 21:25:48 +02:00
Joerg Wunsch
dd131bb616 Add layout to about.ui 2024-04-03 21:24:28 +02:00
Joerg Wunsch
926a776fd2 Add layouts for device and programmer selection 2024-04-03 21:23:34 +02:00
Joerg Wunsch
dafff152a3 Layout the device info popup 2024-04-03 21:09:07 +02:00
Joerg Wunsch
2bd7512739 Add layouts to memories.ui 2024-04-03 19:20:19 +02:00
Joerg Wunsch
0a45c8af6a Add layout to adgui.ui
Also remove status bar - we use our logging area anyway.
2024-04-03 17:50:21 +02:00
Joerg Wunsch
35e1ad8c8f Arrange the loglevel.ui into a layout 2024-04-03 17:46:32 +02:00
Joerg Wunsch
b86120cfa3 Add some examples how to deal with that configuration list
Nice way to analyze and synthesize fuse values.
2024-04-03 09:38:00 +02:00
Joerg Wunsch
3cedbee2e7 Make the loglevel popup a modal one.
No need being able to operate elswhere while it is up.
2024-04-03 09:27:39 +02:00
Joerg Wunsch
07116d93a0 Provide access to the fuse/lock bit configuration table
Synthesize a Python list, consisting of the individual table entries
as a dictionary. The dictionary, in turn, contains a table with the
individual values.

Quiet complex.
2024-04-02 23:43:03 +02:00
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