Commit graph

11520 commits

Author SHA1 Message Date
Simon Duquennoy 79c436ac03 rpl_verify_header: sanity-check 'sender' before updating rank 2015-11-16 11:15:36 +01:00
George Oikonomou 571cf9364a Improve CC13xx/CC26xx LPM logic
This commit applies a number of improvements to the logic used when trying to drop to a CC13xx/CC26xx low-power mode:

* We identify whether there are any pending etimers by using `etimer_pending()` instead of `etimer_next_expiration_time()`. This subsequently allows us to also identify whether an etimer is set to fire at time 0.
* We run a larger portion of the code with the global interrupt disabled. This prevents a number of messy conditions that can occur if an interrupt fires after we have started the low-power sequence.
* We check whether there are pending events earlier in the sequence.
* We make sure to schedule a next wakeup event even when an LPM module prohibits deep sleep and forces sleep instead.

This fixes some of the issues discussed in #1236
2015-11-14 02:48:46 +01:00
George Oikonomou 08fddb6598 Always set a valid time for the next AON RTC CH1 compare event
The AON RTC CH1 event handler aims to schedule the next compare event on the next 512 RTC counter boundary. However, the current calculation of "now" takes place too early within the interrupt handler. In some cases, this results in the next event getting scheduled too soon in the future or on some extreme cases even in the past.

AON RTC compare events cannot happen within 2 SCLK_LF cycles after a clearance (4 RTC ticks in the 16.16 format). Thus, if the next 512 boundary is too soon (5 ticks for margin), we skip it altogether. When this happens, etimers that would have expired on the skipped tick will expire 1 tick later instead. Skipping a tick has no negative impact on our s/w clock counter, since this is always derived directly from the hardware counter.
2015-11-14 02:44:04 +01:00
George Oikonomou b4393e861f Only set CC13xx prop mode channel if a new channel is being requested 2015-11-14 01:38:24 +01:00
George Oikonomou 320a753666 Turn CC13xx RF back off after prop TX if it was off to start with 2015-11-14 01:38:24 +01:00
George Oikonomou e0e20aa3fd Turn off ENERGEST_TYPE_LISTEN in CC13xx prop mode off() 2015-11-14 01:38:24 +01:00
Marco Grella 7e7c201c40 Updated radio parameters (in the submodule repo), to have more radio range. 2015-11-11 18:50:38 +01:00
Marco Grella 267d51acee Modified radio parameters to increase communication range. 2015-11-11 13:53:58 +01:00
Marco Grella 527903ee10 Added default BOARD value to let regression tests compile for any platform. 2015-11-11 13:48:38 +01:00
Marco Grella 41f9ca08e2 Merge with updated master. 2015-11-11 13:42:35 +01:00
Nicolas Tsiftes a161dc2959 Merge pull request #1365 from simonduq/pr/warning-free-no-frag
sicslowpan.c: warning-free compilation even with fragmentation disabled
2015-11-11 13:24:14 +01:00
Simon Duquennoy 586f4a4ae3 sicslowpan.c: warning-free compilation even with fragmentation disabled 2015-11-11 11:46:18 +01:00
Simon Duquennoy 729c4f9cf1 Merge pull request #1364 from simonduq/pr/last-warnings
Last compiler warnings
2015-11-10 15:50:11 +01:00
Simon Duquennoy b5141f165c www.c: Explicitly declare itoa as it is non-standard and not necessarily in stdlib.h 2015-11-10 14:38:22 +01:00
Simon Duquennoy 4c52b87ac1 Ported jn516x slip-bridge to new uip_fallback_interface 2015-11-10 09:30:36 +01:00
Simon Duquennoy dacef46b03 wget.c: replace deprecated gets with safe fgets 2015-11-10 09:09:31 +01:00
Simon Duquennoy fbd78a7e3b Merge pull request #1293 from simonduq/pr/fix-warnings
Fix a number of compiler warnings and enable -Werror in Travis
2015-11-10 08:49:11 +01:00
George Oikonomou 59fc38543e Merge pull request #1362 from JelmerT/bugfix/cc26xx_readme
Small correction to cc26xx readme
2015-11-09 09:10:51 +00:00
Jelmer Tiete 7b4a9c8410 Small correction to cc26xx readme, code block in list was not propperly indented 2015-11-09 01:01:21 -08:00
George Oikonomou a63efe947f Merge pull request #1233 from adamdunkels/pr/26xx-13xx-fixes
CC26xx/CC13xx fixes
2015-11-09 08:33:58 +00:00
Oliver Schmidt 70dce80932 Merge pull request #1355 from oliverschmidt/master
Several minor adjustments.
2015-11-04 20:31:59 +01:00
George Oikonomou 3aa4547327 Merge pull request #1257 from bkozak-scanimetrics/cc26xx_fully_turnoff_radio
CC26xx - fully shutdown the rf-core & abort rx op
2015-11-04 15:45:05 +00:00
Oliver Schmidt 8e9da827c0 Several minor adjustments. 2015-11-03 22:09:24 +01:00
Tommy Sparber 0e0bf33d31 uIP Stats: Count sent ICMP6 packets
The sent ICMP6 packets (for example from RPL) are currently
not counted towards the sum of sent ip and icmp packets.

