Commit graph

9933 commits

Author SHA1 Message Date
Harald Pichler 7a666307cf add coap 18 2014-11-26 16:46:13 +01:00
Harald Pichler 079e46f427 Merge branch 'contiki' into osd 2014-11-26 13:04:26 +01:00
Fredrik Österlind ce49276e80 Merge pull request #874 from marcas756/PullReq-MT_STATES
Enhancement : Moved thread states from module to header
2014-11-25 08:31:47 +01:00
marcas756 b787b27d5b Moved thread states from module to header 2014-11-22 15:49:45 +01:00
Ralf Schlatterbeck b0a617b534 Merge branch 'contiki' into osd 2014-11-21 11:08:32 +01:00
Harald Pichler 9eb0c5466f initial uplaod 2014-11-21 09:44:25 +01:00
Harald Pichler 6167835689 use contiki mac 2014-11-20 16:32:22 +01:00
Nicolas Tsiftes a8556a7518 Merge pull request #865 from kkrentz/mic-length-fix
llsec: Fixed MIC length
2014-11-20 15:11:13 +01:00
Nicolas Tsiftes e691dec9a4 Merge pull request #828 from oskarnp/pr-ipolite-fix
ipolite: stop ctimer and reset queuebuf pointer when canceling old send
2014-11-20 15:10:42 +01:00
Harald Pichler e58322260f update llayer 2014-11-20 13:43:53 +01:00
Fredrik Österlind 6b562237ff Merge pull request #871 from cmorty/pull/doxyerrors
Regression testing: Doxygen
2014-11-20 08:10:53 +01:00
Harald Pichler d8e0dd7005 update to coap rfc 2014-11-19 22:06:38 +01:00
Moritz 'Morty' Strübe c9df5a6822 Adjust number of errors to travis environment 2014-11-19 16:23:19 +01:00
Moritz 'Morty' Strübe 90abb977c2 Add doxygen regression test to travis 2014-11-19 16:23:18 +01:00
Moritz 'Morty' Strübe a3c03edb07 Add doxygen regression testing 2014-11-19 16:23:18 +01:00
Moritz 'Morty' Strübe 0c8efb6fd2 Sort docdirs
Sorting docdirs is requierd to get reproducable results
2014-11-19 16:23:14 +01:00
Moritz 'Morty' Strübe d16348482e Fix doxygen prerequisites 2014-11-19 16:18:24 +01:00
Harald Pichler a86f137cf5 add module llsec 2014-11-19 15:10:10 +01:00
Harald Pichler 8966f7d509 update project to coap 13 2014-11-19 13:59:05 +01:00
Harald Pichler 0620eb86d0 initial upload 2014-11-19 13:58:56 +01:00
Harald Pichler 0c7328b59d initial upload 2014-11-19 13:58:50 +01:00
Harald Pichler dfaa8c0f32 initial upload 2014-11-19 13:58:32 +01:00
Harald Pichler 914f5b931b initial upload 2014-11-19 13:58:24 +01:00
Harald Pichler 1b40bccb00 initial upload 2014-11-19 13:58:02 +01:00
powermik 8bb7d82a2d UNSUPPORTED_MADIA_TYPE is a typo 2014-11-19 13:55:59 +01:00
Harald Pichler 21bbe79079 use Arduino like optotriac driver 2014-11-19 13:54:53 +01:00
Harald Pichler 026b961d5e simplify code, bugfixes PE3 2014-11-19 13:54:42 +01:00
Harald Pichler 5f18fc6955 set all colors to the same pin PE5 2014-11-19 13:54:35 +01:00
Harald Pichler 42d3b38c9c optriac sensors use Arduino API 2014-11-19 13:54:28 +01:00
Harald Pichler f7e987cbeb change port manipulation to ardino commands and lets change the pin at runtime possible 2014-11-19 13:54:22 +01:00
Ralf Schlatterbeck 1a1aaa883e Turn off JTAG in adc_init 2014-11-19 13:54:13 +01:00
Ralf Schlatterbeck ef06560465 Use PROCESS_PAUSE macro 2014-11-19 13:54:07 +01:00
Ralf Schlatterbeck 53cf5ab6cf Fix A0-A5 ADC constants, use in example sketch 2014-11-19 13:53:59 +01:00
Ralf Schlatterbeck fbe6ae6a60 Fix off-by-one error in digitalPinToTimer 2014-11-19 13:53:53 +01:00
Ralf Schlatterbeck ddbfd6712c Remove obsolet macro in example 2014-11-19 13:53:44 +01:00
Ralf Schlatterbeck abdf6f8c6b 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-11-19 13:53:32 +01:00
Ralf Schlatterbeck f0ad042bfc Minor optimisations of timer init 2014-11-19 13:53:21 +01:00
Ralf Schlatterbeck d5284eebe1 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-11-19 13:53:12 +01:00
Ralf Schlatterbeck 4f20df042f Fix leap year computation 2014-11-19 13:53:01 +01:00
Ralf Schlatterbeck fd54bc9ca4 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-11-19 13:52:42 +01:00
Ralf Schlatterbeck c46d6afa39 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.

Squashed with following bug-fix commit.
2014-11-19 13:50:58 +01:00
Ralf Schlatterbeck 08abd8807d 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-11-19 13:48:42 +01:00
Ralf Schlatterbeck b6be226e69 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-11-19 13:48:05 +01:00
Ralf Schlatterbeck b17934c491 Allow compilation of c++ files (extension .cpp) 2014-11-19 13:47:51 +01:00
Ralf Schlatterbeck cfec3c6e2d 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-11-19 13:47:37 +01:00
Harald Pichler 5077010fc0 add i2c driver from Ingo 2014-11-19 13:46:58 +01:00
Harald Pichler 16fa63ebac bugfix read analog 2014-11-19 13:46:14 +01:00
Harald Pichler 4461dca8f2 set 0xABCD default panid 2014-11-19 13:46:07 +01:00
Ralf Schlatterbeck 4ceffb090d Make HW timer for contiki rtimer configurable
... and configure osd platform to use timer 5. With the new
configuration we can use timer 3 for generating hardware PWM.
2014-11-19 13:44:55 +01:00
Ralf Schlatterbeck b4fb8c3f52 Add wallclock time handling
New application and new example.
We use the built-in timer routines and add an offset to get the
wallclock time. The offset can be set by time-changing routines
(currently only settimeofday).
We also maintain an offset for timezone handling but this isn't
currently fully implemented.
2014-11-19 13:43:45 +01:00