Commit graph

1606 commits

Author SHA1 Message Date
Antonio Lignan 1cd39a2621 Merge pull request #1780 from g-oikonomou/bugfix/cc2538/sniffer
Don't flush the CC2538 RF RX FIFO unconditionally
2016-08-12 12:09:12 +02:00
Benoît Thébaudeau ae5205f9e2 doxygen: Fix orphan modules
Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau.dev@gmail.com>
2016-08-10 04:56:15 +02:00
Michael LeMay bde8eb35ae x86, galileo: Fix UART system call authorization initialization
This patch fixes UART system call authorization initialization (when
protection domain support is enabled) to only initialize the system call
entrypoint and authorization data structures once, prior to per-port
setup. Previously, if two UARTs were configured, the setup procedure for
the second UART would erase the system call authorization for the
first (console) UART, resulting in a crash upon the next attempt to
perform console output.
2016-08-04 16:09:44 -07:00
Michael LeMay 31ad67abd7 x86: Support configurable UART baud rate
This patch extends the Intel Quark X1000 SoC UART initialization API to
accept a numeric baud rate specification.
2016-08-03 07:58:51 -07:00
Simon Duquennoy cda89aaaf2 Merge pull request #1217 from tiagoshibata/c64_compilation_fixes
Fixes compilation targeting c64
2016-07-25 14:57:24 +02:00
Sumankumar Panchal 3bb58b7c82 Minor data type correction. 2016-07-22 22:49:49 +05:30
George Oikonomou 568973f6ec Don't flush the CC2538 RF RX FIFO unconditionally
After reading a frame, `read()` checks the status of the RX FIFO:

* If an overflow is detected, the FIFO gets flushed
* If there are more frames in the FIFO, the `cc2538_rf_process` will get polled again in order to read out the next frame.

#1550 changed `read()`, which now performs the above check for non-poll mode, but it then flushes the FIFO unconditionally. Therefore, if there are two or more frames in the FIFO, they will get flushed before the `cc2538_rf_process` has had a chance to read them out. This results in missed frames.

Reproducing this is trivial: Build a CC2538 sniffer and see how it will never show you .15.4 ACK frames. ACK reception completes while `read()` is still streaming the previous captured frame to the host. Upon completion, the FIFO will get flushed and the ACK will get lost.

This pull proposes removing the unconditional flush and reverting to the original logic for non-TSCH operation.

Pinging @thomas-ha here for input regarding poll mode.

This pull sits on top of #1778
2016-07-17 00:24:47 +01:00
Benoît Thébaudeau c05665a16b Merge pull request #1778 from g-oikonomou/contrib/cc2538/rf-driver-code-style
Improve code style of the CC2538 RF driver
2016-07-17 01:22:21 +02:00
George Oikonomou dcad5e7e3f Merge pull request #1727 from g-oikonomou/contrib/cc26xx/trng
Add CC13xx/CC26xx TRNG Support
2016-07-16 23:34:53 +01:00
George Oikonomou 7fdb9849de Remove unnecessary parentheses 2016-07-16 22:35:23 +01:00
Atis Elsts 2fe4b4d5bb CC26xx: enable MCU sleeping while transmitting if and only if not in poll mode 2016-07-16 18:22:20 +01:00
George Oikonomou c359e98bf1 Change mac_timer_init() to static
We also move the function to a different location so we won't have to provide the prototype separately
2016-07-16 17:11:58 +01:00
George Oikonomou 6ef9509dfb Change get_sfd_timestamp() to static
We also move the function to a different location so we won't have to provide the prototype separately
2016-07-16 17:11:57 +01:00
George Oikonomou 833dc89f7c Fix code style 2016-07-16 17:11:57 +01:00
George Oikonomou 0313f9abf1 Merge pull request #1751 from atiselsts/bugfix/cc26xx_etimer_sleep
CC26xx: fix a regression in and refactor LPM code
2016-07-16 14:45:56 +01:00
Antonio Lignan 23a0449a97 Merge pull request #1753 from g-oikonomou/bugfix/cc26xx/missing-include
Add missing include
2016-06-30 22:53:45 +02:00
Atis Elsts b6617f17c5 CC26xx: always request HF crystal oscillator at radio on() 2016-06-29 16:41:33 +03:00
Atis Elsts 9caaf26012 CC26xx: fix a regression in and refactor LPM code 2016-06-29 01:03:06 +03:00
Benoît Thébaudeau 01a533fb75 Merge pull request #1704 from kkrentz/cc2538-aes-fixes
One fix to CC2538 hardware security
2016-06-25 01:30:16 +02:00
Antonio Lignan 6a2d802b9a Merge pull request #1737 from bthebaudeau/cc2538-fix-missing-result-av
cc2538: aes: Fix possibly missing result available status
2016-06-25 00:14:29 +02:00
kkrentz c28b6fb7ba CC2538: Reboot if the crypto engine fails (error handling is too hard) 2016-06-24 01:50:27 -07:00
Benoît Thébaudeau 1da00a482f cc2538: aes: Fix possibly missing result available status
Depending on the use case and on the timings,
aes_auth_crypt_check_status() sometimes never reported an available
result, leading to a deadlock of any protothread waiting for this event,
and to a WDT reset if a protothread was polling it.

