NCM109 and 4 IN-18 tubes
Nixie Tubes Clocks | Shields for Arduino Clocks | Raspberry Pi HAT Nixie Clocks | DIY KITs for Nixie Clocks | Cases for Nixie Clocks | Nixie Tubes | RF Units | Assembled Boards | Bare PCBs | Components | Spare Parts | Circuits | Firmwares… › Forums › Questions and answers about PRODUCTS › NCM109 and 4 IN-18 tubes
This topic contains 3 replies, has 2 voices, and was last updated by Jason Martin 1 year, 5 months ago.
-
AuthorPosts
-
12.07.2023 at 15:04 #44567
Hi everybody,
I bought a clock based on NCM109 v1.2 and a NCT318 v1.1, for 4 tubes IN-18.This model is always sold as is.
Unfortunately, even the latest firmware is not completed for the 4 tubes version, only for 6 and 8 tubes.
Temperature is not displayed (always 00:00)and so the tuning is not possible; year cannot be set as described.
The operating manual is not really made for 4 tubes version.
It seems that the firmware will not evolve…
If somebody may have a look to the code, at least to avoid/suppress displayed temperature (00:00).. I am a hardware guy not a programmer.
Thanks in advance.- This topic was modified 1 year, 5 months ago by despres.ph.
12.07.2023 at 23:01 #44601For suppressing the temperature display… I would look for the code
if (TempPresent)
My firmware, I don’t recall if the one that I am looking at has been heavily modified or just slightly ;), has this at line 1150. The entire block that I am thinking that you could change is:
if ((millis() - lastTimeAntiPoisoningIterate) > 100) { lastTimeAntiPoisoningIterate = millis(); if (TempPresent) { if (menuPosition == TimeIndex) stringToDisplay = antiPoisoning2(updateTemperatureString(getTemperature(value[DegreesFormatIndex])), getTimeNow()); if (menuPosition == DateIndex) stringToDisplay = antiPoisoning2(getTimeNow(), PreZero(day()) + PreZero(month()) + PreZero(year() % 1000) ); if (menuPosition == TemperatureIndex) stringToDisplay = antiPoisoning2(PreZero(day()) + PreZero(month()) + PreZero(year() % 1000), updateTemperatureString(getTemperature(value[DegreesFormatIndex]))); } else { if (menuPosition == TimeIndex) stringToDisplay = antiPoisoning2(PreZero(day()) + PreZero(month()) + PreZero(year() % 1000), getTimeNow()); if (menuPosition == DateIndex) stringToDisplay = antiPoisoning2(getTimeNow(), PreZero(day()) + PreZero(month()) + PreZero(year() % 1000) ); } // Serial.println("StrTDInToModeChng="+stringToDisplay); }
You can simply comment out:
if (menuPosition == TemperatureIndex) stringToDisplay = antiPoisoning2(PreZero(day()) + PreZero(month()) + PreZero(year() % 1000), updateTemperatureString(getTemperature(value[DegreesFormatIndex])));
That should make the clock show the time, then the day and month only and will still perform the anti-poisoning function to keep your tubes as healthy as possible.
Please keep in mind, I only recently finished my Nixie Clock, NCT412-6 v1.1 with IN-12A’s running on NCM109 v1.2. So I am trying to figure out the code as well 🙂
- This reply was modified 1 year, 5 months ago by Jason Martin. Reason: Bad Code Blocks
13.07.2023 at 22:41 #44620Thanks you very much for the tips !
All works well : time and date. Just as I wanted.
Your clock has 6 tubes. Normally, it should woks as on the operation manual.
Good luck for the firmware : unfortunately, it’s not commented… 🙁13.07.2023 at 22:59 #44621I know, right!
I was surprised to see that there wasn’t a 4 tube version in the code, but I think it considers it a Do Not Care state since it will just display the information regardless of all of the tubes being there or not.
Here’s to enjoying the clocks!
-
AuthorPosts
You must be logged in to reply to this topic.