You do not have to be Einstein to guess I have continued my work on the Signalling logic for my future layout’s signal panel over the last week. I had plans for implementing SPAD detection. I can do it on a couple of signals, but not on all of them. So I might back off on that thought for some time.
During the week, I installed a second Arduino UNO to attach 11 Infra-red Detectors to. These are for the Branchline and the Dual Gauge line signals. These IR detectors were installed into a piece of cardboard (just like the 10 other IR Detectors for the UP and DOWN Lines and the Siding lead lines) and were wired up back to the new Arduino UNO and the UNO was added to my I2C bus inside the panel. These detectors were all tested and work well. That allowed me to then move onto the logic for the Branch Line and the Bidirectional Dual Gauge Line. The Branch line signalling is relatively short – just three signals but it is also Bi-directional. This means that an UP train will not effect the signal on the DOWN and vice versa, however the IR detectors will still light up to show where the trains are on the layout.
Now I have fixed up the branch line logic, and I have implemented all the Dual Gauge logic. I have strenuously tested all the shunt movements, and cancelling the shunt movements via resetting the switches, or changing the points underneath the train and everything gives the correct results.
From my point of view I think there is just one bug remaining, and maybe one item that is causing me some minor inconvenience. I think the DOWN Dual Gauge logic is working perfectly, but the UP Dual Gauge logic has one signal that clears to yellow too early and my brain is currently fried a bit too much to see the cause. I will have a good look at it tonight, or if that fails, tomorrow. When this is fixed, I think the signalling logic will be about 98% done. I have also installed the logic to determine if we have an UP or a DOWN train on the Dual Gauge. But now thinking about it, I might have to dive back in and look at the UP and DOWN logic in regards to signals at 'Hold'. This code to set and release these signals must execute regardless of an Up or DOWN train running.
The logic inconvenience can be fixed later if I don’t like it. Basically I have some reversed logic in one of my panel switch implementations, e.g. I test certain logic tests in a different order, and thus it does not send a message to the LCD screen until a second switch is also set. Everything works here though.
So it is possible that on Wednesday when I have a free house with the boss out, I can roll out my 1:1 scale 8m long track diagrams onto the floor, throw around some points and some flex track and do some more detailed design work on the various layout module lengths and widths and where the modules all overlap etc., as there are modules that end up side by side, as well as end to end.
On last Saturday (yesterday) we had our first monthly NMRA meeting for the year and I gave a talk on our trip to Rosehill Exhibition last year. I also took along my signalling panel in the hope that at least one of the two QR Train Controllers in our group, could give me some feedback on my signal panel. Things like the messages I give on the LCD panel, and other comments about the panel. But the two slackos did not turn up. I spoke about the panel at Show and Tell and gave a few demos during various breaks in the day. I found a couple of issues during this testing. A wire broke in transit and I found a bug in my Down Main Shunt Logic. Both of these were fixed last night. I will be adding a whole lot of signage to the panel over the next few days as well, to make it more understandable or self explanatory to the operator.