This was caused by aes_auth_crypt_start() clearing the result available
interrupt after operations that may rightfully trigger it, leading to a
missed interrupt.

Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau.dev@gmail.com>
2016-06-23 22:25:27 +02:00
Benoît Thébaudeau 8a273a248e cc2538: Add configuration for firmware location
Introduce FLASH_CONF_FW_ADDR and FLASH_CONF_FW_SIZE in order to make it
possible to place the firmware anywhere, regardless of Coffee, and
without having to write a custom linker script. Also, handle the default
values properly in order to fix the link breakage reported by
Arthur Fabre <arthur@arthurfabre.com> with COFFEE_CONF_CUSTOM_PORT.

Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau.dev@gmail.com>
2016-06-19 23:12:02 +02:00
George Oikonomou de18c16c9f Add CC13xx/CC26xx RNG support to the build 2016-06-15 10:32:03 +01:00
George Oikonomou fd9d878e1d Implement random.h API for the CC13xx/CC26xx 2016-06-15 10:32:03 +01:00
George Oikonomou bb4056903c Add CC13xx/CC26xx TRNG driver 2016-06-15 10:32:03 +01:00
George Oikonomou f8864c67fd Add TRNG CCxxware macros 2016-06-15 10:30:17 +01:00
Atis Elsts e233c3f27f cc26xx: change CCA logic to be standard-compatible; change receiving_packet to return true iff sync (SFD) has been seen 2016-06-14 00:54:33 +03:00
Atis Elsts d85667d535 cc26xx: packet queue changes: allow to read packets after radio has been turned off; make pending_packet() return true when there is a packets being received 2016-06-14 00:54:33 +03:00
Atis Elsts 54e4b5f351 cc26xx: allow IEEE 802.15.4 frames with version 2, required for TSCH 2016-06-14 00:54:33 +03:00
Atis Elsts 80aa30c5da cc26xx: add support for RADIO_PARAM_TX_MODE getting and setting and for LAST_RSSI and LAST_LQI reading 2016-06-14 00:54:33 +03:00
Atis Elsts 25c5f0b744 cc26xx: implement support for CC2650_FAST_RADIO_STARTUP 2016-06-14 00:54:33 +03:00
Atis Elsts 97c1cfc3b4 cc26xx: return the expected value 0 from prepare() in ieee and prop mode radio 2016-06-14 00:54:33 +03:00
Atis Elsts e19fbc996e cc26xx: use CMD_IEEE_MOD_FILT to change address filtering instead of fully restarting the radio 2016-06-14 00:54:33 +03:00
Atis Elsts 3a99639294 cc26xx: implement CC2650_FAST_RADIO_STARTUP option, required for TSCH 2016-06-14 00:54:33 +03:00
Atis Elsts a47fb723e4 cc26xx: enable sync between radio timer and RTC, useful for TSCH 2016-06-14 00:54:33 +03:00
Atis Elsts 95b66657aa cc26xx: add TSCH-related rtimer defines 2016-06-14 00:54:32 +03:00
Atis Elsts ac6f8008fd cc26xx: implement poll mode, hardware timestamps, and other minor changes in the IEEE radio driver 2016-06-14 00:54:32 +03:00
George Oikonomou 678f4344d2 Add missing include 2016-06-13 12:04:47 +01:00
Tiago Koji Castro Shibata c2a0f739f7 Compilation targeting c64
Adds some casts required by cc65 compiler and small fixes
2016-06-12 21:16:01 -03:00
Benoît Thébaudeau b655d92aa4 cc2538: Provide SoC information
Add functions providing the SoC revision, SRAM size, and enabled
hardware features, as well as a function printing SoC information.

Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau.dev@gmail.com>
2016-06-11 23:23:38 +02:00
Benoît Thébaudeau b3ea790449 cc2538: sys-ctrl: Provide last reset cause
Add functions providing the last reset cause, one as an integer (ID),
and one as a string.

Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau.dev@gmail.com>
2016-06-11 23:23:38 +02:00
Antonio Lignan ee0b02c819 Merge pull request #1684 from g-oikonomou/contrib/cc26xx/aux-ctrl-and-adc
Add CC13xx/CC26xx AUX controller module, ADC support, ALS driver and example
2016-06-07 14:36:28 +02:00
Antonio Lignan b3faefe602 Merge pull request #1433 from mdlemay/x86-mm
X86 memory management
2016-06-05 13:49:49 +02:00
Oliver Schmidt 0151a7c27e Merge pull request #1706 from oliverschmidt/master
Make use of new cl65 option --print-target-path.
2016-06-03 15:13:08 +02:00
Oliver Schmidt ae0c5f0dd0 Make use of new cl65 option --print-target-path.
The new cl65 option --print-target-path allows to get rid of CC65_HOME altogether.
2016-06-03 13:30:25 +02:00
Simon Duquennoy 26bf33c762 Merge pull request #1550 from thomas-ha/tsch-cc2538-port
Port of TSCH for CC2538
2016-06-02 21:33:55 +02:00
Antonio Lignan 6fc4e2535c Merge pull request #1665 from g-oikonomou/contrib/cc26xx-bsl
Consolidate .upload for all CC26xx/CC13xx boards and add login make target
2016-06-01 23:37:29 +02:00
Antonio Lignan 9e1c378919 Merge pull request #1469 from wbober/nrf52dk-pr
Add support for nRF52 DK platform
2016-06-01 23:11:39 +02:00
Antonio Lignan f065971efc Merge pull request #1619 from simonduq/pr/tsch-rtimer16-fix
Fix bug in TSCH for platforms with 16-bit rtimer
2016-06-01 23:03:50 +02:00