1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00
Commit Graph

42437 Commits

Author SHA1 Message Date
Gunar Schorcht
f92295dc5c pkg/esp8266_sdk: add esp_bootloader to Kconfig 2023-01-02 19:00:21 +01:00
bors[bot]
555495a66a
Merge #18590
18590: boards/{bluepill*,blackpill*}: rename and improve doc r=benpicco a=maribu

### Contribution description

- renamed:
    - `bluepill` --> `bluepill-stm32f103c8`
    - `bluepill-128kib` --> `bluepill-stm32f103cb`
    - `blackpill` --> `blackpill-stm32f103c8`
    - `blackpill-128kib` --> `blackpill-stm32f103cb`
- doc:
    - added link to corresponding hardware page on the STM32-base
      project
    - added picture

### Testing procedure

- check the documenation
- `make flash` and `make term` should still work for Bluepill and Blackpill boards (with updated values for `BOARD`, though)

### Issues/PRs references

None

Co-authored-by: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
2023-01-02 15:38:26 +00:00
Marian Buschsieweke
d2a3ff3d83
boards/{bluepill*,blackpill*}: rename and improve doc
- renamed:
    - `bluepill` --> `bluepill-stm32f103c8`
    - `bluepill-128kib` --> `bluepill-stm32f103cb`
    - `blackpill` --> `blackpill-stm32f103c8`
    - `blackpill-128kib` --> `blackpill-stm32f103cb`
- doc:
    - added link to corresponding hardware page on the STM32-base
      project
    - added picture
2023-01-02 16:23:10 +01:00
bors[bot]
821acbe6fb
Merge #19077
19077: cpu/esp32: configurable linker scripts r=benpicco a=gschorcht

### Contribution description

This PR provides configurable linker scripts for ESP32x SoCs.

Using the vendor `memory.ld.in` file and a `sections.ld.in` file instead of the static versions of these files, from which the actual used `memory.ld` and  `sections.ld` are generated using the C preprocessor, allows to use the configuration in `sdkconfig.h` as well as Kconfig to define a custom memory layout. For example, it is no longer necessary to maintain different `memory.ld` files for the ESP32 BLE module, since the memory layout is now defined from the values of the configuration.

Note for the review: The `memory.ld.in` files are now simply copies of the manufacturer's `memory.ld.in` files. However, it is not possible to use the vendor's `memory.ld.in` files directly, because they have to be extended further on, e.g. for the `periph_flashpage` implementation.

This PR is prerequisite for the `periph_flashpage` support in PR #19079.

### Testing procedure

Green CI.

### Issues/PRs references

Prerequisite for PR #19079

Co-authored-by: Gunar Schorcht <gunar@schorcht.net>
2023-01-02 04:56:58 +00:00
Gunar Schorcht
8381cd3633 cpu/esp32: using configurable linker scripts in makefiles 2022-12-31 16:03:46 +01:00
Gunar Schorcht
409e609f46 cpu/esp32x: generate section.ld from section.ld.in
Using `sectoins.ld.in` instead of a static `sections.ld`, from which the actual used `sections.ld` is generated with the C preprocessor, allows to use the configuration in `sdkconfig.h` as well as Kconfig to use a custom section layout.
2022-12-31 15:30:34 +01:00
Gunar Schorcht
dc2dc801cc cpu/esp32x: generate memory.ld from vendor memory.ld.in
Using the vendor `memory.ld.in` instead of a static `memory.ld`, from which the actual used `memory.ld` is generated with the C preprocessor, allows to use the configuration in `sdkconfig.h` as well as Kconfig to use a custom memory layout. For example, it is no longer necessary to maintain different `memory.ld` files for the ESP32 BLE module, since the memory layout is now defined from the values of the configuration.
2022-12-31 15:30:34 +01:00
Gunar Schorcht
d000e19754 makefiles: additional dependency of ELFFILE on LD_SCRIPTS
The additional dependency of the ELFFILE variable on a LD_SCRIPTS variable allows to define rules for the generation of the used ld files from configurable LD templates.
2022-12-31 15:30:34 +01:00
Gunar Schorcht
a0715b281b cpu/esp32: export FLASH_SIZE to SDK configuration 2022-12-31 14:10:57 +01:00
Gunar Schorcht
a71f457f23 makefile/tools/esptool.inc.mk: fix esp-qemu dependency 2022-12-31 14:10:57 +01:00
Gunar Schorcht
f23b20f91f cpu/esp: use FLASHFILE_POS for image position in flash
Instead of using a fixed position of the image file in the flash, the variable `FLASHFILE_POS` is used which allows to override the default position of the image in the flash at 0x10000.
2022-12-31 14:10:57 +01:00
bors[bot]
11d81d28f4
Merge #19064
19064: native: Remove code used for __MACH__ target r=benpicco a=Teufelchen1

### Contribution description

This PR removes code that was used to support macOS as native target. 
macOS / `__MACH__` is no longer supported by RIOT on master.

### Testing procedure

If murdock is happy, that should be enough.


Co-authored-by: Teufelchen1 <bennet.blischke@haw-hamburg.de>
2022-12-27 20:41:23 +00:00
bors[bot]
c9d3bae518
Merge #19075
19075: drivers/ds3231 fix docs, alarms are supported r=benpicco a=jdavid

### Contribution description

Two changes:

- Remove the text stating that setting alarms is not yet supported, because it is, since PR #16180
- Document DS3231_PARAM_INT_PIN

### Testing procedure

This is only a documentation fix, so there is not code to test.

### Issues/PRs references

Support for setting alarms was implemented in PR #16180


Co-authored-by: J. David Ibáñez <jdavid.ibp@gmail.com>
2022-12-27 17:13:34 +00:00
J. David Ibáñez
d741f71ebd drivers/ds3231 fix docs, alarms are supported
Remove the text stating that setting alarms is not yet supported,
because it is, since PR #16180

Also document DS3231_PARAM_INT_PIN
2022-12-27 17:21:55 +01:00
bors[bot]
abc66dce73
Merge #19035
19035: cpu/nrf5x_common: implement timer_set() r=maribu a=maribu

### Contribution description

The fallback implementation of timer_set() in `drivers/periph_common` is known to fail on short relative sets. This adds a robust implementation.

### Testing procedure

