Commit graph

13024 commits

Author SHA1 Message Date
Mariano Alvira
4051cd38a0 Merge pull request #748 from jimparis/travis-cleanup
Travis cleanup
2014-07-08 09:15:34 -04:00
Jim Paris
21b78de088 Increase fixed filename sizes in SLIP tunnels
Long serial port names like
  /dev/serial/by-id/usb-FTDI_FT230X_Basic_UART_DN0038W8-if00-port0
cause crashes.  This is the simplest fix to avoid the problem.
2014-07-08 01:48:28 -04:00
Jim Paris
b5f37e856c Rename travis "arm" BUILD_ARCH to "arm-apcs".
These platforms are built with an old ARM compiler that supports the
deprecated APCS standard.
2014-07-08 01:48:28 -04:00
Jim Paris
6d7464a422 Add retries to commands that download from external servers.
This helps reduce the chance of a build failure due to transient
download error.  This also switches to consistent use of wget
throughout, which reports download errors more cleanly in the travis
build logs.
2014-07-08 01:48:28 -04:00
Jim Paris
4242182588 Clean up script commands in .travis.yml.
Besides general whitespace and quoting cleanup, commands that test
variables were changed from:
  [ $B = a ] && command || true
to
  if [ $B = a ] ; then command ; fi
This form correctly returns the exit code of "command".
2014-07-05 23:44:46 -04:00
Nicolas Tsiftes
784b20c04d Merge pull request #739 from alignan/merge_z1sp_with_z1
Merges Z1SP into Z1 platform
2014-07-04 22:03:27 +02:00
Oliver Schmidt
80edbe14a9 Merge pull request #747 from oliverschmidt/master
Only wait for a keypress if the user is told to press a key.
2014-07-04 20:00:40 +02:00
Oliver Schmidt
9ee1bae150 Only wait for a keypress if the user is told to press a key. 2014-07-04 19:33:35 +02:00
Antonio Lignan
5467674fcc Merges Z1SP into Z1 platform 2014-07-04 10:41:05 +02:00
Rémy Léone
cfc775d121 Adding a CONTRIBUTING file to use github feature
https://github.com/blog/1184-contributing-guidelines
2014-07-04 09:29:12 +02:00
Pablo Corbalán
a490986401 Add PLATFORM_HAS_RADIO in Sky Platform
In order to use the er-server-example Radio resource it is required that the platform defines that it has a radio. This line might be required in other platforms.
2014-07-03 14:59:13 +01:00
Nicolas Tsiftes
ccc75404f4 Merge pull request #711 from gebart/upstream-fix-implicit-definitions
uip.h missing #include <string.h>
2014-07-02 16:36:03 +02:00
Atis Elsts
705587cdb7 Fix time accounting on msp430 Series 1 and Series 2 MCU based platforms.
The problem with the current version of the code was that the condition at the end of the do...while loop at Timer A1 interrupt:
 while((TACCR1 - TAR) > INTERVAL);
evaluates to false whenever TACCR1 == TAR.
Not incrementing TACCR1 in this case leads to Timer A1 interrupt not being called for 2 seconds, until TAR counter reaches TACCR1 again after an overflow.

The patch avoids this problem by changing the condition of the loop, and using CLOCK_LT macro to compare between time values.

