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

23259 Commits

Author SHA1 Message Date
f03bba8d5c boards/microbit: add docuumentation for QEMU emulation 2019-07-04 17:50:39 +02:00
d167cf334d
Merge pull request #10633 from crest42/stm32_eth_new
drivers: stm32 eth peripheral driver
2019-07-04 16:48:43 +02:00
ce9de0e942 boards/microbit: add EMULATOR setting for QEMU 4.0 2019-07-04 16:26:45 +02:00
de244e6679 gnrc/pktbuf: remove obsolete sys/uio.h include
This was previously used by gnrc_pktbuf_get_iovec() for the definitions
of "struct iovec", which has been removed a while ago.
2019-07-04 16:12:57 +02:00
francisco
8f1a835a59 stm32_common/eeprom: add _IO prefix to hardware access 2019-07-04 15:52:25 +02:00
francisco
f2f7fe1bab stm32l1/eeprom: fix eeprom write for cat 1 2019-07-04 15:51:32 +02:00
9e6d558596
stm32_eth: Code cleanup and some fixes
cpu/stm32_common: cleanup periph eth
boards/nucleo-f767zi: cleanup dependencies
boards/nucleo-f767zi: fix dma configuration attribute for eth
examples/default: add nucleo-767zi in boards with netif
drivers/stm_32_eth: Add header guard for eth_config

Co-authored-By: Robin <robin@chilio.net>
2019-07-04 15:27:50 +02:00
Robin
4729bea46e
stm32_eth: Multiple Improvements of the original codebase
stm32eth: Move to stm32_common periph
cpu/stm32_periph_eth: Rebase to current master branch

- Update DMA to use new vendor headers
- Update send to use iolist. It looks like the packet headers are now transfered as seperate iolist entries which results in the eth periph sending each header as own packet. To fix this a rather ugly workaround is used where the whole iolist content is first copied to a static buffer. This will be fixed soon in another commit
- If MAC is set to zero use luid to generate one
- Small code style fixes

cpu/stm312f7: Add periph config for on-board ethernet
boards/nucleo-f767zi: Add config for on board ethernet
tests/stm32_eth_lwip: Remove board restriction
boards/common/nucleo: Add luid module if stm32 ethernet is used
tests/stm32_eth_gnrc: Add Testcase for gnrc using the stm32 eth periph
stm32_eth: Rework netdev driver layour
tests/stm32_eth_*: Use netdev driver header file for prototypes
stm32_eth: Add auto init for stm32 eth netdev driver
boards/stm32: Enable ethernet conf for nucleo boards
stm32_eth_auto_init: Add dont be pendantic flag
stm32_eth: Remove dma specific stuff from periph_cpu.h

Looks like this was implemented in PR #9171 and 021697ae94 with the same interface.

stm32_eth: Remove eth feature from stm32f4discovery boards
stm32_eth: Migrate to stm32 DMA API
stm32_eth: Add iolist to module deps
stm32_eth: Rework send function to use iolist
stm32_eth: Fix ci build warnings
stm32_eth: Fix bug introduced with iolist usage
stm32_eth: Remove redundant static buffer
stm32_eth: Fix feature dependencies
stm32_eth: Fix wrong header guard name
stm32_eth: Implement correct l2 netstats interface
stm32_eth: Rename public functions to stm32_eth_*
stm32_eth: Fix doccheck
stm32_eth: Move register DEFINE to appropriate header file
stm32_eth: remove untested configuration for f446ze boards
stm32_eth: Move periph configuration struct to stm32_common
stm32_eth: Fix naming of eth_phy_read and eth_phy_write
stm32_eth: Remove obsolete test applications
2019-07-04 15:27:26 +02:00
Victor Arino
e206087d65
stm32_eth: Initial implementation by Victor Arino
drivers/eth-phy: add generic Ethernet PHY iface
cpu/stm32f4: implement eth driver peripheral

