Commit graph

10532 commits

Author SHA1 Message Date
Jonas Olsson
bad7eb2bc8 Add a very sleepy CC26xx/CC13xx demo
This demonstraties how to combine CC13xx tick suppression, RPL leaf mode and turning off ContikiMAC duty cycling to build an extremely low-consuming firmware.
2015-08-23 20:41:12 +01:00
Jonas Olsson
72b586cb7d Modify cc26xx examples to play nicely with the CC13xx addition 2015-08-23 20:41:11 +01:00
Jonas Olsson
3d19b0036e Add support for SmarfRF06 + CC1310EM
This commit updates the srf06-cc26xx platform by adding support for the CC1310EM.

We generalise the way this platform selects CPU/board so that we can easily add more combinations in the future. These changes have implication on how to build for different devices, so make sure to have a look at the updated README
2015-08-23 19:54:43 +01:00
Jonas Olsson
01e36532c2 Add support for the CC13xx CPU
This commit:

* Moves all cpu files from cpu/cc26xx to cpu/cc26xx-cc13xx
* Bumps the CC26xxware submodule to the latest TI release
* Adds CC13xxware as a submodule
* Adds support for sub-ghz mode / IEEE 802.15.4g
* Splits the driver into multiple files for clarity. We now have the following structure:
  * A common module that handles access to the RF core, interrupts etc
  * A module that takes care of BLE functionality
  * A netstack radio driver for IEEE mode (2.4GHz)
  * A netstack radio driver for PROP mode (sub-ghz - multiple bands)

This commit also adds tick suppression functionality, applicable to all chips of the CC26xx and CC13xx families. Instead waking up on every clock tick simply to increment our software counter, we now only wake up just in time to service the next scheduled etimer. ContikiMAC-triggered wakeups are unaffected.

Laslty, this commit also applies a number of minor changes:
* Addition of missing includes
* Removal of stub functions
* Removal of a woraround for a CC26xxware bug that has now been fixed
2015-08-23 19:54:42 +01:00
Simon Duquennoy
04106a0d53 ND6: make sure the second parameter of uip_ds6_nbr_add is word-aligned, which is required as the parameter is directly accessed as uip_lladdr_t* (not as a byte array) 2015-08-20 17:06:03 +02:00
Ulf Knoblich
bfcea70831 Removed NULLRDC specific stuff from rf configuration as it is not the correct place to define it 2015-08-20 16:00:18 +02:00
Simon Duquennoy
a5e3faca5f Travis: upgrade mspgcc to 4.7.2 2015-08-20 10:09:45 +02:00
Antonio Lignan
6c6a1af70d Merge pull request #1202 from simonduq/fix-travis-icon
Fix Travis icon in README.md
2015-08-19 11:37:02 +02:00
Simon Duquennoy
7e0638b00f Travis icon in README.md: show build status of the current master rather than latest build status (can be any pull request) 2015-08-19 09:21:38 +02:00
Simon Duquennoy
eb0da7dfe9 Updated CONTRIBUTING.md to reflect Contiki's new merging policy 2015-08-18 22:06:56 +02:00
George Oikonomou
63bb46f01b Merge pull request #1174 from bkozak-scanimetrics/cc26xx_fix_read_frame_implementation
Cc26xx fix read frame implementation
2015-08-15 00:44:26 +01:00
Billy Kozak
feec05cdf2 CC26xx - fix misuse of len variable in read_frame
read_frame was misuing the packet length in the following ways:
- returning non-zero even if buf_len is too short for the packet
- truncating the length to buf_len if len is too long then using the
  truncated (i.e. wrong) length to index into the buffer
- memcpying too many bytes (used buf_len instead of real length)

This commit fixes all of this and adds some code to report
on packet length errors (to match with cc2538 driver).
2015-08-14 12:44:55 -06:00
Billy Kozak
ceb24f656e Improved style of read_frame
- moved variable declaration to top of function in accordance with the
  Contiki style guide