The patch also attempts to fix another problem: a read of TAR register while it is being updated may return a lower value than the actual contents. To avoid that, the "read twice and compare results" idiom should be used. As the TAR register is updated by the actual hardware, it is of no importance whether it is read with interrupts disabled or enabled; the problem can occur in both contexts.
2014-07-02 11:07:02 +02:00
Rémy Léone
f111058472 Removing trailing whitespaces 2014-06-30 20:01:05 +02:00
Ralf Schlatterbeck
1aa694bba2 Turn off JTAG in adc_init 2014-06-30 14:25:33 +02:00
Ralf Schlatterbeck
f61d0b2e1e Use PROCESS_PAUSE macro 2014-06-30 10:25:47 +02:00
Ralf Schlatterbeck
4b984153ab Fix A0-A5 ADC constants, use in example sketch 2014-06-30 10:24:49 +02:00
Ralf Schlatterbeck
60156d1c48 Fix off-by-one error in digitalPinToTimer 2014-06-29 18:06:48 +02:00
Ralf Schlatterbeck
d8bc9f761c Remove obsolet macro in example 2014-06-29 17:32:00 +02:00
Ralf Schlatterbeck
77c02d58f8 Refactor A/D conversion in adc.c
Now the necessary settings are in adc.h. Refactored to allow repeated
ADC reads without reinitialization. Arduino allows setting
analogReference, this is now also implemented.
ADC is now initialized to sane values in apps/arduino/arduino-process.c
dev/arduino/arduino-compat.h now has all hardware independent settings
for arduino (some moved from platform/osd-merkur/dev/hw-arduino.h).
turnOffPWM re-implemented with hw_timer, removed from wiring_digital.c
ADC-specific arduino stuff moved to arduino-compat.h
Arduinos wiring_analog no longer necessary.
arduino-sketch example now reads analog inputs 1 and 5 using analogRead.
2014-06-29 17:26:15 +02:00
Ralf Schlatterbeck
6c06f43417 Minor optimisations of timer init 2014-06-29 17:12:13 +02:00
Mariano Alvira
ed87b928c5 Merge pull request #734 from hexluthor/rl78-linkaddr
rl78: Change RIMEADDR_CONF_SIZE to LINKADDR_CONF_SIZE
2014-06-29 08:01:02 -04:00
Ian Martin
6ae6c4768e rl78: Change RIMEADDR_CONF_SIZE to LINKADDR_CONF_SIZE because the rimeaddr module has been renamed to linkaddr. 2014-06-28 22:07:57 -04:00
Ralf Schlatterbeck
4643c5d02d Factor resources, fix time
Now there is a generic resource that can generate and parse
application/json as well as text/plain. It can be re-used, only the
from_string and to_string routines have to be written and the resource
properly set up. A new resource format is specified, see
GENERIC_RESOURCE in, e.g., examples/osd/pwm-example. This is now used in
all my examples, namely pwm-example, arduino-sketch, wallclock-time.

There was an off by one error for the month in time formatting (in
gmtime and localtime). And the leap-year computation was broken. Both
fixed now, so we get a correct date. For localtime we are still 2 hours
off because daylight saving isn't implemented yet.

Also renamed gmtime to utc.
2014-06-27 22:25:51 +02:00
Ralf Schlatterbeck
9df7ab3875 Fix leap year computation 2014-06-27 22:10:19 +02:00
Nicolas Tsiftes
782de873e4 Merge pull request #650 from cetic/pr-rpl-hbh-fixes
Fix for RPL Hop-by-Hop options
2014-06-27 14:43:00 +02:00
Laurent Deru
02972e6514 Improve RPL hop-by-hop option detection 2014-06-27 09:45:57 +02:00
Laurent Deru
d45782fbcd Insert properly Hop-by-Hop option at first hop 2014-06-27 09:45:51 +02:00
Laurent Deru
2dfe2c377f Setting uip_ext_len again breaks hop-by-hop option 2014-06-27 09:43:53 +02:00
Laurent Deru
b6742e5eb5 Sender rank in Hop-by-Hop option has inverted bytes 2014-06-27 09:43:53 +02:00
Ralf Schlatterbeck
72da6659ed Inline timer init functions, no static storage
Hardware init function profit a great deal from being inlined if the
given parameters are constant -- which is the common use-case, we could
probably call this for all timers and still have less overhead. The
hwtimer_pwm_ini (which calls hwtimer_ini) gets completely computed at
compile-time resulting only in the register settings of hwtimer_ini.

This is now possible because we get rid of static storage for the
max_ticks and instead compute this in hwtimer_pwm_max_ticks from the
timer register settings.
2014-06-26 20:37:34 +02:00
Ralf Schlatterbeck
c5d25f5bfe Last minute bug-fix of arduino-sketch
... happens when not completing testing before pushing commit :-)
2014-06-26 19:07:48 +02:00
Ralf Schlatterbeck
f0f5391409 Make Arduino timer stuff work on Contiki
New discovery: Contiki also uses timer 0. With almost the same interface
as Arduino. So we now completely get rid of wiring.c (only the main
file, the other wiring_xxx stay) and implement Arduino timer, delay, etc
in terms of the corresponding Contiki routines. Verified that now delay
works as expected. The LED in examples/osd/arduino-sketch blinks!

