Subversion Repositories mdb

Rev

Rev 28 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
23 andreas 1
/*
2
 * Copyright (C) 2015 by Andreas Theofilu <andreas@theosys.at>
3
 *
4
 * All rights reserved. No warranty, explicit or implicit, provided.
5
 *
6
 * NOTICE:  All information contained herein is, and remains
7
 * the property of Andreas Theofilu and his suppliers, if any.
8
 * The intellectual and technical concepts contained
9
 * herein are proprietary to Andreas Theofilu and its suppliers and
10
 * may be covered by European and Foreign Patents, patents in process,
11
 * and are protected by trade secret or copyright law.
12
 * Dissemination of this information or reproduction of this material
13
 * is strictly forbidden unless prior written permission is obtained
14
 * from Andreas Theofilu.
15
 */
16
PROGRAM_NAME='main'
17
 
18
DEFINE_DEVICE
25 andreas 19
	dvMDB =		0:4:0;			// Network device
23 andreas 20
 
21
	// Panels
25 andreas 22
	dvTP1 =		10001:1:0;
23
	dvTP2 =		10002:1:0;
24
	dvTP3 =		10003:1:0;
25
	dvTP4 =		10004:1:0;
26
	dvTP5 =		10005:1:0;
27
	dvTP6 =		10006:1:0;
23 andreas 28
 
25 andreas 29
	dvTP1_mdb =	10001:12:0;
30
	dvTP2_mdb =	10002:12:0;
31
	dvTP3_mdb =	10003:12:0;
32
	dvTP4_mdb =	10004:12:0;
33
	dvTP5_mdb =	10005:12:0;
34
	dvTP6_mdb =	10006:12:0;
23 andreas 35
 
36
	// Virtual devices
25 andreas 37
	vdvMDB =	33000:1:0;		// Virtual device for communicating
23 andreas 38
 
39
DEFINE_VARIABLE
28 andreas 40
	volatile char sIP[] = '10.10.11.219';
25 andreas 41
	volatile integer nPort = 11003;
30 andreas 42
	volatile char sPath[] = 'Covers';
26 andreas 43
	volatile integer nMDBIndex[6];
23 andreas 44
 
45
	dev dvTPs[] = { dvTP1, dvTP2, dvTP3, dvTP4, dvTP5, dvTP6 };
46
	dev dvTPs_mdb[] = { dvTP1_mdb, dvTP2_mdb, dvTP3_mdb, dvTP4_mdb, dvTP5_mdb, dvTP6_mdb };
47
 
48
define_module 'MDB_Comm' MDBC(dvMDB, vdvMDB, sIP, nPort);
26 andreas 49
define_module 'MDB_UI'   MDBU(dvTPs_mdb, vdvMDB, sIP, sPath, nMDBIndex);
24 andreas 50
 
26 andreas 51
define_start
52
	nMDBIndex[1] = 1;
53
	nMDBIndex[2] = 1;
54
	nMDBIndex[3] = 1;
55
	nMDBIndex[4] = 1;
56
	nMDBIndex[5] = 1;
57
	nMDBIndex[6] = 1;
58
 
24 andreas 59
define_event
60
	data_event[dvTPs]
61
	{
62
		string:
63
		{
64
		stack_var integer pan;
65
 
66
			pan = get_last(dvTPs);
67
 
68
			if (find_string(DATA.TEXT, 'KEYP-', 1))
69
			{
70
				remove_string(DATA.TEXT, 'KEYP-', 1);
71
				send_string vdvMDB,"'KEYPAD:',itoa(pan),':',DATA.TEXT,';'";
72
			}
73
 
74
			if (find_string(DATA.TEXT, 'KEYB-', 1))
75
			{
76
				remove_string(DATA.TEXT, 'KEYB-', 1);
77
				send_string vdvMDB,"'KEYBOARD:',itoa(pan),':',DATA.TEXT,';'";
78
			}
79
		}
80
	}