Commit graph

11824 commits

Author SHA1 Message Date
Yasuyuki Tanaka 13f18fd842 RPL: update uip_ext_len whenever moving to next header (rpl-ext-header.c) 2016-06-27 20:57:48 +02:00
Yasuyuki Tanaka 5a79bad4b1 RPL: prevent unintended memory access (rpl_remove_header)
When it goes to the default label in the switch statement of
rpl_remove_header(), UIP_EXT_BUF does not always point to an IPv6 extension
header. "Move to next header" process should be done only in case of
UIP_PROTO_DESTO. Otherwise, it returns with doing nothing.
2016-06-27 20:57:48 +02:00
Yasuyuki Tanaka e361c49f14 RPL non-storing: fix a bug causing an infinite loop
It falls into an infinite loop if it goes to the default label in the switch
statement of rpl_srh_get_next_hop() or rpl_process_srh_header().
2016-06-27 20:57:48 +02:00
George Oikonomou 3a105f2141 Disable CC2650_FAST_RADIO_STARTUP by default
`CC2650_FAST_RADIO_STARTUP` is required for TSCH, but it currently breaks ContikiMAC. We set the default value to the one that will work with the default choice of RDC.

Fixes #1744
2016-06-27 17:20:26 +01:00
Arthur Fabre ab1652648e zoul: Add support for flashing to multiple devices
This adds support for flashing to multiple devices, by implementing the
$MOTES option used by the Z1.
This replaces the $PORT interface, as it only allowed flashing to one
device at a time, and the $MOTES interface was still used for other
tasks (such as getting a list of connected devices).

A foreach loop is used to dynamically create an upload rule per device
that needs to be flashed.
The "main" upload rule depends on the device specific ones.
This allows for parallel flashing.

The PORT variable can still be sued for backwards compatibility.

Changed the MOTES variable that makes a $(shell) call to not be
recursively expanded.
2016-06-27 11:23:45 +01:00
Antonio Lignan 108e43b103 Made configuration parameters easily overridable to be consistent with Travis CI tests 2016-06-25 23:17:26 +02: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
George Oikonomou 5a9b493d2b Merge pull request #1743 from alignan/pull/update-cc2538-bsl
Updated cc2538-bsl to version 2.1 (c6100a7)
2016-06-24 23:12:18 +01:00
Antonio Lignan 99822545c5 Added BOARD_STRING to the Z1 platform 2016-06-24 23:58:32 +02:00
Antonio Lignan 0034322fe0 Made configuration parameters easily overridable from project-conf.h (without having to undef first) 2016-06-24 23:54:08 +02:00
Antonio Lignan 1002b7ffee Fixed spacing 2016-06-24 23:36:40 +02:00
Antonio Lignan 442e1be391 Moved project-conf.h inclusion to the top of contiki-conf.h 2016-06-24 23:34:23 +02:00
Antonio Lignan bc8b6cd8ed Updated cc2538-bsl to version 2.1 (c6100a7) 2016-06-24 22:10:39 +02:00
Antonio Lignan f0b19a18a9 Merge pull request #1732 from bthebaudeau/cc2538-flash-conf-fw-coffee
cc2538: Add configuration for firmware location
2016-06-24 18:44:16 +02:00
Simon Duquennoy 54957e4e03 mac-seqno: add a lifetime to sequence numbers in history 2016-06-24 11:23:19 +02:00
kkrentz c28b6fb7ba CC2538: Reboot if the crypto engine fails (error handling is too hard) 2016-06-24 01:50:27 -07:00
Simon Duquennoy beb532e7e8 TSCH: use sequence number only for unicast data frames 2016-06-23 22:36:00 +02: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 8fd7719c07 noncoresec: Fix build errors with DEBUG set to 1
Fix these build errors, which are generated if DEBUG is set to 1:

