Commit graph

4,867 commits

Author SHA1 Message Date
Stefan Rueger
cb2c2e2635
Merge pull request #1318 from stefanrueger/updi-eeprom
Support UPDI EEPROM write
2023-03-21 23:52:53 +00:00
Stefan Rueger
95cdc6caca
Merge pull request #1317 from MCUdude/prog-failed-error-msg
Print meaningful error message when using the serialupdi and bitbanged UART ISP programmers
2023-03-21 23:52:30 +00:00
Stefan Rueger
7f8d488088
Merge pull request #1315 from MCUdude/terminal-single-byte-write
Make the start write address optional in terminal mode
2023-03-21 23:51:27 +00:00
Stefan Rueger
a953f3cb17
Merge pull request #1314 from llinjupt/patch_avrispv2
Remove PM_PDI flag for avrispv2 programmer
2023-03-21 23:50:50 +00:00
Stefan Rueger
e5be3ef206
Merge pull request #1310 from stefanrueger/at89s5x
Support AT89S51, AT89S52, AT90S2323 and ATtiny22
2023-03-21 23:50:35 +00:00
Stefan Rueger
31bc1d3da3
Merge pull request #1309 from mariusgreuel/pr-auto-reset
Change Arduino auto-reset via RTS to allow direct RTS-reset connection
2023-03-21 23:50:20 +00:00
Stefan Rueger
4169150284
Merge pull request #1299 from SebKuzminsky/libgpiod
Add optional libgpiod support to linuxgpio
2023-03-21 23:49:59 +00:00
Stefan Rueger
7e94ed4442
Change wiring auto-reset to allow direct DTR/RTS-reset connection 2023-03-19 19:25:55 +00:00
Stefan Rueger
ed6ad1eb55
Fix return value in usbtiny_cmd() and wrong error msg 2023-03-19 13:05:58 +00:00
Stefan Rueger
b7f48a08db
Fix typo 2023-03-18 16:37:08 +00:00
Sebastian Kuzminsky
2663fb4d5c avrdude.conf: add connection_type to example linuxgpio programmer 2023-03-16 08:53:02 -06:00
Sebastian Kuzminsky
bfb795551c avrdude.conf: move raspberry_pi_gpio reset, add prog_modes, reformat
This makes the raspberry_pi_gpio programmer work on older Pis with the
smaller 26-pin GPIO header.

Updates based on code review by Hans (MCUdude).
2023-03-16 08:53:02 -06:00
Sebastian Kuzminsky
5abbefe63b add a new conntype for linuxgpio
This also adds a default linuxgpio port ("gpiochip0"), and adds a
programmer to the avrdude.conf file using linuxgpio from the Raspberry
Pi GPIO port.
2023-03-16 08:53:02 -06:00
Sebastian Kuzminsky
3b93eccfb5 gpiod: find gpio lines by port ("gpiochipN") and offset (pin number)
Before this commit, linuxgpio-gpiod used `gpiod_line_find()` to find
gpio lines by name, and would construct the gpio name by appending the
requested gpio number to the string "GPIO".  This had the advantage
that it didn't have to specify the gpiochip to use, since gpio names are
globally unique in gpiod-land.  But it has the severe drawback that only
gpios whose name begins with "GPIO" could be used.

This commit changes that to use `gpiod_line_get()` instead, which takes
a gpiochip name (the avrdude "port") and an "offset" (the pin number on
that chip).  This lets it use any available gpio line, no matter what
name libgpiod assigned it.
2023-03-16 08:53:02 -06:00
Sebastian Kuzminsky
cffd3c976a linuxgpio: add optional libgpiod support
The "linuxgpio" backend will now try both the old sysfs and new (since
Linux 4.8) libgpiod interface to access gpio pins.  If libgpiod works
it will use that, if it does not work it will fall back to the old
sysfs interface.

The libgpiod code is compiled in if libgpiod is available at build time,
and compiled out otherwise.
2023-03-16 08:53:02 -06:00
Sebastian Kuzminsky
a7bf91c86d cmake: find & use libgpiod 2023-03-16 08:53:00 -06:00
Stefan Rueger
770c6b3975
Update comments for AT89S51/2 2023-03-16 10:21:13 +00:00
Sebastian Kuzminsky
0ff4192248 linuxgpio: rename all internal functions and variables to include "sysfs"
This commit renames the internal functions and variables of the linuxgpio
pin driver to include "sysfs", to indicate that they're referring to
the older sysfs interface.