- made function flatter, reduced nesting to improve readability
2015-08-14 12:43:34 -06:00
Billy Kozak
547f8e7aaa Fixed race condition with rf cpu in read_frame
Fixed a race condition that could occur in read_frame because the
dataEntry is set to PENDING before we are finished reading from it.
2015-08-14 12:42:10 -06:00
Atis Elsts
b75f673801 RDC phase optimization: correct the behavior in case of memory allocation failure
phase_wait did not check whether queuebuf_new_from_packetbuf() returns NULL. This potentially causes send_packet to behave incorrectly; the proper packet would not be sent out (because queuebuf_to_packetbuf(NULL) is a no-op). Instead, whatever has been left in the packet buffer by its previous user will be sent out.
2015-08-14 16:37:00 +02:00
Oliver Schmidt
902b21a326 Merge pull request #1188 from oliverschmidt/master
Some finishing touch on the CBM retro targets.
2015-08-08 16:33:59 +02:00
Oliver Schmidt
757809196e Some finishing touch on the CBM retro targets. 2015-08-08 15:41:24 +02:00
Antonio Lignan
79e8121f05 Merge pull request #1187 from g-oikonomou/travis/fix-doxygen-ppa
Use a different LibreOffice ppa to install doxygen
2015-08-08 12:15:40 +02:00
George Oikonomou
8f57eb6c21 Use a different LibreOffice ppa to install doxygen
Up to now we were using the LibreOffice 4.3 ppa (ppa:libreoffice/libreoffice-4-4) to install doxygen. The LibreOffice Packaging team appear to have removed this ppa, resulting in our doxygen build failing.

This changes the ppa we use to LibreOffice 4.4.x.
2015-08-08 01:11:34 +01:00
Nicolas Tsiftes
a410f0cd23 Merge pull request #1179 from pablocorbalan/rpl-nbr-state
Changed RPL IPv6 NBR Callback Print Statement
2015-08-06 09:54:20 +02:00
Pablo Corbalán
5db5524b7f Remove unneeded headers in sky-shell-exec 2015-08-04 20:39:09 +01:00
Pablo Corbalán
b1c3e929c5 Remove old unused light drivers 2015-08-04 20:39:09 +01:00
Pablo Corbalán
aa04f8afbf Changed RPL IPv6 NBR Callback print statement 2015-08-04 19:54:32 +01:00
Oliver Schmidt
5f6a672e23 Merge pull request #1184 from oliverschmidt/master
Adjusted retro target clock to "new" DNS resolver.
2015-08-04 15:39:18 +02:00
Oliver Schmidt
ca2552461e Adjusted retro target clock to "new" DNS resolver.
The DNS resolver requires 1/4 sec clock resolution. The retro targets had a 1/2 sec clock resolution (optimized for the 1/2 sec TCP timer) resulting in DNS resolver timeouts being 0. Therefore the retro target clock resolution is now increased to 1/4 sec.
2015-08-04 13:48:08 +02:00
Simon Duquennoy
dc4de9d001 Merge pull request #1161 from g-oikonomou/contrib/contikimac-sw-ack
Implement TX of S/W ACKs with ContikiMAC
2015-08-04 13:15:03 +02:00
Simon Duquennoy
6737e325bf Merge pull request #1181 from feshie/pr-fix-coap-size
Fix default CoAP header block2 size
2015-08-03 17:36:30 +02:00
Simon Duquennoy
bfba83ed16 galois_mul2 conditional-free implementation 2015-08-03 15:13:00 +02:00
George Oikonomou
195ada6668 Merge pull request #1107 from phoenix-frozen/cc2530-rf-const-warning
fix minor warning in cc2530-rf driver
2015-08-03 10:28:43 +01:00
George Oikonomou
cf4e191593 Merge pull request #1172 from tim-ist/tm_fix
[multicast] Do not forward every incoming TM ICMP
2015-08-03 10:26:39 +01:00
George Oikonomou
ca5a4db919 Merge pull request #1173 from bkozak-scanimetrics/cc26xx_enable_bad_crc_debug
CC26xx - Enable RX_NOK on DEBUG builds
2015-08-03 10:22:42 +01:00
Arthur Fabre
5403b2a211 Fix default CoAP header block2 size
When a client sends a CoAP request with no block2 size,
the default one would be set to REST_MAX_CHUNK_SIZE.
However, this is not guaranteed to be a power of 2.
This can lead to clients receiving a bigger payload than expected as
part of the header, and ending up with duplicated content.
Setting the default to COAP_MAX_BLOCK_SIZE,
which is guaranteed to be a power of 2, fixes this.
2015-07-29 16:37:09 +01:00
Nicolas Tsiftes
d5956d5c75 Merge pull request #1160 from g-oikonomou/contrib/contikimac-config
Make ContikiMAC more configurable
2015-07-28 03:20:32 +02:00
George Oikonomou
414890be9e Merge pull request #1178 from jandrieu/patch-1
Clarified that a newline is needed for the echo
2015-07-27 00:19:24 +01:00
Joe Andrieu
e0f72b9545 Clarified that a newline is needed for the echo 2015-07-26 16:17:34 -07:00
Billy Kozak
35919f6836 CC26xx - Enable RX_NOK on DEBUG builds
Enabled the RX_NOK interrupt, if DEBUG or CC26XX_DEBUG_CRC are set
true, for the purpose of monitoring packets with bad CRC
2015-07-20 10:47:06 -06:00
Timofei Istomin
b9aa88b504 [multicast] Do not forward every incoming TM ICMP
The Trickle Multicast ICMP packet handler was not resetting uip_len to zero,
so all incoming TM ICMP packets were forwarded overloading the network.
2015-07-17 20:04:15 +02:00
George Oikonomou
512f9984b6 Merge pull request #1170 from bkozak-scanimetrics/cc26xx_autoflush_bad_crc
CC26xx autoflush bad crc packets
2015-07-16 20:29:50 +01:00
Oliver Schmidt
01251e94c6 Merge pull request #1171 from oliverschmidt/master
Added missing charset abstraction.
2015-07-16 21:03:08 +02:00
Oliver Schmidt
ab6d6498fe Added missing charset abstraction. 2015-07-16 17:55:26 +02:00
Billy Kozak
99d74e949f CC26xx autoflush bad crc packets
Setting bAutoFlushCrc=1 so that the radio co-processor will
automatically drop packets with bad crc.
2015-07-16 08:58:24 -06:00
Arthur Fabre
8739113308 Fix warnings in ContikiMAC
../..//core/net/mac/contikimac/contikimac.c:503:11: warning: variable
‘seqno’ set but not used [-Wunused-but-set-variable]
../..//core/net/mac/contikimac/contikimac.c:496:7: warning: variable
‘len’ set but not used [-Wunused-but-set-variable]

