Commit graph

11631 commits

Author SHA1 Message Date
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
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 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
Simon Duquennoy 4fd8f67053 Merge pull request #1715 from sumanpanchal/zoul-tsch
TSCH port for Zolertia ReMote/Zoul.
2016-06-13 09:03:16 +02:00
Sumankumar Panchal 373fda46f7 TSCH port for Zolertia ReMote/Zoul. 2016-06-12 16:37:01 +05:30
George Oikonomou 80e4ca7802 Merge pull request #1718 from bthebaudeau/print-cc2538-info-on-boot
Print CC2538 info on boot
2016-06-12 00:27:31 +01:00
Benoît Thébaudeau 9845973971 cc2538: Print SoC information upon startup
If STARTUP_CONF_VERBOSE is enabled, print SoC information upon startup.

Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau.dev@gmail.com>
2016-06-11 23:23:38 +02: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
Atis Elsts f0fcff2d1a TSCH: declare radio_rx_mode only when HW timestamps are enabled to avoid warnings 2016-06-10 15:04:07 +03:00
Atis Elsts 5b728691ad TSCH: add missing include 2016-06-10 15:04:07 +03:00
Atis Elsts fbb66f9cd5 TSCH: allow to configure channel scanning duration during the join phase 2016-06-10 15:04:07 +03:00
Atis Elsts b57009e564 TSCH: fix signedness in adaptive timesync 2016-06-10 15:04:07 +03:00
Atis Elsts 03d511c2be tsch-slot-operation.c: use ABS() instead of abs() for consistency with the rest of Contiki 2016-06-10 15:04:06 +03:00
Atis Elsts f6967c1f58 read RADIO_PARAM_LAST_RSSI and RADIO_PARAM_LAST_PACKET_TIMESTAMP only after the last packet has been read in TSCH: reading the packet might update these values 2016-06-10 15:04:06 +03:00
Atis Elsts 45510f57fa TSCH: add option to not to turn off radio during active TSCH timeslots 2016-06-10 15:04:06 +03:00
Atis Elsts 723c7e1117 print TSCH clock drift ppm whenever updated 2016-06-10 15:04:06 +03:00
Atis Elsts b3afd65b1d fix a few comments in TSCH 2016-06-10 15:04:06 +03:00
Atis Elsts 0cb222e6e1 add 2-channel TSCH hopping sequence 2016-06-10 15:04:06 +03:00
Nicolas Tsiftes 8e6c6cc45b Merge pull request #1687 from tsparber/fix-rpl-ex-header-len-unit
rpl-ext-header: Use 8-octet unit for HBHO length
2016-06-09 16:28:27 +02:00
Antonio Lignan 092f0e62fe Added generic relay driver for the zoul-based platforms 2016-06-09 15:53:25 +02:00
Tommy Sparber 27cceda1e8
rpl-ext-header: Use 8-octet unit for HBHO length
According to RFC 2460 the length field of the Hop-by-Hop options header
should use a 8-octet unit (multiple of 8 byte).

In a normal configuration the RPL_HOP_BY_HOP_LEN define is 8, so the
current implementation works, but if RPL_HOP_BY_HOP_LEN is a multiple
of 8 the length is not calculated correctly.
2016-06-08 17:37:59 +02:00
Nicolas Tsiftes 10cd17b626 Merge pull request #1508 from simonduq/pr/rpl-non-storing
RPL non storing mode
2016-06-08 16:26:05 +02:00
Simon Duquennoy 535ff25da2 RPL non-storing defensive link update: make sure the topology is loop-free at all times 2016-06-08 14:14:03 +02:00
Simon Duquennoy 819916668e Incorporate latest changes on rpl tests to 23-rpl-non-storing 2016-06-08 14:09:43 +02:00
Simon Duquennoy d5e74b9579 Code style 2016-06-08 14:05:37 +02:00