../../core/net/llsec/noncoresec/noncoresec.c: In function 'parse':
../../core/net/llsec/noncoresec/noncoresec.c:198:54: error: expected ')' before 'PRIu32'
     PRINTF("noncoresec: received unauthentic frame %"PRIu32"\n",
                                                      ^
../../core/net/llsec/noncoresec/noncoresec.c:88:28: note: in definition of macro 'PRINTF'
 #define PRINTF(...) printf(__VA_ARGS__)
                            ^
../../core/net/llsec/noncoresec/noncoresec.c:198:12: warning: spurious trailing '%' in format [-Wformat=]
     PRINTF("noncoresec: received unauthentic frame %"PRIu32"\n",
            ^
../../core/net/llsec/noncoresec/noncoresec.c:88:28: note: in definition of macro 'PRINTF'
 #define PRINTF(...) printf(__VA_ARGS__)
                            ^
../../core/net/llsec/noncoresec/noncoresec.c:198:12: warning: spurious trailing '%' in format [-Wformat=]
     PRINTF("noncoresec: received unauthentic frame %"PRIu32"\n",
            ^
../../core/net/llsec/noncoresec/noncoresec.c:88:28: note: in definition of macro 'PRINTF'
 #define PRINTF(...) printf(__VA_ARGS__)
                            ^
../../core/net/llsec/noncoresec/noncoresec.c:231:54: error: expected ')' before 'PRIu32'
        PRINTF("noncoresec: received replayed frame %"PRIu32"\n",
                                                      ^
../../core/net/llsec/noncoresec/noncoresec.c:88:28: note: in definition of macro 'PRINTF'
 #define PRINTF(...) printf(__VA_ARGS__)
                            ^
../../core/net/llsec/noncoresec/noncoresec.c:231:15: warning: spurious trailing '%' in format [-Wformat=]
        PRINTF("noncoresec: received replayed frame %"PRIu32"\n",
               ^
../../core/net/llsec/noncoresec/noncoresec.c:88:28: note: in definition of macro 'PRINTF'
 #define PRINTF(...) printf(__VA_ARGS__)
                            ^
../../core/net/llsec/noncoresec/noncoresec.c:231:15: warning: spurious trailing '%' in format [-Wformat=]
        PRINTF("noncoresec: received replayed frame %"PRIu32"\n",
               ^
../../core/net/llsec/noncoresec/noncoresec.c:88:28: note: in definition of macro 'PRINTF'
 #define PRINTF(...) printf(__VA_ARGS__)
                            ^

PRIu32 is not defined, so replace it with a standard format directive.

Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau.dev@gmail.com>
2016-06-23 22:10:43 +02:00
Simon Duquennoy f1922c13b6 TSCH: use standard-compliant mac-squence module rather than custom duplicate detection 2016-06-23 18:21:05 +02:00
Yasuyuki Tanaka e5ac3df7e1 Include uip-mcast6.h to refer to UIP_IPV6_MULTICAST 2016-06-20 16:35:09 +02:00
Yasuyuki Tanaka ca3a4726d1 Rename two macros related to multicast, which are not user configuration
- UIP_CONF_IPV6_MULTICAST -> UIP_IPV6_MULTICAST
- RPL_CONF_MULTICAST      -> RPL_WITH_MULTICAST
2016-06-20 16:35:09 +02:00
Yasuyuki Tanaka 704847db04 Fix a typo, UIP_IPV6_CONF_MULTICAST, in a comment with UIP_CONF_IPV6_MULTICAST 2016-06-20 16:35:09 +02:00
Yasuyuki Tanaka b074e5c3e0 Replece UIP_IPV6_MULTICAST_RPL in a comment with RPL_CONF_MULTICAST 2016-06-20 16:35:09 +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
Christian Groessler c26085ec8c Some 6502 target changes
- platform/atarixl/Makefile.atarixl: put two more objects into high memory
- platform/atarixl/contiki-conf.h: define WWW_CONF_WGET_EXEC
- tools/6502/Makefile: add 'clean' target; remove unused CONTIKI define
2016-06-17 16:42:50 +02:00
Nicolas Tsiftes a8989f9f1c Merge pull request #1724 from nvt/coffee-simplify
Coffee: minor enhancements
2016-06-15 18:56:10 +02:00
Antonio Lignan fba37e0131 Merge pull request #1624 from cedric-d/prevent-uip-buffer-overread
Prevent uIP buffer over-read with big UDP packets
2016-06-15 13:08:45 +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 adfeaa5500 Add missing include 2016-06-15 10:31:55 +01:00
George Oikonomou f8864c67fd Add TRNG CCxxware macros 2016-06-15 10:30:17 +01:00
George Oikonomou 5fe95fc425 Merge pull request #1709 from atiselsts/cc26xx_tsch_port
TSCH port for CC26xx
2016-06-15 10:28:58 +01:00
cedric-d 67e0575bd3 Prevent uIP buffer over-read with big UDP packets
When an UDP packet too big to fit in the uIP packet buffer is to be sent, the part fitting in the uIP buffer is copied to it (so no buffer overflow occurs) but uIP actually sends a packet of the original size therefore a buffer over-read occurs.

This modification makes uIP discard the UDP packets that do not fit in the uIP packet buffer.
2016-06-15 10:51:20 +02:00
Simon Duquennoy 872146def0 Merge pull request #1720 from joakimeriksson/rpl_ns_periodic
Fix for compilation with clang - issue reported by Olaf Bergmann
2016-06-15 10:27:58 +02:00
Antonio Lignan fa88122140 Merge pull request #1589 from ibriano/master
Allow creating connections on unspecified local port
2016-06-14 21:30:34 +02:00
Nicolas Tsiftes a06110e5ed Renamed the internal dummy_space variable, since it contains useful information. 2016-06-14 21:08:01 +02:00
Nicolas Tsiftes 5010309005 Make the I/O semantics functionality in Coffee unconditional so that the API becomes consistent across platforms.
Change certain CPP conditionals into C conditionals, which should be possible for the compiler to optimize at runtime. This makes the source code easier to read.
2016-06-14 21:08:00 +02:00
Atis Elsts 6800f9502e Update the list of supported platforms in TSCH README file 2016-06-14 19:47:59 +03: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