Commit graph

11153 commits

Author SHA1 Message Date
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
Atis Elsts 765ce0c22f Fix Rime attribute serialization in chameleon-bitopts.c for big endian systems 2015-08-14 16:16:46 +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
Fabien Castanier 49b24e6f53 Modified the parameter name of clock_wait function 2015-08-05 13:59:08 +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
Marco Grella 62c33260bd Modified structure to use a sub-module for platform APIs 2015-07-31 17:11:27 +02: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
Marco Grella 711dd02a9c Improve UART IRQ management. 2015-07-29 12:55:30 +02: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
Marco Grella bb08369b01 Regression tests fixes and Readme update. 2015-07-27 14:08:07 +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
Marco Grella b61152bfa1 I/O libraries 2015-07-24 19:54:05 +02:00
Marco Grella 211d410d86 USE_SUBGHZ_BOARD fix in Makefile.compile-test 2015-07-24 18:19:46 +02:00
Marco Grella b271a4a3c3 Updated README.md 2015-07-24 17:00:32 +02:00
Marco Grella ceff03ab2f Updated README.md 2015-07-24 16:57:34 +02:00
Marco Grella 1116bcca2a Updated README.md 2015-07-24 16:44:19 +02:00
Marco Grella 86f35536a4 Added new stm32nucleo-spirit1 platform 2015-07-24 16:30:10 +02:00
Marco Grella d87f6f67e2 Added new stm32nucleo-spirit1 platform 2015-07-24 16:23:13 +02: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
Benoît Thébaudeau 6b76ead49c enc28j60: Prevent enc28j60_read() from running before init
This is a precaution in case enc28j60-ip64-driver.c is skipped.

Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau.dev@gmail.com>
2015-07-16 21:14:16 +02:00
Benoît Thébaudeau b4c32954a6 enc28j60: Fix workaround for erratum #14
Only odd addresses may be programmed to the ERXRDPT registers, so
initialize them to RX_BUF_END instead of RX_BUF_START.

Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau.dev@gmail.com>
2015-07-16 21:14:15 +02:00
Benoît Thébaudeau 8615b77da0 enc28j60: Print the status vector in case of transmit error
This makes debugging easier.

Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau.dev@gmail.com>
2015-07-16 21:14:15 +02:00
Benoît Thébaudeau 8c6e3e348a enc28j60: Program ETXND after the data packet
Just follow the steps from the data sheet to transmit a packet.

Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau.dev@gmail.com>
2015-07-16 21:14:15 +02:00
Benoît Thébaudeau 15d1b177d6 enc28j60: Use hardware padding for transmissions
There is no reason to use software when a feature is available in
hardware.

Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau.dev@gmail.com>
2015-07-16 21:14:15 +02:00
Benoît Thébaudeau 2cd3eaf310 enc28j60: Implement and use the BFS and BFC commands
The Bit Field Set and Bit Field Clear commands are more efficient than
the Read Control Register + Write Control Register combination, so use
them whenever possible, i.e. for the ETH registers.

Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau.dev@gmail.com>
2015-07-16 21:14:15 +02:00
Benoît Thébaudeau 356d17737c enc28j60: ERXFCON needs to be set only once
Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau.dev@gmail.com>
2015-07-16 21:14:14 +02:00
Benoît Thébaudeau 8a20e7c05c enc28j60: Fix the MAC address configuration comment
The MAADRx register numbering was wrong.

Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau.dev@gmail.com>
2015-07-16 21:14:14 +02:00
Benoît Thébaudeau 31e0c87a6f enc28j60: Do not initialize MAIPGH for full duplex
MAIPGH should be programmed only if half duplex is used.

Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau.dev@gmail.com>
2015-07-16 21:14:14 +02:00
Benoît Thébaudeau 121b066f04 enc28j60: Update the MACON4 configuration comment
This only applies to half duplex, so the actual configuration of MACON4
does not need to be changed.

Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau.dev@gmail.com>
2015-07-16 21:14:14 +02:00
Benoît Thébaudeau 2b08c32528 enc28j60: The MACON2 register is reserved
The register 0x01 in bank 2, named MACON2 in the code, is actually
reserved, so its contents must not be changed.

This register has been marked as reserved from the revision B of the
data sheet in July 2006. The current revision of the data sheet is E,
and it is quite clear about this register.

Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau.dev@gmail.com>
2015-07-16 21:14:14 +02:00