Hi,
I bought a simple serial to DMX 512 converter and I am have troubles with the ruby and would be grateful if someone could help as I have exhausted my technical abilities which are very basic. I was copying "GSD to driver weeder I/O WTDIO-M". I modified the AHA to the instructions from Milford Instruments ie channel number channel level [34,127]. Could you please view the error log and point me in the right direction? If I can get this simple DMX converter working I will post a how to in the wiki. I am sure there are a lot of better ways to write the driver in ruby but you have to start somewhere and this seemed to be the easiest to follow. I have deleted the log from child 47 to child 86 as it just repeated. I did this to cut the size of the post down.
Complete log
Device dmx protocol converter, # 46
Device Template dmx protocol converter, device category Lighting Interface, manufacturer milford instruments.
383 lines, displaying from 0 to 383
1
05 11/24/09 8:12:50.530 Going to rotate logs... <0xb5effb90>
05 11/24/09 19:27:16.703 Got a reload command from 0 <0xb5effb90>
05 11/24/09 19:27:16.960 void ClientSocket::Disconnect() on this socket: 0x88795a8 (m_Socket:
<0xb78538d0>
Return code: 2
2 11/24/09 19:27:16 46 (spawning-device) Device requests restart... count=1/50 dev=46
Tue Nov 24 19:27:17 EST 2009 Restart
========== NEW LOG SECTION ==========
1 11/24/09 19:27:25 46 (spawning-device) Starting... 1
1 11/24/09 19:27:25 46 (spawning-device) Found /usr/pluto/bin/Generic_Serial_Device
05 11/24/09 19:27:25.172 Note: Device manager has attached a device of type 37 that this has no custom event handler for. It will not fire events. <0xb78dd8d0>
05 11/24/09 19:27:25.172 Note: Device manager has attached a device of type 37 that this has no custom handler for. This is normal for IR. <0xb78dd8d0>
05 11/24/09 19:27:25.172 Creating child 86 <0xb78dd8d0>
05 11/24/09 19:27:25.172 Note: Device manager has attached a device of type 37 that this has no custom event handler for. It will not fire events. <0xb78dd8d0>
05 11/24/09 19:27:25.172 Note: Device manager has attached a device of type 37 that this has no custom handler for. This is normal for IR. <0xb78dd8d0>
RCODE:
0:require 'Ruby_Generic_Serial_Device'
1:class Command < Ruby_Generic_Serial_Device::RubyCommandWrapper
2:end
3:class Device_46 < Ruby_Generic_Serial_Device::RubySerialIOWrapper
4:#### 192 ####################################################################
5:def cmd_192(pk_pipe, pk_device_pipes, cmd=nil)
6:@returnParamArray.clear
7:0000 006D 0000 0022 00AC 00AC 0015 0040 0015 0040 0015 0040 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0040 0015 0040 0015 0040 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0040 0015 0015 0015 0015 0015 0040 0015 0040 0015 0015 0015 0015 0015 0040 0015 0015 0015 0040 0015 0040 0015 0015 0015 0015 0015 0040 0015 0040 0015 0015 0015 0689
8:return @returnParamArray
9:end
10:#### 193 ####################################################################
11:def cmd_193(pk_pipe, cmd=nil)
12:@returnParamArray.clear
13:0000 006D 0000 0022 00AC 00AC 0015 0040 0015 0040 0015 0040 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0040 0015 0040 0015 0040 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0040 0015 0040 0015 0015 0015 0015 0015 0040 0015 0040 0015 0040 0015 0040 0015 0015 0015 0015 0015 0040 0015 0040 0015 0015 0015 0689
14:return @returnParamArray
15:end
16:def cmd_ReceiveCommandForChild(cmd)
17:if cmd.id_==192#192 is on
18: id=device_.childdevices_[cmd.devidto_].devdata_[12]#get child device number
19: if id=="1"
20: conn_.send("1,240\r")#channel1 at 95%
21: end
22: if id=="2"
23: conn_.send("2,240\r")#channel2 at 95%
24: end
25: if id=="3"
26: conn_.send("3,240\r")#channel3 at 95%
27: end
28: if id=="4"
29: conn_.send("4,240\r")#channel4 at 95%
30: end
31: if id=="5"
32: conn_.send("5,240\r")#channel5 at 95%
33: end
34: if id=="6"
35: conn_.send("6,240\r")#channel6 at 95%
36: end
37: if id=="7"
38: conn_.send("7,240\r")#channel7 at 95%
39: end
40: if id=="8"
41: conn_.send("8,240\r")#channel8 at 95%
42: end
43: if id=="9"
44: conn_.send("9,240\r")#channel9 at 95%
45: end
46: if id=="10"
47: conn_.send("10,240\r")#channel10 at 95%
48: end
49: if id=="11"
50: conn_.send("11,240\r")#channel11 at 95%
51: end
52: if id=="12"
53: conn_.send("12,240\r")#channel12 at 95%
54: end
55: if id=="13"
56: conn_.send("13,240\r")#channel13 at 95%
57: end
58: if id=="14"
59: conn_.send("14,240\r")#channel14 at 95%
60: end
61: if id=="15"
62: conn_.send("15,240\r")#channel15 at 95%
63: end
64: if id=="16"
65: conn_.send("16,240\r")#channel16 at 95%
66: end
67: if id=="17"
68: conn_.send("17,240\r")#channel17 at 95%
69: end
70: if id=="18"
71: conn_.send("18,240\r")#channel18 at 95%
72: end
73: if id=="19"
74: conn_.send("19,240\r")#channel19 at 95%
75: end
76: if id=="20"
77: conn_.send("20,240\r")#channel20 at 95%
78: end
79: if id=="21"
80: conn_.send("21,240\r")#channel21 at 95%
81: end
82: if id=="22"
83: conn_.send("22,240\r")#channel22 at 95%
84: end
85: if id=="23"
86: conn_.send("23,240\r")#channel23 at 95%
87: end
88: if id=="24"
89: conn_.send("24,240\r")#channel24 at 95%
90: end
91: if id=="25"
92: conn_.send("25,240\r")#channel25 at 95%
93: end
94: if id=="26"
95: conn_.send("26,240\r")#channel26 at 95%
96: end
97: if id=="27"
98: conn_.send("27,240\r")#channel27 at 95%
99: end
100: if id=="28"
101: conn_.send("28,240\r")#channel28 at 95%
102: end
103: if id=="29"
104: conn_.send("29,240\r")#channel29 at 95%
105: end
106: if id=="30"
107: conn_.send("30,240\r")#channel30 at 95%
108: end
109: if id=="31"
110: conn_.send("31,240\r")#channel31 at 95%
111: end
112: if id=="32"
113: conn_.send("32,240\r")#channel32 at 95%
114: end
115: if id=="33"
116: conn_.send("33,240\r")#channel33 at 95%
117: end
118: if id=="34"
119: conn_.send("34,240\r")#channel34 at 95%
120: end
121: if id=="35"
122: conn_.send("35,240\r")#channel35 at 95%
123: end
124: if id=="36"
125: conn_.send("36,240\r")#channel36 at 95%
126: end
127: if id=="37"
128: conn_.send("37,240\r")#channel37 at 95%
129: end
130:end
131:if cmd.id_==193#193 is off
132: id=device_.childdevices_[cmd.devidto_].devdata_[12]
133: if id=="1"
134: conn_.send("1,0\r")#channel1 off
135: end
136: if id=="2"
137: conn_.send("2,0\r")#channel2 off
138: end
139: if id=="3"
140: conn_.send("3,0\r")#channel3 off
141: end
142: if id=="4"
143: conn_.send("4,0\r")#channel4 off
144: end
145: if id=="5"
146: conn_.send("5,0\r")#channel5 off
147: end
148: if id=="6"
149: conn_.send("6,0\r")#channel6 off
150: end
151: if id=="7"
152: conn_.send("7,0\r")#channel7 off
153: end
154: if id=="8"
155: conn_.send("8,0\r")#channel8 off
156: end
157: if id=="9"
158: conn_.send("9,0\r")#channel9 off
159: end
160: if id=="10"
161: conn_.send("10,0\r")#channel10 off
162: end
163: if id=="11"
164: conn_.send("11,0\r")#channel11 off
165: end
166: if id=="12"
167: conn_.send("12,0\r")#channel12 off
168: end
169: if id=="13"
170: conn_.send("13,0\r")#channel13 off
171: end
172: if id=="14"
173: conn_.send("14,0\r")#channel14 off
174: end
175: if id=="15"
176: conn_.send("15,0\r")#channel15 off
177: end
178: if id=="16"
179: conn_.send("16,0\r")#channel16 off
180: end
181: if id=="17"
182: conn_.send("17,0\r")#channel17 off
183: end
184: if id=="18"
185: conn_.send("18,0\r")#channel18 off
186: end
187: if id=="19"
188: conn_.send("19,0\r")#channel19 off
189: end
190: if id=="20"
191: conn_.send("20,0\r")#channel20 off
192: end
193: if id=="21"
194: conn_.send("21,0\r")#channel21 off
195: end
196: if id=="22"
197: conn_.send("22,0\r")#channel22 off
198: end
199: if id=="23"
200: conn_.send("23,0\r")#channel23 off
201: end
202: if id=="24"
203: conn_.send("24,0\r")#channel24 off
204: end
205: if id=="25"
206: conn_.send("25,0\r")#channel25 off
207: end
208: if id=="26"
209: conn_.send("26,0\r")#channel26 off
210: end
211: if id=="27"
212: conn_.send("27,0\r")#channel27 off
213: end
214: if id=="28"
215: conn_.send("28,0\r")#channel28 off
216: end
217: if id=="29"
218: conn_.send("29,0\r")#channel29 off
219: end
220: if id=="30"
221: conn_.send("30,0\r")#channel30 off
222: end
223: if id=="31"
224: conn_.send("31,0\r")#channel31 off
225: end
226: if id=="32"
227: conn_.send("32,0\r")#channel32 off
228: end
229: if id=="33"
230: conn_.send("33,0\r")#channel33 off
231: end
232: if id=="34"
233: conn_.send("34,0\r")#channel34 off
234: end
235: if id=="35"
236: conn_.send("35,0\r")#channel35 off
237: end
238: if id=="36"
239: conn_.send("36,0\r")#channel36 off
240: end
241: if id=="37"
242: conn_.send("37,0\r")#channel37 off
243: end
244:end
245:end
246:#### START SETTERS ####################################################################
247:def initialize()
248:super
249:@returnParamArray=Array.new
250:end
251:#### END SETTERS ####################################################################
252:end
254:01 11/24/09 19:27:25.242 Failed loading code: Error loading code:
error: (eval):252: compile error
(eval):7: syntax error, unexpected tINTEGER, expecting kEND
0000 006D 0000 0022 00AC 00AC 0015 004...
^
(eval):13: syntax error, unexpected tINTEGER, expecting kEND
0000 006D 0000 0022 00AC 00AC 0015 004...
^, line: 252
. <0xb56feb90>