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

4110 Commits

Author SHA1 Message Date
Vincent Dupont
749b291273 cpu/stm32_common: fix rtt registers access 2019-03-27 16:43:00 +01:00
Kevin "Bear Puncher" Weiss
f7ff74f30d
Merge pull request #11279 from fjmolinas/stm32_common_i2c_DEVELHELP
stm32_common/i2c_2: fix unused *i2c when no DEVELHELP
2019-03-27 11:42:48 +01:00
francisco
1a583844b8 stm32_common/i2c_2: fix unused *i2c when no DEVELHELP 2019-03-27 11:28:54 +01:00
Michel Rottleuthner
4b9866b289 cpu/stm32f103: add workaround to make gpio B4 usable as output pin
->> by default the pin B4 is used as SWJRST. This remaps the pin when it is initialized with gpio_init.
currently its only enabled for stm32f104rb
2019-03-26 21:43:35 +01:00
Kevin "Bear Puncher" Weiss
14d17b6ec1
Merge pull request #11276 from gschorcht/cpu/esp32/periph/uart/cleanup
cpu/esp32: periph uart cleanups
2019-03-26 18:48:43 +01:00
Gunar Schorcht
c0f50104b9 cpu/esp32: GPIO init order for UART RX/TX changed
The GPIO for RX has to be initialized as input before the GPIO for TX can be initialized as output. Otherwise it could lead to creash if RX GPIO was used as output before.
2019-03-26 16:16:49 +01:00
1286b18ca9
sam0_common: Fix syntax mistake in usbdev driver 2019-03-26 16:09:03 +01:00
emmanuelsearch
61c793aa4c cpu/cortexm_common: Add image_baseaddr support for Cortex-M23 2019-03-26 11:46:00 +01:00
d7804823db
sam0_common: Add USB peripheral driver 2019-03-26 10:26:11 +01:00
Gunar Schorcht
b42106e738 cpu/esp32: required uart_set_baudrate changes
Function uart_set_baudrate which is only used internally was made static and renamed to _uart_set_baudrate to indicate that it is an internal function. Furthermore, an additional waiting for flushed TX FIFO added. The reconfiguration is now handled as critical section.
2019-03-26 09:57:44 +01:00
Gunar Schorcht
f5da4a1c9f cpu/esp32: internal uart int handler made static
The interrupt handler is only used internally and declared to be static.
2019-03-26 09:57:44 +01:00
Gunar Schorcht
9378888be6 cpu/esp32: some uart_* funcs moved inside the file
For consistency reasons, external functions were moved to the section of external functions.
2019-03-26 09:57:44 +01:00
Gunar Schorcht
de64d2e384 cpu/esp32: _uart_config function moved
For consistency reasons, internal function _uart_config was moved to the section of internal functions.
2019-03-26 09:57:44 +01:00
Gunar Schorcht
ec44ee7fb8 cpu/esp32: additional _ removed from __uart_*
An additional _ for static symbols has been added by mistake and should be removed. This will make future merging with the reimplementation of ESP8266 easier.
2019-03-26 08:14:00 +01:00
Kevin "Bear Puncher" Weiss
d660888150
Merge pull request #11082 from OTAkeys/pr/stm32_i2c_2_restart_error
cpu/stm32_common/i2c_2: reset i2c when timeout during start condition
2019-03-25 13:20:11 +01:00
Vincent Dupont
dc5f58dcc8 cpu/stm32_common/i2c_2: reset i2c when timeout during start condition 2019-03-25 12:48:06 +01:00
MrKevinWeiss
2e37add109 cpu/stm32_common: Fix i2c_2 NACK stopping twice
There is an error when the start byte NACKs
The nack sets the stop bit twice which keeps the stop bit high the next time
When the stop bit is high it creates a timeout when trying to use
This commit fixes so when a NACK occures on the address it doesn't stop twice
2019-03-25 12:19:31 +01:00
Semjon Kerner
253cf0f9fc
Merge pull request #11176 from bergzand/pr/nrf802154/undef_memcpy
nrf802154: don't call memcpy if iolist->iol_len==0
2019-03-25 08:09:59 +01:00
Emmanuel Baccelli
1859d03a5a
Merge pull request #11249 from dylad/pr/saml1x_waitstate
cpu/saml1x: set wait state according to datasheet
2019-03-24 23:40:51 +01:00
1f937cedb7
Merge pull request #11141 from fjmolinas/stm32l0_bootloader
stm32l0: add riotboot support
2019-03-24 10:48:48 +01:00
dylad
82aa6c0280 cpu/saml1x: set wait state according to datasheet 2019-03-24 10:43:40 +01:00
10b783d82c
Merge pull request #11211 from aabadie/cpu_stm32f3_cpu
cpu/stm32: add STOP and STANDBY low-power for stm32f3, unify for all stm32
2019-03-23 20:59:22 +01:00
e089b1eb02
cpu/kinetis: define ROM_LEN with a non arithmetic value
It must be evaluated in `cortexm_common` without a shell context.
The `K` is correctly handled by both the linker and `cortexm_common`.

