From 7b272c80ed68b03256dc29ca45fd0fcd761bd5e9 Mon Sep 17 00:00:00 2001 From: Michael Hurni Date: Mon, 13 Oct 2014 19:48:09 +0200 Subject: [PATCH] add BRIGHT/DIM commands support --- KEYWORDS.txt | 9 +++++++++ x10rf.cpp | 7 +++++-- x10rf.h | 5 +++++ 3 files changed, 19 insertions(+), 2 deletions(-) diff --git a/KEYWORDS.txt b/KEYWORDS.txt index 0be751a..f264661 100644 --- a/KEYWORDS.txt +++ b/KEYWORDS.txt @@ -16,3 +16,12 @@ RFXmeter KEYWORD2 RFXsensor KEYWORD2 x10Switch KEYWORD2 x10Security KEYWORD2 + +####################################### +# Constants (LITERAL1) +####################################### + +ON LITERAL1 +OFF LITERAL1 +BRIGHT LITERAL1 +DIM LITERAL1 diff --git a/x10rf.cpp b/x10rf.cpp index d5bcbc7..5fd5317 100644 --- a/x10rf.cpp +++ b/x10rf.cpp @@ -178,8 +178,11 @@ void x10rf::x10Switch(char house_code, uint8_t unit_code, uint8_t command){ x10buff[0] = x10buff[0] << 4; // House code goes into the upper nibble switch(command) { - case 0: x10buff[2] = (x10buff[2] | 0x20); break; - case 1: x10buff[2] = (x10buff[2] & 0x20); break; + case ON: + case OFF: + case BRIGHT: + case DIM: + x10buff[2] = command; break; } // Set unit number unit_code = unit_code - 1; diff --git a/x10rf.h b/x10rf.h index 73cf841..8411009 100644 --- a/x10rf.h +++ b/x10rf.h @@ -15,6 +15,11 @@ Tested on a TI Stellarpad (LM4F120H5QR) and Energia 0101E0010. This should also #ifndef x10rf_h #define x10rf_h +#define ON 0x00 +#define OFF 0x20 +#define BRIGHT 0x88 +#define DIM 0x98 + #include #if defined(ARDUINO) && ARDUINO >= 100