1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2025-01-18 12:52:44 +01:00
Commit Graph

3850 Commits

Author SHA1 Message Date
Bas Stottelaar
7372074223 cpu: efm32: update vendor headers 2018-12-30 23:35:57 +01:00
Timo Rothenpieler
6be81fbd93 esp_now: use custom netif instead of raw one
Avoids parsing IPv6 packets to determine destination address.
Allows using 6Lo over ESP-NOW, which is required due to the low MTU of
ESP-NOW.

Co-authored-by: Gunar Schorcht <gunar@schorcht.net>
2018-12-29 13:15:44 +01:00
Timo Rothenpieler
34c42cbcc2 esp_now: code style amendments 2018-12-28 13:35:46 +01:00
Timo Rothenpieler
a46023a523 esp_now: remove unnecessary ifdef 2018-12-28 13:35:46 +01:00
Martine Lenders
9f0dfb5222 esp_now: fix doxygen groups 2018-12-28 12:14:16 +01:00
Martine Lenders
380d19e9d2
Merge pull request #10660 from aabadie/pr/periph/stm32_lpuart_l496zg
boards/nucleo-l496zg: use lpuart1 as stdio interface
2018-12-27 19:32:17 +01:00
Gunar Schorcht
797a894e40 cpu/esp32: esp_now netdev moved to esp_common 2018-12-27 17:31:34 +01:00
Gunar Schorcht
a352500476 cpu/esp_common: added for common files for ESP SoC 2018-12-27 17:28:46 +01:00
b2c3df3381 cpu/stm32/gpio: power up port G with L4
Co-authored-by: Vincent Dupont <vincent@otakeys.com>
2018-12-27 14:15:25 +01:00
8449324cf8
Merge pull request #10610 from MrKevinWeiss/pr/fix/stmi2c1
cpu/stm_common: Refactor and cleanup i2c_1
2018-12-21 14:55:35 +01:00
Dylan Laduranty
764c7d2cc1
Merge pull request #10069 from fedepell/sam0_flashwrite
sam0 flashpage_write: correct translation from RIOT pages to CPU pages writing
2018-12-21 14:17:20 +01:00
Federico Pellegrin
b8b8ffd163 sam0 flashpage_write: correct assert for last byte of flash + style 2018-12-21 13:11:38 +01:00
Vincent Dupont
5e67986775 cpu/stm32_common/pm: use CPU_LINE for L053-specific code 2018-12-21 11:24:43 +01:00
Vincent Dupont
4aadc1ed39 cpu/stm32l0: make use of CPU_LINE_ 2018-12-21 11:24:43 +01:00
Vincent Dupont
f28e7a9b01 cpu/stm32l0: use STM32_FLASHSIZE to generate FLASHPAGE_NUMOF 2018-12-21 11:18:43 +01:00
Vincent Dupont
1cea9871e0 cpu/stm32f1: remove ErrorStatus enum from vendor header
This enum conflicts with macro definitions from ccn-lite pkg.
2018-12-21 09:17:30 +01:00
Vincent Dupont
8cdc219e50 cpu/stm32f1: make use of CPU_LINE_ 2018-12-21 09:17:30 +01:00
Vincent Dupont
d133baca2c cpu/stm32f1: use STM32_FLASHSIZE to generate FLASHPAGE_NUMOF 2018-12-21 09:17:30 +01:00
MrKevinWeiss
f3b2a62c67 cpu/stm_common: Refactor and cleanup i2c_1
Refactor to use common read_regs.
Add error reporting and handling for unsupported low level commands.
Document hardware constraints.
2018-12-20 18:05:11 +01:00
ab061c4ae2
Merge pull request #10608 from MrKevinWeiss/pr/fix/stmi2c2
cpu/stm_common: Refactor and fix implementation for i2c_2
2018-12-20 13:51:39 +01:00
MrKevinWeiss
a2e059d18a cpu/stm_common: Refactor and fix implementation for i2c_2
Refactors i2c_2 to match the structure of i2c_1 better.
Corrects functionality issues.
Allows the common implementation of read_regs and write_regs.
Documents constraints of hardware.
Matches error messages with API.
2018-12-20 12:01:06 +01:00
Sebastian Meiling
c96021b039
Merge pull request #10637 from aabadie/pr/cpu/stm32_periph_gpio_common
boards*: move periph_gpio and periph_gpio_irq features from boards to cpu for STM32
2018-12-19 13:06:17 +01:00
Leandro Lanzieri
b32da1b13e
Merge pull request #10615 from MrKevinWeiss/pr/debug/init
cpu/stm32_common/uart: Prevent uart from sending if not initialized
2018-12-19 12:14:00 +01:00
Federico Pellegrin
a0054654ee sam0 flashpage_write: fix writes translation from RIOT to CPU pages 2018-12-19 04:54:44 +01:00
da3bb42d18 cpu/stm32_common: define periph_gpio/irq features at cpu level 2018-12-18 21:50:34 +01:00
220d16dc07 cpu/nrf5x: move periph_gpio features to common cpu level 2018-12-18 21:32:46 +01:00
7a6849ca17 cpu/cortexm_common: add riotboot and slot support
RIOTBOOT_SLOT_LEN is calculated as an hexadecimal value and
handles ROM_LEN defined as kilobytes like '512K'

