optriac sensors use Arduino API
This commit is contained in:
parent
f7e987cbeb
commit
42d3b38c9c
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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__ */
|
||||
|
|
|
@ -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<<PINE3);
|
||||
PORTE &= ~(1<<PINE3);
|
||||
}
|
||||
|
||||
/*---------------------------------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* \brief Turns the TRIAC 1 on.
|
||||
*/
|
||||
void
|
||||
optriac1_on(void)
|
||||
{
|
||||
DDRE |= (1<<PINE3);
|
||||
PORTE |= (1<<PINE3);
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* \brief Turns the Raven TRIAC 2 off.
|
||||
*/
|
||||
void
|
||||
optriac2_off(void)
|
||||
{
|
||||
DDRE |= (1<<PINE4);
|
||||
PORTE &= ~(1<<PINE4);
|
||||
}
|
||||
|
||||
/*---------------------------------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* \brief Turns the Raven TRIAC 2 on.
|
||||
*/
|
||||
void
|
||||
optriac2_on(void)
|
||||
{
|
||||
DDRE |= (1<<PINE4);
|
||||
PORTE |= (1<<PINE4);
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
|
@ -1,54 +0,0 @@
|
|||
/*
|
||||
* Copyright (c) 2013 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 optotriac support.
|
||||
*
|
||||
* \author
|
||||
* Harald Pichler harald@the-develop.net
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef __TRIAC_H__
|
||||
#define __TRIAC_H__
|
||||
|
||||
#include <avr/io.h>
|
||||
|
||||
/** @name TRIAC Functions */
|
||||
/** @{ */
|
||||
void optriac1_on(void);
|
||||
void optriac1_off(void);
|
||||
void optriac2_on(void);
|
||||
void optriac2_off(void);
|
||||
/** @} */
|
||||
|
||||
#endif /* __TRIAC_H__ */
|
Loading…
Reference in a new issue