Co-authored-by: Gaëtan Harter <gaetan.harter@fu-berlin.de>
2019-03-23 12:14:21 +01:00
b4bb144006
nrf802154: don't call memcpy if iolist->iol_len==0 2019-03-22 19:00:53 +01:00
d6fb676814
stm32l0/pm: clear wakeup flags when setting STOP mode. 2019-03-21 19:42:08 +01:00
2e0a818502
cpu/stm32: all stm32 families now provide pm support 2019-03-21 19:39:16 +01:00
738af9da51
cpu/stm32_common: add low-power modes for stm32f3 2019-03-21 19:39:16 +01:00
3fc8a13ddd
cpu/stm32f7: use pm_layered module 2019-03-21 19:39:16 +01:00
84f9f63ab8
cpu/stm32_common: implement low-power modes for F7 2019-03-21 19:39:16 +01:00
d5c1d2fdc4
cpu/stm32l4: use pm_layered module 2019-03-21 19:39:15 +01:00
679fee7f9c
cpu/stm32_common: implement low-power modes for L4 2019-03-21 19:39:15 +01:00
Marian Buschsieweke
569427b741
cpu/msp430fxyz: Add missing #include 2019-03-21 16:49:03 +01:00
francisco
57d0787311 cpu/stm32l0: define CPU_FLASH_BASE 2019-03-21 15:07:08 +01:00
Juan I Carrano
c391ed4109
Merge pull request #10943 from gschorcht/cpu/mps430_common_heap
cpu/msp430_common: set top of heap for sbrk
2019-03-21 11:44:35 +01:00
Federico Pellegrin
5faafac092 sam0 flashpage RWWEE flash support 2019-03-21 04:27:41 +01:00
Martine Lenders
4ee4625f39
Merge pull request #10357 from jcarrano/posix_headers-module
sys/posix: make posix module provide only headers.
2019-03-20 14:07:12 +01:00
Juan Carrano
6b766c3cd3 sys/posix: make posix module provide only headers.
The build system contains several instances of
 INCLUDES += -I$(RIOTBASE)/sys/posix/include

This is bypassing the module management system, by directly accesing
headers without depending on a module. The module is the posix module.

That line is also added when one of the posix_* modules is requested.

According to the docs, the posix module provides headers only, but in
reality there is also inet.c.

This patch:

- Moves `inet.c` into `posix_inet`, leaving `posix` as a headers-only
  module.
- Rename `posix` as `posix_headers` to make it clear the module only
  includes headers.
- Makes `posix_*` modules depend on `posix_headers`, thus removing the
  explicit `INCLUDES+=...` in `sys/Makefile.include`.
- Ocurrences of `INCLUDES+=...` are replaced by an explicit dependency
  on `posix_headers`.
2019-03-20 12:57:13 +01:00
d7b3091abc
Merge pull request #9521 from OTAkeys/pr/stm32f0_pm
cpu/stm32f0: add periph_pm support
2019-03-19 18:26:00 +01:00
Vincent Dupont
7590d528b8 cpu/stm32f0: add pm_layered support 2019-03-19 17:53:12 +01:00
Vincent Dupont
e83f27140a cpu/stm32_common: refactor pm implementation 2019-03-19 17:51:19 +01:00
Kevin "Bear Puncher" Weiss
005275a1e9
Merge pull request #11205 from yegorich/pr/uart/stm32/fix-data-bits
cpu/stm32_common: use correct data bits macro
2019-03-19 10:17:56 +01:00
ca5b5a6d0f
samd21: Expose numerical PM states 2019-03-18 13:44:26 +01:00
Yegor Yefremov
ca8f74a0b0 cpu/stm32_common: use correct data bits macro
USART_CR1_M combines both USART_CR1_M0 and USART_CR1_M1 macros
affecting bits 12 and 28 on 7 data bits capable UARTs. Whereas
for other UARTs USART_CR1_M macro affects only bit 12.