This implements the ethernet (MAC) peripheral of the stm32f4 as a
netdev driver.
boards/stm32f4discovery: add eth configuration
boards/stm32f4discovery: add feature stm32_eth
tests/stm32_eth_lwip: add test application
2019-07-04 15:04:01 +02:00
Hauke Petersen
1744b6bd92
Merge pull request #11559 from PeterKietzmann/pr_nrf5x_hwrng_softdev
cpu/nrf5x_common: map hwrng to SoC library if SoftDevice is present
2019-07-04 14:23:55 +02:00
Jose Alamos
d94d587e5e sx127x: remove DIOMULTI 2019-07-04 14:23:48 +02:00
Martine Lenders
1f857b7988
Merge pull request #11791 from haukepetersen/fix_mqttsn_cliidmaxlen
net/mqttsn: fix client ID length to comply to the standard
2019-07-04 12:15:21 +02:00
PeterKietzmann
7ee9905fa6 cpu/nrf5x_common: map hwrng to SoC library if SoftDevice is present 2019-07-04 12:12:28 +02:00
Gaëtan Harter
c9666b5d23
Merge pull request #11762 from kaspar030/add_termdeps_target
make: add termdeps target
2019-07-04 11:57:34 +02:00
5a62ec9798
Merge pull request #11790 from fjmolinas/pr_fix_wait_for_pending_isr
stm32_common/flash_common: fix _wait_for_pending_isr()
2019-07-04 11:28:50 +02:00
0791174c1f
Merge pull request #11769 from haukepetersen/opt_softdevice_feature
ble/softdevice: add ble_nordic_softdevice feature
2019-07-04 11:23:30 +02:00
2f95d79c5e
Merge pull request #11701 from aabadie/pr/riotboot/stm32l4
boards/stm32l4: add riotboot support
2019-07-04 11:12:49 +02:00
Hauke Petersen
eb50d4704a net/emcute: make cli ID conform to standard 2019-07-04 11:04:22 +02:00
Hauke Petersen
785f59fb7f net/asymcute: make cli ID len conform to standard 2019-07-04 11:03:37 +02:00
Hauke Petersen
16fa111c76 net/mqttsn: add min&max allowed len for client ID 2019-07-04 11:02:45 +02:00
3f984a1128
Merge pull request #11776 from fjmolinas/pr_fix_stm32_flashpage
stm32_common/flashpage: fix stm32l4 erase error
2019-07-04 10:58:56 +02:00
francisco
24ea728007 stm32_common/flashpage: _wait_for_pending_operations() before write 2019-07-04 10:45:41 +02:00
francisco
7f675e9ca9 stm32_common/flash_common: properly clear EOP bit
- EOP bit is cleared by writing 1 to the register.
- Guard EOP bit clear for STM32F2, STM32F4, STM32F7
  and STM32L4 EOP bit is only set if EOPIE is enabled.
  Since this is not the case for any platform we exclude
  it when not needed.
2019-07-04 10:45:41 +02:00
59933d291b
Merge pull request #11758 from fjmolinas/pr_optimize_pm_stm32f
cpu/stm32: optimize stop mode for stm32f*
2019-07-04 10:36:24 +02:00
342f3e87e2
boards/stm32l4: add riotboot support 2019-07-04 10:35:02 +02:00
Hauke Petersen
03153acb1a ble/softdevice: add ble_nordic_softdevice feature
The softdevice is only verified to be working on nrf52832-based
boards. This feature prevents the softdevice from being build for
other, similar targets (e.g. nrf52840-based boards).
2019-07-04 09:22:46 +02:00
Leandro Lanzieri
5492214fbf
Merge pull request #11768 from aabadie/pr/boards/lobaro_lorabox
boards/lobaro-lorabox: add sx1272 radio driver dependency to netdev_default
2019-07-04 09:19:26 +02:00
Kevin "Bear Puncher" Weiss
6176878153
Merge pull request #11786 from miri64/gnrc_tftp/fix/set-dst-port-on-server-init
gnrc_tftp: set port on server init
2019-07-04 08:49:31 +02:00
Martine Lenders
16f0751102
Merge pull request #11745 from miri64/gnrc_ipv6/fix/rm-dangerous-dup
gnrc_ipv6: remove obsolete and harmful reception code
2019-07-03 23:50:06 +02:00
Martine Lenders
0cc4c50919
Merge pull request #11780 from miri64/gnrc_pktbuf/cleanup/rm-duplicate_upto
gnrc_pktbuf: remove gnrc_pktbuf_duplicate_upto
2019-07-03 17:44:08 +02:00
Sebastian Meiling
f6207871a9
Merge pull request #11678 from MichelRottleuthner/pr_fix_sx127x_reset
drivers/sx127x: fix device reset
2019-07-03 17:07:50 +02:00
francisco
1b7a8611d8 cpu/stm32_common: minimize consumption for STM32F1
- With this PR all GPIOs are set as AIN on start up.
2019-07-03 16:50:21 +02:00
fjmolinas
940b80243f cpu/stm32_common: minimize consumption for STM32F0/2/3/4/7
- With this PR, On start up all GPIOs are configured as AIN. For stm32l0/4
  this is done by default. Doing this saves the consumption of the input Schmitt
  trigger in STOP mode which can reduce the consumption in at least 70%
  from current master.
2019-07-03 16:50:21 +02:00
Martine S. Lenders
1c946a1af4 gnrc_tftp: set port on server init 2019-07-03 16:49:43 +02:00
Martine S. Lenders
c31c9ed216 gcoap: allow for retransmission backoff to be turned off 2019-07-03 16:35:48 +02:00
Ken Bannister
3d33400b04
Merge pull request #11779 from miri64/gcoap/doc/rm-req_send2
gcoap: remove all references to `gcoap_req_send2()`
2019-07-03 10:35:27 -04:00
Kevin "Bear Puncher" Weiss
cd6544ebe0
Merge pull request #11778 from miri64/gnrc_tftp/doc/deprecate
gnrc_tftp: add deprecation note
2019-07-03 16:09:39 +02:00
Martine S. Lenders
1bde141697 gcoap: don't call random_uint32_range() when COAP_ACK_VARIANCE=0
`COAP_ACK_VARIANCE` is a configurable macro, so when it is 0, the
[precondition for `random_uint32_range()`][1] is not held.

