Commit graph

12173 commits

Author SHA1 Message Date
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
27b20b09a3 TSCH: enable adaptive time synchronization by default 2016-06-23 22:39:54 +02:00
Simon Duquennoy
15dc86aeb1 TSCH: reduce keep-alive traffic as we get more accurate drift estimates 2016-06-23 22:39:44 +02: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
ab706a6f33 TSCH: map RPL trickle interval to TSCH EB period 2016-06-23 18:48:01 +02:00
Simon Duquennoy
ee60355c9c TSCH: implement off() 2016-06-23 18:38:12 +02:00
Simon Duquennoy
b1dc8205f0 TSCH: minor logging enhancement 2016-06-23 18:37:42 +02:00
Simon Duquennoy
5a1a8e84d8 TSCH: start scheduling keep-alives only after tsch_is_associated is set 2016-06-23 18:36:04 +02:00
Simon Duquennoy
1acb69e280 TSCH: keep track of Rx channel as packetbuf attribute 2016-06-23 18:35:16 +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
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
Atis Elsts
3ff8aa8ad8 srf06-cc26xx: add node_id variable 2016-06-14 00:54:32 +03:00
Atis Elsts
f99511f494 srf06-cc26xx: add default TSCH configuration for the platform 2016-06-14 00:54:32 +03:00
Simon Duquennoy
30e820ffa5 Merge pull request #1708 from atiselsts/tsch_enhancements
TSCH enhancements
2016-06-13 20:58:02 +02:00
George Oikonomou
4b67e21d2e Merge pull request #1714 from alignan/pull/add-relay
Added generic relay driver for the zoul-based platforms
2016-06-13 19:45:46 +01:00
Joakim Eriksson
7853a7434b fix for compilation with clang - issue reported by Olaf Bergmann 2016-06-13 16:18:16 +02:00
George Oikonomou
678f4344d2 Add missing include 2016-06-13 12:04:47 +01:00