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