On 14/05/2025 18:28, Chris Gerhard via
groups.io wrote:
It seems when creating a new thread
for logixNG that does not take effect until you restart JMRI.
I now have the stop processing
running in it's own thread and will see how that works.
It's much better but it still takes nearly second to respond:
JMRI? < <? CBUS |? 18:33:03.586 ACON NN:256 EN:2? Sensor
Active: UDIR1 Long Event On [+n256e2] Dyn Pri: 2 Min Pri: 3 CAN ID
: 1
JMRI? > >? CBUS |? 18:33:04.523 ACOF NN:266 EN:6? Turnout
Closed: ABC_UD1 Long Event Off [-n266e6] Dyn Pri: 2 Min Pri: 3 CAN
ID : 126
This is running on a raspberry pi 5 which does nothing else and
appears to be idle. I could bypass JMRI in the electronics but
that feels wrong as the logic then appears twice.
--chris
Sorry for the noise
chris
On 14/05/2025 18:16, Chris Gerhard
via groups.io wrote:
I'm trying to get asymetric brake control (ABC) working and
for cases where I have coaches with lighting wiring I have to
switch the ABC circuit based on a sensor. Tis works, but is
very unreliable and it appears to be because JMRI can take a
significant time to process the event. In this case the first
event shown is the sensor detecting the train and the last
event shown is the relay turning on the ABC circuit to the
coaches.
JMRI < < CBUS | 18:08:24.355 ACON NN:256 EN:2 Sensor Active: UDIR1 Long
Event On [+n256e2] Dyn Pri: 2 Min Pri: 3 CAN ID : 1 JMRI <
< CBUS | 18:08:24.357 ACON NN:259 EN:14 Sensor Active: UBD2a Long
Event On [+n259e14] Dyn Pri: 2 Min Pri: 3 CAN ID : 4 JMRI >
> CBUS | 18:08:25.313 ACON NN:267 EN:15 Turnout Thrown: BBD3 Relay
Long Event On [+n267e15] Dyn Pri: 2 Min Pri: 3 CAN ID : 126
JMRI > > CBUS | 18:08:25.372 ACOF NN:267 EN:16 Turnout Closed: BBD3a Relay
Long Event Off [-n267e16] Dyn Pri: 2 Min Pri: 3 CAN ID : 126
JMRI > > CBUS | 18:08:26.398 ACOF NN:269 EN:8 Turnout Closed: MT+N269E8
Long Event Off [-n269e8] Dyn Pri: 2 Min Pri: 3 CAN ID : 126
JMRI > > CBUS | 18:08:26.399 ACOF NN:269 EN:7 Turnout Closed: MT+N269E7
Long Event Off [-n269e7] Dyn Pri: 2 Min Pri: 3 CAN ID : 126
JMRI > > CBUS | 18:08:26.399 ACON NN:269 EN:6 Turnout Thrown: MT+N269E6
Long Event On [+n269e6] Dyn Pri: 2 Min Pri: 3 CAN ID : 126
JMRI > > CBUS | 18:08:26.546 ACON NN:262 EN:8 Turnout Thrown: UBD5a Long
Event On [+n262e8] Dyn Pri: 2 Min Pri: 3 CAN ID : 126 JMRI
> > CBUS | 18:08:26.549 ACON NN:269 EN:5 Turnout Thrown: MT+N269E5
Long Event On [+n269e5] Dyn Pri: 2 Min Pri: 3 CAN ID : 126
JMRI > > CBUS | 18:08:26.550 ACOF NN:269 EN:4 Turnout Closed: MT+N269E4
Long Event Off [-n269e4] Dyn Pri: 2 Min Pri: 3 CAN ID : 126
JMRI > > CBUS | 18:08:26.550 ACOF NN:269 EN:3 Turnout Closed: MT+N269E3
Long Event Off [-n269e3] Dyn Pri: 2 Min Pri: 3 CAN ID : 126
JMRI > > CBUS | 18:08:26.591 ACOF NN:266 EN:6 Turnout Closed: ABC_UD1 Long
Event Off [-n266e6] Dyn Pri: 2 Min Pri: 3 CAN ID : 126
The other events are related to the train leaving the
previous block and so the system clearing the signal and the
ABC relays. The swtiching is being done by LogixNG which a
simple if then else so should not take over 2 seconds, unless
it is blocked behind other processing, even that seems slow.
Is there anyway to speed up processing and or make the stop
actions have a higher priority or run in dedicated threads?
Thank you
Chris