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

32 Commits

Author SHA1 Message Date
Benjamin Valentin
7c93da905f drivers/atwinc15x0: port to netdev_new_api 2024-11-21 13:59:58 +01:00
Mikolai Gütschow
f0e6776d40
treewide: apply codespell corrections 2024-10-09 13:03:52 +02:00
Frederik Haxel
381cae6eb1 drivers: Added PRIuSIZE print format specifier 2024-01-12 17:17:33 +01:00
Fabian Hüßler
8e122e9354 drivers/atwinc15x0: handle M2M errors of m2m_wifi_enable_mac_mcast 2023-08-19 23:23:10 +02:00
Fabian Hüßler
814d718d7b drivers/atwinc15x0: support network scanning and dynamic connection
There are new pseudomodules for this driver:

- atwinc15x0_static_connect: Should behave as before, by trying to connect to an AP
by specified WIFI_SSIS and WIFI_PASS

- atwinc15x0_dynamic_connect: takes connection request via NETOPT_CONNECT
and provides the connection result via callback

- atwinc15x0_dynamic_scan: takes network scan requests via NETOPT_SCAN
and provides the scan result as a sorted list via callback
2023-08-19 23:23:10 +02:00
Benjamin Valentin
d0a1a76351 drivers/atwinc15x0: don't disable interrupts 2022-10-25 14:47:13 +02:00
Marian Buschsieweke
f0d0e62fbf
drivers/atwinc15x0: add missing include 2022-09-26 18:54:39 +02:00
Benjamin Valentin
566935af44 drivers/atwinc15x0: add RESET state 2022-08-23 18:23:05 +02:00
Benjamin Valentin
b27cd86d2b drivers/atwinc15x0: reset device if m2m_wifi_handle_events() fails
Currently when m2m_wifi_handle_events() fails, we end up in a busy
loop and the netdev thread becomes unusable.

Instead, reset (re-init) the WiFi module if this condition occurs.
While not ideal, it's certainly an improvement to the current situation.
2022-08-19 11:36:05 +02:00
Marian Buschsieweke
276ad5716a
sys/net/gnrc/netif: allow checking if a netdev is legacy or new API
A if `netdev_driver_t::confirm_send()` is provided, it provides the
new netdev API. However, detecting the API at runtime and handling
both API styles comes at a cost. This can be optimized in case only
new or only old style netdevs are in use.

To do so, this adds the pseudo modules `netdev_legacy_api` and
`netdev_new_api`. As right now no netdev actually implements the new
API, all netdevs pull in `netdev_legacy_api`. If `netdev_legacy_api` is
in used but `netdev_new_api` is not, we can safely assume at compile
time that only legacy netdevs are in use. Similar, if only
`netdev_new_api` is used, only support for the new API is needed. Only
when both are in use, run time checks are needed.

This provides two helper function to check for a netif if the
corresponding netdev implements the old or the new API. (With one
being the inverse of the other.) They are suitable for constant folding
when only new or only legacy devices are in use. Consequently, dead
branches should be eliminated by the optimizer.
2022-08-17 12:56:07 +02:00
Gunar Schorcht
94e7dbfa4b drivers/atwinc15x0: blacklist esp32 architecure
esp32 vendor code and atwinc15x0 both define conflicting spi_flash_{read, write} functions. esp32 already have build-in WiFi, so it's unlikely to ever use this driver - just blacklist the architecture.
2022-06-25 08:12:31 +02:00
Benjamin Valentin
f8431d7623 drivers/atwinc15x0: blacklist esp8266 2022-06-19 16:53:34 +02:00
benpicco
5fd88e1d35
Merge pull request #17889 from benpicco/drivers/atwinc15x0-fix_sleep
drivers/atwinc15x0: disconnect when sleeping
2022-05-18 16:27:34 +02:00
Benjamin Valentin
37159fe4d9 drivers/atwinc15x0: make use of wake pin 2022-05-12 00:29:28 +02:00
Benjamin Valentin
14121a5298 drivers/atwinc15x0: fix DEBUG() macro 2022-05-12 00:29:28 +02:00
Benjamin Valentin
71bfc3a1ca drivers/atwinc15x0: disconnect when sleeping
Don't try to re-connect when the interface is in SLEEP state.
Also disconnect before entering sleep.
2022-05-12 00:29:28 +02:00
Francisco
8b18898760
Merge pull request #17880 from benpicco/drivers/atwinc15x0-mcast
drivers/atwinc15x0: join multicast groups
2022-04-07 15:42:26 +02:00
Benjamin Valentin
d800cca1c3 drivers/atwinc15x0: register with netdev 2022-03-30 16:07:29 +02:00
Benjamin Valentin
b173bbb0b7 drivers/atwinc15x0: join multicast groups
I noticed the wifi module would not receive any router advertisements
while an esp8266 did just fine.

Turns out joining the multicast groups was not enabled.
With this it works as expected.
2022-03-29 15:16:54 +02:00
Benjamin Valentin
b28738c11c drivers/atwinc15x0: enable sleep state
This allows the interface to enter SLEEP state in which it only
consumes 4µA.
2022-03-24 14:04:53 +01:00
Jose Alamos
d6899f40a7
drivers/atwinc15x0: adapt NETOPT_RSSI to int16_t 2022-01-17 17:54:18 +01:00
Gunar Schorcht
c6874dfbdf drivers/atwinc15x0: mirgate to ztimer 2021-12-13 13:58:42 +01:00
Benjamin Valentin
a2396111ee drivers: remove unused luid dependencies
Those drivers don't rely on luid anymore, we can drop the dependency.
2021-02-25 22:10:14 +01:00
Benjamin Valentin
fd102efea8 drivers/atwinc15x0: convert to xtimer_msleep() 2020-11-05 11:32:41 +01:00
Bas Stottelaar
62994dfb16 drivers/*: replace #if ENABLE_DEBUG with IS_ACTIVE 2020-11-02 21:34:12 +01:00
Bas Stottelaar
92b1dfc703 drivers/*: realign ENABLE_DEBUG 2020-10-23 01:26:09 +02:00
Bas Stottelaar
4bdfe9a254 drivers/*: add missing include of assert.h 2020-10-22 11:13:08 +02:00
Gunar Schorcht
6d61381d2a drivers: use inline functions for GPIO comparisons
The expandable GPIO API requires the comparison of structured GPIO types. This means that inline functions must be used instead of direct comparisons. For the migration process, drivers must first be changed so that they use the inline comparison functions.
2020-08-31 13:10:28 +02:00
Benjamin Valentin
492283898e pkg/driver_atwinc15x0: don't be pedantic 2020-07-31 13:38:03 +02:00
304bce3724
drivers: configure per driver dependency resolution 2020-07-20 14:32:16 +02:00
490126cfa0
drivers: move USEMODULE_INCLUDES in each driver directories 2020-07-15 20:36:27 +02:00
Gunar Schorcht
660a852935 drivers: add netdev driver for ATWINC15x0 WiFi module 2020-06-26 12:33:38 +02:00