The following commits will add libgpiod support to the linuxgpio pin
driver, and autoselect between them.
2023-03-15 18:38:51 -06:00
Stefan Rueger
666dfd7b36
Fix comment 2023-03-16 00:30:59 +00:00
Stefan Rueger
0d299b9aa9
Support UPDI EEPROM write 2023-03-15 21:37:24 +00:00
Stefan Rueger
2b04a2e4a7
Update urclock/stk500 reset times and streamline DTR/RTS twiddling 2023-03-15 19:42:54 +00:00
MCUdude
c72aff3083 Print meaningful error message
When using the serialupdi and bitbanged UART ISP programmers
2023-03-15 20:42:09 +01:00
MCUdude
4311da6803 Document terminal write feature
where start addres isn't needed
2023-03-15 20:14:32 +01:00
Stefan Rueger
ac55a86e9a
Add lock write command for AT89S51/2 2023-03-15 18:48:56 +00:00
MCUdude
e1ba5288a8 Make the start write address optional
when writing data to a memory that's exactly one byte large
2023-03-08 20:05:24 +01:00
llinjupt
09b6f89531 Remove PM_PDI flag for avrispv2 programmer 2023-03-08 22:17:51 +08:00
Stefan Rueger
6c8f7e10fd
Support AT89S51, AT89S52, AT902323 and ATtiny22
In `avrdude.conf.in` this PR
  - Adds AT89S51 and AT89S52
  - Adds AT902323 and ATtiny22 by inheritance from AT902343
  - Changes AT90S4433 to inherit from AT90S2333 (same datasheet)

Changes in `avrintel.[ch]` are needed to add the two new `mucid`s
for AT89S51/52; as a "bycatch" a new version of avrintel.c is
deployed with corrections to UART interrupts

`config_gram.y` needed changing to suppress false warnings for the odd
address bit positions for AT89S51/52 SPI read signature commands.
2023-03-06 22:55:16 +00:00
Marius Greuel
b1da0b0922 Change Arduino auto-reset via RTS to allow direct RTS-reset connection 2023-03-05 18:27:25 +01:00
Stefan Rueger
4019edf60d
Update NEWS 2023-03-04 17:25:59 +00:00
Stefan Rueger
579927f020
Merge pull request #1308 from djacobow/dgj/extend_max_pin_number
extend max pin number to 1000
2023-03-04 17:19:34 +00:00
Stefan Rueger
cdaeb6423d
Merge pull request #1301 from mariusgreuel/pr-build_sh-cmake-fix
build.sh: For compatibility with old CMake versions, use old syntax to generate build system
2023-03-04 17:19:02 +00:00
Stefan Rueger
ea938153cb
Merge pull request #1294 from mariusgreuel/pr-hid-detection
CMake: Remove LIB_LIBHID from configuration is favor of hard-coding it
2023-03-04 17:15:31 +00:00
Stefan Rueger
1995ca6868
Merge pull request #1286 from MCUdude/xplainedmini-suffer
Add `extra_features` to easily identify a programmers special abilities
2023-03-04 17:11:08 +00:00
Stefan Rueger
4a47b10a41
Merge pull request #1285 from mariusgreuel/pr-verbal-cmake-options
CMake: Convert verbal switches into boolean expressions
2023-03-04 17:09:49 +00:00
Dave Jacobowitz
eb7c3ef95d extend max pin number to 1000
Some embedded computers with GPIO are using very
large pin numbers. For example, the pins on the
LePotato SBC use numbers in the 400's.

Extending this max value makes is possible for
users to make custom avrdude.conf additions that
use this pins.

Le Potato board:

https://libre.computer/products/aml-s905x-cc/

Le Potato pin numbering reference:
https://docs.google.com/spreadsheets/d/1U3z0Gb8HUEfCIMkvqzmhMpJfzRqjPXq7mFLC-hvbKlE
2023-03-02 17:00:13 -08:00
Marius Greuel
488da2642a build.sh: For compatibility with old CMake versions, use old syntax to generate build system 2023-02-04 17:54:18 +01:00
mcuee
dd7b359d6b
Merge pull request #1297 from mcuee/revert_pr1280
Revert PR https://github.com/avrdudes/avrdude/pull/1280
2023-01-31 10:00:28 +08:00
mcuee
b00a768b18
Revert PR https://github.com/avrdudes/avrdude/pull/1280
This will fix issue https://github.com/avrdudes/avrdude/issues/1296
2023-01-30 21:11:36 +08:00
MCUdude
911aa04ffa Add HAS_VTARG_READ
This can be used to determine if a programmer is able to read the target voltage or not
2023-01-29 21:20:50 +01:00
MCUdude
89abc1375b Print info message when target power switch is off 2023-01-29 20:26:01 +01:00
Marius Greuel
7ebe5da8c5 GitHub build action: Remove CMAKE_BUILD_TYPE from msvc job to silence warning 2023-01-20 20:50:45 +01:00
Marius Greuel
61dccf4ad1 CMake: Add ncurses library when readline is present 2023-01-20 20:42:12 +01:00
Marius Greuel
c98a49bfcd CMake: Remove LIB_LIBHID from configuration 2023-01-20 20:41:36 +01:00
MCUdude
d02e82edac rename matches() to str_starts()
The function never checked for an actual match anyways
2023-01-15 16:43:29 +01:00
MCUdude
f7ed26cb67 Minor improvement based on feedback from @stefanrueger 2023-01-15 16:43:29 +01:00
MCUdude
eede6f9ff0 Fix typo 2023-01-15 16:43:28 +01:00
MCUdude
f4563e19b8 Update docs 2023-01-15 16:43:27 +01:00
MCUdude
3083183ab4 Fix typo 2023-01-14 22:08:40 +01:00
MCUdude
960375e593 Add corrections found by -c*/s 2023-01-14 22:08:36 +01:00
MCUdude
6b3dcf83b7 Merge main branch
had to deal with a merge confilict due to PR #1282
2023-01-14 19:23:57 +01:00