You're reading ...
Project Progress

New Video Series: Fun with Arduino

The Arduino can be a great toy to any hobbyist or modeler. With its configurable digital (20) or analog (6) inputs and outputs signals can be read from switches, sensors or data streams and we can control LEDs, relays, motors, (power)FETs and what have you.

Not everyone is that much into electronics or software, the hurdle to start playing with Arduino might be too steep. This is where the idea arose to do a series of videos, aimed at anyone who likes to try Arduino without much prior knowledge needed.

The videos and the accompanying articles will be posted on a new blog:

Fun with Arduino

The first videos are already out there.

Have fun!

arduino_03_800

 

— 0 —

About RudyB

Hobbyist

Discussion

8 thoughts on “New Video Series: Fun with Arduino

  1. Hi Rudy, I am trying to install the RB_DCCpp_Decoder sketch and I am getting an error message.
    Can you help me?

    Chris

    Arduino: 1.8.5 (Windows 10), Board: “Arduino/Genuino Mega or Mega 2560, ATmega1280”

    Build options changed, rebuilding all
    libraries\RB_DCC_Decoder_Accessory\DCC_Decoder.cpp.o (symbol from plugin): In function `DCC_Decoder::State_Reset()’:

    (.text+0x0): multiple definition of `DCC_Decoder::State_Reset()’

    sketch\DCC_Decoder.cpp.o (symbol from plugin):(.text+0x0): first defined here

    libraries\RB_DCC_Decoder_Accessory\DCC_Decoder.cpp.o (symbol from plugin): In function `DCC_Decoder::State_Reset()’:

    (.text+0x0): multiple definition of `DCC_Decoder::func_DecodingEngineCompletion’

    sketch\DCC_Decoder.cpp.o (symbol from plugin):(.text+0x0): first defined here

    libraries\RB_DCC_Decoder_Accessory\DCC_Decoder.cpp.o (symbol from plugin): In function `DCC_Decoder::State_Reset()’:

    (.text+0x0): multiple definition of `DCC_Decoder::gHandledAsRawPacket’

    sketch\DCC_Decoder.cpp.o (symbol from plugin):(.text+0x0): first defined here

    libraries\RB_DCC_Decoder_Accessory\DCC_Decoder.cpp.o (symbol from plugin): In function `DCC_Decoder::State_Reset()’:

    (.text+0x0): multiple definition of `DCC_Decoder::gResetReason’

    sketch\DCC_Decoder.cpp.o (symbol from plugin):(.text+0x0): first defined here

    libraries\RB_DCC_Decoder_Accessory\DCC_Decoder.cpp.o (symbol from plugin): In function `DCC_Decoder::State_Reset()’:

    (.text+0x0): multiple definition of `DCC_Decoder::gThisPacketMS’

    sketch\DCC_Decoder.cpp.o (symbol from plugin):(.text+0x0): first defined here

    libraries\RB_DCC_Decoder_Accessory\DCC_Decoder.cpp.o (symbol from plugin): In function `DCC_Decoder::State_Reset()’:

    (.text+0x0): multiple definition of `DCC_Decoder::gLastValidPacketMS’

    sketch\DCC_Decoder.cpp.o (symbol from plugin):(.text+0x0): first defined here

    libraries\RB_DCC_Decoder_Accessory\DCC_Decoder.cpp.o (symbol from plugin): In function `DCC_Decoder::State_Reset()’:

    (.text+0x0): multiple definition of `DCC_Decoder::gLastValidIdlePacketMS’

    sketch\DCC_Decoder.cpp.o (symbol from plugin):(.text+0x0): first defined here

    libraries\RB_DCC_Decoder_Accessory\DCC_Decoder.cpp.o (symbol from plugin): In function `DCC_Decoder::State_Reset()’:

    (.text+0x0): multiple definition of `DCC_Decoder::gLastValidResetPacketMS’

    sketch\DCC_Decoder.cpp.o (symbol from plugin):(.text+0x0): first defined here

    libraries\RB_DCC_Decoder_Accessory\DCC_Decoder.cpp.o (symbol from plugin): In function `DCC_Decoder::State_Reset()’:

    (.text+0x0): multiple definition of `DCC_Decoder::gLastPacketToThisAddress’

    sketch\DCC_Decoder.cpp.o (symbol from plugin):(.text+0x0): first defined here

    libraries\RB_DCC_Decoder_Accessory\DCC_Decoder.cpp.o (symbol from plugin): In function `DCC_Decoder::State_Reset()’:

    (.text+0x0): multiple definition of `DCC_Decoder::gLastValidPacketToAddressMS’

    sketch\DCC_Decoder.cpp.o (symbol from plugin):(.text+0x0): first defined here

    libraries\RB_DCC_Decoder_Accessory\DCC_Decoder.cpp.o (symbol from plugin): In function `DCC_Decoder::State_Reset()’:

    (.text+0x0): multiple definition of `DCC_Decoder::gPacket’

    sketch\DCC_Decoder.cpp.o (symbol from plugin):(.text+0x0): first defined here

    libraries\RB_DCC_Decoder_Accessory\DCC_Decoder.cpp.o (symbol from plugin): In function `DCC_Decoder::State_Reset()’:

    (.text+0x0): multiple definition of `DCC_Decoder::gPacketIndex’

    sketch\DCC_Decoder.cpp.o (symbol from plugin):(.text+0x0): first defined here

    libraries\RB_DCC_Decoder_Accessory\DCC_Decoder.cpp.o (symbol from plugin): In function `DCC_Decoder::State_Reset()’:

    (.text+0x0): multiple definition of `DCC_Decoder::gPacketMask’

    sketch\DCC_Decoder.cpp.o (symbol from plugin):(.text+0x0): first defined here

    libraries\RB_DCC_Decoder_Accessory\DCC_Decoder.cpp.o (symbol from plugin): In function `DCC_Decoder::State_Reset()’:

    (.text+0x0): multiple definition of `DCC_Decoder::gPacketEndedWith1′

    sketch\DCC_Decoder.cpp.o (symbol from plugin):(.text+0x0): first defined here

    libraries\RB_DCC_Decoder_Accessory\DCC_Decoder.cpp.o (symbol from plugin): In function `DCC_Decoder::State_Reset()’:

    (.text+0x0): multiple definition of `DCC_Decoder::gLastChaos’

    sketch\DCC_Decoder.cpp.o (symbol from plugin):(.text+0x0): first defined here

    libraries\RB_DCC_Decoder_Accessory\DCC_Decoder.cpp.o (symbol from plugin): In function `DCC_Decoder::State_Reset()’:

    (.text+0x0): multiple definition of `DCC_Decoder::gInterruptChaos’

    sketch\DCC_Decoder.cpp.o (symbol from plugin):(.text+0x0): first defined here

    libraries\RB_DCC_Decoder_Accessory\DCC_Decoder.cpp.o (symbol from plugin): In function `DCC_Decoder::State_Reset()’:

    (.text+0x0): multiple definition of `DCC_Decoder::gPreambleCount’

    sketch\DCC_Decoder.cpp.o (symbol from plugin):(.text+0x0): first defined here

    libraries\RB_DCC_Decoder_Accessory\DCC_Decoder.cpp.o (symbol from plugin): In function `DCC_Decoder::State_Reset()’:

    (.text+0x0): multiple definition of `DCC_Decoder::gState’

    sketch\DCC_Decoder.cpp.o (symbol from plugin):(.text+0x0): first defined here

    libraries\RB_DCC_Decoder_Accessory\DCC_Decoder.cpp.o (symbol from plugin): In function `DCC_Decoder::State_Reset()’:

    (.text+0x0): multiple definition of `DCC_Decoder::State_ReadPreamble()’

    sketch\DCC_Decoder.cpp.o (symbol from plugin):(.text+0x0): first defined here

    libraries\RB_DCC_Decoder_Accessory\DCC_Decoder.cpp.o (symbol from plugin): In function `DCC_Decoder::State_Reset()’:

    (.text+0x0): multiple definition of `DCC_Decoder::State_Boot()’

    sketch\DCC_Decoder.cpp.o (symbol from plugin):(.text+0x0): first defined here

    libraries\RB_DCC_Decoder_Accessory\DCC_Decoder.cpp.o (symbol from plugin): In function `DCC_Decoder::State_Reset()’:

    (.text+0x0): multiple definition of `DCC_Decoder::DCC_Interrupt()’

    sketch\DCC_Decoder.cpp.o (symbol from plugin):(.text+0x0): first defined here

    libraries\RB_DCC_Decoder_Accessory\DCC_Decoder.cpp.o (symbol from plugin): In function `DCC_Decoder::State_Reset()’:

    (.text+0x0): multiple definition of `DCC_Decoder::gInterruptTimeIndex’

    sketch\DCC_Decoder.cpp.o (symbol from plugin):(.text+0x0): first defined here

    libraries\RB_DCC_Decoder_Accessory\DCC_Decoder.cpp.o (symbol from plugin): In function `DCC_Decoder::State_Reset()’:

    (.text+0x0): multiple definition of `DCC_Decoder::gInterruptMicros’

    sketch\DCC_Decoder.cpp.o (symbol from plugin):(.text+0x0): first defined here

    libraries\RB_DCC_Decoder_Accessory\DCC_Decoder.cpp.o (symbol from plugin): In function `DCC_Decoder::State_Reset()’:

    (.text+0x0): multiple definition of `DCC_Decoder::gInterruptTime’

    sketch\DCC_Decoder.cpp.o (symbol from plugin):(.text+0x0): first defined here

    libraries\RB_DCC_Decoder_Accessory\DCC_Decoder.cpp.o (symbol from plugin): In function `DCC_Decoder::State_Reset()’:

    (.text+0x0): multiple definition of `DCC_Decoder::State_Execute()’

    sketch\DCC_Decoder.cpp.o (symbol from plugin):(.text+0x0): first defined here

    libraries\RB_DCC_Decoder_Accessory\DCC_Decoder.cpp.o (symbol from plugin): In function `DCC_Decoder::State_Reset()’:

    (.text+0x0): multiple definition of `DCC_Decoder::State_ReadPacket()’

    sketch\DCC_Decoder.cpp.o (symbol from plugin):(.text+0x0): first defined here

    libraries\RB_DCC_Decoder_Accessory\DCC_Decoder.cpp.o (symbol from plugin): In function `DCC_Decoder::State_Reset()’:

    (.text+0x0): multiple definition of `DCC_Decoder::gCV’

    sketch\DCC_Decoder.cpp.o (symbol from plugin):(.text+0x0): first defined here

    libraries\RB_DCC_Decoder_Accessory\DCC_Decoder.cpp.o (symbol from plugin): In function `DCC_Decoder::State_Reset()’:

    (.text+0x0): multiple definition of `DCC_Decoder::Address()’

    sketch\DCC_Decoder.cpp.o (symbol from plugin):(.text+0x0): first defined here

    libraries\RB_DCC_Decoder_Accessory\DCC_Decoder.cpp.o (symbol from plugin): In function `DCC_Decoder::State_Reset()’:

    (.text+0x0): multiple definition of `DCC_Decoder::MakePacketString(char*, unsigned char, unsigned char*)’

    sketch\DCC_Decoder.cpp.o (symbol from plugin):(.text+0x0): first defined here

    libraries\RB_DCC_Decoder_Accessory\DCC_Decoder.cpp.o (symbol from plugin): In function `DCC_Decoder::State_Reset()’:

    (.text+0x0): multiple definition of `DCC_Decoder::ShiftInterruptAlignment()’

    sketch\DCC_Decoder.cpp.o (symbol from plugin):(.text+0x0): first defined here

    libraries\RB_DCC_Decoder_Accessory\DCC_Decoder.cpp.o (symbol from plugin): In function `DCC_Decoder::State_Reset()’:

    (.text+0x0): multiple definition of `DCC_Decoder::StartInterrupt(unsigned char)’

    sketch\DCC_Decoder.cpp.o (symbol from plugin):(.text+0x0): first defined here

    libraries\RB_DCC_Decoder_Accessory\DCC_Decoder.cpp.o (symbol from plugin): In function `DCC_Decoder::State_Reset()’:

    (.text+0x0): multiple definition of `DCC_Decoder::SetupDecoder(unsigned char, unsigned char, unsigned char)’

    sketch\DCC_Decoder.cpp.o (symbol from plugin):(.text+0x0): first defined here

    libraries\RB_DCC_Decoder_Accessory\DCC_Decoder.cpp.o (symbol from plugin): In function `DCC_Decoder::State_Reset()’:

    (.text+0x0): multiple definition of `DCC_Decoder::SetupMonitor(unsigned char)’

    sketch\DCC_Decoder.cpp.o (symbol from plugin):(.text+0x0): first defined here

    libraries\RB_DCC_Decoder_Accessory\DCC_Decoder.cpp.o (symbol from plugin): In function `DCC_Decoder::State_Reset()’:

    (.text+0x0): multiple definition of `DCC_Decoder::MillisecondsSinceLastValidPacket()’

    sketch\DCC_Decoder.cpp.o (symbol from plugin):(.text+0x0): first defined here

    libraries\RB_DCC_Decoder_Accessory\DCC_Decoder.cpp.o (symbol from plugin): In function `DCC_Decoder::State_Reset()’:

    (.text+0x0): multiple definition of `DCC_Decoder::MillisecondsSinceLastPacketToThisDecoder()’

    sketch\DCC_Decoder.cpp.o (symbol from plugin):(.text+0x0): first defined here

    libraries\RB_DCC_Decoder_Accessory\DCC_Decoder.cpp.o (symbol from plugin): In function `DCC_Decoder::State_Reset()’:

    (.text+0x0): multiple definition of `DCC_Decoder::MillisecondsSinceLastIdlePacket()’

    sketch\DCC_Decoder.cpp.o (symbol from plugin):(.text+0x0): first defined here

    libraries\RB_DCC_Decoder_Accessory\DCC_Decoder.cpp.o (symbol from plugin): In function `DCC_Decoder::State_Reset()’:

    (.text+0x0): multiple definition of `DCC_Decoder::MillisecondsSinceLastResetPacket()’

    sketch\DCC_Decoder.cpp.o (symbol from plugin):(.text+0x0): first defined here

    libraries\RB_DCC_Decoder_Accessory\DCC_Decoder.cpp.o (symbol from plugin): In function `DCC_Decoder::State_Reset()’:

    (.text+0x0): multiple definition of `DCC_Decoder::ReadCV(int)’

    sketch\DCC_Decoder.cpp.o (symbol from plugin):(.text+0x0): first defined here

    libraries\RB_DCC_Decoder_Accessory\DCC_Decoder.cpp.o (symbol from plugin): In function `DCC_Decoder::State_Reset()’:

    (.text+0x0): multiple definition of `DCC_Decoder::WriteCV(int, unsigned char)’

    sketch\DCC_Decoder.cpp.o (symbol from plugin):(.text+0x0): first defined here

    libraries\RB_DCC_Decoder_Accessory\DCC_Decoder.cpp.o (symbol from plugin): In function `DCC_Decoder::State_Reset()’:

    (.text+0x0): multiple definition of `DCC_Decoder::func_RawPacket’

    sketch\DCC_Decoder.cpp.o (symbol from plugin):(.text+0x0): first defined here

    libraries\RB_DCC_Decoder_Accessory\DCC_Decoder.cpp.o (symbol from plugin): In function `DCC_Decoder::State_Reset()’:

    (.text+0x0): multiple definition of `DCC_Decoder::func_IdlePacket’

    sketch\DCC_Decoder.cpp.o (symbol from plugin):(.text+0x0): first defined here

    libraries\RB_DCC_Decoder_Accessory\DCC_Decoder.cpp.o (symbol from plugin): In function `DCC_Decoder::State_Reset()’:

    (.text+0x0): multiple definition of `DCC_Decoder::func_ResetPacket’

    sketch\DCC_Decoder.cpp.o (symbol from plugin):(.text+0x0): first defined here

    libraries\RB_DCC_Decoder_Accessory\DCC_Decoder.cpp.o (symbol from plugin): In function `DCC_Decoder::State_Reset()’:

    (.text+0x0): multiple definition of `DCC’

    sketch\DCC_Decoder.cpp.o (symbol from plugin):(.text+0x0): first defined here

    libraries\RB_DCC_Decoder_Accessory\DCC_Decoder.cpp.o (symbol from plugin): In function `DCC_Decoder::State_Reset()’:

    (.text+0x0): multiple definition of `DCC_Decoder::func_BasicAccPacket_All_Packets’

    sketch\DCC_Decoder.cpp.o (symbol from plugin):(.text+0x0): first defined here

    libraries\RB_DCC_Decoder_Accessory\DCC_Decoder.cpp.o (symbol from plugin): In function `DCC_Decoder::State_Reset()’:

    (.text+0x0): multiple definition of `DCC_Decoder::func_BasicAccPacket’

    sketch\DCC_Decoder.cpp.o (symbol from plugin):(.text+0x0): first defined here

    libraries\RB_DCC_Decoder_Accessory\DCC_Decoder.cpp.o (symbol from plugin): In function `DCC_Decoder::State_Reset()’:

    (.text+0x0): multiple definition of `DCC_Decoder::func_BaselineControlPacket_All_Packets’

    sketch\DCC_Decoder.cpp.o (symbol from plugin):(.text+0x0): first defined here

    libraries\RB_DCC_Decoder_Accessory\DCC_Decoder.cpp.o (symbol from plugin): In function `DCC_Decoder::State_Reset()’:

    (.text+0x0): multiple definition of `DCC_Decoder::func_BaselineControlPacket’

    sketch\DCC_Decoder.cpp.o (symbol from plugin):(.text+0x0): first defined here

    libraries\RB_DCC_Decoder_Accessory\DCC_Decoder.cpp.o (symbol from plugin): In function `DCC_Decoder::State_Reset()’:

    (.text+0x0): multiple definition of `DCC_Decoder::func_ExtdAccPacket_All_Packets’

    sketch\DCC_Decoder.cpp.o (symbol from plugin):(.text+0x0): first defined here

    libraries\RB_DCC_Decoder_Accessory\DCC_Decoder.cpp.o (symbol from plugin): In function `DCC_Decoder::State_Reset()’:

    (.text+0x0): multiple definition of `DCC_Decoder::func_ExtdAccPacket’

    sketch\DCC_Decoder.cpp.o (symbol from plugin):(.text+0x0): first defined here

    libraries\RB_DCC_Decoder_Accessory\DCC_Decoder.cpp.o (symbol from plugin): In function `DCC_Decoder::State_Reset()’:

    (.text+0x0): multiple definition of `DCC_Decoder::SetBaselineControlPacketHandler(void (*)(int, int, int), bool)’

    sketch\DCC_Decoder.cpp.o (symbol from plugin):(.text+0x0): first defined here

    libraries\RB_DCC_Decoder_Accessory\DCC_Decoder.cpp.o (symbol from plugin): In function `DCC_Decoder::State_Reset()’:

    (.text+0x0): multiple definition of `DCC_Decoder::SetRawPacketHandler(bool (*)(unsigned char, unsigned char*))’

    sketch\DCC_Decoder.cpp.o (symbol from plugin):(.text+0x0): first defined here

    libraries\RB_DCC_Decoder_Accessory\DCC_Decoder.cpp.o (symbol from plugin): In function `DCC_Decoder::State_Reset()’:

    (.text+0x0): multiple definition of `DCC_Decoder::SetBasicAccessoryDecoderPacketHandler(void (*)(int, bool, unsigned char), bool)’

    sketch\DCC_Decoder.cpp.o (symbol from plugin):(.text+0x0): first defined here

    libraries\RB_DCC_Decoder_Accessory\DCC_Decoder.cpp.o (symbol from plugin): In function `DCC_Decoder::State_Reset()’:

    (.text+0x0): multiple definition of `DCC_Decoder::SetExtendedAccessoryDecoderPacketHandler(void (*)(int, unsigned char), bool)’

    sketch\DCC_Decoder.cpp.o (symbol from plugin):(.text+0x0): first defined here

    libraries\RB_DCC_Decoder_Accessory\DCC_Decoder.cpp.o (symbol from plugin): In function `DCC_Decoder::State_Reset()’:

    (.text+0x0): multiple definition of `DCC_Decoder::SetIdlePacketHandler(void (*)(unsigned char, unsigned char*))’

    sketch\DCC_Decoder.cpp.o (symbol from plugin):(.text+0x0): first defined here

    libraries\RB_DCC_Decoder_Accessory\DCC_Decoder.cpp.o (symbol from plugin): In function `DCC_Decoder::State_Reset()’:

    (.text+0x0): multiple definition of `DCC_Decoder::SetResetPacketHandler(void (*)(unsigned char, unsigned char*))’

    sketch\DCC_Decoder.cpp.o (symbol from plugin):(.text+0x0): first defined here

    libraries\RB_DCC_Decoder_Accessory\DCC_Decoder.cpp.o (symbol from plugin): In function `DCC_Decoder::State_Reset()’:

    (.text+0x0): multiple definition of `DCC_Decoder::SetDecodingEngineCompletionStatusHandler(void (*)(unsigned char))’

    sketch\DCC_Decoder.cpp.o (symbol from plugin):(.text+0x0): first defined here

    libraries\RB_DCC_Decoder_Accessory\DCC_Decoder.cpp.o (symbol from plugin): In function `DCC_Decoder::State_Reset()’:

    (.text+0x0): multiple definition of `DCC_Decoder::loop()’

    sketch\DCC_Decoder.cpp.o (symbol from plugin):(.text+0x0): first defined here

    libraries\RB_DCC_Decoder_Accessory\DCC_Decoder.cpp.o (symbol from plugin): In function `DCC_Decoder::State_Reset()’:

    (.text+0x0): multiple definition of `DCC_Decoder::DCC_Decoder()’

    sketch\DCC_Decoder.cpp.o (symbol from plugin):(.text+0x0): first defined here

    libraries\RB_DCC_Decoder_Accessory\DCC_Decoder.cpp.o (symbol from plugin): In function `DCC_Decoder::State_Reset()’:

    (.text+0x0): multiple definition of `DCC_Decoder::DCC_Decoder()’

    sketch\DCC_Decoder.cpp.o (symbol from plugin):(.text+0x0): first defined here

    libraries\RB_DCC_Decoder_Accessory\DCC_Decoder.cpp.o (symbol from plugin): In function `DCC_Decoder::State_Reset()’:

    (.text+0x0): multiple definition of `DCC_Decoder::ResultString(unsigned char)’

    sketch\DCC_Decoder.cpp.o (symbol from plugin):(.text+0x0): first defined here

    libraries\RB_DCC_Decoder_Accessory\DCC_Decoder.cpp.o (symbol from plugin): In function `DCC_Decoder::State_Reset()’:

    (.text+0x0): multiple definition of `DCC_Decoder::LastPreambleBitCount()’

    sketch\DCC_Decoder.cpp.o (symbol from plugin):(.text+0x0): first defined here

    collect2.exe: error: ld returned 1 exit status

    exit status 1
    Error compiling for board Arduino/Genuino Mega or Mega 2560.

    This report would have more information with
    “Show verbose output during compilation”
    option enabled in File -> Preferences.

    Like

    Posted by Christopher Warren | March 14, 2019, 15:08
    • LOL, I did not even know I had that file! 🙂 Don’t know what happened … but it looks like the file is placed inside the library folder? That is not where it should be. The .ino should be in a folder with the same name inside your sketches folder. Only the library files that it load via an #include should be placed in your library folder.

      Like

      Posted by RudyB | March 16, 2019, 11:22
  2. Hi Rudy … Helpppp meeee…

    Like

    Posted by alessandro | February 22, 2019, 20:01
  3. Hello Rudy,
    I follow your tutorials with passionate interest — you’re so talented and provide great support (and motivation) for all of us! I have one question that maybe you could help. I’d like to control Viessmann semaphores with an Arduino. I have no problem with 2-aspect semaphores (1 DCC address), but can’t get a 3-aspect semaphore to work. It requires two DCC addresses — hence my problem.
    Can you help, please!
    Thank you in advance,
    Andry

    Like

    Posted by Andry Monczak, Ottawa, Canada | February 11, 2019, 03:48
    • Does your Arduino have DCC software on board? With 2 DCC addresses, we have 4 possible states: 00, 01, 10, 11. Make a table that says with which state you want which LED’s to burn and we’re done.

      Like

      Posted by RudyB | February 11, 2019, 13:05
      • Thank you so much for the quick reply. Yes, I run DCC input to the Arduino (using your optocoupler technique). Using Train Controller Gold (ver. 9) and ESU ECoS, I can control 2-aspect semaphores with no problem.

        The problem I have is not being much of a programmer. Is there an example of a sketch to setup a table as you suggest? I’m using your sketches to control servos, but I’m having problems with resolving this 2-address scenario. The Viessmann semaphore has 3 input wires that I need to toggle in order to get the proper arms to raise and lower. I can get two states, but need to have access to the third state — that’s via the second DCC address. The sketch needs to somehow assign two DCC addresses to the same “accessory” and then know which semaphore input to toggle. That’s where I’m stuck…

        Once again, thanks for all your help.

        Like

        Posted by Andry, Ottawa, Canada | February 11, 2019, 14:53
      • I’ve sent you an email, maybe we can work things out together.

        Like

        Posted by RudyB | February 11, 2019, 17:38
      • Thank you!! That’s amazing. Very much appreciated.

        Like

        Posted by Andry, Ottawa, Canada | February 11, 2019, 17:46

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

Archive of all posts

Categories

%d bloggers like this: