The AVR Dragon, previously the cheapest debugger/programmer for AVR, is out of
production. The default debugger for AVR devices has been changed to the Atmel
ICE, the now cheapest debugger option. The commit updates the documentation
accordingly.
Additionally the default programmer is changed to the Atmel ICE for consistency.
The doc is updated accordingly.
- avrdude.mk and serial.mk were included twice.
- The former resulted in `make flash` wasting one flash cycle by flashing
the same firmware twice
- Fixed typos (atmega328p instead of atmega1284p)
In #12955 optimization was switched to O2 because with the '-Os'
option, the ESP32 hangs sporadically in 'tests/bench*' if
interrupts where disabled too early by benchmark tests.
Since it hasn't been reproduced since and in #13196 O2 was causing
un-explained hardfaults, since the aforementioned issue could not
be reproduced we switch back to Os by removing O2, as Os will be
used by default.
Writing a 1 bit clears the interrupt flag, writing with |= is thus
uneccecary (and actually an error as this would clear *all* flags).
This cleanup was already done for rtt.c, but rtc.c missed out.
ztimer_clock are meant to be chained. At the end of the chaine
there is always a timer device object (periph_rtt/rtc/timer).
Since ZTIMER_MSEC and ZTIMER_USEC can be the scaled/shifted with
respect to the base periph_rtt/rtc/timer it makes sense to chain
other ZTIMER_XXX on top of the base rtc/timer/rtt in order to avoid
chained convertions.
`od_hex_dump()` is called if `hdr_len < pkt->size` to print the rest
after `hdr_len` of `pkt`. So if we just leave `hdr_len = 0` instead of
calling `od_hex_dump()` for every other NETTYPE, we achieve the same
effect.
As it is more effective (and already done in some cases) to re-set
`hdr_len` when the header was printed, we initialize `hdr_len` first
with 0 now.
Instead of making a NETTYPE definition dependent on an implementation
module, this change makes it dependent on a pseudo-module for each
specific NETTYPE and makes the respective implementation modules
dependent on it.
This has two advantages:
- one does not need include the whole implementation module to
subscribe to a NETTYPE for testing or to provide an alternative
implementation
- A lot of circular dependencies related to GNRC could be untangled.
E.g. the only reason `gnrc_icmpv6` needs the `gnrc_ipv6` is because it
uses `GNRC_NETTYPE_IPV6` to search for the IPv6 header in an ICMPv6
when demultiplexing an ICMPv6 header.
This change does not resolve these dependencies or include usages where
needed. The only dependency change is the addition of the
pseudo-modules to the implementation modules.
Add a test to re-configure the I2C pins to GPIO functionality and
use them as output.
A small delay is added to allow for observing the change in power
draw.
It is often desireable to re-configure the pins of a bus back to GPIO mode,
either to save power when an external peripheral is turned off and current
would leak, or because a device may need a non-standard in-band signal to
be generated on the bus lines.
To serve those use cases, this patch introduces four new functions to the
I2C API:
- `i2c_init_pins()` equivalent to spi_init_pins(), restores I2C pin configuration
- `i2c_deinit_pins()` to switch the configuration of the I2C pins back to GPIO
mode and block access to the bus.
- `i2c_pin_sda()` to get the data pin for a given bus
- `i2c_pin_scl()` to get the clock pin for a given bus
Since it's unreasonable to expect having implementations for all platforms
already, those functions are only availiable when the periph_i2c_reconfigure
feature is availiable.
Applications should use FEATURES_REQUIRED += periph_i2c_reconfigure or
FEATURES_OPTIONAL if they want to make use of those functions.
drivers/at25xxx: add mtd_wrapper as submodule
tests: add mtd_at25xxx test module for mtd wrapper
drivers/Makefile.dep: add at25xxx dep for mtd_at25xxx module
The parameters of the MTD device (`sector_count`, `page_size`)
are only known after the device has been initialized.
Init the device before using it to avoid reading all 0 on e.g. SD cards.
The parameters of the MTD device (`sector_count`, `page_size`)
are only known after the device has been initialized.
Init the device before using it to avoid reading all 0 on e.g. SD cards.
The parameters of the MTD device (`sector_count`, `page_size`)
are only known after the device has been initialized.
Init the device before using it to avoid reading all 0 on e.g. SD cards.