Subversion Repositories mdb

Rev

Rev 23 | Rev 25 | Go to most recent revision | 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
19
	dvMDB		0:4:0;			// Network device
20
 
21
	// Panels
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;
28
 
29
	dvTP1_mdb	10001:2:0;
30
	dvTP2_mdb	10002:2:0;
31
	dvTP3_mdb	10003:2:0;
32
	dvTP4_mdb	10004:2:0;
33
	dvTP5_mdb	10005:2:0;
34
	dvTP6_mdb	10006:2:0;
35
 
36
	// Virtual devices
37
	vdvMDB		33000:1:0;		// Virtual device for communicating
38
 
39
DEFINE_VARIABLE
40
	char sIP[] = '10.10.10.128';
41
	integer nPort = 11003;
42
 
43
	dev dvTPs[] = { dvTP1, dvTP2, dvTP3, dvTP4, dvTP5, dvTP6 };
44
	dev dvTPs_mdb[] = { dvTP1_mdb, dvTP2_mdb, dvTP3_mdb, dvTP4_mdb, dvTP5_mdb, dvTP6_mdb };
45
 
46
define_module 'MDB_Comm' MDBC(dvMDB, vdvMDB, sIP, nPort);
47
define_module 'MDB_UI'   MDBU(dvTPs, vdvMDB);
24 andreas 48
 
49
define_event
50
	data_event[dvTPs]
51
	{
52
		string:
53
		{
54
		stack_var integer pan;
55
 
56
			pan = get_last(dvTPs);
57
 
58
			if (find_string(DATA.TEXT, 'KEYP-', 1))
59
			{
60
				remove_string(DATA.TEXT, 'KEYP-', 1);
61
				send_string vdvMDB,"'KEYPAD:',itoa(pan),':',DATA.TEXT,';'";
62
			}
63
 
64
			if (find_string(DATA.TEXT, 'KEYB-', 1))
65
			{
66
				remove_string(DATA.TEXT, 'KEYB-', 1);
67
				send_string vdvMDB,"'KEYBOARD:',itoa(pan),':',DATA.TEXT,';'";
68
			}
69
		}
70
	}