Commit graph

9447 commits

Author SHA1 Message Date
harald42 19561efacb update project to coap 13 2014-11-14 15:59:22 +01:00
harald42 dfa4da2e98 initial upload 2014-11-14 11:02:45 +01:00
harald42 ee1759ba4a initial upload 2014-11-14 10:46:30 +01:00
harald42 114d7e883a Merge branch 'master' of https://github.com/osdomotics/osd-contiki 2014-10-23 11:07:48 +02:00
harald42 408d1cabfe initial upload 2014-10-23 11:06:25 +02:00
harald42 8ed94bf819 initial upload 2014-10-11 22:53:08 +02:00
Billy Everyteen 9f4f828976 initial upload 2014-09-18 15:08:55 +02:00
harald42 2ae3d60203 Merge pull request #1 from powermik/UNSUPPORTED_MADIA_TYPE
UNSUPPORTED_MADIA_TYPE is a typo
2014-08-05 07:17:04 +02:00
powermik d7a6d8560a UNSUPPORTED_MADIA_TYPE is a typo 2014-08-04 20:14:40 +02:00
Jim Paris e09abcaa96 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-28 11:49:45 +02:00
harald fa53bc3241 use Arduino like optotriac driver 2014-07-15 13:35:31 +02:00
harald c25dc70d26 simplify code, bugfixes PE3 2014-07-15 08:23:33 +02:00
harald ccaae9cd5c set all colors to the same pin PE5 2014-07-15 08:20:46 +02:00
harald cead73a4d6 optriac sensors use Arduino API 2014-07-14 20:31:04 +02:00
harald ff8b6d933b change port manipulation to ardino commands and lets change the pin at runtime possible 2014-07-11 11:25:22 +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
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
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
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
Rémy Léone a952a96b6e Closing doxygen groups
(cherry picked from commit 25c8b0835d)
2014-06-02 14:54:17 +02:00
harald 45dee77092 bugfix read analog 2014-06-02 13:46:54 +02:00
harald b398ab9288 set 0xABCD default panid 2014-06-02 13:44:54 +02:00
Ralf Schlatterbeck e88f60feee 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-05-31 16:17:07 +02:00
Ralf Schlatterbeck 478d91ac53 Fix lots of compiler warnings 2014-05-31 15:52:33 +02:00
Ralf Schlatterbeck 47d1c2a74d Merge branch 'master' of github.com:osdomotics/osd-contiki 2014-05-29 17:37:00 +02:00
Ralf Schlatterbeck f48566d51f 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-05-29 17:31:19 +02:00
harald 0c29b2b7db initial upload 2014-05-27 11:34:10 +02:00
harald 2d424bd259 initial upload 2014-05-27 11:33:10 +02:00
harald 078faa39d4 cleanup code 2014-05-27 11:31:54 +02:00
harald 90ed9d14d2 add Arduino pin definition and commands 2014-05-22 16:25:15 +02:00
harald 2a63d0a972 bugfix define panid 2014-05-15 15:34:05 +02:00
Ralf Schlatterbeck be01bf77a9 Allow changing bootloader_get_mac address
Current default in the Makefile is the *new* bootloader address.
But for backward compatibility we've modified the run*.sh files
to use the old address. The run*.sh also now explain how to change
the default.
2014-05-13 16:56:59 +02:00
harald 0a5872e261 change resources to simple and make climate2 default 2014-05-08 13:04:27 +02:00
harald 5fcac26e80 get s/button ->show button status 0/1 2014-04-30 15:20:25 +02:00
harald 40bd9950d1 add 0.5s delay between off and on 2014-04-24 13:55:21 +02:00