This enables support for all the cortex-m0+/3/4/7 arch,
so most boards embedding these are potentially supported.
One needs just to ensure that the CPU can be initialised
at least twice.

Co-authored-by: Gaëtan Harter <gaetan.harter@fu-berlin.de>
2018-12-18 19:31:35 +01:00
9cfdf6e379 cpu/cortexm_common: introduce cpu_jump_to_image()
This new function allows to jump to another execution
environment (VTOR) located at a certain (aligned) address.
It's used to boot firmwares at another location than
`CPU_FLASH_BASE`.

The user needs to ensure that the CPU using this feature
is able to be initialised at least twice while jumping
to the RIOT `reset_handler_default` function, since it
initialises the CPU again (calls cpu_init()).

Co-authored-by: Kaspar Schleiser <kaspar@schleiser.de>
2018-12-18 19:31:35 +01:00
MrKevinWeiss
96f8438ea2 cpu/stm32_common/uart: Prevent uart from sending if not initialized
Due to the stdio getting called after periph_init the uart may send before initialized.
This adds a simple check so the uart does not get into a locked-up state.
2018-12-18 10:16:50 +01:00
c87f02149e cpu/sam0_common: provide gpio/gpio_irq feature at cpu level 2018-12-17 20:52:48 +01:00
Martine Lenders
a3864aa103
Merge pull request #9158 from aabadie/pr/periph/stm32_lpuart
cpu/stm32-common: add support for lpuart
2018-12-17 12:16:27 +01:00
MrKevinWeiss
d7eb070eb4 cpu/stm32f1: Add remap support for stm32f1 cpus and boards
This commit fixes configuration problems when trying to use i2c pins that need to be remapped.
All B8 and B9 pins for STM32F1 need to be remapped, so a check is done if the remappable pins are selected.
2018-12-14 09:16:37 +01:00
133968ce8a cpu/stm32_common: add support for lpuart 2018-12-13 12:39:00 +01:00
Leandro Lanzieri
0838753dce
Merge pull request #10529 from gschorcht/esp8266_adc_res_fix
cpu/esp8266: fix of adc_res_t
2018-12-06 13:05:31 +01:00
c97bedcd8b cpu/atmega_common: define eeprom clear byte value 2018-12-04 11:24:57 +01:00
Sebastian Meiling
bb20614c7f
Merge pull request #10530 from gschorcht/esp32_adc_res_fix
cpu/esp32: fix of adc_res_t
2018-12-04 09:35:47 +01:00
59ca49374a cpu/nrf51: define flashpage numof for NRF51X22XXAC 2018-12-04 08:37:00 +01:00
655fdae982
Merge pull request #10320 from gebart/kinetis/lpuart-osr-dynamic
kinetis: LPUART: Compute oversampling rate at init
2018-12-03 09:11:13 +01:00
Gunar Schorcht
b3b9f596a4 cpu/esp32: fix of adc_res_t
cpu/esp32/include/periph_cpu.h overrides the default definition of adc_res_t from periph/adc with a definition which contains only four resolution, two new resolutions and two resolutions defined by the default definition of adc_res_t. This gives compilation errors if an application uses other resolutions. According to the documentation, adc_sample should return -1 if the resolution is not supported. All other CPUs override adc_res_t either to add new resolutions or to mark resolutions as unsupported. But they all allow to use them at the interface. Therefore, esp32 overrides now the definition of adc_res_t with all resolutions that are defined by the default definition of adc_res_t and new platform specific resolutions. It returns -1 if a resolution is used in adc_sample that is not supported.
2018-11-30 18:06:51 +01:00
Gunar Schorcht
1865ee9359 cpu/esp8266: fix of adc_res_t
cpu/esp8266/include/periph_cpu.h overrides the default definition of adc_res_t from periph/adc with a definition which contains only one resolution. This gives compilation errorss if an application uses other resolutions. According to the documentation, adc_sample should return -1 if the resolution is not supported. All other CPUs override adc_res_t either to add new resolutions or to mark resolutions as unsupported. But they all allow to use them at the interface. Therefore, esp8266 uses now the default definition of adc_res_t and returns -1 if a solution is used in adc_sample that is not supported.
2018-11-30 17:56:33 +01:00
Kevin "Bear Puncher" Weiss
153759b926
Merge pull request #10498 from smlng/pr/adapt/7542
atmega: add periph_pwm (taken from #7542)
2018-11-29 15:54:51 +01:00
Martine Lenders
f71af3b0ec
Merge pull request #10509 from miri64/esp_now/fix/devtype
esp_now: use NETDEV_TYPE_ESP_NOW as device type
2018-11-29 15:25:21 +01:00
Kevin "Bear Puncher" Weiss
46bdbb6535
Merge pull request #10484 from smlng/pr/atmega/timer
atmega: fix periph timer configuration
2018-11-29 14:28:23 +01:00
Joakim Nohlgård
158a8300c4 kinetis: LPUART: Compute oversampling rate at init
By not forcing a fixed oversampling rate we can achieve better baud rate
accuracy than otherwise possible.
For example, when requesting 115200 with a module clock of 4 MHz,
picking an oversampling rate of 17 (instead of hardware
default 16) yields 117647 baud instead of 125000 baud as the best
matching rate. Better matching baud rate between receiver and
transmitter results in a lower probability of transmission errors.
2018-11-29 14:24:16 +01:00
Martine Lenders
03b91cbcb8 esp_now: use NETDEV_TYPE_ESP_NOW as device type 2018-11-29 13:35:20 +01:00
765de5a78a
Merge pull request #10486 from gebart/kinetis/fopt
kinetis: Allow FOPT settings other than 0xff
2018-11-29 11:23:24 +01:00
smlng
262a04c9cf atmega: fix periph timer configuration
- correct number of timers for atmega328p from 2 to 1
- correct number of timer channels for atmega328p from 3 to 2
- adapt atmega periph timer implementation accordingly
2018-11-29 09:30:44 +01:00
Victor Arino
2ebb187ca9 cpu/atmega-common: PWM implementation
Implementation of PWM with 8-bit timers
2018-11-28 16:00:54 +01:00
Victor Arino
01420152de cpu/atmega-common: add maps for 8-bit timers 2018-11-28 15:58:58 +01:00
Gunar Schorcht
061e32bad0
Merge pull request #10460 from gschorcht/esp32_fix_baslibs
cpu/esp32: fixes LINKFLAGS in Makfile.include
2018-11-28 15:49:25 +01:00
Sebastian Meiling
4eaf1d8135
Merge pull request #10384 from bergzand/pr/netdev/ref_nid
netdev_ieee802154/radios: refactor PAN ID reset to generic ieee802154 reset
2018-11-28 12:15:45 +01:00
7ed3f80989
zep: Remove PAN ID initialization from reset 2018-11-28 11:31:02 +01:00
da0866a6a0
cc2538_rf: Remove PAN ID initialization from reset 2018-11-28 11:31:02 +01:00
Gunar Schorcht
0c289a8f31 cpu/esp32: fixes LINKFLAGS in Makefile.include
removes the duplicate entry of -lg in LINKFLAGS
2018-11-28 10:44:54 +01:00
Joakim Nohlgård
870385530d kinetis: Allow override of FOPT setting in fcfield.c 2018-11-28 00:21:35 +01:00
Joakim Nohlgård
d63672798e kinetis: Allow FOPT settings other than 0xff
These bits configure some early boot options and may be necessary to
use on certain boards to ensure a robust boot sequence.
2018-11-27 16:00:42 +01:00
Hauke Petersen
ac50b4a052
Merge pull request #10243 from aabadie/pr/board/common_nrf51
boards/common: add common place for nrf51 based boards
2018-11-26 10:07:31 +01:00
Martine Lenders
7a8469f1aa
Merge pull request #10426 from bergzand/pr/cc2538_rf/undedup_channel
cc2538_rf: Don't use netdev_ieee802154_t for channel
2018-11-25 13:26:57 +01:00
897044623a
cc2538_rf: Don't propagate channel to 802154 layer 2018-11-25 10:38:13 +01:00
40b4af1905
cc2538_rf: Add NETOPT_CHANNEL to getters 2018-11-25 10:38:08 +01:00
Gunar Schorcht
9bba4b9aa5 cpu/esp32: fixes LINKFLAGS in Makfile.include
This commit adds the ESP32 vendor libraries for WLAN to the BASELIBS variable. This avoids having to define an additional archive group in the LINKGFLAGS variable which contains these vendor libraries and again RIOT module archive files with the symbols that are refered by these vendor libraries.
2018-11-23 18:04:19 +01:00
Martine Lenders
3771e6a2c4
Merge pull request #10425 from bergzand/pr/cc2538_rf/undedup_address
cc2538_rf: Don't use netdev_ieee802154_t for link layer address
2018-11-22 12:45:52 +01:00
Gunar Schorcht
54492ef4d9
Merge pull request #10451 from leandrolanzieri/pr/esp8266/i2c_buses_array
cpu/esp8266: Fix i2c buses array #ifdef
2018-11-22 10:21:11 +01:00
MichelRottleuthner
1be4d15a4e
Merge pull request #10390 from PeterKietzmann/pr_mega2560_puf_seed
cpu/atmega_common: add mega2560 puf_sram feature
2018-11-22 09:57:19 +01:00
Leandro Lanzieri
566ef9f117 cpu/esp8266: Fix i2c buses array definition 2018-11-22 08:09:35 +01:00
Juan I Carrano
68d68d18b4
Merge pull request #10362 from gschorcht/esp32_compile_fix
cpu/esp32: fixes compile problems
2018-11-21 14:18:15 +01:00
PeterKietzmann
8d11ca417f cpu/atmega_common: add mega2560 puf_sram feature 2018-11-20 09:45:32 +01:00
MichelRottleuthner
e0e02c04c8
Merge pull request #10386 from PeterKietzmann/pr_puf_variables_move
sys/puf_sram: CPU specific variable allocation
2018-11-20 09:21:25 +01:00
PeterKietzmann
0be350e352 sys/puf_sram: CPU specific attributes for variables 2018-11-20 08:34:53 +01:00
Gunar Schorcht
2a7c33bdf6 cpu/esp32: fixes compile problems 2018-11-20 00:49:33 +01:00
08dd9a1df8
cc2538_rf: Don't propagate address to 802154 layer 2018-11-17 22:38:18 +01:00
ffe6aed83e
cc2538_rf: Add NETOPT_ADDRESS{,_LONG} to getters 2018-11-17 22:38:17 +01:00
Semjon Kerner
ee3ef1927d cpu/nrf5x: fix event hang 2018-11-14 12:48:32 +01:00
Schorcht
16f0bf4fdc cpu/esp32: fixes compile problems 2018-11-10 14:14:49 +01:00
f3fa8b5ecd
Merge pull request #8558 from gebart/pr/kinetis-gpio-interrupt
kinetis: Optimize GPIO interrupt handler
2018-11-08 22:27:38 +01:00
Joakim Nohlgård
8bb73f237d kinetis: GPIO: avoid dup calls to cortexm_isr_end on KW41Z
Devices with combined IRQs would call the cortexm_isr_end handler twice
when it is part of the irq_handler routine.
2018-11-08 14:52:10 +01:00
Joakim Nohlgård
b9ceac5ccc kinetis: Optimize GPIO IRQ handler
Measurements show that the time from pin edge until return from
interrupt is reduced from 22 us to 6.1 us for KW41Z running at
41.94 MHz. The measurements used a no-op GPIO callback for testing and
were measured using an external logic analyzer.
2018-11-08 14:52:10 +01:00
Semjon Kerner
1e9c0b8d21 cpu/nrf51: update vendor headers 2018-11-08 14:09:41 +01:00
Semjon Kerner
d8a30eeedf cpu/nrf52: update vendor headers 2018-11-08 14:09:33 +01:00
José Alamos
296356fe4e
Merge pull request #10325 from gschorcht/esp32_doxygen_fix
cpu/esp32: doxygen fix for periph/gpio
2018-11-05 14:58:32 +01:00
Gunar Schorcht
100a4c666e cpu/esp32: doxygen fix
Removes architecture specific includes from documentation of module  Peripheral Driver Interface / GPIO.
2018-11-05 11:27:00 +01:00
Gunar Schorcht
ffd69868c6 cpu/esp8266: doxygen fix
Removes architecture specific includes from documentation of module  Peripheral Driver Interface / GPIO.
2018-11-05 11:23:40 +01:00
Francisco Acosta
b2fc9b197e cpu/atmega*: remove unnecessary code (already factored out)
cpu.c and startup.c were redundant in most platforms, except for
atmega256rfr2. The common code is now in cpu/atmega_common/cpu.c
and cpu/atmega_common/startup.c. cpu_conf.h is also removed as
it's now in cpu/atmega_common/include thus shared by all atmega
based platforms.
2018-11-02 16:23:48 +01:00
Francisco Acosta
4f28407af8 cpu/atmega_common: use the same cpu_conf for all atmega based boards
Removes redundancy of code since all the boards were defining
the same variables. Moreover, the stack sizes are unified per
architecture, as required.
2018-11-02 16:23:48 +01:00
Francisco Acosta
feac98cc97 cpu/atmega_common: add cpu.c and startup.c common code
Removes duplicated code for atmega platforms. They were all
basically the same, only with the exception of atmegarfr2,
for which there is an #if statement to use the code in the
same file.
2018-11-02 16:23:47 +01:00
Francisco Acosta
0d95cc877b
Merge pull request #10273 from snej/master
cpu/esp32: allow explicit ESP32 crystal freq configuration
2018-11-01 14:04:57 +01:00
Jens Alfke
ce1fe776cf cpu/esp32: allow explicit ESP32 crystal freq configuration
Some ESP32 boards (like my SparkFun ESP32 Thing) have a main clock
crystal that runs at 26MHz, not 40MHz. RIOT appears to assume 40MHz.
The mismatch causes the UART to not sync properly, resulting in
garbage written to the terminal instead of log output.

I’ve added:

* A new board configuration constant ESP32_XTAL_FREQ that defaults
  to 40, but can be overridden by a board def or at build time to
  force a specific value (i.e. 26).
* Some code spliced into system_clk_init() to check this constant and
  call rtc_clk_init() to set the correct frequency.
* A copy of the rtf_clk_init() function from the ESP-IDF sources.

Fixes #10272
2018-10-30 16:42:07 -07:00
c71c27cf5c cpu/nrf51: add gpio to features provided 2018-10-27 09:47:42 +02:00
MrKevinWeiss
3e1fd9f494 cpu/stm32_common/i2c: Fix error handling in i2c_1.c
Errors flags could not clear making the i2c unusable after error.
This fix removes the error check in start so the error flags can clear and does proper checking for status bits before _bus_check.
2018-10-26 09:56:35 +02:00
Juan I Carrano
4d85bcf510
Merge pull request #10062 from cladmi/pr/make/cpu/fe310/features
cpu/fe310: rtc depend on the rtt feature and hifive1 update
2018-10-23 13:28:17 +02:00
Kevin "Bear Puncher" Weiss
cb09092c0b
Merge pull request #10125 from gschorcht/esp8266_cpu_freq
cpu/esp8266: cpu frequency settings feature added
2018-10-19 14:53:45 +02:00
Schorcht
0d796d6eec cpu/esp8266: cpu frequency settings 2018-10-19 13:08:32 +02:00
Hauke Petersen
86b4a41466
Merge pull request #10158 from silkeh/fix-nrf5x-gpio
nrf5x_common: gpio: fix port 1 functionality
2018-10-17 17:17:46 +02:00
Kevin "Bear Puncher" Weiss
0628345364
Merge pull request #10093 from aabadie/pr/drivers/periph_eeprom_refactor
drivers/periph_eeprom: refactor implementation and test application
2018-10-16 16:30:40 +02:00
Kevin "Bear Puncher" Weiss
7187bbf8cf
Merge pull request #9426 from gschorcht/esp32
ESP32 port
2018-10-16 15:24:25 +02:00
Semjon Kerner
5b0152f4f7 drivers/netdev_ieee802154: drop NETOPT_MAX_PKT_SIZE 2018-10-16 13:28:03 +02:00
e9a6ebc409 cpu: drivers/eeprom: refactor periph_eeprom implementation 2018-10-16 10:39:10 +02:00
Peter Kietzmann
b2c791c6cb
Merge pull request #10135 from miri64/cpu/enh/periph-gpio-irq-closing-endif
cpu, periph_gpio: mark closing #endif for MODULE_PERIPH_GPIO_IRQ
2018-10-15 13:41:02 +02:00
Gunar Schorcht
5ef7adfbcb cpu/esp32: fix problem with tests/thread_race
The problem seemed to be a pipelining problem of write and read instructions when swapping the context. An isync instruction when returning from a context switch solves the potential pipelining problem.
2018-10-14 15:08:31 +02:00
Gunar Schorcht
df1b6521f4 cpu/esp32: fixes the problem with tests/pthread_*
Reason for the problem was that tast_exit function in thread_arch.c tried to release the thread a second time although it was already released in sched_task_exit. A simple check whether the thread is already released (sched_active_thread == NULL) solved the problem.
2018-10-14 13:55:43 +02:00