MRF24J40 supports a proprietary turbo mode with a data rate of 625 kbit/s
instead of the standard 250 kbit/s.
It can be enabled through
ifconfig 7 set high_rate 1
It includes per-board support for the nrfutil programmer used with its
default bootloader; this is not generalized over Adafruit's boards as
they use incompatible versions of nrfutil.
Flashing an ESP board first requires the creation of a flash image from the ELF file. This is realized in the `preflash` target. However, the `preflash` target only depends on the variable `BUILD_BEFORE_FLASH` but on the ELF file. Therefore, the variable `BUILD_BEFORE_FLASH` must be set to the ELF file to ensure that when using multiple make processes, the compilation of the ELF file is completed before the flash image is created.
avrdude.mk and serial.mk was included twice. As a result of the former, avrdude
wasted one flash cycle and some time by writing the same firmware twice.
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.