|
From: <j-...@us...> - 2012-10-08 18:15:50
|
Revision: 1033
http://openautomation.svn.sourceforge.net/openautomation/?rev=1033&view=rev
Author: j-n-k
Date: 2012-10-08 18:15:43 +0000 (Mon, 08 Oct 2012)
Log Message:
-----------
knxdmxd: Smaller fixes, new binary, ney sample config (important !)
Modified Paths:
--------------
tools/knxdmxd/knxdmxd
tools/knxdmxd/knxdmxd.conf
tools/knxdmxd/src/dmxsender.cc
tools/knxdmxd/src/dmxsender.h
tools/knxdmxd/src/knxdmxd.cc
Modified: tools/knxdmxd/knxdmxd
===================================================================
(Binary files differ)
Modified: tools/knxdmxd/knxdmxd.conf
===================================================================
--- tools/knxdmxd/knxdmxd.conf 2012-10-08 07:44:15 UTC (rev 1032)
+++ tools/knxdmxd/knxdmxd.conf 2012-10-08 18:15:43 UTC (rev 1033)
@@ -29,12 +29,22 @@
"scenes": [ // all scene definitions
{ "name" : "Treppe_Full_On", // name is optional, default is _s_<number>
"trigger" : {
- "go" : { "knx" : "12/0/170", "value" : 1 }, // if value is omitted, scene is called on any value
+ "go" : { "knx" : "1/0/170", "value" : 1 }, // if value is omitted, scene is called on any value
},
"data" : [ // definition of each channel in scene
{ "channel" : "treppe_01", "value" : 255 },
{ "channel" : "treppe_02", "value" : 255 },
- { "channel" : "treppe_03", "value" : 255 }
+ { "channel" : "treppe_03", "value" : 255 },
+ { "channel" : "treppe_04", "value" : 255 },
+ { "channel" : "treppe_05", "value" : 255 },
+ { "channel" : "treppe_06", "value" : 255 },
+ { "channel" : "treppe_07", "value" : 255 },
+ { "channel" : "treppe_08", "value" : 255 },
+ { "channel" : "treppe_09", "value" : 255 },
+ { "channel" : "treppe_10", "value" : 255 },
+ { "channel" : "treppe_11", "value" : 255 },
+ { "channel" : "treppe_12", "value" : 255 },
+ { "channel" : "treppe_13", "value" : 255 }
],
"fading" : { // all fading times used on scene call !
"in" : 1.0, // for increasing intensity
@@ -43,16 +53,39 @@
},
{ "name" : "Treppe_Blackout",
"trigger" : {
- "go" : { "knx" : "12/0/170", "value" : 0 },
+ "go" : { "knx" : "1/0/170", "value" : 0 },
},
"data" : [
- { "channel" : "treppe_01", "value" : 0 },
- { "channel" : "treppe_02", "value" : 0 },
- { "channel" : "treppe_03", "value" : 0 }
+ { "channel" : "treppe_01", "value" : 0 },
+ { "channel" : "treppe_02", "value" : 0 },
+ { "channel" : "treppe_03", "value" : 0 },
+ { "channel" : "treppe_04", "value" : 0 },
+ { "channel" : "treppe_05", "value" : 0 },
+ { "channel" : "treppe_06", "value" : 0 },
+ { "channel" : "treppe_07", "value" : 0 },
+ { "channel" : "treppe_08", "value" : 0 },
+ { "channel" : "treppe_09", "value" : 0 },
+ { "channel" : "treppe_10", "value" : 0 },
+ { "channel" : "treppe_11", "value" : 0 },
+ { "channel" : "treppe_12", "value" : 0 },
+ { "channel" : "treppe_13", "value" : 0 }
],
"fading" : {
"time" : 1 // used for in and out
}
+ },
+ { "name" : "Kueche_aus",
+ "trigger" : {
+ "go" : { "knx" : "0/0/4", "value" : 0 },
+ },
+ "data" : [
+ { "channel" : "kueche_r", "value" : 0 },
+ { "channel" : "kueche_g", "value" : 0 },
+ { "channel" : "kueche_b", "value" : 0 }
+ ],
+ "fading" : {
+ "time" : 1 // used for in and out
+ }
}
],
"cuelists": [ // all cuelists
Modified: tools/knxdmxd/src/dmxsender.cc
===================================================================
--- tools/knxdmxd/src/dmxsender.cc 2012-10-08 07:44:15 UTC (rev 1032)
+++ tools/knxdmxd/src/dmxsender.cc 2012-10-08 18:15:43 UTC (rev 1033)
@@ -12,12 +12,12 @@
{
dmx_addr_t
- DMX::Address(const std::string addr)
+ DMX::Address(const std::string &addr)
{
- char universe;
- int channel;
- sscanf((char*) addr.c_str(), "%d.%d", &universe, &channel);
- return (channel == -1) ? (universe + 512) : ((universe << 9) + channel);
+ int universe, channel;
+ std::string c(addr);
+ sscanf((char*) c.c_str(), "%d.%d", &universe, &channel);
+ return (channel == -1) ? (universe + 512) : ((((unsigned) universe) << 9) + channel);
}
// initalize static variables of DMX class
Modified: tools/knxdmxd/src/dmxsender.h
===================================================================
--- tools/knxdmxd/src/dmxsender.h 2012-10-08 07:44:15 UTC (rev 1032)
+++ tools/knxdmxd/src/dmxsender.h 2012-10-08 18:15:43 UTC (rev 1033)
@@ -93,7 +93,7 @@
GetDMXChannel(int channel);
static dmx_addr_t
- Address(const std::string addr);
+ Address(const std::string &addr);
static ola::OlaCallbackClientWrapper&
GetOLAClient()
{
Modified: tools/knxdmxd/src/knxdmxd.cc
===================================================================
--- tools/knxdmxd/src/knxdmxd.cc 2012-10-08 07:44:15 UTC (rev 1032)
+++ tools/knxdmxd/src/knxdmxd.cc 2012-10-08 18:15:43 UTC (rev 1033)
@@ -91,12 +91,12 @@
eibaddr_t
KNXHandler::Address(const std::string addr)
{
- int a, b, c;
+ unsigned int a, b, c;
char *s = (char *) addr.c_str();
- if (sscanf(s, "%d/%d/%d", &a, &b, &c) == 3)
+ if (sscanf(s, "%u/%u/%u", &a, &b, &c) == 3)
return ((a & 0x01f) << 11) | ((b & 0x07) << 8) | ((c & 0xff));
- if (sscanf(s, "%d/%d", &a, &b) == 2)
+ if (sscanf(s, "%u/%u", &a, &b) == 2)
return ((a & 0x01f) << 11) | ((b & 0x7FF));
if (sscanf(s, "%x", &a) == 1)
return a & 0xffff;
@@ -108,12 +108,12 @@
eibaddr_t
KNXSender::Address(const std::string addr)
{
- int a, b, c;
+ unsigned int a, b, c;
char *s = (char *) addr.c_str();
- if (sscanf(s, "%d/%d/%d", &a, &b, &c) == 3)
+ if (sscanf(s, "%u/%u/%u", &a, &b, &c) == 3)
return ((a & 0x01f) << 11) | ((b & 0x07) << 8) | ((c & 0xff));
- if (sscanf(s, "%d/%d", &a, &b) == 2)
+ if (sscanf(s, "%u/%u", &a, &b) == 2)
return ((a & 0x01f) << 11) | ((b & 0x7FF));
if (sscanf(s, "%x", &a) == 1)
return a & 0xffff;
@@ -128,9 +128,7 @@
std::clog << "KNX sender thread started" << std::endl;
int len;
EIBConnection *con;
- eibaddr_t dest;
- eibaddr_t src;
- unsigned char buf[255], val;
+ unsigned char buf[255];
knxdmxd::eib_message_t message;
while (1)
{
@@ -204,7 +202,7 @@
void
KNXHandler::knxhandler()
{
- std::clog << "KNX thread started" << std::endl;
+ std::clog << "KNX handler thread started" << std::endl;
int len;
EIBConnection *con;
eibaddr_t dest;
@@ -233,7 +231,6 @@
while (1)
{
triggerList.Process();
- knxdmxd::eib_message_t message;
len = EIBGetGroup_Src(con, sizeof(buf), buf, &src, &dest);
if (len == -1)
{
@@ -677,8 +674,8 @@
(name) ? json_object_get_string(name) : "_c_" + t_to_string(i);
knxdmxd::Cuelist *c = new knxdmxd::Cuelist(cname);
- struct json_object *lprio = json_object_object_get(cuelist, "priority");
- int prio = (lprio) ? json_object_get_int(lprio) : 0;
+ //struct json_object *lprio = json_object_object_get(cuelist, "priority");
+ //int prio = (lprio) ? json_object_get_int(lprio) : 0;
// get cues
struct json_object *cues = json_object_object_get(cuelist, "cues");
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|