XDD Not Starting

I am trying to use the supplied XDD for 3 Hitachi projectors.
When the code loads and executes, none of the virtual devices come online.
I'm not sure what else needs to be done. There is a copy of the XDD file in the controller in the "drivers" folder.

NI Master (v4.1.404)
NI-3100 (v1.30.8)

I can see that the second and third instance (of the XDD) generates an "OutOfMemoryError", but the first instance doesn't come online either.

Here is the startup diagnostics dump.
Line      1 (19:06:29.469)::  Memory Available = 34094208 <23360>
Line      2 (19:06:29.663)::  SSLServerSocketFactory.Activator: registered service
Line      3 (19:06:29.818)::  CIpSymbol::LoadGlobalLocalInfo               120622 3036
Line      4 (19:06:29.822)::  Memory Available = 34061488 <32720>
Line      5 (19:06:29.822)::  CIpUffHandler::Module Header
Line      6 (19:06:30.304)::  CIpCodeMan::LoadCode                          24544    9
Line      7 (19:06:30.321)::  No CM present, using default configuration
Line      8 (19:06:30.743)::  Updated pid=org.knopflerfish.bundle.http.factory.HttpServer.default
Line      9 (19:06:30.757)::  create pid=org.knopflerfish.bundle.http.factory.HttpServer.default
Line     10 (19:06:31.027)::  Creating Thread Pool
Line     11 (19:06:31.266)::  Creating HTTP socket
Line     12 (19:06:31.351)::  HTTP server started on port 80
Line     13 (19:06:31.354)::  Creating HTTPS socket
Line     14 (19:06:31.430)::  AmxSslServerSocket(int,int): got called
Line     15 (19:06:31.511)::  HTTPS server started on port 443
Line     16 (19:06:31.514)::  Memory Available = 34031160 <30328>
Line     17 (19:06:32.216)::  CIpListMan::LoadVolatile                      39018    9
Line     18 (19:06:32.249)::  Memory Available = 34014432 <16728>
Line     19 (19:06:32.512)::  CIpListMan::LoadNonVolatile Restore               14
Line     20 (19:06:32.578)::  CIpDirect::LoadDirect                           222    9
Line     21 (19:06:32.582)::  CIpCodeMan::LoadTable                            10    9
Line     22 (19:06:32.661)::  CIpDeviceList::LoadDeviceList                     6    9
Line     23 (19:06:32.745)::  CIpTempMan::LoadTemplate                       8838    9
Line     24 (19:06:32.747)::  Memory Available = 34004160 <10272>
Line     25 (19:06:32.784)::  CIpSymbol::LoadFileInfo                         290    3
Line     26 (19:06:32.925)::  CIpSymbol::LoadStructureInfo                   1342   12
Line     27 (19:06:33.472)::  Memory Available = 33871280 <132880>
Line     28 (19:06:33.630)::  DeviceManager 0.0.1 has been started
Line     29 (19:06:33.829)::  Device Access: Framework started
Line     30 (19:06:33.832)::  Device Access: No DriverLocators found
Line     31 (19:06:33.832)::  Device Access: DeviceAccess.frameworkEvent - no devices found
Line     32 (19:06:33.835)::  DeviceAccess 0.0.1 has been started
Line     33 (19:06:34.504)::  Memory Available = 33858944 <12336>
Line     34 (19:06:34.832)::  DynamicDeviceDetector 0.0.1 has been started
Line     35 (19:06:35.230)::  Alias "/" was registered by bundle 12
Line     36 (19:06:35.326)::  Alias "/web/root" was registered by bundle 12
Line     37 (19:06:35.370)::  Alias "/web/module" was registered by bundle 12
Line     38 (19:06:35.373)::  RootServlet 0.0.1 has been started
Line     39 (19:06:35.406)::  Alias "/web/devices" was registered by bundle 12
Line     40 (19:06:35.409)::  DeviceServlet 0.0.1 has been started
Line     41 (19:06:35.452)::  Alias "/web/config" was registered by bundle 12
Line     42 (19:06:35.455)::  ConfigServlet 0.0.1 has been started
Line     43 (19:06:35.523)::  Alias "/web/dvx_2100hd/config" was registered by bundle 12
Line     44 (19:06:35.527)::  DVXConfigServlet 0.0.1 has been started
Line     45 (19:06:35.564)::  Alias "/web/security" was registered by bundle 12
Line     46 (19:06:35.567)::  SecurityServlet 0.0.1 has been started
Line     47 (19:06:35.594)::  Alias "/web/dynamic" was registered by bundle 12
Line     48 (19:06:35.597)::  DynamicServlet 0.0.1 has been started
Line     49 (19:06:35.601)::  Morpheus: Starting devicesdkrt.jar
Line     50 (19:06:36.469)::  Memory Available = 33783328 <75616>
Line     51 (19:06:37.012)::  duet bundle installed: /lib/jars/duet/devicesdkrt.jar
Line     52 (19:06:37.015)::  Memory Available = 33726112 <57216>
Line     53 (19:06:37.451)::  Memory Available = 33694176 <31936>
Line     54 (19:06:37.468)::  starting duet bundle: /lib/jars/duet/devicesdkrt.jar
Line     55 (19:06:37.472)::  Morpheus: Starting snapirouter.jar
Line     56 (19:06:37.543)::  Memory Available = 33678544 <15632>
Line     57 (19:06:38.451)::  Memory Available = 33611792 <66752>
Line     58 (19:06:38.576)::  duet bundle installed: /lib/jars/duet/snapirouter.jar
Line     59 (19:06:38.580)::  Memory Available = 33584624 <27168>
Line     60 (19:06:38.956)::  CIpSymbol::LoadGlobalLocalInfo               121022 3046
Line     61 (19:06:38.989)::  Memory Available = 33545728 <38896>
Line     62 (19:06:39.039)::  CIpUffHandler::Module Header
Line     63 (19:06:39.193)::  starting duet bundle: /lib/jars/duet/snapirouter.jar
Line     64 (19:06:39.238)::  WebPortalImpl: registering web portal with HTTP server - /web/portal
Line     65 (19:06:39.241)::  Alias "/web/portal" was registered by bundle 12
Line     66 (19:06:39.241)::  Web Portal Device 0.0.1 has been started
Line     67 (19:06:39.297)::  App Manager 0.0.1 has been started
Line     68 (19:06:39.326)::  AppLoader: no app jar bundle has been installed
Line     69 (19:06:39.417)::  CIpCodeMan::LoadCode                           7740   10
Line     70 (19:06:41.061)::  Framework launched
Line     71 (19:06:41.134)::  CIpListMan::LoadVolatile                      38606   10
Line     72 (19:06:41.137)::  CIpListMan::LoadNonVolatile Restore               14
Line     73 (19:06:41.137)::  CIpDirect::LoadDirect                            88   10
Line     74 (19:06:41.140)::  CIpCodeMan::LoadTable                            14   10
Line     75 (19:06:41.140)::  CIpDeviceList::LoadDeviceList                     6   10
Line     76 (19:06:41.144)::  CIpTempMan::LoadTemplate                       8838   10
Line     77 (19:06:41.144)::  CIpSymbol::LoadFileInfo                         286    3
Line     78 (19:06:41.147)::  CIpSymbol::LoadStructureInfo                   1342   12
Line     79 (19:06:41.212)::  CIpSymbol::LoadGlobalLocalInfo               120616 3034
Line     80 (19:06:41.215)::  Memory Available = 33168352 <377376>
Line     81 (19:06:41.215)::  CIpUffHandler::Module Header
Line     82 (19:06:41.219)::  CIpCodeMan::LoadCode                           7598   11
Line     83 (19:06:41.239)::  CIpListMan::LoadVolatile                      38558   11
Line     84 (19:06:41.242)::  CIpListMan::LoadNonVolatile Restore               14
Line     85 (19:06:41.242)::  CIpDirect::LoadDirect                           150   11
Line     86 (19:06:41.245)::  CIpCodeMan::LoadTable                            10   11
Line     87 (19:06:41.245)::  CIpMutual::LoadList                             218
Line     88 (19:06:41.246)::  CIpDeviceList::LoadDeviceList                     6   11
Line     89 (19:06:41.250)::  CIpTempMan::LoadTemplate                       8838   11
Line     90 (19:06:41.250)::  CIpSymbol::LoadFileInfo                         292    3
Line     91 (19:06:41.253)::  CIpSymbol::LoadStructureInfo                   1342   12
Line     92 (19:06:41.320)::  CIpSymbol::LoadGlobalLocalInfo               120440 3030
Line     93 (19:06:41.323)::  Memory Available = 32796432 <371920>
Line     94 (19:06:41.323)::  CIpUffHandler::Module Header
Line     95 (19:06:41.326)::  CIpCodeMan::LoadCode                           9488   12
Line     96 (19:06:41.413)::  CIpListMan::LoadVolatile                      38654   12
Line     97 (19:06:41.416)::  CIpListMan::LoadNonVolatile Restore               14
Line     98 (19:06:41.416)::  CIpDirect::LoadDirect                            56   12
Line     99 (19:06:41.419)::  CIpCodeMan::LoadTable                            10   12
Line    100 (19:06:41.419)::  CIpDeviceList::LoadDeviceList                     6   12
Line    101 (19:06:41.422)::  CIpTempMan::LoadTemplate                       8838   12
Line    102 (19:06:41.423)::  CIpSymbol::LoadFileInfo                         296    3
Line    103 (19:06:41.426)::  CIpSymbol::LoadStructureInfo                   1342   12
Line    104 (19:06:41.468)::  Memory Available = 32675608 <120824>
Line    105 (19:06:41.484)::  Memory Available = 32614816 <60792>
Line    106 (19:06:41.510)::  CIpSymbol::LoadGlobalLocalInfo               120786 3037
Line    107 (19:06:41.513)::  Memory Available = 32423536 <191280>
Line    108 (19:06:41.513)::  CIpUffHandler::Module Header
Line    109 (19:06:41.517)::  CIpCodeMan::LoadCode                          12282   13
Line    110 (19:06:41.540)::  CIpListMan::LoadVolatile                      38666   13
Line    111 (19:06:41.542)::  CIpListMan::LoadNonVolatile Restore               14
Line    112 (19:06:41.543)::  CIpDirect::LoadDirect                           224   13
Line    113 (19:06:41.546)::  CIpCodeMan::LoadTable                            14   13
Line    114 (19:06:41.546)::  CIpDeviceList::LoadDeviceList                     6   13
Line    115 (19:06:41.549)::  CIpTempMan::LoadTemplate                       8838   13
Line    116 (19:06:41.549)::  CIpSymbol::LoadFileInfo                         286    3
Line    117 (19:06:41.552)::  CIpSymbol::LoadStructureInfo                   1342   12
Line    118 (19:06:41.618)::  CIpSymbol::LoadGlobalLocalInfo               120932 3043
Line    119 (19:06:41.623)::  Memory Available = 32060648 <362888>
Line    120 (19:06:41.623)::  CIpUffHandler::Module Header
Line    121 (19:06:41.623)::  CIpCodeMan::LoadCode                           1260   14
Line    122 (19:06:41.626)::  CIpListMan::LoadVolatile                       4092   14
Line    123 (19:06:41.626)::  CIpListMan::LoadNonVolatile Restore               14
Line    124 (19:06:41.629)::  CIpCodeMan::LoadTable                            10   14
Line    125 (19:06:41.629)::  CIpDeviceList::LoadDeviceList                     6   14
Line    126 (19:06:41.632)::  CIpTempMan::LoadTemplate                       8838   14
Line    127 (19:06:41.632)::  CIpSymbol::LoadFileInfo                         154    2
Line    128 (19:06:41.635)::  CIpSymbol::LoadStructureInfo                   1342   12
Line    129 (19:06:41.641)::  CIpSymbol::LoadGlobalLocalInfo                 7158  160
Line    130 (19:06:41.644)::  CIpSymbol::LoadModuleInfo                       274   13
Line    131 (19:06:41.650)::  CIpUffHandler::Load Good  Incoming was 51% of Actual Size 1942KB
Line    132 (19:06:41.656)::  CIpUffHandler::Load - NV Ram Total 1047536
Line    133 (19:06:41.661)::  CIpUffHandler::Load - NV Ram Used  6000
Line    134 (19:06:41.696)::  Memory Available = 31914440 <146208>
Line    135 (19:06:41.732)::  Memory Available = 31828040 <86400>
Line    136 (19:06:49.716)::  CIpInterpreter::Run - Execute Startup Code
Line    137 (19:06:50.271)::  CIpEvent::OnLine 0:1:1
Line    138 (19:06:50.274)::  Memory Available = 31782672 <45368>
Line    139 (19:06:50.274)::  CIpEvent::OnLine 5001:1:1
Line    140 (19:06:50.275)::  CIpEvent::OnLine 5001:2:1
Line    141 (19:06:50.275)::  CIpEvent::OnLine 5001:3:1
Line    142 (19:06:50.278)::  CIpEvent::OnLine 5001:4:1
Line    143 (19:06:50.278)::  CIpEvent::OnLine 5001:5:1
Line    144 (19:06:50.278)::  CIpEvent::OnLine 5001:6:1
Line    145 (19:06:50.281)::  CIpEvent::OnLine 5001:7:1
Line    146 (19:06:50.281)::  CIpEvent::OnLine 5001:8:1
Line    147 (19:06:50.281)::  CIpEvent::OnLine 5001:9:1
Line    148 (19:06:50.285)::  CIpEvent::OnLine 5001:10:1
Line    149 (19:06:50.285)::  CIpEvent::OnLine 5001:11:1
Line    150 (19:06:50.285)::  CIpEvent::OnLine 5001:12:1
Line    151 (19:06:50.289)::  CIpEvent::OnLine 5001:13:1
Line    152 (19:06:50.289)::  CIpEvent::OnLine 5001:14:1
Line    153 (19:06:50.289)::  CIpEvent::OnLine 5001:15:1
Line    154 (19:06:50.289)::  CIpEvent::OnLine 5001:16:1
Line    155 (19:06:50.292)::  CIpEvent::OnLine 5001:17:1
Line    156 (19:06:50.298)::  CIpEvent::OnLine 32001:1:1
Line    157 (19:06:50.301)::  CIpEvent::OnLine 33001:1:1
Line    158 (19:06:52.321)::  Loading 4 Duet Modules.
Line    159 (19:06:52.339)::  IPDeviceDetector.run(): joined multicast group
Line    160 (19:06:55.188)::  Device Access: DA.processNewDevice: {Device-Revision=1.0.0, Device-Category=serial,ip, Device-Make=AMX, Protocol-File=Hitachi_Video_Projector_CP-X4022WN_1.0.0.xdd, Physical-Device=0:3:0, objectClass=[Ljava.lang.String;@312e04, Device-SDKClass=com.amx.duet
Line    161 (19:06:55.191)::  componentsdk.base.Module, Debug-Level=ERROR, Bundle-Version=1.0.0, Device-Model=DeviceDriverEngine, Duet-Device=41011:1:0, service.id=13, Duet-Module=DeviceDriverEngine}
Line    162 (19:06:55.195)::  Device Access: loadDrivers: searching for 1 drivers
Line    163 (19:06:55.198)::  Device Access: isDriverActive: checking for active driver - /bundle/DeviceDriverEngine
Line    164 (19:06:55.198)::  Device Access: isDriverActive: driver not active - /bundle/DeviceDriverEngine
Line    165 (19:06:55.499)::  Memory Available = 31772296 <10376>
Line    166 (19:06:55.595)::  DA: installing dependency: file:doc:/bundle/snapirouter2.jar
Line    167 (19:06:55.711)::  doc:/bundle/snapirouter2.jar: dependency bundle matches flash file manifest
Line    168 (19:06:55.715)::  DA: installing dependency: file:doc:/bundle/componentsdkrt.jar
Line    169 (19:06:55.813)::  doc:/bundle/componentsdkrt.jar: dependency bundle matches flash file manifest
Line    170 (19:06:55.818)::  DA: installing dependency: file:doc:/bundle/jregex1.2_01-bundle.jar
Line    171 (19:06:55.832)::  doc:/bundle/jregex1.2_01-bundle.jar: dependency bundle matches flash file manifest
Line    172 (19:06:55.836)::  DA: installing dependency: file:doc:/bundle/json-bundle.jar
Line    173 (19:06:55.849)::  doc:/bundle/json-bundle.jar: dependency bundle matches flash file manifest
Line    174 (19:06:55.852)::  DA: installing dependency: file:doc:/bundle/js-14-bundle.jar
Line    175 (19:06:55.933)::  doc:/bundle/js-14-bundle.jar: dependency bundle matches flash file manifest
Line    176 (19:06:55.937)::  DA: installing dependency: file:doc:/bundle/picocontainer-1.3-bundle.jar
Line    177 (19:06:55.951)::  doc:/bundle/picocontainer-1.3-bundle.jar: dependency bundle matches flash file manifest
Line    178 (19:06:55.973)::  Device Access: DeviceAccess.loadDrivers - installing bundle for /bundle/DeviceDriverEngine
Line    179 (19:06:56.308)::  /bundle/DeviceDriverEngine: bundle matches flash file manifest
Line    180 (19:06:56.311)::  Device Access: DeviceAccess.loadDrivers - starting bundle for /bundle/DeviceDriverEngine
Line    181 (19:06:56.456)::  Device Access: DA.processNewDevice: {Device-Revision=1.0.0, Device-Category=serial,ip, Device-Make=AMX, Protocol-File=Hitachi_Video_Projector_CP-X4022WN_1.0.0.xdd, Physical-Device=0:4:0, objectClass=[Ljava.lang.String;@26d7b3, Device-SDKClass=com.amx.duet
Line    182 (19:06:56.460)::  componentsdk.base.Module, Debug-Level=ERROR, Bundle-Version=1.0.0, Device-Model=DeviceDriverEngine, Duet-Device=41012:1:0, service.id=14, Duet-Module=DeviceDriverEngine}
Line    183 (19:06:56.469)::  Device Access: loadDrivers: searching for 1 drivers
Line    184 (19:06:56.473)::  Device Access: isDriverActive: checking for active driver - /bundle/DeviceDriverEngine
Line    185 (19:06:56.473)::  Device Access: DeviceAccess.loadDrivers: driver already active
Line    186 (19:06:56.487)::  com.amx.driverdesign.engine[email protected] Binding to file Hitachi_Video_Projector_CP-X4022WN_1.0.0.xdd
Line    187 (19:06:56.492)::  Device Access: DA.processNewDevice: {Device-Revision=1.0.0, Device-Category=serial,ip, Device-Make=AMX, Protocol-File=Hitachi_Video_Projector_CP-X4022WN_1.0.0.xdd, Physical-Device=0:5:0, objectClass=[Ljava.lang.String;@312787, Device-SDKClass=com.amx.duet
Line    188 (19:06:56.507)::  componentsdk.base.Module, Debug-Level=ERROR, Bundle-Version=1.0.0, Device-Model=DeviceDriverEngine, Duet-Device=41013:1:0, service.id=15, Duet-Module=DeviceDriverEngine}
Line    189 (19:06:56.683)::  Device Access: loadDrivers: searching for 1 drivers
Line    190 (19:06:56.686)::  Device Access: isDriverActive: checking for active driver - /bundle/DeviceDriverEngine
Line    191 (19:06:56.686)::  Device Access: DeviceAccess.loadDrivers: driver already active
Line    192 (19:06:56.698)::  Device Access: DA.processNewDevice: {Device-Revision=1.0.0, Device-Category=ip,serial,rs-232, Device-Make=LifeSize, Physical-Device=5001:1:0, objectClass=[Ljava.lang.String;@265b31, Device-SDKClass=com.amx.duet.devicesdk.VideoConferencer, Bundle-Version=1
Line    193 (19:06:56.716)::  Memory Available = 31759920 <12376>
Line    194 (19:06:56.719)::  0.0, Device-Model=Room 220,Room 200, Duet-Device=41001:1:0, service.id=16, Duet-Module=LifeSize_Room220_Comm_dr1_0_0}
Line    195 (19:06:56.961)::  Device Access: loadDrivers: searching for 1 drivers
Line    196 (19:06:56.964)::  Device Access: isDriverActive: checking for active driver - /bundle/LifeSize_Room220_Comm_dr1_0_0
Line    197 (19:06:56.964)::  Device Access: isDriverActive: driver not active - /bundle/LifeSize_Room220_Comm_dr1_0_0
Line    198 (19:06:57.143)::  Module[0:3:0] setDebugLevel(1)
Line    199 (19:06:57.402)::  Device Access: DeviceAccess.loadDrivers - installing bundle for /bundle/LifeSize_Room220_Comm_dr1_0_0
Line    200 (19:06:58.092)::  /bundle/LifeSize_Room220_Comm_dr1_0_0: bundle matches flash file manifest
Line    201 (19:06:58.096)::  Device Access: DeviceAccess.loadDrivers - starting bundle for /bundle/LifeSize_Room220_Comm_dr1_0_0
Line    202 (19:07:00.465)::  Memory Available = 31452664 <307256>
Line    203 (19:07:12.504)::  Memory Available = 31426008 <26656>
Line    204 (19:07:25.788)::  Device Access: DA.processNewDevice: {Device-Model=Room 220,Room 200, Has-Pan-Tilt=true, Has-Privacy=true, objectClass=[Ljava.lang.String;@335d91, service.id=17, Has-Hook-Cycle=true, Has-PIP-Cycle=true, Has-Iris-Speed=false, Baud_Rate=9600, Has-Camera-Pres
Line    205 (19:07:25.791)::  t-Cycle=true, Has-Privacy-Cycle=true, CALLTYPE=video, Duet-Model=Room 220,Room 200, Has-Volume-Ramp=true, Has-Volume-Mute-Cycle=true, Has-Iris=true, Physical-Device=5001:1:0, Has-Zoom-Ramp=true, Has-Auto-Answer=true, Has-Camera-Preset=true, Has-Hook=true,
Line    206 (19:07:25.791)::  Has-Iris-Ramp=true, Has-Power-Cycle=true, Device-SDKClass=com.amx.duet.devicesdk.VideoConferencer, Has-PIP=true, Has-Focus=false, Duet-Make=LifeSize, Has-Input-Select-Cycle=true, Menu-List=EXIT,ENTER,BACK,ASTERISK,POUND,FLASH,REJECT,ACCEPT,MENU,CANCEL,RED
Line    207 (19:07:25.856)::  GREEN,YELLOW,BLUE,CLEAR,SEND_GRAPHICS,SEND_INPUT,AUDIO,VIDEO, Timeout_Count=3, Device-Channels=308, Device-Revision=1.0.0, IP_Address=255.255.255.255, Poll_Time=10000, Device-Levels=32, Has-Power=true, Has-Auto-Focus-Cycle=true, Has-Volume=true, Port=23, 
Line    208 (19:07:25.890)::  enu-Navigate-List=UP,DOWN,LEFT,RIGHT,SELECT, Duet-Revision=1.0.0, Duet-Device=41001:1:0, Has-Auto-Focus=true, Device-Category=ip,serial,rs-232, BANDWIDTH=auto, Dialer-Count=10, Device-Make=LifeSize, Has-Auto-Answer-Cycle=true, Has-Menu-10Key=true, Has-Zoo
Line    209 (19:07:26.325)::  =true, Has-Focus-Speed=false, Has-Menu-Navigate=true, Has-Focus-Ramp=false, Has-Auto-Iris=true, Has-Menu=true, Has-PIP-Position-Cycle=false, Has-Auto-Iris-Cycle=false, Has-Tilt-Ramp=true, IGNORE-UNKNOWN-NETLINX-COMMAND=true, Has-Audible-Ring=true, Has-Zoo
Line    210 (19:07:26.325)::  -Speed=false, Has-Pan-Ramp=true, Bundle-Version=1.0.0, Has-Dialer=true, Has-Input-Select=true, Has-Audible-Ring-Cycle=true, CONNECT_PROTOCOL=auto, Has-Pan-Tilt-Speed=false, Has-Phonebook=true, Device-Service=com.amx.duet.routers.snapi.ISNAPIRouter}
Line    211 (19:07:26.329)::  Device Access: loadDrivers: searching for 1 drivers
Line    212 (19:07:26.363)::  Device Access: isDriverActive: checking for active driver - /lib/jars/duet/snapirouter
Line    213 (19:07:26.366)::  Device Access: isDriverActive: driver not active - /lib/jars/duet/snapirouter
Line    214 (19:07:27.328)::  Device Access: DeviceAccess.loadDrivers - installing bundle for /lib/jars/duet/snapirouter
Line    215 (19:07:28.069)::  /lib/jars/duet/snapirouter: bundle matches flash file manifest
Line    216 (19:07:28.072)::  Device Access: DeviceAccess.loadDrivers - starting bundle for /lib/jars/duet/snapirouter
Line    217 (19:07:30.484)::  SNAPIRouter: MenuComponent loaded
Line    218 (19:07:30.706)::  SNAPIRouter: PhonebookComponent loaded
Line    219 (19:07:35.363)::  SNAPIRouter: SourceSelectComponent3 loaded
Line    220 (19:07:37.852)::  SNAPIRouter: DialerComponent loaded
Line    221 (19:07:39.128)::  SNAPIRouter: PowerComponent loaded
Line    222 (19:07:43.789)::  SNAPIRouter: CameraComponent2 loaded
Line    223 (19:07:45.510)::  SNAPIRouter: VolumeComponent2 loaded
Line    224 (19:07:46.754)::  SNAPIRouter: VideoConferencerComponent loaded
Line    225 (19:07:47.562)::  SNAPIRouter: ModuleComponent loaded
Line    226 (19:07:48.420)::  CIpEvent::OnLine 41001:1:1
Line    227 (19:07:48.423)::  Memory Available = 31347864 <78144>
Line    228 (19:07:48.518)::  LifeSizeRoom: Unknown Command  PROPERTY-PASSWORD,, received.
Line    229 (19:07:49.374)::  (Reader=tInterpreter writer=tDeviceMgr)- CMessagePipe::Max = 25
Line    230 (19:07:49.397)::  CIpEvent::OnLine 41001:2:1
Line    231 (19:07:49.400)::  CIpEvent::OnLine 41001:3:1
Line    232 (19:07:49.402)::  CIpEvent::OnLine 41001:4:1
Line    233 (19:07:49.403)::  CIpEvent::OnLine 41001:5:1
Line    234 (19:07:49.405)::  CIpEvent::OnLine 41001:6:1
Line    235 (19:07:49.408)::  CIpEvent::OnLine 41001:7:1
Line    236 (19:07:49.411)::  CIpEvent::OnLine 41001:8:1
Line    237 (19:07:49.411)::  CIpEvent::OnLine 41001:9:1
Line    238 (19:07:49.414)::  CIpEvent::OnLine 41001:10:1
Line    239 (19:07:49.417)::  CIpEvent::OnLine 41001:11:1
Line    240 (19:07:49.417)::  CIpEvent::OnLine 41001:12:1
Line    241 (19:07:49.417)::  CIpEvent::OnLine 41001:13:1
Line    242 (19:07:49.421)::  CIpEvent::OnLine 41001:14:1
Line    243 (19:07:49.421)::  CIpEvent::OnLine 41001:15:1
Line    244 (19:07:49.421)::  CIpEvent::OnLine 41001:16:1
Line    245 (19:07:49.421)::  CIpEvent::OnLine 41001:17:1
Line    246 (19:08:00.594)::  java.lang.OutOfMemoryError
Line    247 (19:08:00.606)::  [email protected] Binding to file Hitachi_Video_Projector_CP-X4022WN_1.0.0.xdd
Line    248 (19:08:01.998)::  Module[0:4:0] setDebugLevel(1)
Line    249 (19:08:03.761)::  java.lang.OutOfMemoryError
Line    250 (19:08:03.770)::  [email protected] Binding to file Hitachi_Video_Projector_CP-X4022WN_1.0.0.xdd
Line    251 (19:08:04.061)::  Module[0:5:0] setDebugLevel(1)
Line    252 (19:08:06.144)::  java.lang.OutOfMemoryError


Thanks in advance for any advice.

-Chris

Comments

  • GregGGregG Just some guy... Posts: 249
    What is the allocation of duet memory set to?

    Use "get duet mem" to check it or "set duet mem" to increase it.
  • cmasoncmason Junior Member Posts: 123
    GregG wrote: »
    What is the allocation of duet memory set to?

    Use "get duet mem" to check it or "set duet mem" to increase it.

    "Duet Memory: 12M"

    Thanks.
  • cmasoncmason Junior Member Posts: 123
    What would be a recommended (safe) value to set the Duet Memory to?

    This controller is currently at a remote location, therefore I don't want to lock it up.
  • GregGGregG Just some guy... Posts: 249
    The maximum it allows is usually safe for most regular jobs. If it is a very large job with very large variable data structures, then you might want to try stepping it in increments.

    I'd say going to 20M would be a good test to see if that is an issue, but I've found 12M to be OK for 4 instances of only 2 different module types, so I'm not sure it is going to help.
  • cmasoncmason Junior Member Posts: 123
    In all fairness and disclosure, there are duet modules running for 2 different video conferencing codecs as well.

    So, all in all 5 duet virtual devices and only one comes on-line.

    I will try increasing to 20M like you said and see what kind of results I get.

    Thanks!
  • cmasoncmason Junior Member Posts: 123
    So I ended up writing a stripped down main code file to only load the XDD for a single projector and not loading any other Duet modules for other devices (for troubleshooting purposes).

    After I increased the Duet mem to 20M it loaded and the virtual device came online.

    Unfortunately though, the virtual device is not communicating with the IP connected projector.

    As you can see, the response from my queries is not getting data from the attached projector:
    Line      1 (11:56:28.133):: Command To [41011:1:1]-[?LAMPTIME]
    Line      2 (11:56:28.134):: Command From [41011:1:1]-[?LAMPTIME]
    Line      3 (11:56:28.134):: Command From [41011:1:1]-[LAMPTIME--2147483648]
    Line      4 (11:56:40.180):: Command To [41011:1:1]-[?FILTERTIME]
    Line      5 (11:56:40.180):: Command From [41011:1:1]-[?FILTERTIME]
    Line      6 (11:56:40.180):: Command From [41011:1:1]-[FILTERTIME--2147483648]
    


    Interestingly enough, I get the following diagnostics errors:
    Line      1 (11:39:02.995)::  SocketConnection<0.0.0.0,23>Thread<SocketConnection<0.0.0.0,23>> createSocket: java.net.SocketException: Socket error -1
    Line      2 (11:39:09.558)::  PRJ> Projector #1 incoming COMMAND ="PROPERTY-IP_Address,0.0.0.0"
    Line      3 (11:39:09.558)::  PRJ> Projector #1 incoming COMMAND ="PROPERTY-IP_Address,192.168.1.21"
    Line      4 (11:39:18.256)::  SocketConnection<0.0.0.0,23>Thread<SocketConnection<0.0.0.0,23>> createSocket: java.net.SocketException: Socket error -1
    Line      5 (11:39:33.504)::  SocketConnection<0.0.0.0,23>Thread<SocketConnection<0.0.0.0,23>> createSocket: java.net.SocketException: Socket error -1
    Line      6 (11:39:33.899)::  (Reader=tConnectMgr writer=ICSPTCPRx0)- CMessagePipe::Max = 25
    Line      7 (11:39:48.754)::  SocketConnection<0.0.0.0,23>Thread<SocketConnection<0.0.0.0,23>> createSocket: java.net.SocketException: Socket error -1
    Line      8 (11:40:03.985)::  SocketConnection<0.0.0.0,23>Thread<SocketConnection<0.0.0.0,23>> createSocket: java.net.SocketException: Socket error -1
    

    When I send the command "?PROPERTY-IP Address" to the virtual device, I get the following response:
    Line      1 (11:39:09.558):: Command To [41011:1:1]-[?PROPERTY-IP_Address]
    Line      2 (11:39:09.558):: Command From [41011:1:1]-[?PROPERTY-IP_Address]
    Line      3 (11:39:09.558):: Command From [41011:1:1]-[PROPERTY-IP_Address,0.0.0.0]
    Line      4 (11:39:09.558):: Command From [41011:1:1]-[PROPERTY-IP_Address,192.168.1.211]
    

    As you can see, I've set the IP property in the ONLINE EVENT, but for some reason it reports 2 IP addresses, the first of which is "not set" and the second being the address of the projector.

    This is what I get when I send the "REINIT" command:
    Line      1 (12:02:25.678):: Command To [41011:1:1]-[REINIT]
    Line      2 (12:02:25.678):: Command From [41011:1:1]-[REINIT]
    Line      3 (12:02:25.679):: Command From [41011:1:1]-[PRESETCOUNT--2147483648]
    Line      4 (12:02:25.679):: Command From [41011:1:1]-[PRESET--2147483648]
    Line      5 (12:02:25.679):: Command From [41011:1:1]-[INPUTCOUNT-9]
    Line      6 (12:02:25.679):: Command From [41011:1:1]-[INPUTPROPERTIES-"1,1,VGA,COMPUTER_IN1,COMPUTER IN1"]
    Line      7 (12:02:25.679):: Command From [41011:1:1]-[INPUTPROPERTIES-"2,2,RGB,COMPUTER_IN2,COMPUTER IN2"]
    Line      8 (12:02:25.679):: Command From [41011:1:1]-[INPUTPROPERTIES-"3,3,Ethernet,LAN,LAN"]
    Line      9 (12:02:25.679):: Command From [41011:1:1]-[INPUTPROPERTIES-"4,4,USB,USB_TYPE_A,USB TYPE A"]
    Line     10 (12:02:25.679):: Command From [41011:1:1]-[INPUTPROPERTIES-"5,5,USB,USB_TYPE_B,USB TYPE B"]
    Line     11 (12:02:25.679):: Command From [41011:1:1]-[INPUTPROPERTIES-"6,6,HDMI,HDMI,HDMI"]
    Line     12 (12:02:25.679):: Command From [41011:1:1]-[INPUTPROPERTIES-"7,7,Component,COMPONENT,COMPONENT"]
    Line     13 (12:02:25.679):: Command From [41011:1:1]-[INPUTPROPERTIES-"8,8,S-Video,S-VIDEO,S-VIDEO"]
    Line     14 (12:02:25.679):: Command From [41011:1:1]-[INPUTPROPERTIES-"9,9,Composite,VIDEO,VIDEO"]
    Line     15 (12:02:25.679):: Command From [41011:1:1]-[INPUTPROPERTY-]
    Line     16 (12:02:25.679):: Command From [41011:1:1]-[INPUTSELECT-0]
    Line     17 (12:02:25.679):: Command From [41011:1:1]-[FILTERTIME--2147483648]
    Line     18 (12:02:25.680):: Command From [41011:1:1]-[LAMPTIME--2147483648]
    Line     19 (12:02:25.680):: Command From [41011:1:1]-[ASPECT-]
    Line     20 (12:02:25.680):: Command From [41011:1:1]-[ASPECTRATIOCOUNT-5]
    Line     21 (12:02:25.680):: Command From [41011:1:1]-[ASPECTRATIOPROPERTY-"1,Aspect4:3,ASPECT4:3"]
    Line     22 (12:02:25.680):: Command From [41011:1:1]-[ASPECTRATIOPROPERTY-"2,Aspect16:9,ASPECT16:9"]
    Line     23 (12:02:25.680):: Command From [41011:1:1]-[ASPECTRATIOPROPERTY-"3,Aspect14:9,ASPECT14:9"]
    Line     24 (12:02:25.680):: Command From [41011:1:1]-[ASPECTRATIOPROPERTY-"4,Aspect16:10,ASPECT16:10"]
    Line     25 (12:02:25.680):: Command From [41011:1:1]-[ASPECTRATIOPROPERTY-"5,Normal,NORMAL"]
    Line     26 (12:02:25.680):: Command From [41011:1:1]-[ASPECTRATIOPROPERTY-]
    Line     27 (12:02:25.680):: Command From [41011:1:1]-[ASPECTRATIOSELECT-0]
    

    I've never had luck using Duet modules, and this seems to not be an exception. I usually get frustrated trying to mess around with them to get them to work and inevitably end up writing my own comm functions that I know how to troubleshoot and fix.

    Anyone have an idea?

    Thanks,
    -Chris
  • GregGGregG Just some guy... Posts: 249
    Nevermind, I didn't read it all.... d'oh
  • cmasoncmason Junior Member Posts: 123
    GregG wrote: »
    Nevermind, I did read it all.... d'oh

    ???

    Did I miss something?
  • GregGGregG Just some guy... Posts: 249
    I mentioned something about REINIT, but you showed that at the end.

    It looks like it is adding your IP to an array of addresses and then only trying to connect to the default blank placeholder entry. I haven't seen this happen before.
  • cmasoncmason Junior Member Posts: 123
    GregG wrote: »
    I mentioned something about REINIT, but you showed that at the end.

    It looks like it is adding your IP to an array of addresses and then only trying to connect to the default blank placeholder entry. I haven't seen this happen before.

    Yeah, I added the REINIT part after I posted, anticipating you'd ask me about it. ;)

    I'll add my main code here because I'm sure someone will ask me for it eventually...
    PROGRAM_NAME='Proj Test'
    
    #INCLUDE 'SNAPI.axi'								// Used for SANPI constants
    
    DEFINE_DEVICE
    
    dvIPProjector1			= 0:3:0
    dvIPProjector2			= 0:4:0
    dvIPProjector3			= 0:5:0
    
    (* Virtaul Devices *)
    
    vdvFrontProjector1		= 41011:1:0
    vdvFrontProjector2		= 41012:1:0
    vdvRearProjector		= 41013:1:0
    
    DEFINE_CONSTANT (* Projector Constants *)
    
    VOLATILE INTEGER PRJ_NUMBER_OF_PROJECTORS	=	3			
    
    VOLATILE DEV PRJ_VIRTUAL_DEVICES[]		=
    {
        vdvFrontProjector1,
        vdvFrontProjector2,
        vdvRearProjector
    }   
        
    VOLATILE INTEGER PRJ_FRONT_PROJECTOR_1		=	1
    VOLATILE INTEGER PRJ_FRONT_PROJECTOR_2		=	2
    VOLATILE INTEGER PRJ_REAR_PROJECTOR_1		=	3
    
    VOLATILE INTEGER PRJ_DEVICE_NUMBER_START	=	41010			// Subtracted from the vdv to find the Prjoector number 
    
    PRJ_FRONT_PROJECTOR_1_IP			=	'192.168.1.211'	
    PRJ_FRONT_PROJECTOR_2_IP			=	'192.168.1.212'
    PRJ_REAR_PROJECTOR_1_IP				=	'192.168.1.213'
    
    
    VOLATILE INTEGER PRJ_IP_CONTROL_PORT			=	23
    
    VOLATILE CHAR PRJ_INPUT_COMP1			=	181
    VOLATILE CHAR PRJ_INPUT_COMP2			=	182
    VOLATILE CHAR PRJ_INPUT_LAN			=	183
    VOLATILE CHAR PRJ_INPUT_USB_A			=	184
    VOLATILE CHAR PRJ_INPUT_USB_B			=	185
    VOLATILE CHAR PRJ_INPUT_S_VIDEO			=	186
    VOLATILE CHAR PRJ_INPUT_VIDEO			=	187
    VOLATILE CHAR PRJ_INPUT_HDMI			=	188
    VOLATILE CHAR PRJ_INPUT_COMPONENT		=	189
    
    VOLATILE CHAR PRJ_INPUT_TEXT[9][12]		=
    {
        'COMPUTER_IN1',
        'COMPUTER_IN2',
        'LAN',
        'USB_TYPE_A',
        'USB_TYPE_B',
        'S-VIDEO',
        'VIDEO',
        'HDMI',
        'COMPONENT'
    }
    
    VOLATILE INTEGER PRJ_POWER_STATUS_OFF 		= 	0
    VOLATILE INTEGER PRJ_POWER_STATUS_ON 		= 	1
    VOLATILE INTEGER PRJ_POWER_STATUS_COOL 		= 	2
    VOLATILE INTEGER PRJ_POWER_STATUS_WARM 		= 	3
    
    DEFINE_TYPE
    
    STRUCTURE PRJ_INFO_STRCT
    {
        INTEGER intPowerStatus
        INTEGER intCoolDownTime
        INTEGER intCoolingSecLeft
        INTEGER intFilterHours
        INTEGER intLampHours
        INTEGER intWarmingSecLeft
        INTEGER intWarmUpTime
        CHAR strCurrentInput[16]
    }
    
    DEFINE_VARIABLE (*	Projector Variables		*)
    
    VOLATILE INTEGER intPRJ_FeedbackFlag		=	TRUE
    
    VOLATILE CHAR strPRJ_ProjXDDFileName[]		=	'Hitachi_Video_Projector_CP-X4022WN_1.0.0.xdd'
    VOLATILE CHAR strPRJ_Projector_IP[PRJ_NUMBER_OF_PROJECTORS][15]			// Projector IP addresses
    
    VOLATILE PRJ_INFO_STRCT stcPRJ_ProjInfo[PRJ_NUMBER_OF_PROJECTORS]		// Structure to hold projector attriubutes
    
    DEFINE_FUNCTION fnProjectorCMD(INTEGER intPrjNumber, INTEGER intCommand)	
    {
        IF((intCommand >= PRJ_INPUT_COMP1) AND (intCommand <= PRJ_INPUT_COMPONENT))	// Change Input
        {
    	SEND_COMMAND PRJ_VIRTUAL_DEVICES[intPrjNumber],"PRJ_INPUT_TEXT[(intCommand - 180)]"
        }
    //    IP_CLIENT_OPEN(PRJ_VIRTUAL_DEVICES[intPrjNumber].port,strPRJ_Projector_IP[intPrjNumber],PRJ_IP_CONTROL_PORT,IP_TCP)
    //    
    //    PULSE[PRJ_VIRTUAL_DEVICES[intPrjNumber],intSANPICommand]
    }    
    
    
    DEFINE_START
    
    strPRJ_Projector_IP[PRJ_FRONT_PROJECTOR_1] = PRJ_FRONT_PROJECTOR_1_IP
    strPRJ_Projector_IP[PRJ_FRONT_PROJECTOR_2] = PRJ_FRONT_PROJECTOR_2_IP
    strPRJ_Projector_IP[PRJ_REAR_PROJECTOR_1] = PRJ_REAR_PROJECTOR_1_IP
    
    (****** Modules ******)
    DEFINE_MODULE 'DeviceDriverEngine' MyDevice(vdvFrontProjector1, dvIPProjector1, strPRJ_ProjXDDFileName)
    //DEFINE_MODULE 'DeviceDriverEngine' MyDevice(vdvFrontProjector2, dvIPProjector2, strPRJ_ProjXDDFileName)
    //DEFINE_MODULE 'DeviceDriverEngine' MyDevice(vdvRearProjector, dvIPProjector3, strPRJ_ProjXDDFileName)
    
    DEFINE_EVENT
    
    DATA_EVENT[PRJ_VIRTUAL_DEVICES]
    {
        ONLINE:
        {
    	STACK_VAR INTEGER intPrjNumber
    	intPrjNumber = (data.device.number - PRJ_DEVICE_NUMBER_START)
    	IF(intPRJ_FeedbackFlag) SEND_STRING 0, "'PRJ> Projector #',ITOA(intPrjNumber),' is ONLINE!'"
    	SEND_COMMAND PRJ_VIRTUAL_DEVICES[intPrjNumber],"'PROPERTY-IP_Address,',strPRJ_Projector_IP[intPrjNumber]"
    	SEND_COMMAND PRJ_VIRTUAL_DEVICES[intPrjNumber],"'PROPERTY-Port,',ITOA(PRJ_IP_CONTROL_PORT)"
    	SEND_COMMAND PRJ_VIRTUAL_DEVICES[intPrjNumber],"'REINIT'"
        }
        OFFLINE:
        {
    	STACK_VAR INTEGER intPrjNumber
    	intPrjNumber = (data.device.number - PRJ_DEVICE_NUMBER_START)
    	IF(intPRJ_FeedbackFlag) SEND_STRING 0, "'PRJ> Projector #',ITOA(intPrjNumber),' is OFFLINE!!!!'"
        }
        COMMAND:
        {
    	STACK_VAR INTEGER intPrjNumber
    	STACK_VAR CHAR strResponse[32]
    	STACK_VAR CHAR strCommand[16]
    	
    	intPrjNumber = (data.device.number - PRJ_DEVICE_NUMBER_START)
    	strResponse = DATA.TEXT
    	IF(intPRJ_FeedbackFlag) SEND_STRING 0, "'PRJ> Projector #',ITOA(intPrjNumber),' incoming COMMAND ="',strResponse,'"'"
    	strCommand = REMOVE_STRING(strResponse,'-',1)
    	SWITCH(strCommand)
    	{
    	    CASE 'COOLDOWN-':
    	    {
    		stcPRJ_ProjInfo[intPrjNumber].intCoolDownTime = ATOI(strResponse)
    	    }
    	    CASE 'COOLING-':
    	    {
    		stcPRJ_ProjInfo[intPrjNumber].intCoolingSecLeft = ATOI(strResponse)
    	    }
    	    CASE 'FILTERTIME-':
    	    {
    		stcPRJ_ProjInfo[intPrjNumber].intFilterHours = ATOI(strResponse)
    	    }
    	    CASE 'INPUT-':
    	    {
    		stcPRJ_ProjInfo[intPrjNumber].strCurrentInput = strResponse
    	    }
    	    CASE 'LAMPTIME-':
    	    {
    		stcPRJ_ProjInfo[intPrjNumber].intLampHours = ATOI(strResponse)
    	    }
    	    CASE 'WARMING-':
    	    {
    		stcPRJ_ProjInfo[intPrjNumber].intWarmingSecLeft = ATOI(strResponse)
    	    }
    	    CASE 'WARMUP-':
    	    {
    		stcPRJ_ProjInfo[intPrjNumber].intWarmUpTime = ATOI(strResponse)
    	    }
    	}
        }
    }
    
    CHANNEL_EVENT[PRJ_VIRTUAL_DEVICES,LAMP_WARMING_FB]
    {
        ON:
        {
    	STACK_VAR INTEGER intProjNumber
    	intProjNumber = (channel.device.number - PRJ_DEVICE_NUMBER_START)
    	IF(intPRJ_FeedbackFlag) SEND_STRING 0, "'PRJ> Projector #',ITOA(intProjNumber),' is WARMING'"
    	stcPRJ_ProjInfo[intProjNumber].intPowerStatus = PRJ_POWER_STATUS_WARM
    	SEND_COMMAND PRJ_VIRTUAL_DEVICES[intProjNumber],'COUNTERNOTIFY-1'
    	SEND_COMMAND PRJ_VIRTUAL_DEVICES[intProjNumber],'WARMING'
        }
    }
    
    CHANNEL_EVENT[PRJ_VIRTUAL_DEVICES,LAMP_COOLING_FB]
    {
        ON:
        {
    	STACK_VAR INTEGER intProjNumber
    	intProjNumber = (channel.device.number - PRJ_DEVICE_NUMBER_START)
    	IF(intPRJ_FeedbackFlag) SEND_STRING 0, "'PRJ> Projector #',ITOA(intProjNumber),' is COOLING'"
    	stcPRJ_ProjInfo[intProjNumber].intPowerStatus = PRJ_POWER_STATUS_COOL
    	SEND_COMMAND PRJ_VIRTUAL_DEVICES[intProjNumber],'COUNTERNOTIFY-1'
    	SEND_COMMAND PRJ_VIRTUAL_DEVICES[intProjNumber],'COOLING'
        }
    }
    
    CHANNEL_EVENT[PRJ_VIRTUAL_DEVICES,LAMP_POWER_FB]
    {
        ON:
        {
    	STACK_VAR INTEGER intProjNumber
    	intProjNumber = (channel.device.number - PRJ_DEVICE_NUMBER_START)
    	IF(intPRJ_FeedbackFlag) SEND_STRING 0, "'PRJ> Projector #',ITOA(intProjNumber),' is ON'"
    	stcPRJ_ProjInfo[intProjNumber].intPowerStatus = PRJ_POWER_STATUS_ON
        }
        OFF:
        {
    	STACK_VAR INTEGER intProjNumber
    	intProjNumber = (channel.device.number - PRJ_DEVICE_NUMBER_START)
    	IF(intPRJ_FeedbackFlag) SEND_STRING 0, "'PRJ> Projector #',ITOA(intProjNumber),' is OFF'"
    	stcPRJ_ProjInfo[intProjNumber].intPowerStatus = PRJ_POWER_STATUS_OFF
        }
    }
    
    
  • hmcewenhmcewen Junior Member Posts: 1
    Same Issue

    Did we ever find the reason for the IP Address not filling out the correct field?
    I've got the same problem.
    I hate XDD files....

    Hamish
  • cmasoncmason Junior Member Posts: 123
    hmcewen wrote: »
    Did we ever find the reason for the IP Address not filling out the correct field?
    I've got the same problem.
    I hate XDD files....

    Hamish

    Nope... just another unusable AMX duet module. I ended up writing my own Netlinx module for the projectors using the PJLink protocol.

    Every time I think I can save myself some time by using a pre-written "module", I end up kicking myself in the a$$, as I waste double the time trying to get the module to work... and then inevitably have to write my own anyhow.

    Someday I'll learn to just write my own from the beginning and save myself the stress!
  • GregGGregG Just some guy... Posts: 249
    My usual rule is that for anything short of a full text browsing media server, write the module or include file as the first choice.
  • PhreaKPhreaK Senior Member Posts: 966
    By the looks of that diagnostics output it's trying to open a connection to 0.0.0.0:23. If I had to hazard a guess I'd say it's looking for a different property for the IP address. Try setting 'IP-Address'.
  • cmasoncmason Junior Member Posts: 123
    PhreaK wrote: »
    By the looks of that diagnostics output it's trying to open a connection to 0.0.0.0:23. If I had to hazard a guess I'd say it's looking for a different property for the IP address. Try setting 'IP-Address'.

    I tried doing it several times. If you look at line 4 of the notifications, you can clearly see it is set (in some fashion).

    This was the response from the "?PROPERTY_IP-Address" query:
    Line      1 (11:39:09.558):: Command To [41011:1:1]-[?PROPERTY-IP_Address]
    Line      2 (11:39:09.558):: Command From [41011:1:1]-[?PROPERTY-IP_Address]
    Line      3 (11:39:09.558):: Command From [41011:1:1]-[PROPERTY-IP_Address,0.0.0.0]
    Line      4 (11:39:09.558):: Command From [41011:1:1]-[PROPERTY-IP_Address,192.168.1.211]
    

    It is as if it want's 2 IP addresses or it needs to populate two IP variables.
    Hell if I know. That's the thing I really don't like about these DUET modules. There isn't a possibility for me to crack it open and fix whatever the author missed or broke.

    Why can't these be written in Netlinx so we can fix/use them?
  • PhreaKPhreaK Senior Member Posts: 966
    IIRC all properties passed into Duet modules are just placed into a Map by the Duet framework. You can fire any property at any Duet module and when you query it and the data you sent will be there.

    For example, if you send
    PROPERTY-Test,FooBar
    
    Then query 'Test' with a
    ?PROPERTY-Test
    
    It will spit FooBar right back at you.

    If the module is not looking for the value to be under the 'Test' (e.g. in the case of 'IP_Address' vs 'IP-Address') there's not going to be anything for it to work with internally.

    I haven't worked with the XDD module extensively (been doing other things for the past 6 months or so) however have come across this exact situation with other externally developed modules previously.
Sign In or Register to comment.