This patch fixes wrong data bits usage on 7 data bits capable
UARTs with using USART_CR1_M0 macro for modes 8-E-x and 8-O-x.

It also simplifies bits unsetting as USART_CR1_M macro clears
all data bits related bits for both UART types.

Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
2019-03-17 18:58:34 +01:00
658fb0651e
nrf802154: Disable hardware IFS handling 2019-03-15 13:39:09 +01:00
de2f193da3
nrf802154: Fix timer behaviour of the IFS timer
The timer_clear function doesn't clear the hardware timer counter, but
is designed to clear the allocation of the channel. The consequence is
that the IFS timer here is not set to zero in the callback, but only
stopped at the current value. When the timer is started again, it has to
count the full timer range until it matches the timeout value again.

This commit fixes this issue by using timer_set instead of
timer_set_absolute. This way the current timer value (when the timer is
stopped) is read and the IFS timeout value is added to the current timer
value.
2019-03-15 13:39:09 +01:00
8c4760050e
nrf802154: Change timer frequency to match symbols rate
ieee802.15.4 specifies 40 symbols as LIFS value and 12 symbols as SIFS
value. Furthermore, the 2.4Ghz DSSS mode has a symbol rate of
62.5Ksymbols/s. To have the LIFS and SIFS in the code match the timings
from the specification, the TIMER_FREQ must match the symbol rate of
62.5Ksymbol/s such that one tick of the timer equals one symbol in time.
2019-03-15 13:38:32 +01:00
Semjon Kerner
6c84b4126f
Merge pull request #11138 from bergzand/pr/nrf802154/fix_fcs_lifs
nrf802154: take FCS into account for lifs/sifs calculation
2019-03-15 13:10:39 +01:00
Martine Lenders
eff3b5ec28 nrf52/radio: remove redundant message queue definition
Now that `GNRC_NETIF_MSG_QUEUE_SIZE` is set to 16 by default, this
command-line provided define is redundant.
2019-03-15 12:09:39 +01:00
Semjon Kerner
6d3b625f3f
Merge pull request #11133 from bergzand/pr/nrf802154/radio_info
nrf802154: Add rssi/lqi to received frames
2019-03-15 11:46:17 +01:00
Gunar Schorcht
5a782fe3b5 cpu/esp_common: esp_now doesn't call memcpy if iol_len is 0 2019-03-14 17:08:18 +01:00
Gunar Schorcht
06c59784b5 cpu/esp32: esp_eth doesn't call memcpy if iol_len is 0 2019-03-14 16:57:26 +01:00
Gunar Schorcht
ad57337c4e cpu/esp32: esp_wifi doesn't call memcpy if iol_len is 0 2019-03-14 16:11:24 +01:00
Francisco Acosta
de720730f6
Merge pull request #11127 from bergzand/pr/nrf52/ref_ldscripts
nrf52: use cortexm.ld script when applicable
2019-03-13 19:41:13 +01:00
Juan I Carrano
4af354852b
Merge pull request #11170 from haukepetersen/fix_nrf52840_dmafromrom
cpu/nrf52840: fix UART DMA when data is in ROM
2019-03-13 14:30:20 +01:00
Gunar Schorcht
55f433103b cpu/msp430_common: set top of heap for sbrk
Set __heap_end to current SP before entering thread mode to make the remaining RAM available as heap for module oneway_malloc.
2019-03-13 13:30:56 +01:00
Hauke Petersen
91057de140 cpu/nrf52840: fix UART DMA when data is in ROM 2019-03-13 13:05:36 +01:00
3163b8d6e2
nrf52: use cortexm.ld script when applicable
The common linker script is not used when the nordic_softdevice_ble is
included
2019-03-13 11:57:44 +01:00
francisco
e254235265 cpu/stm32_common: set ULP and regulator LP during stop/standby 2019-03-13 09:57:21 +01:00
francisco
4dda8abecb cpu/stm32l1: add support for STOP & STAND_BY mode 2019-03-13 09:57:17 +01:00
francisco
78c77c497a cpu/stm32_common: remove WKUP2 pin enable 2019-03-12 16:34:44 +01:00
b650f355c7
nrf802154: Add rssi/lqi to received frames
LQI calculation following the instructions from the datasheet. RSSI
calculation appears to only require the offset and not the scaling
factor
2019-03-12 15:11:13 +01:00
Juan I Carrano
b50ad9ed4c
Merge pull request #11040 from kaspar030/fix_hifive1_reset
boards/hifive1: fix hifive1 reset
2019-03-12 14:59:36 +01:00
847dc3d55c cpu/fe310: implement pm_reset() using watchdog 2019-03-12 11:49:02 +01:00
Gilles DOFFE
90f819eee2 cpu/native: return 0 if GPIO is an output in gpio_init
If the GPIO is in an output state, gpio_init() can return 0 without bad
consequences.
-1 was return until now.