Is there any reason behind this or is it just a bug?
Looking at the code I found no side effects of adding these two lines.

Debug output:
```
uip_stat.ip .recv 10 .sent 23 .forwared 0 .drop 0
uip_stat.icmp .recv 10 .sent 11 .drop 0
uip_stat.udp .recv 0 .sent 12 .drop 0
```
(Sum of ip.sent matches icmp.sent and udp.sent)
2015-11-03 15:10:22 +11:00
Nicolas Tsiftes 139f427458 Merge pull request #1337 from tsparber/pr-ccittcrc-crlf
CCITT_CRC.java Change line endings from CRLF to LF
2015-11-02 14:00:51 +01:00
Nicolas Tsiftes 2e07e1fc48 Merge pull request #1329 from tsparber/serialdump-fix-warnings
Fix serialdump.c warnings (clang)
2015-11-02 13:59:21 +01:00
Andreas Urke 857d69a338 Remove stray stars in comments 2015-11-02 13:23:40 +01:00
Andreas Urke 8159297bfd Add configuration of DIS interval and DIS start delay to rpl-conf.h
Make a define for configuration of DIS start delay and move it + existing DIS interval conf into RPL-conf.h
2015-11-02 13:23:33 +01:00
Antonio Lignan 6037e269a8 Merge pull request #1336 from sumanpanchal/z1-uart0-dma
Zolertia Z1: Direct memory access using UART.
2015-11-02 08:47:08 +01:00
George Oikonomou 984b8cd631 Configure ContikiMAC timings for CC13xx sub-ghz operation
This is required so that ContikiMAC will keep working correctly after the recent change that also turns off the RF analog part during duty cycling.
2015-11-01 23:21:04 +00:00
George Oikonomou 54648591ee Explicitly send CMD_ABORT in prop mode before powering down 2015-11-01 22:53:35 +00:00
Oliver Schmidt 0105454524 Merge pull request #1349 from oliverschmidt/master
Log web browser page attributes free memory left.
2015-11-01 22:11:26 +01:00
George Oikonomou f401c7cc60 Save new TX power setting even if the RFC is powered off.
The current logic attempts to send `CMD_SET_TX_POWER` before saving the new power setting. If `CMD_SET_TX_POWER` fails the power setting will not get saved. As a result, when the RFC is powered off, all attempts to change TX power will fail.

This commit changes this logic to always save the new TX setting as requested by the user. If the RFC is powered up, we apply it immediately. If it is powered down, the new setting will automatically be applied next time we send `CMD_RADIO_SETUP`.

