stm32f1 periph_rtc implementation gets a 1s resolution by dividing
CLOCK_LSx by 32768. This only make sense if CLOCK_LSE is set,
otherwise CLOCK_LSI=~40000, which will lead to an imprecise rtc.
After releasing the 6LoWPAN clicker, MikroE released yet another PIC32 based clicker
named the PIC32MX clicker. To avoid any confusion between the two boards, pic32-clicker
is renamed to 6lowpan-clicker.
Signed-off-by: Francois Berder <18538310+francois-berder@users.noreply.github.com>
Only include `stdio_uart.h` if stdio over UART is used.
This makes it possible to use the default stdio UART0
for the test.
This is needed if e.g. the default stdio of a board is USB CDC ACM.
lpc23xx has 3 sleep modes and one idle mode.
`PM_NUM_MODES` must only count the idle modes.
In practise, this makes no difference since `mode 3` (IDLE) is
the `default` case in `pm_set()` anyway.
With multiple 6LoWPAN interfaces the router for the given interface
—the one the triggering RA came over—should be used to register the
address with.
Co-Authored-By: Benjamin Valentin <benpicco@googlemail.com>
Previously the MAC address of the border router was entirely random.
That meant that as a DHCPv6 client it would get a new prefix with every
reboot.
Due to #12210 the nodes will never use the new address.
Fix this by using luid_get_eui48() which will always return the same
address across reboots.
It also makes the code simpler.
If usinng an arduino xbee shield then CTS pin will be wired to the
ICSP connector RESET pin.
If also used on an arduino-% board then if xbee is busy sending or
receiving data it will assert CTS and this will trigger a reset on
the board.
To avoid this disable CTS functionality on start up unless hardware
flow control is explicitly requested.
The macros US_PER_MS and friends are assumed to be 32 bit unsigned integers
by users. However, e.g. on AVR a `1000U` is only 16 bit long. Thus, e.g.
`xtimer_usleep(100 * US_PER_MS)` will wrap around and only sleep for ~34ms.
This commit declares them as unsigned long, which is on all currently supported
platforms 32 bit wide.
The test currently uses static globals for communication without any protection.
This could lead optimizing C compilers to deduce that access to those are not
needed (e.g. with LTO enabled). Using C11 atomics is the easiest way to tell
the compiler that those accesses are used for communication between two
different threads of execution (here: between the ISR and the main thread).