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

2243 Commits

Author SHA1 Message Date
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
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
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
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
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
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