From 42d3b38c9c5012d44b835532e8c39f287c2f6c95 Mon Sep 17 00:00:00 2001 From: Harald Pichler Date: Mon, 14 Jul 2014 20:31:04 +0200 Subject: [PATCH] optriac sensors use Arduino API --- platform/osd-merkur/Makefile.osd-merkur | 2 +- platform/osd-merkur/dev/optriac-sensor.c | 44 +++++------ platform/osd-merkur/dev/optriac-sensor.h | 8 +- platform/osd-merkur/dev/optriac.c | 95 ------------------------ platform/osd-merkur/dev/optriac.h | 54 -------------- 5 files changed, 24 insertions(+), 179 deletions(-) delete mode 100644 platform/osd-merkur/dev/optriac.c delete mode 100644 platform/osd-merkur/dev/optriac.h diff --git a/platform/osd-merkur/Makefile.osd-merkur b/platform/osd-merkur/Makefile.osd-merkur index 3fb160bdd..a083ba965 100644 --- a/platform/osd-merkur/Makefile.osd-merkur +++ b/platform/osd-merkur/Makefile.osd-merkur @@ -18,7 +18,7 @@ CONTIKI_TARGET_SOURCEFILES += battery-sensor.c batmon.c #Needed for PIR CONTIKI_TARGET_SOURCEFILES += pir-sensor.c #Needed for OPTRIAC -CONTIKI_TARGET_SOURCEFILES += optriac.c optriac-sensor.c +CONTIKI_TARGET_SOURCEFILES += optriac-sensor.c CONTIKIAVR=$(CONTIKI)/cpu/avr #Needed for SERVO CONTIKI_TARGET_SOURCEFILES += servo.c servo-sensor.c diff --git a/platform/osd-merkur/dev/optriac-sensor.c b/platform/osd-merkur/dev/optriac-sensor.c index 5045c8944..2f0566bc4 100644 --- a/platform/osd-merkur/dev/optriac-sensor.c +++ b/platform/osd-merkur/dev/optriac-sensor.c @@ -37,7 +37,7 @@ */ #include "contiki.h" -#include "dev/optriac.h" +#include "Arduino.h" #include "dev/optriac-sensor.h" #define PRINTF(...) printf(__VA_ARGS__) @@ -45,22 +45,14 @@ const struct sensors_sensor optriac_sensor; static int status(int type); static int enabled = 0; -static int optriac1=0; -static int optriac2=0; +static int optriac[2]={0,0}; +static int optriacpin[8]={OPTRIAC_PIN_1,OPTRIAC_PIN_2}; /*---------------------------------------------------------------------------*/ static int value(int type) { - switch(type) { - case OPTRIAC_SENSOR_A: - return optriac1; - - /* Total Solar Radiation. */ - case OPTRIAC_SENSOR_B: - return optriac2; - } - return 0; + return optriac[type]; } /*---------------------------------------------------------------------------*/ static int @@ -70,32 +62,30 @@ configure(int type, int c) case SENSORS_ACTIVE: if(c) { if(!status(SENSORS_ACTIVE)) { + pinMode(optriacpin[OPTRIAC_SENSOR_1], OUTPUT); + digitalWrite(optriacpin[OPTRIAC_SENSOR_1], LOW); + pinMode(optriacpin[OPTRIAC_SENSOR_2], OUTPUT); + digitalWrite(optriacpin[OPTRIAC_SENSOR_2], LOW); + enabled = 1; } } else { enabled = 1; } break; - case OPTRIAC_SENSOR_A: + case OPTRIAC_SENSOR_1: + case OPTRIAC_SENSOR_2: + if(c==0){ - optriac1_off(); - optriac1=0; + digitalWrite(optriacpin[type], LOW); + optriac[type]=0; }else{ - optriac1_on(); - optriac1=1; - }; - break; - case OPTRIAC_SENSOR_B: - if(c==0){ - optriac2_off(); - optriac2=0; - }else{ - optriac2_on(); - optriac2=1; + digitalWrite(optriacpin[type], HIGH); + optriac[type]=1; }; break; } - return 0; + return 0; } /*---------------------------------------------------------------------------*/ static int diff --git a/platform/osd-merkur/dev/optriac-sensor.h b/platform/osd-merkur/dev/optriac-sensor.h index 3c411253c..8cec46c14 100644 --- a/platform/osd-merkur/dev/optriac-sensor.h +++ b/platform/osd-merkur/dev/optriac-sensor.h @@ -44,7 +44,11 @@ extern const struct sensors_sensor optriac_sensor; #define OPTRIAC_SENSOR "TRIAC" -#define OPTRIAC_SENSOR_A 0 -#define OPTRIAC_SENSOR_B 1 +#define OPTRIAC_SENSOR_1 0 +#define OPTRIAC_SENSOR_2 1 + +/* default pins Arduino-Merkurboard */ +#define OPTRIAC_PIN_1 2 +#define OPTRIAC_PIN_2 3 #endif /* __OPTRIAC_SENSOR_H__ */ diff --git a/platform/osd-merkur/dev/optriac.c b/platform/osd-merkur/dev/optriac.c deleted file mode 100644 index 7bb1dfb0b..000000000 --- a/platform/osd-merkur/dev/optriac.c +++ /dev/null @@ -1,95 +0,0 @@ -/* - * Copyright (c) 2012 harald pichler - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * * Neither the name of the copyright holders nor the names of - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - */ -/** - * \file - * - * \brief - * This file provides Raven LED support. - * - * \author - * Harald Pichler harald@the-develop.net - * - */ - -#include "optriac.h" - -/** - * \addtogroup relay - * \{ -*/ -/*---------------------------------------------------------------------------*/ - -/** - * \brief Turns the TRIAC 1 off. - * old D6 D7 - * new E3 E4 -*/ -void -optriac1_off(void) -{ - DDRE |= (1< - -/** @name TRIAC Functions */ -/** @{ */ -void optriac1_on(void); -void optriac1_off(void); -void optriac2_on(void); -void optriac2_off(void); -/** @} */ - -#endif /* __TRIAC_H__ */