Signed-off-by: Gilles DOFFE <g.doffe@gmail.com>
2019-03-11 01:44:22 +01:00
Gilles DOFFE
dc8a44ce14 cpu/native: correct emails in header
Signed-off-by: Gilles DOFFE <g.doffe@gmail.com>
2019-03-11 01:44:22 +01:00
Gilles DOFFE
1da6a03f09 cpu/native: add pwm implementation
Simulate PWM signals with a 2 dimensions array.

Signed-off-by: Gilles DOFFE <g.doffe@gmail.com>
2019-03-11 01:44:22 +01:00
a142286d8d
cpu/nrf5x_common: add temperature periph driver 2019-03-08 21:14:21 +01:00
14a5e4924b
nrf802154: take FCS into account for lifs/sifs calculation 2019-03-07 20:26:39 +01:00
Sebastian Meiling
b98fdac01e
Merge pull request #9917 from gschorcht/esp8266
cpu/esp8266: esp-now network device support
2019-03-06 20:28:39 +01:00
7b9181ea6f
Merge pull request #11072 from benpicco/samd21_pm
samd21: enable idle modes
2019-03-06 13:55:08 +01:00
francisco
31e256734c cpu/stm32l0: fix CPU_ARCH definition from cortex-m0 to cortex-m0plus 2019-03-06 09:10:56 +01:00
Gunar Schorcht
00ac8ea69a cpu/esp8266: add init function in dummy lwIP
Calling the initialization function ensures that the dummy lwIP library is used instead of the real lwIP, even if the esp_wifi module for esp8266 is not used.
2019-03-05 16:43:45 +01:00
Gunar Schorcht
0ffc26919f cpu/esp_common: fix multicast version of esp_now 2019-03-05 16:43:45 +01:00
Gunar Schorcht
226e854a28 cpu/esp8266: doc fixes
The documentation had to be changed due to the relation of module `esp_now` to `esp_wifi` module. In addition, a number of corrections have been made. In the case of documentation, it is impossible to do this in various commits.
2019-03-05 16:43:45 +01:00
Gunar Schorcht
3d2df7114f cpu/esp8266: doc restructured for esp_now_netdev 2019-03-05 16:43:45 +01:00
Gunar Schorcht
cd1bd3811c cpu/esp8266: makefile support for esp_now_netdev 2019-03-05 16:43:45 +01:00
Gunar Schorcht
b6d15565be cpu/esp8266: macros required by esp_now_netdev 2019-03-05 16:43:45 +01:00
Gunar Schorcht
7c5e3a5ca2 cpu/esp: doc of esp_now_netdev changed for esp8266 2019-03-05 16:43:45 +01:00
Gunar Schorcht
84c23a1695 cpu/esp: support of esp_now_netdev for esp8266 2019-03-05 16:43:45 +01:00
Gunar Schorcht
0ddddcb13e cpu/esp: esp_now_params style fixes 2019-03-05 16:43:45 +01:00
Hauke Petersen
824fcf3c9d cpu/nrf52/nrf802154: unify address generation 2019-03-04 17:12:06 +01:00
Semjon Kerner
91787dcb5c cpu/nrf52: add 802.15.4 radio driver 2019-03-04 13:21:47 +01:00
Benjamin Valentin
5b0e427a52 samd21: enable idle modes
tested on samr21-xpro, UART and 802.15.4 still work as before, but
current draw drops from 12mA to 8mA.
2019-02-27 11:20:49 +01:00
1bc82c2378 cpu/fe310: periph/timer: reset counter in timer_init() 2019-02-21 11:34:59 +01:00
Marian Buschsieweke
646a7b79c8
cpu/nrf5x_common: Use NETOPT_MAX_DPU_SIZE
Updated nrfmin to use NETOPT_MAX_DPU_SIZE instead of the deprecated
NETOPT_MAX_PACKET_SIZE
2019-02-18 20:18:52 +01:00
Marian Buschsieweke
7a05fc09f3
cpu/esp_common: Use NETOPT_MAX_PDU_SIZE
Updated esp_now to use NETOPT_MAX_PDU_SIZE instead of the deprecated
NETOPT_MAX_PACKET_SIZE.
2019-02-18 20:18:50 +01:00
Gunar Schorcht
8e03e692ed cpu/esp8266: modified ld file for non-SDK version
Introduction of LoadStoreError handler requires new .UserExceptionTrampoline.tex section in ld script.
2019-02-10 13:55:42 +01:00
Gunar Schorcht
cda45fad8f cpu/esp8266: move most rodata sections to IROM
Usually, all .rodata sections are placed in RAM by the Espressif SDK since IROM (flash) access requires 32-bit word aligned reads. thanks to the LoadStoreError exception handler from esp-open-rtos which is used now in RIOT-OS, it is also possible to place .rodata sections in IROM (flash) to save RAM resources.
2019-02-09 20:04:15 +01:00
Gunar Schorcht
5201cd2c71 cpu/esp8266: add LoadStoreError exception handler
Usually, the access to the IROM (flash) memory requires 32-bit word aligned reads. Attempts to access data in the IROM (flash) memory less than 32 bits in size triggers a LoadStoreError exception. With the exception handler from esp-open-rtos it becomes possible to access data in IROM (flash) with a size of less than 32 bits and thus to place .rodata sections in the IROM (flash).
2019-02-09 17:48:40 +01:00
ZetaR60
1f9e1857f7
Merge pull request #9130 from kYc0o/cpu/atmega/unify_stacks
atmega: refactor cpu/board code and build/flash variables
2019-02-08 18:07:22 -05:00
Gunar Schorcht
f4a9f5a0d6 cpu/esp8266: netstats removed from esp_wifi 2019-02-07 15:44:04 +01:00
Sebastian Meiling
6037fa2536
Merge pull request #9666 from OYTIS/s9kea-pr1
kinetis: add support for S9KEAZ128
2019-02-07 11:44:36 +02:00
Yegor Yefremov
97d0851de1 cpu/stm32_common: fix UART documentation
Don't include overridden typedefs into doxygen as otherwise,
they'll appear twice.

Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
2019-02-06 12:46:27 +01:00
Sebastian Meiling
3e5658d407
Merge pull request #10662 from gschorcht/esp32_gpio_fix
cpu/esp32: GPIO macro cleanup in periph_cpu.h
2019-02-05 22:23:09 +02:00
Francisco Acosta
2bdcdddd76 cpu/atmega*: make use of common atmega.inc.mk and remove redundancies
Everything is now defined in atmega.inc.mk, following the common
RIOT-like reusability of rules and variables (e.g. cortexm.inc.mk).
2019-02-05 17:12:03 +01:00
5a35e6e109
Merge pull request #10825 from maribu/fe310_periph_init
cpu/fe310: Add call to periph_init()
2019-02-05 13:12:45 +01:00
Gunar Schorcht
ecb26526df cpu/atmega_common: make RAM available as heap
Fills __malloc_heap_end with the current SP before it enters thread mode to make the remaining RAM available as a heap.
2019-02-05 02:19:58 +01:00
Vincent Dupont
2b6d0757f9 cpu/stm32_common: fix DMA releasing in UART driver 2019-02-04 14:26:39 -08:00
Martine Lenders
7220b66708
Merge pull request #10936 from miri64/sam0_common/fix/check-adc-numof
sam0_common: check ADC_NUMOF on adc_init()
2019-02-04 16:41:41 +01:00
Kees Bakker
458c95a854
Merge pull request #10914 from keestux/describe-saml1x-source
cpu/sam0_common: update README for SAML1x addition
2019-02-04 16:29:15 +01:00