Both of these variables are only used if RDC_CONF_HARDWARE_ACK is not
true.
Their definitions and use have been moved into #ifdef guards so they do
not appear if RDC_CONF_HARDWARE_ACK is set.
2015-07-16 13:49:31 +01:00
George Oikonomou
315f6fe535 Implement TX of S/W ACKs with ContikiMAC 2015-07-12 00:07:33 +01:00
George Oikonomou
503a992887 Make ContikiMAC more configurable
Allow the project / platform to provide values for CCA_SLEEP_TIME and LISTEN_TIME_AFTER_PACKET_DETECTED.

This is useful for sub-ghz operation.

This has been shamelessly stolen from the [Mountain Sensing project](https://github.com/feshie/contiki)

@heliosfa @kmartinez
2015-07-11 23:55:44 +01:00
Oliver Schmidt
ca50a2c6df Merge pull request #1157 from oliverschmidt/master
Allow fixup to be repeated.
2015-07-09 23:31:00 +02:00
Oliver Schmidt
f348f4feb2 Allow fixup to be repeated.
There are scenarios in which it is beneficial to search for an Etherne chip at several i/o locations. To do so the chip initialization is performed at several i/o locations until it succeeds. In order to allow for that operation model the i/o location fixup needs to be repeatable.

Note: This won't work with the RR-Net because the fixup bits overlap with the chip i/o bits.
2015-07-09 22:43:16 +02:00
George Oikonomou
98afdd4d73 Merge pull request #1152 from bkozak-scanimetrics/cc26xx_en_correlator_filt
turned on correlator in radio packet filter
2015-07-08 23:17:58 +01:00
Billy Kozak
b7565f3930 turned on correlator in radio packet filter
Enabling this option seems to greatly improve transciever performance with
Contikimac. This seems to happen because Contikimac CCAs are much less likely
to detect false positives (thus screwing up the CCA sequence).
2015-07-06 16:28:40 -06:00
Oliver Schmidt
e7aba9b9ee Merge pull request #1151 from oliverschmidt/master
Allow to configure Telnetd idle timeout.
2015-07-06 15:05:16 +02:00
Oliver Schmidt
a30e2e0045 Allow to configure Telnetd idle timeout.
The default Telnetd idle timeout of 30 seconds seems somewhat short. Best to have it user-configurable (incl. the option to turn it off with an config value of 0).
2015-07-06 12:25:20 +02:00