Before this, the arduino_init routine in wiring.c destroyed the timer-0
initialization of contiki, making both, contiki timer implementation
*and* contiki timer implementation fail if the arduino_init routine was
called. Now both work.
2014-06-26 18:37:13 +02:00
Ralf Schlatterbeck
b6e20bf6c0 Fixes for platform timer code
Some platforms are missing timer channels, this is now left to the
(missing) preprocessor definitions on those platforms, no
platform-specific defines needed anymore.
Also fix usage of timer counter register 3 (hardcoded) in
cpu/avr/dev/clock.c -- this code isn't used on many platforms as it
requires a very special quartz clock frequency but this now also uses
the platform timer specification.
2014-06-26 18:00:30 +02:00
Ralf Schlatterbeck
e65dabb119 Add Arduino compatibility layer
We can now directly compile arduino sketches (.pde) files.
Arduino compatible analogWrite works now.
But there is still a long way to go, serial I/O and timer stuff (delay,
millis etc) currently don't work (not tested but I don't expect this to
work).
It can be used in an arduino sketch or in a normal contiki program.
We get a PWM frequency of 490.2 Hz (a period of 2.040 ms), that's
Arduino compatible. If you need different frequencies see native timer
usage in examples/osd/pwm-example
In a contiki program you have to call arduino_pwm_timer_init to
initialize the timer before pwm works. The arduino sketch wrapper
already does this.
For running a sketch, see examples/osd/arduino-sketch
2014-06-26 11:00:01 +02:00
Ralf Schlatterbeck
87903b2e89 Allow compilation of c++ files (extension .cpp) 2014-06-26 08:37:19 +02:00
Ralf Schlatterbeck
5991c3e3db Initial implementation of avr hardware timer
Mainly for PWM use for now.
With example to set the LED to different brightness via COAP.
We switch the LED with 50 kHz (20µs) in this example.
2014-06-22 13:32:05 +02:00
harald
d192553309 add i2c driver from Ingo 2014-06-21 21:30:48 +02:00
Camilo Rodegheri
a50e933f4b Update README.md
Adding new command for ftdi_sio which applies to Kernel>3.12 used by Ubuntu 14.04 LTS
2014-06-21 15:04:48 -03:00
Nicolas Tsiftes
43731dbb68 Merge pull request #637 from alignan/z1-add-flags-20bit-support
Added flags to enable 20-bit support from msp430-gcc 4.7.x
2014-06-19 09:56:52 +02:00
Benoît Thébaudeau
db60afb2fb leds: Add the leds_set() function
The leds_set() function is added on top of leds_arch_set() in order to have a
means of displaying a pattern on a set of LEDs, while keeping the ENERGEST
information up to date, which would be missing with a direct call to
leds_arch_set().

Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com>
2014-06-18 12:39:02 +02:00
Nicolas Tsiftes
df0cc061f6 Do not copy more bytes than the filename string contains. 2014-06-18 11:37:34 +02:00
Adam Dunkels
ad4c1b9218 Merge pull request #729 from g-oikonomou/fix-nd6-sdcc
Fix SDCC Compile Error
2014-06-18 08:14:48 +02:00
George Oikonomou
32a7572f25 Fix SDCC Compile Error 2014-06-17 22:20:49 +01:00
Antonio Lignan
3d64b80e40 Added flags to enable 20-bit support from msp430-gcc 4.7.x 2014-06-17 12:55:08 +02:00
Sébastien De Fauw
22caf4b2e1 Prefix Information Option never send in RA messages
The problem came from the fact that there two opposite macro (UIP_CONF_ROUTER) that could not activate the code responsible to send the PIO option in NDP.
2014-06-17 11:41:43 +02:00
Sébastien De Fauw
b441901321 IPv6 host adds prefixes successfully but return always NULL
In Neighbor Discovery Protocol, when IPv6 host adds a prefix (coming from PIO) but it is always failing whatever if is successfully add in prefix table. The reason comes from the fact that the function uip_ds6_prefix_add in host version always return NULL. This is opposite of the specification of the router version.
2014-06-17 11:38:07 +02:00
Nicolas Tsiftes
24e260910c Merge pull request #718 from g-oikonomou/rpl-dodagid-compliance
Make DODAG ID selection RFC 6550-compliant
2014-06-13 15:33:56 +02:00
Nicolas Tsiftes
4ce3e4dee8 Merge pull request #701 from tim-ist/routing_fix
Re-create a routing table entry if the next hop is changed.
2014-06-13 14:56:56 +02:00
Timofei Istomin
65ef375bdb Re-create a routing table entry if the next hop is changed.
The next-hop address did not get updated in the routing table
in case an entry for the destination already existed.

This patch resolves the issue by removing the entry and
having it re-created from scratch.

The issue causes a routing error triggering reconstruction of
the DODAG through version increase.

In case of somewhat frequent downward traffic in not (yet) stabilized DODAG
a vicious circle is formed: unstable topology means churn, downward
routing under churn causes reconstruction of DODAG. In this situation
the network does not have chance to stabilize.

We encountered a constant churn caused by this bug
in a network of 50 nodes and a periodic traffic (a packet every 5
seconds) generated at the root.

More info and a PCAP demonstrating the issue can be found here:
https://github.com/contiki-os/contiki/issues/496
2014-06-13 13:31:15 +02:00