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.

Viewing 4 posts - 1 through 4 (of 4 total)
  • Author
    Posts
  • #44567

    despres.ph
    Participant

    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.
    #44601

    Jason Martin
    Participant

    For 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
    #44620

    despres.ph
    Participant

    Thanks 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… 🙁

    #44621

    Jason Martin
    Participant

    I 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!

Viewing 4 posts - 1 through 4 (of 4 total)

You must be logged in to reply to this topic.