FLIRS ISSUE
Posted: 10 Sep 2016 19:06
Hello,
My sketch is work on normal mode (ZUNO_SLEEPING_MODE_ALWAYS_AWAKE), but not in FLiRs mode (ZUNO_SLEEPING_MODE_FREQUENTLY_AWAKE)
Thanks for your help.
My sketch is work on normal mode (ZUNO_SLEEPING_MODE_ALWAYS_AWAKE), but not in FLiRs mode (ZUNO_SLEEPING_MODE_FREQUENTLY_AWAKE)
Code: Select all
//motor A connected between A01 and A02
#define STBY 10
#define PWMA 12 //pwm seem don't work
#define AIN1 9
#define AIN2 11
// variable to store current relay state
byte lastSetValue;
byte var1;
byte var2;
byte state;
byte change;
ZUNO_SETUP_CHANNELS(ZUNO_SWITCH_BINARY(getter, setter));
// next macro sets up the sleeping mode
// device will wake up by user request and regulary listening for packets
//ZUNO_SETUP_SLEEPING_MODE(ZUNO_SLEEPING_MODE_FREQUENTLY_AWAKE);
// the setup routine runs once when you press reset:
void setup(){
pinMode(STBY, OUTPUT);
pinMode(PWMA, OUTPUT);
pinMode(AIN1, OUTPUT);
pinMode(AIN2, OUTPUT);
state=0;
change=0;
var1=0;
var2=0;
}
void loop(){
if (change == 1) {
if (state == 0) {
// Turn OFF
digitalWrite(STBY, HIGH); //disable standby
digitalWrite(AIN1, HIGH);
digitalWrite(AIN2, LOW);
//analogWrite(PWMA, 254);
digitalWrite(PWMA, HIGH);
//delay(150);
if (var1 > 200) {
var1=0;
var2=0;
digitalWrite(STBY, LOW); //enable standby
change=0;
// this function sends the device into sleep
//zunoSendDeviceToSleep();
}
var1++;
}
else
{
// Turn ON
digitalWrite(STBY, HIGH); //disable standby
digitalWrite(AIN1, LOW);
digitalWrite(AIN2, HIGH);
//analogWrite(PWMA, 254);
digitalWrite(PWMA, HIGH);
//delay(500); //go for 1 second
if (var2 > 200) {
var1=0;
var2=0;
digitalWrite(STBY, LOW); //enable standby
change=0;
// this function sends the device into sleep
//zunoSendDeviceToSleep();
}
var2++;
}
}
}
byte getter() {
return lastSetValue;
}
void setter(byte newValue) {
// newValue is a variable, holding a "value"
// which came from the controller or other Z-Wave device
if (newValue > 0) { // if greater then zero
state=1;
change=1;
}
else { // if equals zero
state=0;
change=1;
}
// save the new value in a variable
lastSetValue = newValue;
}