Run `tests/periph_timer_short_relative_set` at least a few dozen times (or use https://github.com/RIOT-OS/RIOT/pull/19030 to have a few dozen repetitions of the test case in a single run of the test application). It should now succeed.

### Issues/PRs references

None

Co-authored-by: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
2022-12-23 18:20:09 +00:00
Marian Buschsieweke
a8f1a7e007
cpu/nrf5x_common: Implement timer_set()
The fallback implementation of timer_set() in `drivers/periph_common`
is known to fail on short relative sets. This adds a robust
implementation.
2022-12-23 14:48:08 +01:00
Marian Buschsieweke
0a24d54bd5
cpu/nrf5x_common/periph_timer: Fix thread safety
Two threads using distinct sets of channels should be able to share a
timer. Hence, we need to make read-modify-write accesses on timer state
atomic.
2022-12-23 14:45:12 +01:00
Marian Buschsieweke
3ad897df2a
cpu/nrf5x_common/periph_timer: Clear periodic flag on set
A call to timer_set_absolute() should clear the periodic flag on the
specified timer and channel. This adds it.
2022-12-23 14:45:12 +01:00
bors[bot]
11a41345e0
Merge #19065
19065: .murdock: extend quickbuild boards list r=kaspar030 a=aabadie



Co-authored-by: Alexandre Abadie <alexandre.abadie@inria.fr>
2022-12-22 18:27:36 +00:00
Teufelchen1
c9e9a8d2f1 native: Remove code used for __MACH__ target 2022-12-22 17:57:25 +01:00
Gunar Schorcht
4f1b4ba0c9 cpu/esp_common: remove double defines from Makefile 2022-12-22 12:18:34 +01:00
iosabi
073b2209da cpu/esp8266: Build the SDK bootloader from source.
We had four versions of pre-built bootloaders for the esp8266 with
different settings of logging and color logging. These bootloaders were
manually built from the SDK and shipped with RIOT-OS source code.
However there are more settings that affect the bootloader build that
are relevant to the app or final board that uses this bootloader. In
particular, flash size and flash speed is important for the bootloader
to be able to load an app from a large partition table at the fastest
speed supported by the board layout and flash chip.

Another example is the UART baudrate of the logging output from the
bootloader. The boot ROM will normally start at a baud rate of 74880
(depending on the crystal installed), so it might make sense to keep
the UART output at the same speed so we can debug boot modes and
bootloader with the same terminal.

This patch builds the bootloader.bin file from the ESP8266 SDK source
code. The code is built as a module (esp8266_bootloader) which at the
moment doesn't generate any object code for the application and only
produces a bootloader.bin file set to the BOOTLOADER_BIN make variable
for the esptool.inc.mk to flash.

The code needs to be compiled and linked with custom rules defined in
the module's Makefile since the bootloader.bin is its own separate
application.

The `BOOTLOADER_BIN` variable is changed from a path relative to the
`$(RIOTCPU)/$(CPU)/bin/` directory to be full path. This makes it easier
for applications or board to provide their own bootloader binary if
needed.

As a result of building the bootloader from source we fixed the issue of
having a large partition table. Fixes #16402.
2022-12-22 12:18:34 +01:00
6a6c7b86f4
.murdock: extend quickbuild boards list 2022-12-22 10:06:38 +01:00
bors[bot]
cc0371c712
Merge #19066
19066: examples/gnrc_border_router: Restore UHCP conditional default r=chrysn a=chrysn

The space inside the expression made the ifneq always non-equal; the intended behavior is "if we're using any of these interfaces, or REUSE_TAP is set".

Co-authored-by: chrysn <chrysn@fsfe.org>
2022-12-20 16:40:57 +00:00
chrysn
e9f793c5e4 examples/gnrc_border_router: Restore UHCP conditional default
The space inside the expression made the ifneq always non-equal; the
intended behavior is "if we're using any of these interfaces, or
REUSE_TAP is set".
2022-12-20 17:35:08 +01:00
bors[bot]
ca3b259add
Merge #18637
18637: Fido2 follow up r=benpicco a=Ollrogge



Co-authored-by: Ollrogge <nils-ollrogge@outlook.de>
2022-12-19 18:02:20 +00:00
bors[bot]
0c157b750a
Merge #19056 #19063
19056: pkg/lvgl: bump to 8.3.4 r=aabadie a=aabadie



19063: CI: no quickbuild on "bors try" r=aabadie a=kaspar030



Co-authored-by: Alexandre Abadie <alexandre.abadie@inria.fr>
Co-authored-by: Kaspar Schleiser <kaspar@schleiser.de>
2022-12-19 16:02:03 +00:00
Teufelchen1
2629e81b3b cpu/sam0_common/periph: Fix compilation with LLVM 2022-12-19 15:19:51 +01:00
bors[bot]
f539035c86
Merge #18756
18756: drivers/usbdev_synopsys_dwc2: add EFM32 support r=chrysn a=gschorcht

### Contribution description

This PR provides the changes for the Synopsys USB OTG IP core DWC2 driver for EFM32 MCUs. It also provides the changes of the board definition for `stk3600` and `stk3700` for testing.

### Testing procedure

`tests/usbus_hid` should work on the EFM32 boards `stk3600` (EFM32LG family) and `stk3700` (EFM32GG family).

It is already tested for a `sltb009a` board (EFM32GG12 family).

### Issues/PRs references


Co-authored-by: Gunar Schorcht <gunar@schorcht.net>
2022-12-19 12:55:57 +00:00
a747fb3c4c CI: no quickbuild on "bors try" 2022-12-17 22:03:59 +01:00
6b97c85d19
pkg/lvgl: bump to 8.3.4 2022-12-16 09:32:47 +01:00
Gunar Schorcht
6b9690cdb7 tests/pkg_arduino_adafruit_sensor: add test app 2022-12-15 18:36:05 +01:00
Gunar Schorcht
7aab4126af pkg/arduino_adafruit_sensor: add Adafruit Unified Sensor Driver
A number of Adafruit sensor drivers use the class Adafruit_Sensor from the Adafruit Unified Sensor Driver. To support such drivers, the Adafruit Unified Sensor Driver is imported as package.
2022-12-15 18:36:05 +01:00
bors[bot]
b71df25282
Merge #19048
19048: drivers/sht2x: some small improvements r=benpicco a=gschorcht

### Contribution description

This PR provides the following improvements for the SHT2x driver:

- migration to `ztimer` 8a605517f5 and 367549940de3bd8910052334c34af028d4992741
- floating point arithmetics replaced by integer arithmetics f424caebbfec9f2be56aa2337c6cc09dba5b97d6
- fix of sleep times (typical times replaced by maximum times as recommended by the datasheet) 13615c72094b8541ee62c3e8ed5a36dc4d725fd0
- release of the I2C bus during sleep 9415c216cfab734520ef98dd00b350c22f342c60
- Kconfig configuration of sensor parameters added dadbbcb4c328350893db53ba6743d03cb34ecc1c
- no-hold mode is now the default mode instead of the hold mode

Regarding the sleep times: The typical measurement times were used as sleep times. According to the datasheet, typical measurements are only recommended for calculating energy consumption, while maximum values should be used for calculating waiting times in communication. Therefore, the typical time values were replaced by maximum time values for the sleep in no-hold mode.

Regarding the hold mode: In hold mode, the sensor uses clock stretching until the measurement results can be read by the MCU. This blocks both the I2C bus and the MCU during the entire measurement, which can take up to 85 ms if I2C is not interrupt-driven. Therefore, the no-hold mode is now used by default, where the calling thread sleeps during the measurement, but the MCU is not completely blocked. Furthermore, the hold mode requires that the MCU supports clock stretching. Even if the MCU supports clock stretching, the hold mode with clock stretching doesn't seem to work with different MCUs. I couldn't get it working for STM32 and ESP32.

Regarding the I2C bus during sleep: If the no-hold mode is used and the calling thread sleeps up to 85 ms, it makes sense to release the I2C bus until the measurement results are available.

### Testing procedure

`tests/driver_sht2x` should still work.

### Issues/PRs references


Co-authored-by: Gunar Schorcht <gunar@schorcht.net>
2022-12-15 12:42:30 +00:00
bors[bot]
2ea6a2af1e
Merge #19053
19053: net/ieee802154: make default ack request configurable r=jia200x a=jue89



Co-authored-by: Jue <me@jue.yt>
2022-12-15 10:15:31 +00:00
Gunar Schorcht
000d449d88 drivers/sht2x: use sys/checksum/crc8 2022-12-14 21:47:32 +01:00
Gunar Schorcht
009afd1173 drivers/sht2x: extend Kconfig by sensor parameters 2022-12-14 21:47:32 +01:00
Gunar Schorcht
ff3cbd13ea drivers/sht2x: release I2C bus during sleep 2022-12-14 21:47:32 +01:00
Gunar Schorcht
43819464f7 drivers/sht2x: fix measurement duration
According to the data sheet, typical times are recommended for calculating energy consumption, while maximum values should be used for calculating waiting times in communication. Therefore, the typical time values are replaced by maximum time values for sleep.
2022-12-14 21:47:32 +01:00
Gunar Schorcht
58f915e2e3 drivers/sht2x: replace float by int calculations 2022-12-14 21:47:32 +01:00
Gunar Schorcht
e152159a35 tests/driver_sht2x: migration to ztimer 2022-12-14 21:47:32 +01:00
bors[bot]
481ab25e69
Merge #19054
19054: ieee802154_submac: migrate to ztimer r=benpicco a=jue89



Co-authored-by: Jue <me@jue.yt>
2022-12-14 19:09:53 +00:00
bors[bot]
10c1909f2d
Merge #19046
19046: gnrc & coap: misc minor changes r=benpicco a=benpicco



Co-authored-by: Benjamin Valentin <benjamin.valentin@ml-pa.com>
2022-12-14 17:18:05 +00:00
Jue
8f174bbef2 ieee802154_submac: migrate to ztimer 2022-12-14 16:41:27 +01:00
Jue
087931c5f2 at86rf215: respect ack request option 2022-12-14 16:29:01 +01:00
Jue
06de22637c at86rf2xx: respect ack request option 2022-12-14 16:29:01 +01:00
Jue
5c2db89c20 ieee802154_submac: respect ack request option 2022-12-14 16:29:01 +01:00
Jue
4930a81ae4 kw41zrf: respect ack request option 2022-12-14 16:29:01 +01:00
Jue
6ff38347b3 net/ieee802154: add option for default ack request 2022-12-14 16:29:01 +01:00
bors[bot]
fca501c2fe
Merge #19033
19033: Fix soft spi bugs r=aabadie a=Enoch247

### Contribution description

This PR contains some small bug and spelling fixes I noticed while reading the soft_spi code while using it as an example for writing my own driver. See the commit comments for details of each change.


### Testing procedure

I compiled, but did not run, tests/driver_soft_spi. The change is minor and verifiable by simply looking at the code.


### Issues/PRs references

- None


Co-authored-by: Joshua DeWeese <jdeweese@primecontrols.com>
2022-12-14 15:22:00 +00:00