Fixes #1340
2015-11-01 20:56:52 +00:00
George Oikonomou 1ee40ef021 Fix the logic that detects whether a command is a Radio OP 2015-11-01 20:48:28 +00:00
George Oikonomou 946b72a58d Mask CMDSTA when waiting for a command to get accepted 2015-11-01 20:46:46 +00:00
Oliver Schmidt 0303944d0c Log web browser page attributes free memory left.
After page loading has finished the number of free bytes left for page attributes is logged. It turns out that "usual" pages tend to get along with ~800 bytes while i.e. the Google search pages use all of the 2000 bytes of page attribute memory allocated by default (because of the long URLs with many parameters). So it seems that reducing this default isn't exactly the best way to reduce memory consumption...
2015-11-01 21:22:19 +01:00
Oliver Schmidt 9962d0720a Merge pull request #1347 from oliverschmidt/master
Removed CC_FASTCALL.
2015-11-01 19:36:07 +01:00
Oliver Schmidt 1639b712bb Removed CC_FASTCALL.
CC_FASTCALL was introduced many years ago for the cc65 tool chain. It was never used for another tool chain. With a798b1d648 the cc65 tool chain doesn't need CC_FASTCALL anymore.
2015-11-01 18:10:17 +01:00
Oliver Schmidt 19cb3227ca Merge pull request #1346 from oliverschmidt/master
Client requested close takes precedence over server initiated close.
2015-11-01 16:34:40 +01:00
Oliver Schmidt 1066bb1a0b Client requested close takes precedence over server initiated close.
When the client has already called webclient_close() it doesn't expect to have webclient_datahandler(NULL, 0) called just because the connection was closed by the server "at the same time". Rather it expects to always have webclient_closed() called.

Calling webclient_datahandler(NULL, 0) instead of webclient_closed() means that the web browser shows "Done" in the status line instead of "Stopped". So the user is mislead to think that he has already seen all of the page.

Note: webclient_close() is called by the client during newdata() so the already existing check for WEBCLIENT_STATE_CLOSE further above doesn't help.
2015-11-01 15:34:09 +01:00
Oliver Schmidt 185be73014 Just some minor optimizations. 2015-11-01 15:18:29 +01:00
Oliver Schmidt 692fbf5422 Merge pull request #1343 from oliverschmidt/master
Added 80 column IRC client / web browser for the C64.
2015-10-31 15:18:10 +01:00
Oliver Schmidt 8082ddac41 Adjusted tests to recent changes.
The email and ftp programs aren't relevant anymore so support for them was removed from the cc65 builds. The explicit 80 column programs were added. The 80 colum web browser and Telnet server are built for all cc65 platforms as they are the largest and as such show best code increase issues.
2015-10-31 12:36:37 +01:00
suman_panchal 35cc40563e Zolertia Z1: Direct memory access using UART. 2015-10-31 11:45:13 +05:30
Oliver Schmidt 5443c740e9 Added 80 column IRC client / web browser for the C64.
Recently support for 80 column CONIO based on 320x200 graphics was added to the cc65 C library for the C64. This change leverages this for the IRC client and the web browser. Because not everybody prefers this 'soft80' display with its small 4x8 charbox the 40 column programs are still available as before (with the new programs called 'irc80' and 'webbrowser80').
2015-10-30 16:48:00 +01:00
Oliver Schmidt fb5d0b7ef0 Made 80 column display a cc65 application attribute.
So far 80 column display was an attribute of a cc65 platform. Now each cc65 application can ask for 80 column display by defining WITH_80COL. Of course this is ignored by platforms incapable of 80 column display.

I see three types of application:

* Applications not benefitting from 80 column at all and in fact looking better with 40 column display. These are now using 40 column display. Examples: ethconfig, ipconfig

* Applications taking advantage of 80 column display if it is available without drawbacks. These stay as they were. Examples: Telnet server, web server, wget

* Applications needing 80 column display so urgently that it is likely desirable even if the display becomes harder to read. These come now in both flavors allowing the user to choose. Examples: IRC, web browser

Note: This change doesn't actually introduce any 80 column display with drawbacks. This if left to a subsequent change.
2015-10-30 12:42:58 +01:00
Oliver Schmidt a70b97764a Merge pull request #1342 from oliverschmidt/master
Adjusted cc65 constructor to recent cc65 change.
2015-10-29 23:12:28 +01:00
Oliver Schmidt 634db88fe0 Adjusted cc65 constructor to recent cc65 change.
With 0ee9b2e446 cc65 constructor may not use the BSS anymore.
2015-10-29 22:25:48 +01:00
Tommy Sparber d817540f19 CCITT_CRC.java Change line endings from CRLF to LF
and remove trailing whitespaces.
2015-10-29 22:54:12 +11:00
George Oikonomou 3e0f37090c Merge pull request #1324 from msloth/master
Remove LED fade in lpm.c
2015-10-29 11:36:39 +00:00