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

2341 Commits

Author SHA1 Message Date
Peter Kietzmann
108832d6fb Merge pull request #5912 from haukepetersen/fix_sam0_periphcpu
cpu/sam21_common: remove unused defines
2016-10-06 08:57:05 +02:00
Hauke Petersen
b2d996034f cpu/sam21_common: remove unused defines 2016-10-05 15:18:39 +02:00
Hauke Petersen
d3e41e7b58 cpu/sam21: removed superfluous gpio_init_sercom
This function was a duplication of the existing gpio_init_mux,
where the exiting function is the more general one, as the mux
inititalization is not only valid for the sercom module...
2016-10-05 13:19:52 +02:00
Kees Bakker
bac5cda1e3 periph/i2c: convert char to uint8_t where applicapable
In general, data transferred through I2C are bytes and thus should have
type uint8_t, not char.

Also convert uint8_t ptrs to void ptrs
2016-10-04 20:26:39 +02:00
68acc8857e boards/arduino-zero: add initial support 2016-10-04 18:34:51 +02:00
Jeff Bortolotti
488723b394 cpu: cortexm_common: Remove useless path when setting default value for LINKER_SCRIPT 2016-10-03 23:19:00 +02:00
Martine Lenders
536aec648b Merge pull request #5895 from jfbortolotti/nRF52_linker
cpu: cortexm_common: allow overriding of linker script
2016-10-03 16:04:27 +02:00
Peter Kietzmann
d1c3233242 Merge pull request #5892 from gebart/pr/kinetis-gpio-include
kinetis: Add stddef, stdint missing includes for gpio.c
2016-09-30 08:33:20 +02:00
Jeff Bortolotti
92e533de74 cpu: cortexm_common: allow overriding of linker script 2016-09-29 23:56:47 +02:00
f2c5314643 Merge pull request #5860 from keestux/add-sodaq-autonomo
boards: add sodaq autonomo
2016-09-29 22:00:38 +02:00
Joakim Nohlgård
1a2b2575fb kinetis: Add stddef, stdint missing includes for gpio.c 2016-09-29 15:47:53 +02:00
Peter Kietzmann
d33786d0c7 Merge pull request #5706 from aabadie/nucleo_f446
boards: initial support of ST Nucleo f446
2016-09-29 13:25:45 +02:00
Kees Bakker
076d5bda11 boards: add support for SODAQ Autonomo
The following features were tested (briefly):
* UART (the first)
* I2C using a BMP180 on a SODAQ TPH board
* SPI0, connected to the on-board serial data flash (only DevID was read
using the periph_spi test program)
* xtimer is working (it's the same code as in samr21)

boards/sodaq-autonomo: Disable the "big" unittests because it does not fit
2016-09-28 18:02:16 +02:00
Kees Bakker
6aa346fbad cpu/sam21_common: some corrections to CMSIS samd21 include files
See README.md for details
* eliminate trailing white space
* remove define of LITTLE_ENDIAN
2016-09-28 18:01:12 +02:00
Kees Bakker
3123b501b5 cpu/sam21_common: add samd21 include files from ASF CMSIS
This adds support for all samd21 variants. Notice that the previous samd21
was moved to cpu/samr21

To use this cpu variant you must set at least the following in your boards
Makefile.include:
    export CPU = samd21
    export CPU_MODEL = samd21j18a   # Not sure if this is used
    CFLAGS += -D__SAMD21J18A__  # or whatever variant you have

The samd21 include files were copied from ASF 3.30
2016-09-28 18:01:12 +02:00
b50ab2f46e cpu/stm32f4: adding support for stm32f446re cpu 2016-09-28 17:00:56 +02:00
Martine Lenders
ff2f9983f0 Merge pull request #5880 from OlegHahm/fix_debug_newlines
debug: add missing line breaks
2016-09-28 15:21:28 +02:00
Peter Kietzmann
4fa4626c15 Merge pull request #5861 from hamilton-mote/fix-samr21e
cpu/sam21_common: support SAMR21E18
2016-09-28 09:25:39 +02:00
Oleg Hahm
b428979a1d debug: add missing line breaks 2016-09-27 23:38:41 +02:00
Peter Kietzmann
f7056cf976 Merge pull request #5868 from immesys/patch-1
samd21: spi: fix power regression
2016-09-27 21:25:44 +02:00
smlng
77250f89a3 cc2538: disable l2 ack recv irq 2016-09-27 15:04:39 +02:00
Michael Andersen
68f9916ab6 samd21: spi: fix power regression
The MISO pin cannot be left floating as it increases power consumption
2016-09-26 19:59:51 -07:00
Peter Kietzmann
436ff13c1c Merge pull request #5804 from aeneby/no_mutex_lock
cpu/cc2538: Remove superfluous mutex lock
2016-09-26 10:46:39 +02:00
Oleg Hahm
63615157ef Merge pull request #5819 from makomi/stm32l1
cpu/stm32l1: uart: suppress cppcheck nullPointer errors
2016-09-23 20:15:50 +02:00
Oleg Hahm
797ab580c8 Merge pull request #5818 from makomi/stm32f3
cpu/stm32f3: uart: suppress cppcheck nullPointer errors
2016-09-23 20:13:29 +02:00
Oleg Hahm
50215e9b5d Merge pull request #5817 from makomi/stm32f0
cpu/stm32f0: uart: suppress cppcheck nullPointer errors
2016-09-23 19:50:31 +02:00
Oleg Hahm
ed3aa6c46e Merge pull request #5835 from mali/timer
cpu/atmega_common: fix timer_set_absolute return code
2016-09-23 19:35:22 +02:00
Michael Andersen
41190ac2a8 cpu/sam21_common: support SAMR21E18 2016-09-22 16:24:09 -07:00
0e45604765 Merge pull request #5743 from keestux/refactor-samd21
Refactor samd21
2016-09-22 14:54:57 +02:00
b2b42c7b71 Merge pull request #5451 from mali/uno
boards: add arduino uno and duemilanove support
2016-09-22 09:29:49 +02:00
Ludwig Knüpfer
6d30ced410 Merge pull request #5763 from jthacker/avr_thread_arch_isr_stack_usage
atmega: use software interrupt for context swap
2016-09-21 21:13:05 +02:00
Kees Bakker
d367090c44 cpu/sam21_common: remove define of LITTLE_ENDIAN
This define conflicts with LITTLE_ENDIAN defined in
include/machine/endian.h which is part of gcc-arm-none-eabi.

Also, the define does not seem to be used by the ASF included files.
2016-09-21 20:44:38 +02:00
Kees Bakker
e118525731 cpu/sam21_common: add C++ wrapper to sam0.h 2016-09-21 20:40:49 +02:00
Kees Bakker
1b307b3802 cpu/sam21_common: eliminate trailing white space in CMSIS include files 2016-09-21 20:40:28 +02:00
Kees Bakker
ea8b90fa5f cpu/samd21: uart: now using padd setting from board config
Notice the extra fields in uart_conf_t for rx_pad and tx_pad.
2016-09-21 20:34:22 +02:00
Kees Bakker
845ef0decd cpu/samd21: Refactor spi using ArduinoCore as example
The pinmux is now part of the board config. The pad setting is done with
clear names instead of numbers.
2016-09-21 20:34:22 +02:00
Kees Bakker
f794bd4c8e cpu/samd21: spi: change #ifdef's to #if's
The board config can define SPI_1_EN as 0, and in that case #ifdef won't
work.

Add some more comments, and fix typos.
2016-09-21 20:34:22 +02:00
Kees Bakker
574b565e2a cpu/samd21: add helper functions spi_power_on/off 2016-09-21 20:34:22 +02:00
Kees Bakker
2a4655b6f8 cpu/samd21: rewrite i2c_init_master to make use of gpio_init_sercom
The former i2c_init_master was too complicated. It was trying to set IN/OUT
mode of the pins, but all that is needed is to set the proper MUX.

Also the configuration for the boards was incomplete (no MUX, no pad
setting).

It was tested on a SODAQ Autonomo, but not on a samr21-xpro
2016-09-21 20:34:22 +02:00
Kees Bakker
be1113fa6c cpu/sam21_common: move i2c.c from samd21 to sam21_common
Notice that saml21 does not use I2C (yet).
2016-09-21 20:34:22 +02:00
Kees Bakker
4ad3313ae5 cpu/sam21_common: add a few typedefs for SERCOM
A generic function is added to initialize a SERCOM.

Notice that uart_conf_t was expanded with pad settings, but it isn't used
yet.
2016-09-21 20:34:21 +02:00
Kees Bakker
8644b5f7a0 cpu/samd21: introduce sam0.h so that we can select samr21.h or other
In the Makefile.include of the board it is required to set the correct
define.

Currently only SAMRG18A is supported, as required by samr21-xpro.
2016-09-21 19:43:30 +02:00
Kees Bakker
88e84f68ff cpu/sam21_common: update ASF CMSIS (samr21) include files using ASF 3.21
Notice that RIOT was using FDPLL96M, which is indeed the name in the
datasheet. But Atmel is using GCLK_GENCTRL_SRC_FDPLL.
2016-09-21 19:43:30 +02:00
Kees Bakker
2869d7729d cpu/samr21: rename ASF include files to prepare for ASF update 2016-09-21 19:43:30 +02:00
Joakim Nohlgård
6be334b4f4 Merge pull request #5833 from immesys/fix-i2c-checks
samd21: i2c: check all busstate bits
2016-09-20 10:06:40 +02:00
Michael Andersen
e367ab93f6 samd21: i2c: improve busstate comparison 2016-09-19 10:54:17 -07:00
Matthias Kolja Miehl
c5cfacebc3 cpu/stm32l1: uart: make sure 'dev' is != NULL to avoid nullPointer errors 2016-09-13 22:22:48 +02:00
Martine Lenders
8a74475e70 Merge pull request #5761 from mali/rmdeadcode
boards/atmega_common: remove dead code on link
2016-09-12 17:01:15 +02:00
Martine Lenders
03fbe9c2a5 Merge pull request #5766 from zhuoshuguo/fix_cpu_atmega_header_include_guards
fix cpu/atmega header include guardes.
2016-09-12 17:00:56 +02:00
Matthias Kolja Miehl
0bb7050c60 cpu/stm32f3: uart: make sure that 'port' and 'dev' are !=NULL
This fixes some cppcheck nullPointer errors.
2016-09-11 17:19:59 +02:00
Matthias Kolja Miehl
2ba795eb81 cpu/stm32f0: uart: make sure that 'port' and 'dev' are !=NULL
This fixes some cppcheck nullPointer errors.
2016-09-11 16:56:35 +02:00
Laurent Navet
4c9c3ab7d6 cpu/atmega_common: fix timer_set_absolute return code
according to timer documentation, timer_set and timer_set_absolute should
return 1 on succes, not 0.
2016-09-10 00:12:39 +02:00
Michael Andersen
082d8e85a9 samd21: i2c: clear timeout_counter
If not cleared, long writes timeout incorrectly
2016-09-07 18:21:38 -07:00
Jon Thacker
e0365e0bf9 atmega: use software interrupt for context swap
Fixes #5745
For AVR based boards, three defines must be defined AVR_CONTEXT_SWAP_INIT,
AVR_CONTEXT_SWAP_INTERRUPT_VECT, and AVR_CONTEXT_SWAP_TRIGGER.
These defines are used to trigger a software interrupt used for context
switching.

When AVR_CONTEXT_SWAP_INTERRUPT_VECT is handled, the scheduler is run
and a context swap will happen if necessary, with the resulting thread
starting following the reti instruction. This results in threads running
at normal priority instead of at interrupt priority.

Atmega devices do provide a pure software interrupt. The method used
here for waspmote-pro and arduino-mega2560 is to use pin change
interrupts, set the pin to act as an output, and toggle the value to
simulate a software interrupt. The main limitation here is that a
physical pin is now occupied and must be defined for each board
supported by RIOT. On the plus side, it provides an easy method for
detecting context swaps with an oscilloscope.
2016-09-07 14:35:53 -05:00
Aaron Sowry
2ba43d560f cpu/cc2538: Remove superfluous mutex lock 2016-09-04 20:51:51 +12:00
Oleg Hahm
908f5489b6 Merge pull request #5653 from aeneby/rssi_lqi_fix_v2
cpu/cc2538: Make ED and LQI values 802.15.4 compliant
2016-09-04 10:27:02 +02:00
Laurent Navet
3f0e1862a8 cpu/atmega328p: add atmega328p mcu support
add atmega328p support with:
uart, timer, spi and gpio
2016-09-02 22:26:19 +02:00
Shuguo Zhuo
db3a349a51 cpu/atmega: revised header include guards. 2016-09-01 18:32:17 +02:00
26e4004de4 Merge pull request #5397 from OTAkeys/pr/stm32f2xx
cpu: add stm32f2xx family support (based on #4497)
2016-08-31 21:14:37 +02:00
kYc0o
5e3747ea8b Merge pull request #5590 from mali/atmega_common
cpu/atmega_common: improve to add smaller atmega MCUs.
2016-08-31 18:29:53 +02:00
BytesGalore
c34e9d268c Merge pull request #5785 from x3ro/fix-mci-driver-timer-issue
lpc2387: Fix wrong factor in driver poll-timer
2016-08-30 21:09:17 +02:00
Peter Kietzmann
28638bea92 Merge pull request #5725 from aeneby/tx_underrun_fix
cpu/cc2538: wait for ongoing transmission before flushing TX FIFO
2016-08-30 21:07:14 +02:00
Lucas Jenss
1cf1f59ca9 lpc2378: Fix wrong factor in driver poll-timer
Fixes #4530
2016-08-30 19:59:34 +02:00
Joakim Nohlgård
455fb6cd4d Merge pull request #5742 from kaspar030/fix_lto
LTO fixes
2016-08-29 19:00:09 +02:00
d1198b489d cpu: k60: rename vector.c -> vectors.c, add to SRC_NOLTO 2016-08-29 17:29:53 +02:00
76fc7a56c9 cpu: kw2x: rename vector.c -> vectors.c, add to SRC_NOLTO 2016-08-29 17:29:45 +02:00
5ab97fe38b cpu: build cortexm vectors.c without LTO 2016-08-29 13:30:17 +02:00
5a03f08f91 cpu: cortexm_common: compile thread_arch.c without LTO 2016-08-29 13:30:17 +02:00
0bd2805b0c cpu: cortexm_common: explicitly define isr_pendsv and isr_svc 2016-08-29 13:30:17 +02:00
Aaron Sowry
5f71cc82fb cpu/cc2538: wait for ongoing transmission before flushing TX FIFO 2016-08-25 21:25:11 +12:00
Jon Thacker
0cc65db1b2 cpu/atmega_common: Add support for double speed baud generator
* Add support for U2X switch to double transmission speed
* Provides lower error rates when needed
* Add support for static baud rate calculation, reduces computation by 10x
* adds support for statically enabling double speed baud
2016-08-20 08:49:30 -05:00
Laurent Navet
eed73beaa1 cpu/atmega_common: prepare for atmega328p inclusion
use generic avr/libc definition for conditionnal compilation.
eg: use #ifdef(PORTG) or #ifdef(TIMER_0_ISRC) instead of #ifdef(Atmega328p)
This is more generic and simplify future boards support.
2016-08-20 12:23:48 +02:00
Laurent Navet
2cd918a07a atmega_common: abstract Power Reduction Register
PR Register is PRR0 on atmega2560 and atmega1281
but PRR on atmega328p.
this abstracts as atmega Power Reduction Register as MEGA_PRR.
2016-08-20 12:21:32 +02:00
Laurent Navet
31029daaab boards/atmega_common: remove dead code on link
Don't include unused functions and data in binary.
2016-08-18 22:08:55 +02:00
Ian Martin
abae801105 cpu/cc2538/periph/timer overhaul. support 16-bit and 32-bit modes 2016-08-16 15:07:26 -04:00
Joakim Nohlgård
8947a3c49c cpu/kinetis_common: Add debugging messages to i2c driver 2016-08-10 19:40:39 +02:00
Joakim Nohlgård
5f313898bf cpu/lpc1768: Add __attribute__((used)) to interrupt vector 2016-08-10 16:18:29 +02:00
Joakim Nohlgård
16469543db cpu/x86/x86_interrupts.c: Add __attribute__((used)) to isr functions 2016-08-10 16:18:29 +02:00
Joakim Nohlgård
37eece1961 cpu/atmega2560/startup.c: Add __attribute__((used)) to init functions 2016-08-10 16:18:29 +02:00
Joakim Nohlgård
6d90267d40 cpu/cortexm_common: Use gcc-ar when building with LTO
gcc-ar is a wrapper supplied by gcc for properly handling thin LTO objects.
2016-08-10 16:18:28 +02:00
Peter Kietzmann
5c8236217e Merge pull request #5720 from lebrush/stm32f4-uncrustify-periph_cpu
cpu/stm32f4: uncrustify periph_cpu
2016-08-09 11:06:27 +02:00
Martine Lenders
f1b519de70 Merge pull request #5713 from basilfx/bugfix/msp430_linker
boards: msp430: garbage collect dead code when linking.
2016-08-05 14:19:58 +02:00
Martine Lenders
16cae9771f Merge pull request #5613 from OTAkeys/pr/async_read_cb_args
cpu/native: add args to async_read callback
2016-08-05 14:17:18 +02:00
Martine Lenders
e055a644fa Merge pull request #5175 from antoinefaure/entry_point_gdb
cpu: cortex_common: Add entry point in ldscript to tell gdb where to start
2016-08-05 14:13:03 +02:00
Victor Arino
411f7c9585 cpu/stm32f4: uncrustify periph_cpu 2016-08-03 15:04:32 +02:00
Martine Lenders
bd2429f299 cpu: drivers: adapt devices for netdev2 parameter type change 2016-08-03 12:30:51 +02:00
Bas Stottelaar
7cf1c46d2e boards: msp430-common: remove dead code when linking. 2016-08-01 18:35:21 +02:00
Kees Bakker
ac3683b09f cpu/samd21:i2c: the wait for SYNCBUSY must come after enable or disable
The power on/off code is refactored somewhat.
2016-07-28 22:01:12 +02:00
Kees Bakker
64cc7c63c8 cpu/samd21/periph/i2c: power off did enable instead of disable 2016-07-28 21:33:28 +02:00
Ludwig Knüpfer
05d4b2f8fa cpu/native: fix thread_stack_init
The pointer arithmetic for the calculation of the context storage was off
due to the change of the stack's pointer type from unsigned int to char.
Fix offset calculation by not adjusting for unsigned int width anymore.
2016-07-26 20:07:08 +02:00
Ludwig Knüpfer
d639f0b9a3 cpu/native: rewrite cpu_print_last_instruction
circumvent assembly by using a GCC/LLVM builtin
2016-07-26 12:44:43 +02:00
Jason Tran
4136b95930 cpu/cc2538: fix debug statements 2016-07-25 18:35:05 -07:00
Aaron Sowry
66b36397b6 cpu/cc2538: Enable CRC checking of received packets (#5654) 2016-07-25 12:34:44 -04:00
Antoine Faure
31e675b359 cpu: cortex_common: Add entry point to tell gdb where to start 2016-07-23 13:27:47 +02:00
kYc0o
51a4fee948 Merge pull request #5574 from PeterKietzmann/msp430_gpio_fix
cpu/msp430: initialize gpio as input OR output
2016-07-22 15:55:43 +02:00
Joakim Nohlgård
5cd91bc784 cortexm: Hard fault: Try to output as much as possible even with corrupt stack 2016-07-20 13:25:23 +02:00
kYc0o
91410f5259 Merge pull request #5626 from aabadie/default_channel
makefiles: expose a single DEFAULT_CHANNEL variable
2016-07-18 14:26:24 +02:00
Aaron Sowry
105c31925f cpu/cc2538: Make ED and LQI values 802.15.4 compliant 2016-07-17 09:45:47 +12:00
Martine Lenders
4ac7d81420 Merge pull request #5634 from kaspar030/nordic_softdevice
nrf52dk: add BLE/6lo support utilizing Nordic's SoftDevice
2016-07-16 16:57:29 +02:00
Aaron Sowry
a301c37c2e cpu/cc2538: Remove union names from structs
Make the unions anonymous, since this makes referencing
their bytes much simpler.
2016-07-16 12:55:12 +12:00