Rev 28 | Blame | Compare with Previous | Last modification | View Log | RSS feed
/*
* Copyright (C) 2015 by Andreas Theofilu <andreas@theosys.at>
*
* All rights reserved. No warranty, explicit or implicit, provided.
*
* NOTICE: All information contained herein is, and remains
* the property of Andreas Theofilu and his suppliers, if any.
* The intellectual and technical concepts contained
* herein are proprietary to Andreas Theofilu and its suppliers and
* may be covered by European and Foreign Patents, patents in process,
* and are protected by trade secret or copyright law.
* Dissemination of this information or reproduction of this material
* is strictly forbidden unless prior written permission is obtained
* from Andreas Theofilu.
*/
PROGRAM_NAME='main'
DEFINE_DEVICE
dvMDB = 0:4:0; // Network device
// Panels
dvTP1 = 10001:1:0;
dvTP2 = 10002:1:0;
dvTP3 = 10003:1:0;
dvTP4 = 10004:1:0;
dvTP5 = 10005:1:0;
dvTP6 = 10006:1:0;
dvTP1_mdb = 10001:12:0;
dvTP2_mdb = 10002:12:0;
dvTP3_mdb = 10003:12:0;
dvTP4_mdb = 10004:12:0;
dvTP5_mdb = 10005:12:0;
dvTP6_mdb = 10006:12:0;
// Virtual devices
vdvMDB = 33000:1:0; // Virtual device for communicating
DEFINE_VARIABLE
volatile char sIP[] = '10.10.11.219';
volatile integer nPort = 11003;
volatile char sPath[] = 'Covers';
volatile integer nMDBIndex[6];
dev dvTPs[] = { dvTP1, dvTP2, dvTP3, dvTP4, dvTP5, dvTP6 };
dev dvTPs_mdb[] = { dvTP1_mdb, dvTP2_mdb, dvTP3_mdb, dvTP4_mdb, dvTP5_mdb, dvTP6_mdb };
define_module 'MDB_Comm' MDBC(dvMDB, vdvMDB, sIP, nPort);
define_module 'MDB_UI' MDBU(dvTPs_mdb, vdvMDB, sIP, sPath, nMDBIndex);
define_start
nMDBIndex[1] = 1;
nMDBIndex[2] = 1;
nMDBIndex[3] = 1;
nMDBIndex[4] = 1;
nMDBIndex[5] = 1;
nMDBIndex[6] = 1;
define_event
data_event[dvTPs]
{
string:
{
stack_var integer pan;
pan = get_last(dvTPs);
if (find_string(DATA.TEXT, 'KEYP-', 1))
{
remove_string(DATA.TEXT, 'KEYP-', 1);
send_string vdvMDB,"'KEYPAD:',itoa(pan),':',DATA.TEXT,';'";
}
if (find_string(DATA.TEXT, 'KEYB-', 1))
{
remove_string(DATA.TEXT, 'KEYB-', 1);
send_string vdvMDB,"'KEYBOARD:',itoa(pan),':',DATA.TEXT,';'";
}
}
}