[1]: https://doc.riot-os.org/group__sys__random.html#gab6ee09e1e56df3cc78acd1fbf97bfb24
2019-07-03 15:45:45 +02:00
Martine S. Lenders
6d56686d44 LOSTANDFOUND.md: document removal of gnrc_pktbuf_duplicate_upto() 2019-07-03 15:37:27 +02:00
Martine S. Lenders
01fc3d8f0b gnrc_tftp: add deprecation note 2019-07-03 15:11:41 +02:00
Martine S. Lenders
b83430aa62 gnrc_pktbuf: remove gnrc_pktbuf_duplicate_upto
The removal of this function was already announced for the 2019.04
release. So it is safe to remove it.
2019-07-03 15:09:18 +02:00
Martine S. Lenders
7e70bf3ac1 cord_epsim: replace gcoap_req_send2() 2019-07-03 15:02:22 +02:00
Martine S. Lenders
0579ef952e cord_ep: replace gcoap_req_send2() 2019-07-03 15:02:15 +02:00
Martine S. Lenders
f1495f839d examples/gcoap: replace gcoap_req_send() 2019-07-03 15:01:50 +02:00
Martine S. Lenders
c9179a26c8 gcoap: replace internal references to gcoap_req_send2()
`gcoap_req_send2()` is deprecated and was replaced with
`gcoap_req_send()`.
2019-07-03 15:00:06 +02:00
Martine Lenders
e8650f5b9a
Merge pull request #11773 from miri64/gnrc_tftp/fix/uninitialized-values
gnrc_tftp: initialize unititialized 'tftp_context_t'
2019-07-03 14:52:46 +02:00
Martine S. Lenders
ea449f3f9e gnrc_ipv6: remove obsolete and harmful reception code
When reworking the reception of IPv6 packets I reset a previously set
`ipv6` snip as follows  when the IPv6 extension handler returns a
packet (see first hunk of this commit):

```C
ipv6 = pkt->next->next
```

With `gnrc_ipv6_ext` this makes *somewhat* sense, `pkt->next` was
previously equal to `ipv6` and after the function call `pkt->next`
is the marked extension header, while `pkt->next->next` is the IPv6
header. However, since `ipv6` is already write-protected i.e.
`ipv6->users == 1` (see ll. 665-675), any additional call of
`gnrc_pktbuf_start_write()` [won't][start-write-doc] duplicate the
packet. In fact, the only `gnrc_pktbuf_start_write()` in
`gnrc_ipv6_ext` is used to send the *result* to the subscribers of that
extension header type, leaving the original packet unchanged for the
caller. As such `ipv6` remains the pointer to the IPv6 header whether
we set it in the line above or not. So we actually don't need that
line.

However, the extension header handling also returns a packet when
`gnrc_ipv6_ext` is not compiled in. In that case it is just a dummy
define that returns the packet you give provide it which means that
this still holds true: `pkt->next == ipv6`.
So setting `ipv6` in this case is actually harmful, as `ipv6` now
points to the NETIF header [following the IPv6 header][pkt-structure]
in the packet and this causes the `user` counter of that NETIF header
`hdr` to be decremented if `hdr->users > 1` in the write-protection I
removed in hunk 2 of this commit:

```C
/* pkt might not be writable yet, if header was given above */
ipv6 = gnrc_pktbuf_start_write(ipv6);
if (ipv6 == NULL) {
    DEBUG("ipv6: unable to get write access to packet: dropping it\n");
    gnrc_pktbuf_release(pkt);
    return;
}
```

But as we already established, `ipv6->users` is already 1, so we don't
actually need the write protection here either.

Since the packet stays unchanged after the `ipv6` snip, we also don't
need to re-search for `netif_hdr` after the other two lines are
removed.

[start-write-doc]: https://doc.riot-os.org/group__net__gnrc__pktbuf.html#ga640418467294ae3d408c109ab27bd617
[pkt-structure]: https://doc.riot-os.org/group__net__gnrc__pkt.html#ga278e783e56a5ee6f1bd7b81077ed82a7
2019-07-03 14:44:03 +02:00
Martine S. Lenders
b8269316e6 tests: add test case for pointer confusion
When subscribing to IPv6 packets on a router for sniffing, the NETIF
header is released prematurely, because of a wrong
`gnrc_pktbuf_start_write()` call. This test aims to reproduce this
error case.
2019-07-03 14:44:03 +02:00
660b375082
tests/pkg_semtech-loramac: don't init mac from main
This application already uses auto_init and semtech_loramac_init is already called from auto_init_loramac
2019-07-03 14:42:26 +02:00
1d7b825122
Merge pull request #11774 from kaspar030/murdock_fast_start
murdock: chunked get_jobs()
2019-07-03 14:23:33 +02:00