Keyboard Shortcuts
Likes
- Jmriusers
- Messages
Search
Tim Kelley
Good morning, thanks for all the good advice!! I stumbled upon these web pages and they are very good in figuring out what modifications need to be made and how to make them ?to the Peco ElectroFrog turnouts and why. ????????????????dccwiki.com/PecoElectroFreog ????????????????wiringfordcc.com/switch_peco.htm Thanks, have a good day! Tim
On Tuesday, May 2, 2023 at 08:45:59 AM CDT, John Huntzinger <jh66@...> wrote:
I agree that having resistors on several axles is OK, however one must ensure that the resistor wheel set does not cause other problems? Just last week while cleaning wheels and checking their gauge on a train club car I noticed that one axle’s resistor was catching on a coupler box’s round head screw. (The resistor was a typical looking resistor with a wire coming out of both ends.) Moving the resistor’d axle to the other spot, or turning the truck around, solved the problem. John H Harrington, DE |
I agree that having resistors on several axles is OK, however one must ensure that the resistor wheel set does not cause other problems Just last week while cleaning wheels and checking their gauge on a train club car I noticed that one axle’s resistor was catching on a coupler box’s round head screw. (The resistor was a typical looking resistor with a wire coming out of both ends.) Moving the resistor’d axle to the other spot, or turning the truck around, solved the problem.
John H Harrington, DE |
Jeremy, If you do an application search for "text" you will get the default GUI text editor. I need to update the Linux install page.
Dave Sand ----- Original message ----- From: "Jeremy Thompson via groups.io" <jeremy.thompson2=[email protected]> Subject: Re: [jmriusers] Installation of JMRI on Ubuntu 22.04 Date: Tuesday, May 02, 2023 4:53 AM Thank you guys for helping me with this
problem! Tim, they didn't appear in the square of icons. I agree with Dave and Robert about not using LibreOffice Writer,
even with saving it as a .txt file. There must still be some non
printing characters retained. I downloaded "nano-editor" and after realising that it was so
simple it needed running from the Command line, I created the two
files. They are initially saved at "Home" (or in your working
directory) and I then moved them to Desktop. Once they are on the Desktop, they had to be enabled by setting
"Enable Launching". Is there a way of moving them to the Favourites bar? Drag and drop
didn't work. Once again, many thanks. Regards, Jeremy On 01/05/2023 19:01, Robert Heller
wrote:
|
Locked
Re: Team track
#operationspro
On Mon, May 1, 2023 at 12:00 PM, Dan Boudreau wrote:
On Mon, May 1, 2023 at 08:19 AM, John Barone wrote:What if the number of users is such that if each is given one 40' car, the sum of the pool would exceed the physical length of the team track? For example, given 5 users each expecting a single 40' car but the physical team track is only 135' long.? Would you set up the pool such that each of the five individual tracks might be 27' (135/5=27) but with no reserve? The five users would fight it out for the available space and depend on the railroad to figure it out? |
开云体育Thank you guys for helping me with this problem!Tim, they didn't appear in the square of icons. I agree with Dave and Robert about not using LibreOffice Writer, even with saving it as a .txt file. There must still be some non printing characters retained. I downloaded "nano-editor" and after realising that it was so simple it needed running from the Command line, I created the two files. They are initially saved at "Home" (or in your working directory) and I then moved them to Desktop. Once they are on the Desktop, they had to be enabled by setting "Enable Launching". Is there a way of moving them to the Favourites bar? Drag and drop didn't work. Once again, many thanks. Regards,
Jeremy
On 01/05/2023 19:01, Robert Heller
wrote:
I strongly agree with Dave about NOT using LibreOffice Writer to edit *text* (configuration, data, etc.) files. LibreOffice Writer is a *word processor* and is not really meant to be used as a plain text editor. It is all about editing *typeset* documentations. Linux has a whole selection of proper text editors, from nano (super simple) to emacs (super complex), specificly designed to edit plain text files (ASCII). At Mon, 01 May 2023 12:52:05 -0500 "Dave Sand" <ds@...> wrote:Jeremy, The Linux install was recently upgraded. See I recommend you use the Linux text editor instead of LibreOffice Writer. Dave Sand ----- Original message ----- From: "jeremy.thompson2 via groups.io" <jeremy.thompson2@...> To: [email protected] Subject: [jmriusers] Installation of JMRI on Ubuntu 22.04 Date: Monday, May 01, 2023 12:08 PM I am following the Guide for installation of JMRI on UBUNTU 22.04. It has all gone successfully, until the last step. I can run PanelPro and Decoder Pro from the command line but I would like to have desktop icons. I have followed the procedure to create the active Icons for both Panel Pro and Decoder Pro. However, neither of them work. I get the error message "This desktop file has errors, or points to a program without permissions. It cannot be executed." All the files, the desktop text files and the "Exec" files are all executable. I created the desktop files in LibreOffice Writer and saved the files as .txt files. I then removed the .txt at the end of the name. Is there more I need to do to these text files? Thank you. Jeremy |
Locked
Re: Occupancy detection
#digikeijs
Recheck your channel addresses. You might have a conflict with other devices.
Loconet? Your addresses may have a conflict within JMRI. These conflicts could cause "momentary" appearance. Can you verify on the module detection locally using DijiKeijs software? If using Loconet, did you try "slow mode" communication? Check Loconet monitor for communication problems. If using Railcom, check MULTI-sense settings. I don't have DijiKeijs, so I can't play games with it. Unfortunately, there is no DijiKeijs group I can find that you can consult. -- Ken NYNH&H, Old Colony Division, Cape Cod Branch (1949-1959) [DB150][PR3][QuadLN_S][JMRI 5.3.5] |
Locked
Question Re: ADMIN: PERMITTED TOPICS - A general reminder for everyone
I notice you omitted the word "technical" which has previously been a part of this notice.
Please explain. Regards |
Hi Dave and everyone,
toggle quoted message
Show quoted text
Thank you all?for your help on the subject.? Kind regards? Duncan On Tuesday, May 2, 2023, 5:41 am, Dave Heap <dgheap@...> wrote:
--
Kind regards Duncan Hamilton |
It's been half mentioned but just to reinforce it - if a short turnout is its own block, then you will need a LOT of resistor wheelsets at regular intervals, or as soon as the turnout block goes unoccupied, if your train hasn't cleared it, it could get derailed by a points move etc.
There are different types of block detectors, some detect on both rails, some just one. I'd definitely go for a detector that detects on one rail and stick it on the stock rail of a turnout as, with the kind of wiring you're suggesting for electrofrog, over half of the potentially already short turnout rail could be isolated from the rest, making 'full' block detection on both rails either tricky or prone to shorting the block detector. |
MFRC522, Ethernet/Serial, Nano/Uno/Mega
Steve, OK, so I tested this latest version using a Mega and 1 reader, with no shield since I don't have one at home right now to use. Uploaded sketch, open Serial monitor, get Ethernet not connect or no connection available message and also get Reader A detected on pin X. Reads tags no problem. Moved my single reader to the next set of SS/RST pins, reset the Mega, same result, but now with Reader B. Repeated this process for all 8 SS/RST pin pairs/ReaderIDs. Debugging messages displaying correctly and Serial output is correct for all 8 readers. LED blinks once for me since only 1 reader connected to any SS/RST pin pair. Will hopefully be able to test this Mega and an Uno tomorrow with the attached Ethernet shield, but there is no reason it shouldn't work as expected.? Tom |
Locked
Re: New user to JMRI Ops Pro requesting assistance
#operationspro
Mel,
Once again, the .txt files are both for the manifest of the Mina Turn,?one built on 4/30 at 20:32 Manifest for train (Mina Turn) Arnold to Hearne Job Valid 4/30/1967 20:32 Works Arnold to HearneAnd one built on 4/30 at 21:06 Manifest for train (Mina Turn) Arnold to Hearne Job Valid 4/30/1967 21:06 Works Arnold to HearneSo, still lacking the details from the build report, let's at least get one of the question answered... Why doesn't the Dayton Transfer take any cars back to staging from Arnold Yard? Simple Answer:? The track to which the train returns doesn't service Eastbound trains. Dayton appears to be made up of 4 tracks
Destination (Dayton) does not service Eastbound trainsI suggest you change Dayton to service both directions, which is done by checking both direction boxes upper right area of the "Edit Location" window. As far as the other problem... ...one car going from the Hanford Team Trk. to the Mina Interchange Trk. without going to Arnold Yard first.This is because it can!? If the car in question is of a car-type allowed in both spurs, then try allowing only differing "load state" at each, In other words, allow Hanford TT to allow only Boxcars with "L" and Mina Interchange to allow only Boxcars with "E".? If you want the load state to be useable at both, then you need a schedule to point cars where you wish them to go. Establish a schedule for Hanford Team Track using the Optional Schedule section of the Edit Spur window.? I suggest you name the schedule something other than the name of the spur (gets confusing later) so try "Freight Forward". Add a Boxcar to the list and then choose to Receive "L" and Ship "E" and most crucial, choose a Destination of Arnold Yard.? This will point any Boxcar unloading at the Hanford Team Track back to Arnold and no other location will "grab" it! Of course, this trick can be put in place for all your spurs if you wish all cars to return to Arnold Yard first... Happy to help, hope it helps, <Pete Johnson> |
Locked
Re: I have apparently created a loop or message storm in Loconet - I don't know if it's JMRI or not -- any suggestions on how to diagnose?
Dave, thanks. Now I understand.? I'm using MQTT signal masts
-- Douwe |
Duncan,
On 2 May 2023, at 2:12 pm, Dave Heap via groups.io <dgheap@...> wrote:For a Power Pro system with Number of Recalls set to 6, the Show Cabs display would be up to round 384 rows and take a long time to display/refresh. For a Power Cab rhe table would be much shorter. Dave in Australia |
Locked
Re: Team track
#operationspro
Hey John,
Why not just create a new location named "Lakeview Team Spur"?? Then you can name the spurs found there after each industry you want represented.? This will have a side effect of the Team track being listed separately as far as the train's route visits, but this wouldn't be too obvious on the manifest. Example: Manifest for Train 123 Scheduled work for Enola? pick up car blah blah blah? ? ? ? ? ?from Yard 1 pick up car blah blah blah? ? ? ? ? ?from Yard 2 pick up car blah blah blah? ? ? ? ? ?from Yard 2 pick up car blah blah blah? ? ? ? ? ?from Yard 5 Scheduled work for Lakeview set out car blah blah blah to ABC factory, Door 1 set out car blah blah blah to XYZ warehouse, Dock Scheduled work for Lakeview Team Spur set out car blah blah blah? ? ? ? ? ? ?to Ryans Rebar set out car blah blah blah? ? ? ? ? ? ?to John's Mercantile pick up car blah blah blah? ? ? ? ? ? ?from Pete's Grocery Scheduled work for Enola? set out car blah blah blah? ? ? ? ? ? to Yard 1 Train 123 terminates in Enola This requires the location to allow the trains you want working the Team Spur of course, and only those trains. Alternately, I believe if you create Lakeview and Lakeview-(Team Spur) as separate locations, the manifest will show the train visiting only "Lakeview" as one stop.? It still needs to be listed separately on the route, so the program will allow the train to do it's moves as described for each location. Happy to help, hope it helps, <Pete Johnson> |
Duncan,
On 2 May 2023, at 2:23 am, Duncan via groups.io <dunradar09@...> wrote:Each row you see in the Show Cabs is the partial contents of the Cab Context Page for each Cab Bus Address. This part of command station memory also has a ";swap area for RECALL key" memory area but is not currently being read and decoded by JMRI. There is documentation of sorts in an NCE Technical Reference Manual (V2,3 for the Power Pro command station. The access method for for the Power Cab is different and may not even be accessible to JMRI. It was on my (longer than a lifetime) TO DO list. Unfortunately since a bout of Covid in mid 2022 I have multiple health problems and am no longer able to do much at all. Dave in Australia |
Locked
Re: Team track
#operationspro
Dan's correct. Use the pooling feature.
later Inspector Dave Onalaska WI |
On Mon, May 1, 2023 at 05:58 PM, <stephenjohnson500@...> wrote:
MFRC522, Nano/Uno/Mega, Serial/Ethernet Steve, ? Detects the type of board it's running on (Nano, Uno, or Mega) and sets the SS/RST pins accordingly. Determines the ReaderID based on the SS/RST pins used, not simply the number of readers connected. Blinks the LED to match the number of detected readers. Sends output to the Serial connection in all cases, even if the Ethernet shield is not connected. If connected, the output is sent via both Serial and Ethernet connections. The output consists of 16 ASCII characters: ReaderID, 5 bytes of tag data, the checksum for those 5 bytes, a CR (carriage return), LF (line feed), and '>'. This sketch handles multiple RFID readers, performs self-tests during setup, and sends card data through the serial or Ethernet connection depending on the Ethernet shield status. ? // Import Libraries
#include <SPI.h>? ? ? ? ? ?// SPI library for communicating with the MFRC522 reader
#include <MFRC522.h>? ? ? ?// MFRC522 library for reading RFID cards
#include <Ethernet.h>? ? ? // Ethernet library for the Ethernet shield
?
// Ethernet configuration
byte mac[] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED};
IPAddress ip(192, 168, 1, 177); // Replace with the desired IP address
unsigned int serverPort = 8888;? // Replace with the desired port number
?
EthernetServer server(serverPort);
?
// Define the SS (Slave Select) and RST (Reset) pins for each reader
#if defined(ARDUINO_AVR_UNO) || defined(ARDUINO_AVR_NANO)
const uint8_t ssPins[] = {5, 6, 7, A0, A1, A2};
const uint8_t rstPins[] = {4, 8, 9, A3, A4, A5};
const uint8_t readerAssignment[] = {1, 2, 3, 4, 5, 6}; // Assign reader numbers based on SS and RST pins
#elif defined(ARDUINO_AVR_MEGA2560)
const uint8_t ssPins[] = {5, 6, 7, 8, 9, A0, A1, A2};
const uint8_t rstPins[] = {22, 23, 24, 25, 26, 27, 28, 29};
const uint8_t readerAssignment[] = {1, 2, 3, 4, 5, 6, 7, 8}; // Assign reader numbers based on SS and RST pins
#endif
?
const int numReaders = sizeof(ssPins) / sizeof(ssPins[0]);
const char readerID[] = {'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'};
?
struct RFIDReader {
? char id;
? uint8_t ssPin;
? uint8_t rstPin;
? MFRC522 mfrc522;
? byte nuid[7];
? bool isConnected;
?
? RFIDReader() : id(0), ssPin(0), rstPin(0), mfrc522(MFRC522(0, 0)), isConnected(false) {}
};
?
RFIDReader readers[numReaders];
EthernetClient client;
bool isEthernetConnected = false;
?
void setup() {
? Serial.begin(9600);
? SPI.begin();
? pinMode(10, OUTPUT);
? digitalWrite(10, HIGH);
?
? // Set pin 53 as OUTPUT for the Arduino Mega 2560
? #if defined(ARDUINO_AVR_MEGA2560)
? ? pinMode(53, OUTPUT);
? #endif
?
? pinMode(4, OUTPUT);
? digitalWrite(4, HIGH);
?
? Ethernet.begin(mac, ip);
? delay(1000);
?
? if (Ethernet.hardwareStatus() == EthernetNoHardware || Ethernet.linkStatus() == LinkOFF) {
? ? Serial.println("Ethernet shield not connected or network not available");
? ? isEthernetConnected = false;
? } else {
? ? isEthernetConnected = true;
? }
?
? for (uint8_t i = 0; i < numReaders; i++) {
? ? readers[i].ssPin = ssPins[i];
? ? readers[i].rstPin = rstPins[i];
? ? readers[i].id = readerID[readerAssignment[i] - 1]; // Assign the reader ID based on readerAssignment array
? ? readers[i].mfrc522 = MFRC522(readers[i].ssPin, readers[i].rstPin);
? ? readers[i].mfrc522.PCD_Init();
?
? ? // Check if the reader is connected
? ? if (readers[i].mfrc522.PCD_PerformSelfTest()) {
? ? ? readers[i].isConnected = true;
? ? ? readers[i].mfrc522.PCD_SetAntennaGain(readers[i].mfrc522.RxGain_max);
?
? ? ? // Print debugging information
? ? ? Serial.print("Reader ");
? ? ? Serial.print(readers[i].id);
? ? ? Serial.print(" detected on SS pin ");
? ? ? Serial.println(readers[i].ssPin);
? ? } else {
? ? ? readers[i].isConnected = false;
? ? }
? }
?
? if (isEthernetConnected) {
? ? server.begin();
? }
?
? // Blink the LED to indicate the number of detected readers
? pinMode(LED_BUILTIN, OUTPUT);
? for (int i = 0; i < numReaders; i++) {
? ? if (readers[i].isConnected) {
? ? ? digitalWrite(LED_BUILTIN, HIGH);
? ? ? delay(300);
? ? ? digitalWrite(LED_BUILTIN, LOW);
? ? ? delay(300);
? ? }
? }
}
?
void loop() {
? if (isEthernetConnected) {
? ? if (!client.connected()) {
? ? ? client.stop();
? ? ? client = server.accept();
? ? ? if (client) {
? ? ? ? Serial.println("Client connected");
? ? ? }
? ? }
? }
?
? for (uint8_t i = 0; i < numReaders; i++) {
? ? if (readers[i].isConnected && readers[i].mfrc522.PICC_IsNewCardPresent() && readers[i].mfrc522.PICC_ReadCardSerial()) {
? ? ? for (uint8_t j = 0; j < readers[i].mfrc522.uid.size; j++) {
? ? ? ? readers[i].nuid[j] = readers[i].mfrc522.uid.uidByte[j];
? ? ? }
?
? ? ? byte checksum = readers[i].nuid[0];
? ? ? for (uint8_t j = 1; j < 5; j++) {
? ? ? ? checksum ^= readers[i].nuid[j];
? ? ? }
?
? ? ? // Send output to Serial connection
? ? ? Serial.write(readers[i].id);
?
? ? ? if (isEthernetConnected && client.connected()) {
? ? ? ? // Send output to Ethernet client
? ? ? ? client.write(readers[i].id);
? ? ? }
?
? ? ? for (uint8_t j = 0; j < 5; j++) {
? ? ? ? // Send output to Serial connection
? ? ? ? Serial.print(readers[i].nuid[j] < 0x10 ? "0" : "");
? ? ? ? Serial.print(readers[i].nuid[j], HEX);
?
? ? ? ? if (isEthernetConnected && client.connected()) {
? ? ? ? ? // Send output to Ethernet client
? ? ? ? ? client.print(readers[i].nuid[j] < 0x10 ? "0" : "");
? ? ? ? ? client.print(readers[i].nuid[j], HEX);
? ? ? ? }
? ? ? }
?
? ? ? // Send output to Serial connection
? ? ? Serial.print(checksum < 0x10 ? "0" : "");
? ? ? Serial.print(checksum, HEX);
?
? ? ? if (isEthernetConnected && client.connected()) {
? ? ? ? // Send output to Ethernet client
? ? ? ? client.print(checksum < 0x10 ? "0" : "");
? ? ? ? client.print(checksum, HEX);
? ? ? }
?
? ? ? // Send output to Serial connection
? ? ? Serial.write(0x0D);
? ? ? Serial.write(0x0A);
? ? ? Serial.write('>');
?
? ? ? if (isEthernetConnected && client.connected()) {
? ? ? ? // Send output to Ethernet client
? ? ? ? client.write(0x0D); // CR
? ? ? ? client.write(0x0A); // LF
? ? ? ? client.write('>');? // ETX replaced by '>'
? ? ? }
?
? ? ? readers[i].mfrc522.PICC_HaltA();
? ? ? readers[i].mfrc522.PCD_StopCrypto1();
? ? }
? }
} Tom |
MFRC522, Nano/Uno/Mega, Serial/Ethernet
Tom, I tried this latest version of the sketch on two combinations. The first was an Uno and single reader being used in Serial mode. Unfortunately it didn't work as hoped. It detected all six readers despite only one being connected. It didn't read any tags either on the Serial Monitor or JMRI. The second combination was an Uno, Ethernet Shield and single reader. Again, it listed all six readers despite just one being connected. In did not read any tags in Serial Mode either on the Serial Monitor or JMRI. I then tried it with it connected to the network. Again it listed all readers, but would not read any tags on the Serial Monitor or JMRI. Switching JMRI to the network connection now. It listed all readers, then came up with 'Client Connected'. Unfortunately, it didn't read any tags. So we seem to have gone backwards here somewhere. Just as a check on the hardware, I uploaded the Serial only sketch to the Uno/Reader combo. It listed one reader with the right connection and read the tags correctly. So that combo was okay. I then uploaded v6 of the Ethernet/Serial sketch to the Uno, Ethernet Shield and Reader combo. It correctly identified the reader and its connection, but as before, would only read a tag when connected to JMRI. So, same as before, but working as before and therefore correctly. So I'm not sure what's happened there Tom? I wish I knew a bit more about coding but the Reader ID issue seems to have gone back to v5, which was solved in v6. I imagined that the Ethernet connection would be a sort of 'if, then, else' sort of argument. So IF the the shield is connected, THEN?connect to client and transmit the data on the Network and Serial, ELSE do not connect to client and transmit data on Serial only. I'm not sure if that sort of argument works on an Arduino, does it? Anyway, hopefully you will have a few ideas on this. Steve |