How compatible is the Xiao to an Arduino e.g. Nano?

Let me see if I understand a little of what’s going on. Data stream comes in on pin 2 that provides information that controls your 4 output pins. Independently you can control the output pins. You have data on pin 2 but not control of the output pins from the data stream. Is my understanding correct ?

That’s correct.
What I have is an accessory (or stationary) DCC decoder. They are meant for controlling devices that have two states e.g. on/off, open/closed, red/green etc.

From the DCC command station I am sending, at an address of 505 (or 506), the commands “on” or “off”
If the address set in the decoder is either of those addresses, output pins 3 & 4 (or 5 & 6) should change state as I send those commands.

That is not happening.

OK then I’m thinking either the interrupt isn’t being recognized or the data interpretation is going astray.

Make a backup copy of DCC_decoder.cpp & .h

Somewhere in your program you define the interrupt pin: #define kDCC_INTERRUPT 2 // make sure it says 2 for your interrupt pin

To see if the interrupt is being recognized by putting an indicator :
find the ISR DCC_Decoder::DCC_Interrupt() about line 50 in DCC_decoder.cpp
insert the line Serial.print(func); // this will print ISR name DCC_Interrupt on the serial monitor when the interrupt happens UNLESS Serial.print() is inhibited by the interrupt.
Run the program, send the data stream to pin 2 and see if the message is printed, if not then use indicator plan B

Plan B
Set an output pin to a known state (ie High) in Setup() Set it to the opposite state (ie low) in DCC_Interrupt(). Assure each state happens when it should.
If not seeing opposite state at interrupt then the interrupt isn’t getting thru.

Back to the subject of output drive strength : This from another forum. It compiles OK but I haven’t tested it.

To increase a given pin’s driver strength and allow it to source 7mA and sink 10mA, just add the following line after calling the pinMode() function. In this example the driver strength of digital pin D7 is increased:

PORT->Group[g_APinDescription[7].ulPort].PINCFG[g_APinDescription[7].ulPin].bit.DRVSTR = 1;

Subsequent calls to the digitalWrite() function don’t affect the DRVSTR bit in any way.

Previously you tested the outputs unconnected to the load with success. Are the outputs also able to drive the load when tested that way ?

There wasn’t that line anywhere in the program - I have added it, it doesn’t make any noticeable difference.

I think I spotted that whilst hunting for answers.

I tested the outputs connected to the leds.

OK Interrupt set by another name. How about a call to SetupDecoder() with 3 parameters. The 3rd parameter is interupt pin ? Or a call to StartInterrupt(interrupt); ?

Data stream in pin A2/D2 ?

I tried hunting back through the libraries to see where the interrupt is defined.
It’s a bit over my head but I found that the library “arduino.h” is an #include, that itself has #include “Interrupt.h”
However, the Arduino “interrupt.h” includes code, the Seeed interrupt is just a dummy file with comments!

Looks like the interrupt needs to be defined differently when using the Xiao compared to an Arduino.

The pin the interrupt on is ultimately declared via StartInterrupt(interrupt). Library DCC_Decoder called that in routine SetupDecoder() & uses the 3rd parameter. Find those & trace them back to your program.

Is Data stream in pin A2/D2 ?

Did you try the trap in the ISR routine called out a couple of messages back ?

Hi again.
Been finishing another project before coming back to this.
I also needed to do a small re-wire on the board so I could use the Xiao USB whilst the DCC signal was applied

I didn’t trap the ISR routine, as to be honest, I got a bit lost in what needs to be done. :frowning_with_open_mouth:

I’m getting nowhere.
How do I stop the compile using a “previously compiled library” ?
I have changed the DCC_Decoder.cpp file but I don’t know whether it is using the modified version.

N.B I have accumulated several (7) copies of DCC_Decoder.cpp & DCC_Decoder.h files over the years, in various Arduino folders, as well as three each of the .o &.d appended versions.

One of the problems I have is after putting the Serial.print(func); into the interrupt routine in DCC_interrupt routine, where do I put the Serial.begin( ); command?
I tried in the DCC_Decoder.cpp and it throws up an error, presumably as there isn’t a void setup(): section.
I put it in the program void setup() section and I just get a continuous output of "1"s whether there is an input on pin 2 of the Xiao or not.

Keith

Serial.begin() goes in Setup(). Serial.println(func); has 2 underscores on either side of func The forum sees fit to strip them. Either put the 4 underscore or just use Serial.println(“This is the message to look for”);

Is pin 2 the same as A2/D2 ?

OP, did you solve this ? Give up on it ? There is no reason what you are trying to do can’t be made to work. Inquiring minds want to know.

Hi
I haven’t given up and hopefully can put some effort in over this weekend. :slightly_smiling_face:
As I said previously I have several other things on the go at present, so the amount of time I can spend on this is currently limited to an odd hour here and there, in between other jobs.

Keith

Back on the case

I have now tried Serial.println(func); (with 2 underscores each side of the word “func”) in the DCC_interrupt section of dcc_decoder.cpp.
I have “Serial.begin(9600)” in the void setup() section of the sketch.
I am running the serial monitor but don’t get any output when sending commands to the Xiao.

I changed the Serial.print command to “Serial.println(“This is the message to look for”)”

Still does anything print

You might put the same message at the end of the setup(). put a delay(5000); just to make sure it’s all initialized and make sure the monitor is also set to 9600. If you see that message and not the interrupt message than the chain of neededs are not being met. Data stream on A2/D2 ? Interrupt actually being set to the same pin ? Data stream present and good logic high & low on the Xiao interrupt pin?

A problem
Instead of just uploading modified sketches today I hit accidentally hit “Verify/compile” instead and noticed that the dcc_decoder.cpp file I had been modifying and in the seeed library, was not the one that was being used during the compile.
For some reason the program was ignoring that one and retrieving a unmodified version from a different library.

I changed the names of all the other verions of dcc_decoder.cpp & dcc_decoder.h to force the program to use the ones in the seeed library.

Doing a compile after that threw up errors from the modified dcc_decoder.cpp file:

Using board 'seeed_XIAO_m0' from platform in folder: C:\Users\Keith.DESKTOP-55532Q9\AppData\Local\Arduino15\packages\Seeeduino\hardware\samd\1.8.2
Using core 'arduino' from platform in folder: C:\Users\Keith.DESKTOP-55532Q9\AppData\Local\Arduino15\packages\Seeeduino\hardware\samd\1.8.2
Detecting libraries used...
"C:\\Users\\Keith.DESKTOP-55532Q9\\AppData\\Local\\Arduino15\\packages\\Seeeduino\\tools\\arm-none-eabi-gcc\\7-2017q4/bin/arm-none-eabi-g++" -mcpu=cortex-m0plus -mthumb -c -g -Os -w -std=gnu++14 -ffunction-sections -fdata-sections -fno-threadsafe-statics -nostdlib --param max-inline-insns-single=500 -fno-rtti -fno-exceptions "-D__SKETCH_NAME__=\"\"\"Dapol_Signal_Xiao.ino\"\"\"" -w -x c++ -E -CC -DF_CPU=48000000L -DARDUINO=10607 -DARDUINO_SEEED_XIAO_M0 -DARDUINO_ARCH_SAMD -DARDUINO_SAMD_ZERO -D__SAMD21__ -D__SAMD21G18A__ -DARM_MATH_CM0PLUS -DSEEED_XIAO_M0 -DUSB_VID=0x2886 -DUSB_PID=0x802F -DUSBCON -DUSB_CONFIG_POWER=100 "-DUSB_MANUFACTURER=\"Seeed\"" "-DUSB_PRODUCT=\"Seeed XIAO M0\"" "-IC:\\Users\\Keith.DESKTOP-55532Q9\\AppData\\Local\\Arduino15\\packages\\Seeeduino\\hardware\\samd\\1.8.2\\cores\\arduino/TinyUSB" "-IC:\\Users\\Keith.DESKTOP-55532Q9\\AppData\\Local\\Arduino15\\packages\\Seeeduino\\hardware\\samd\\1.8.2\\cores\\arduino/TinyUSB/Adafruit_TinyUSB_ArduinoCore" "-IC:\\Users\\Keith.DESKTOP-55532Q9\\AppData\\Local\\Arduino15\\packages\\Seeeduino\\hardware\\samd\\1.8.2\\cores\\arduino/TinyUSB/Adafruit_TinyUSB_ArduinoCore/tinyusb/src" -DARDUINO_SAMD_ZERO -D__SAMD21__ -D__SAMD21G18A__ -DARM_MATH_CM0PLUS -DSEEED_XIAO_M0 -DUSB_VID=0x2886 -DUSB_PID=0x802F -DUSBCON -DUSB_CONFIG_POWER=100 "-DUSB_MANUFACTURER=\"Seeed\"" "-DUSB_PRODUCT=\"Seeed XIAO M0\"" "-IC:\\Users\\Keith.DESKTOP-55532Q9\\AppData\\Local\\Arduino15\\packages\\Seeeduino\\hardware\\samd\\1.8.2\\cores\\arduino/TinyUSB" "-IC:\\Users\\Keith.DESKTOP-55532Q9\\AppData\\Local\\Arduino15\\packages\\Seeeduino\\hardware\\samd\\1.8.2\\cores\\arduino/TinyUSB/Adafruit_TinyUSB_ArduinoCore" "-IC:\\Users\\Keith.DESKTOP-55532Q9\\AppData\\Local\\Arduino15\\packages\\Seeeduino\\hardware\\samd\\1.8.2\\cores\\arduino/TinyUSB/Adafruit_TinyUSB_ArduinoCore/tinyusb/src" "-IC:\\Users\\Keith.DESKTOP-55532Q9\\AppData\\Local\\Arduino15\\packages\\Seeeduino\\tools\\CMSIS\\5.7.0/CMSIS/Core/Include/" "-IC:\\Users\\Keith.DESKTOP-55532Q9\\AppData\\Local\\Arduino15\\packages\\Seeeduino\\tools\\CMSIS\\5.7.0/CMSIS/DSP/Include/" "-IC:\\Users\\Keith.DESKTOP-55532Q9\\AppData\\Local\\Arduino15\\packages\\Seeeduino\\tools\\CMSIS-Atmel\\1.2.1/CMSIS-Atmel/CMSIS/Device/ATMEL/" "-IC:\\Users\\Keith.DESKTOP-55532Q9\\AppData\\Local\\Arduino15\\packages\\Seeeduino\\hardware\\samd\\1.8.2\\cores\\arduino" "-IC:\\Users\\Keith.DESKTOP-55532Q9\\AppData\\Local\\Arduino15\\packages\\Seeeduino\\hardware\\samd\\1.8.2\\variants\\XIAO_m0" "C:\\Users\\Keith.DESKTOP-55532Q9\\AppData\\Local\\Temp\\arduino-sketch-E8C477A82A9968D483CF46B123C568F8\\sketch\\Dapol_Signal_Xiao.ino.cpp" -o nul
Alternatives for DCC_Decoder.h: [DCC_Decoder-master@1.6]
ResolveLibrary(DCC_Decoder.h)
  -> candidates: [DCC_Decoder-master@1.6]
"C:\\Users\\Keith.DESKTOP-55532Q9\\AppData\\Local\\Arduino15\\packages\\Seeeduino\\tools\\arm-none-eabi-gcc\\7-2017q4/bin/arm-none-eabi-g++" -mcpu=cortex-m0plus -mthumb -c -g -Os -w -std=gnu++14 -ffunction-sections -fdata-sections -fno-threadsafe-statics -nostdlib --param max-inline-insns-single=500 -fno-rtti -fno-exceptions "-D__SKETCH_NAME__=\"\"\"Dapol_Signal_Xiao.ino\"\"\"" -w -x c++ -E -CC -DF_CPU=48000000L -DARDUINO=10607 -DARDUINO_SEEED_XIAO_M0 -DARDUINO_ARCH_SAMD -DARDUINO_SAMD_ZERO -D__SAMD21__ -D__SAMD21G18A__ -DARM_MATH_CM0PLUS -DSEEED_XIAO_M0 -DUSB_VID=0x2886 -DUSB_PID=0x802F -DUSBCON -DUSB_CONFIG_POWER=100 "-DUSB_MANUFACTURER=\"Seeed\"" "-DUSB_PRODUCT=\"Seeed XIAO M0\"" "-IC:\\Users\\Keith.DESKTOP-55532Q9\\AppData\\Local\\Arduino15\\packages\\Seeeduino\\hardware\\samd\\1.8.2\\cores\\arduino/TinyUSB" "-IC:\\Users\\Keith.DESKTOP-55532Q9\\AppData\\Local\\Arduino15\\packages\\Seeeduino\\hardware\\samd\\1.8.2\\cores\\arduino/TinyUSB/Adafruit_TinyUSB_ArduinoCore" "-IC:\\Users\\Keith.DESKTOP-55532Q9\\AppData\\Local\\Arduino15\\packages\\Seeeduino\\hardware\\samd\\1.8.2\\cores\\arduino/TinyUSB/Adafruit_TinyUSB_ArduinoCore/tinyusb/src" -DARDUINO_SAMD_ZERO -D__SAMD21__ -D__SAMD21G18A__ -DARM_MATH_CM0PLUS -DSEEED_XIAO_M0 -DUSB_VID=0x2886 -DUSB_PID=0x802F -DUSBCON -DUSB_CONFIG_POWER=100 "-DUSB_MANUFACTURER=\"Seeed\"" "-DUSB_PRODUCT=\"Seeed XIAO M0\"" "-IC:\\Users\\Keith.DESKTOP-55532Q9\\AppData\\Local\\Arduino15\\packages\\Seeeduino\\hardware\\samd\\1.8.2\\cores\\arduino/TinyUSB" "-IC:\\Users\\Keith.DESKTOP-55532Q9\\AppData\\Local\\Arduino15\\packages\\Seeeduino\\hardware\\samd\\1.8.2\\cores\\arduino/TinyUSB/Adafruit_TinyUSB_ArduinoCore" "-IC:\\Users\\Keith.DESKTOP-55532Q9\\AppData\\Local\\Arduino15\\packages\\Seeeduino\\hardware\\samd\\1.8.2\\cores\\arduino/TinyUSB/Adafruit_TinyUSB_ArduinoCore/tinyusb/src" "-IC:\\Users\\Keith.DESKTOP-55532Q9\\AppData\\Local\\Arduino15\\packages\\Seeeduino\\tools\\CMSIS\\5.7.0/CMSIS/Core/Include/" "-IC:\\Users\\Keith.DESKTOP-55532Q9\\AppData\\Local\\Arduino15\\packages\\Seeeduino\\tools\\CMSIS\\5.7.0/CMSIS/DSP/Include/" "-IC:\\Users\\Keith.DESKTOP-55532Q9\\AppData\\Local\\Arduino15\\packages\\Seeeduino\\tools\\CMSIS-Atmel\\1.2.1/CMSIS-Atmel/CMSIS/Device/ATMEL/" "-IC:\\Users\\Keith.DESKTOP-55532Q9\\AppData\\Local\\Arduino15\\packages\\Seeeduino\\hardware\\samd\\1.8.2\\cores\\arduino" "-IC:\\Users\\Keith.DESKTOP-55532Q9\\AppData\\Local\\Arduino15\\packages\\Seeeduino\\hardware\\samd\\1.8.2\\variants\\XIAO_m0" "-IC:\\Users\\Keith.DESKTOP-55532Q9\\AppData\\Local\\Arduino15\\packages\\Seeeduino\\hardware\\samd\\1.8.2\\libraries\\DCC_Decoder-master" "C:\\Users\\Keith.DESKTOP-55532Q9\\AppData\\Local\\Temp\\arduino-sketch-E8C477A82A9968D483CF46B123C568F8\\sketch\\Dapol_Signal_Xiao.ino.cpp" -o nul
"C:\\Users\\Keith.DESKTOP-55532Q9\\AppData\\Local\\Arduino15\\packages\\Seeeduino\\tools\\arm-none-eabi-gcc\\7-2017q4/bin/arm-none-eabi-g++" -mcpu=cortex-m0plus -mthumb -c -g -Os -w -std=gnu++14 -ffunction-sections -fdata-sections -fno-threadsafe-statics -nostdlib --param max-inline-insns-single=500 -fno-rtti -fno-exceptions "-D__SKETCH_NAME__=\"\"\"Dapol_Signal_Xiao.ino\"\"\"" -w -x c++ -E -CC -DF_CPU=48000000L -DARDUINO=10607 -DARDUINO_SEEED_XIAO_M0 -DARDUINO_ARCH_SAMD -DARDUINO_SAMD_ZERO -D__SAMD21__ -D__SAMD21G18A__ -DARM_MATH_CM0PLUS -DSEEED_XIAO_M0 -DUSB_VID=0x2886 -DUSB_PID=0x802F -DUSBCON -DUSB_CONFIG_POWER=100 "-DUSB_MANUFACTURER=\"Seeed\"" "-DUSB_PRODUCT=\"Seeed XIAO M0\"" "-IC:\\Users\\Keith.DESKTOP-55532Q9\\AppData\\Local\\Arduino15\\packages\\Seeeduino\\hardware\\samd\\1.8.2\\cores\\arduino/TinyUSB" "-IC:\\Users\\Keith.DESKTOP-55532Q9\\AppData\\Local\\Arduino15\\packages\\Seeeduino\\hardware\\samd\\1.8.2\\cores\\arduino/TinyUSB/Adafruit_TinyUSB_ArduinoCore" "-IC:\\Users\\Keith.DESKTOP-55532Q9\\AppData\\Local\\Arduino15\\packages\\Seeeduino\\hardware\\samd\\1.8.2\\cores\\arduino/TinyUSB/Adafruit_TinyUSB_ArduinoCore/tinyusb/src" -DARDUINO_SAMD_ZERO -D__SAMD21__ -D__SAMD21G18A__ -DARM_MATH_CM0PLUS -DSEEED_XIAO_M0 -DUSB_VID=0x2886 -DUSB_PID=0x802F -DUSBCON -DUSB_CONFIG_POWER=100 "-DUSB_MANUFACTURER=\"Seeed\"" "-DUSB_PRODUCT=\"Seeed XIAO M0\"" "-IC:\\Users\\Keith.DESKTOP-55532Q9\\AppData\\Local\\Arduino15\\packages\\Seeeduino\\hardware\\samd\\1.8.2\\cores\\arduino/TinyUSB" "-IC:\\Users\\Keith.DESKTOP-55532Q9\\AppData\\Local\\Arduino15\\packages\\Seeeduino\\hardware\\samd\\1.8.2\\cores\\arduino/TinyUSB/Adafruit_TinyUSB_ArduinoCore" "-IC:\\Users\\Keith.DESKTOP-55532Q9\\AppData\\Local\\Arduino15\\packages\\Seeeduino\\hardware\\samd\\1.8.2\\cores\\arduino/TinyUSB/Adafruit_TinyUSB_ArduinoCore/tinyusb/src" "-IC:\\Users\\Keith.DESKTOP-55532Q9\\AppData\\Local\\Arduino15\\packages\\Seeeduino\\tools\\CMSIS\\5.7.0/CMSIS/Core/Include/" "-IC:\\Users\\Keith.DESKTOP-55532Q9\\AppData\\Local\\Arduino15\\packages\\Seeeduino\\tools\\CMSIS\\5.7.0/CMSIS/DSP/Include/" "-IC:\\Users\\Keith.DESKTOP-55532Q9\\AppData\\Local\\Arduino15\\packages\\Seeeduino\\tools\\CMSIS-Atmel\\1.2.1/CMSIS-Atmel/CMSIS/Device/ATMEL/" "-IC:\\Users\\Keith.DESKTOP-55532Q9\\AppData\\Local\\Arduino15\\packages\\Seeeduino\\hardware\\samd\\1.8.2\\cores\\arduino" "-IC:\\Users\\Keith.DESKTOP-55532Q9\\AppData\\Local\\Arduino15\\packages\\Seeeduino\\hardware\\samd\\1.8.2\\variants\\XIAO_m0" "-IC:\\Users\\Keith.DESKTOP-55532Q9\\AppData\\Local\\Arduino15\\packages\\Seeeduino\\hardware\\samd\\1.8.2\\libraries\\DCC_Decoder-master" "C:\\Users\\Keith.DESKTOP-55532Q9\\AppData\\Local\\Arduino15\\packages\\Seeeduino\\hardware\\samd\\1.8.2\\libraries\\DCC_Decoder-master\\DCC_Decoder.cpp" -o nul
Generating function prototypes...
"C:\\Users\\Keith.DESKTOP-55532Q9\\AppData\\Local\\Arduino15\\packages\\Seeeduino\\tools\\arm-none-eabi-gcc\\7-2017q4/bin/arm-none-eabi-g++" -mcpu=cortex-m0plus -mthumb -c -g -Os -w -std=gnu++14 -ffunction-sections -fdata-sections -fno-threadsafe-statics -nostdlib --param max-inline-insns-single=500 -fno-rtti -fno-exceptions "-D__SKETCH_NAME__=\"\"\"Dapol_Signal_Xiao.ino\"\"\"" -w -x c++ -E -CC -DF_CPU=48000000L -DARDUINO=10607 -DARDUINO_SEEED_XIAO_M0 -DARDUINO_ARCH_SAMD -DARDUINO_SAMD_ZERO -D__SAMD21__ -D__SAMD21G18A__ -DARM_MATH_CM0PLUS -DSEEED_XIAO_M0 -DUSB_VID=0x2886 -DUSB_PID=0x802F -DUSBCON -DUSB_CONFIG_POWER=100 "-DUSB_MANUFACTURER=\"Seeed\"" "-DUSB_PRODUCT=\"Seeed XIAO M0\"" "-IC:\\Users\\Keith.DESKTOP-55532Q9\\AppData\\Local\\Arduino15\\packages\\Seeeduino\\hardware\\samd\\1.8.2\\cores\\arduino/TinyUSB" "-IC:\\Users\\Keith.DESKTOP-55532Q9\\AppData\\Local\\Arduino15\\packages\\Seeeduino\\hardware\\samd\\1.8.2\\cores\\arduino/TinyUSB/Adafruit_TinyUSB_ArduinoCore" "-IC:\\Users\\Keith.DESKTOP-55532Q9\\AppData\\Local\\Arduino15\\packages\\Seeeduino\\hardware\\samd\\1.8.2\\cores\\arduino/TinyUSB/Adafruit_TinyUSB_ArduinoCore/tinyusb/src" -DARDUINO_SAMD_ZERO -D__SAMD21__ -D__SAMD21G18A__ -DARM_MATH_CM0PLUS -DSEEED_XIAO_M0 -DUSB_VID=0x2886 -DUSB_PID=0x802F -DUSBCON -DUSB_CONFIG_POWER=100 "-DUSB_MANUFACTURER=\"Seeed\"" "-DUSB_PRODUCT=\"Seeed XIAO M0\"" "-IC:\\Users\\Keith.DESKTOP-55532Q9\\AppData\\Local\\Arduino15\\packages\\Seeeduino\\hardware\\samd\\1.8.2\\cores\\arduino/TinyUSB" "-IC:\\Users\\Keith.DESKTOP-55532Q9\\AppData\\Local\\Arduino15\\packages\\Seeeduino\\hardware\\samd\\1.8.2\\cores\\arduino/TinyUSB/Adafruit_TinyUSB_ArduinoCore" "-IC:\\Users\\Keith.DESKTOP-55532Q9\\AppData\\Local\\Arduino15\\packages\\Seeeduino\\hardware\\samd\\1.8.2\\cores\\arduino/TinyUSB/Adafruit_TinyUSB_ArduinoCore/tinyusb/src" "-IC:\\Users\\Keith.DESKTOP-55532Q9\\AppData\\Local\\Arduino15\\packages\\Seeeduino\\tools\\CMSIS\\5.7.0/CMSIS/Core/Include/" "-IC:\\Users\\Keith.DESKTOP-55532Q9\\AppData\\Local\\Arduino15\\packages\\Seeeduino\\tools\\CMSIS\\5.7.0/CMSIS/DSP/Include/" "-IC:\\Users\\Keith.DESKTOP-55532Q9\\AppData\\Local\\Arduino15\\packages\\Seeeduino\\tools\\CMSIS-Atmel\\1.2.1/CMSIS-Atmel/CMSIS/Device/ATMEL/" "-IC:\\Users\\Keith.DESKTOP-55532Q9\\AppData\\Local\\Arduino15\\packages\\Seeeduino\\hardware\\samd\\1.8.2\\cores\\arduino" "-IC:\\Users\\Keith.DESKTOP-55532Q9\\AppData\\Local\\Arduino15\\packages\\Seeeduino\\hardware\\samd\\1.8.2\\variants\\XIAO_m0" "-IC:\\Users\\Keith.DESKTOP-55532Q9\\AppData\\Local\\Arduino15\\packages\\Seeeduino\\hardware\\samd\\1.8.2\\libraries\\DCC_Decoder-master" "C:\\Users\\Keith.DESKTOP-55532Q9\\AppData\\Local\\Temp\\arduino-sketch-E8C477A82A9968D483CF46B123C568F8\\sketch\\Dapol_Signal_Xiao.ino.cpp" -o "C:\\Users\\Keith.DESKTOP-55532Q9\\AppData\\Local\\Temp\\arduino-sketch-E8C477A82A9968D483CF46B123C568F8\\preproc\\ctags_target_for_gcc_minus_e.cpp"
"C:\\Users\\Keith.DESKTOP-55532Q9\\AppData\\Local\\Arduino15\\packages\\builtin\\tools\\ctags\\5.8-arduino11/ctags" -u --language-force=c++ -f - --c++-kinds=svpf --fields=KSTtzns --line-directives "C:\\Users\\Keith.DESKTOP-55532Q9\\AppData\\Local\\Temp\\arduino-sketch-E8C477A82A9968D483CF46B123C568F8\\preproc\\ctags_target_for_gcc_minus_e.cpp"
Compiling sketch...
"C:\\Users\\Keith.DESKTOP-55532Q9\\AppData\\Local\\Arduino15\\packages\\Seeeduino\\tools\\arm-none-eabi-gcc\\7-2017q4/bin/arm-none-eabi-g++" -mcpu=cortex-m0plus -mthumb -c -g -Os -std=gnu++14 -ffunction-sections -fdata-sections -fno-threadsafe-statics -nostdlib --param max-inline-insns-single=500 -fno-rtti -fno-exceptions -MMD "-D__SKETCH_NAME__=\"\"\"Dapol_Signal_Xiao.ino\"\"\"" -DF_CPU=48000000L -DARDUINO=10607 -DARDUINO_SEEED_XIAO_M0 -DARDUINO_ARCH_SAMD -DARDUINO_SAMD_ZERO -D__SAMD21__ -D__SAMD21G18A__ -DARM_MATH_CM0PLUS -DSEEED_XIAO_M0 -DUSB_VID=0x2886 -DUSB_PID=0x802F -DUSBCON -DUSB_CONFIG_POWER=100 "-DUSB_MANUFACTURER=\"Seeed\"" "-DUSB_PRODUCT=\"Seeed XIAO M0\"" "-IC:\\Users\\Keith.DESKTOP-55532Q9\\AppData\\Local\\Arduino15\\packages\\Seeeduino\\hardware\\samd\\1.8.2\\cores\\arduino/TinyUSB" "-IC:\\Users\\Keith.DESKTOP-55532Q9\\AppData\\Local\\Arduino15\\packages\\Seeeduino\\hardware\\samd\\1.8.2\\cores\\arduino/TinyUSB/Adafruit_TinyUSB_ArduinoCore" "-IC:\\Users\\Keith.DESKTOP-55532Q9\\AppData\\Local\\Arduino15\\packages\\Seeeduino\\hardware\\samd\\1.8.2\\cores\\arduino/TinyUSB/Adafruit_TinyUSB_ArduinoCore/tinyusb/src" -DARDUINO_SAMD_ZERO -D__SAMD21__ -D__SAMD21G18A__ -DARM_MATH_CM0PLUS -DSEEED_XIAO_M0 -DUSB_VID=0x2886 -DUSB_PID=0x802F -DUSBCON -DUSB_CONFIG_POWER=100 "-DUSB_MANUFACTURER=\"Seeed\"" "-DUSB_PRODUCT=\"Seeed XIAO M0\"" "-IC:\\Users\\Keith.DESKTOP-55532Q9\\AppData\\Local\\Arduino15\\packages\\Seeeduino\\hardware\\samd\\1.8.2\\cores\\arduino/TinyUSB" "-IC:\\Users\\Keith.DESKTOP-55532Q9\\AppData\\Local\\Arduino15\\packages\\Seeeduino\\hardware\\samd\\1.8.2\\cores\\arduino/TinyUSB/Adafruit_TinyUSB_ArduinoCore" "-IC:\\Users\\Keith.DESKTOP-55532Q9\\AppData\\Local\\Arduino15\\packages\\Seeeduino\\hardware\\samd\\1.8.2\\cores\\arduino/TinyUSB/Adafruit_TinyUSB_ArduinoCore/tinyusb/src" "-IC:\\Users\\Keith.DESKTOP-55532Q9\\AppData\\Local\\Arduino15\\packages\\Seeeduino\\tools\\CMSIS\\5.7.0/CMSIS/Core/Include/" "-IC:\\Users\\Keith.DESKTOP-55532Q9\\AppData\\Local\\Arduino15\\packages\\Seeeduino\\tools\\CMSIS\\5.7.0/CMSIS/DSP/Include/" "-IC:\\Users\\Keith.DESKTOP-55532Q9\\AppData\\Local\\Arduino15\\packages\\Seeeduino\\tools\\CMSIS-Atmel\\1.2.1/CMSIS-Atmel/CMSIS/Device/ATMEL/" "-IC:\\Users\\Keith.DESKTOP-55532Q9\\AppData\\Local\\Arduino15\\packages\\Seeeduino\\hardware\\samd\\1.8.2\\cores\\arduino" "-IC:\\Users\\Keith.DESKTOP-55532Q9\\AppData\\Local\\Arduino15\\packages\\Seeeduino\\hardware\\samd\\1.8.2\\variants\\XIAO_m0" "-IC:\\Users\\Keith.DESKTOP-55532Q9\\AppData\\Local\\Arduino15\\packages\\Seeeduino\\hardware\\samd\\1.8.2\\libraries\\DCC_Decoder-master" "C:\\Users\\Keith.DESKTOP-55532Q9\\AppData\\Local\\Temp\\arduino-sketch-E8C477A82A9968D483CF46B123C568F8\\sketch\\Dapol_Signal_Xiao.ino.cpp" -o "C:\\Users\\Keith.DESKTOP-55532Q9\\AppData\\Local\\Temp\\arduino-sketch-E8C477A82A9968D483CF46B123C568F8\\sketch\\Dapol_Signal_Xiao.ino.cpp.o"
C:\Users\Keith.DESKTOP-55532Q9\Documents\Arduino\Dapol_Signal_Xiao\Dapol_Signal_Xiao.ino:12:3: warning: 'typedef' was ignored in this declaration
   typedef struct DCCAccessoryData {
   ^~~~~~~
Compiling libraries...
Compiling library "DCC_Decoder-master"
"C:\\Users\\Keith.DESKTOP-55532Q9\\AppData\\Local\\Arduino15\\packages\\Seeeduino\\tools\\arm-none-eabi-gcc\\7-2017q4/bin/arm-none-eabi-g++" -mcpu=cortex-m0plus -mthumb -c -g -Os -std=gnu++14 -ffunction-sections -fdata-sections -fno-threadsafe-statics -nostdlib --param max-inline-insns-single=500 -fno-rtti -fno-exceptions -MMD "-D__SKETCH_NAME__=\"\"\"Dapol_Signal_Xiao.ino\"\"\"" -DF_CPU=48000000L -DARDUINO=10607 -DARDUINO_SEEED_XIAO_M0 -DARDUINO_ARCH_SAMD -DARDUINO_SAMD_ZERO -D__SAMD21__ -D__SAMD21G18A__ -DARM_MATH_CM0PLUS -DSEEED_XIAO_M0 -DUSB_VID=0x2886 -DUSB_PID=0x802F -DUSBCON -DUSB_CONFIG_POWER=100 "-DUSB_MANUFACTURER=\"Seeed\"" "-DUSB_PRODUCT=\"Seeed XIAO M0\"" "-IC:\\Users\\Keith.DESKTOP-55532Q9\\AppData\\Local\\Arduino15\\packages\\Seeeduino\\hardware\\samd\\1.8.2\\cores\\arduino/TinyUSB" "-IC:\\Users\\Keith.DESKTOP-55532Q9\\AppData\\Local\\Arduino15\\packages\\Seeeduino\\hardware\\samd\\1.8.2\\cores\\arduino/TinyUSB/Adafruit_TinyUSB_ArduinoCore" "-IC:\\Users\\Keith.DESKTOP-55532Q9\\AppData\\Local\\Arduino15\\packages\\Seeeduino\\hardware\\samd\\1.8.2\\cores\\arduino/TinyUSB/Adafruit_TinyUSB_ArduinoCore/tinyusb/src" -DARDUINO_SAMD_ZERO -D__SAMD21__ -D__SAMD21G18A__ -DARM_MATH_CM0PLUS -DSEEED_XIAO_M0 -DUSB_VID=0x2886 -DUSB_PID=0x802F -DUSBCON -DUSB_CONFIG_POWER=100 "-DUSB_MANUFACTURER=\"Seeed\"" "-DUSB_PRODUCT=\"Seeed XIAO M0\"" "-IC:\\Users\\Keith.DESKTOP-55532Q9\\AppData\\Local\\Arduino15\\packages\\Seeeduino\\hardware\\samd\\1.8.2\\cores\\arduino/TinyUSB" "-IC:\\Users\\Keith.DESKTOP-55532Q9\\AppData\\Local\\Arduino15\\packages\\Seeeduino\\hardware\\samd\\1.8.2\\cores\\arduino/TinyUSB/Adafruit_TinyUSB_ArduinoCore" "-IC:\\Users\\Keith.DESKTOP-55532Q9\\AppData\\Local\\Arduino15\\packages\\Seeeduino\\hardware\\samd\\1.8.2\\cores\\arduino/TinyUSB/Adafruit_TinyUSB_ArduinoCore/tinyusb/src" "-IC:\\Users\\Keith.DESKTOP-55532Q9\\AppData\\Local\\Arduino15\\packages\\Seeeduino\\tools\\CMSIS\\5.7.0/CMSIS/Core/Include/" "-IC:\\Users\\Keith.DESKTOP-55532Q9\\AppData\\Local\\Arduino15\\packages\\Seeeduino\\tools\\CMSIS\\5.7.0/CMSIS/DSP/Include/" "-IC:\\Users\\Keith.DESKTOP-55532Q9\\AppData\\Local\\Arduino15\\packages\\Seeeduino\\tools\\CMSIS-Atmel\\1.2.1/CMSIS-Atmel/CMSIS/Device/ATMEL/" "-IC:\\Users\\Keith.DESKTOP-55532Q9\\AppData\\Local\\Arduino15\\packages\\Seeeduino\\hardware\\samd\\1.8.2\\cores\\arduino" "-IC:\\Users\\Keith.DESKTOP-55532Q9\\AppData\\Local\\Arduino15\\packages\\Seeeduino\\hardware\\samd\\1.8.2\\variants\\XIAO_m0" "-IC:\\Users\\Keith.DESKTOP-55532Q9\\AppData\\Local\\Arduino15\\packages\\Seeeduino\\hardware\\samd\\1.8.2\\libraries\\DCC_Decoder-master" "C:\\Users\\Keith.DESKTOP-55532Q9\\AppData\\Local\\Arduino15\\packages\\Seeeduino\\hardware\\samd\\1.8.2\\libraries\\DCC_Decoder-master\\DCC_Decoder.cpp" -o "C:\\Users\\Keith.DESKTOP-55532Q9\\AppData\\Local\\Temp\\arduino-sketch-E8C477A82A9968D483CF46B123C568F8\\libraries\\DCC_Decoder-master\\DCC_Decoder.cpp.o"
C:\Users\Keith.DESKTOP-55532Q9\AppData\Local\Arduino15\packages\Seeeduino\hardware\samd\1.8.2\libraries\DCC_Decoder-master\DCC_Decoder.cpp:49:20: error: stray '\223' in program
     Serial.println(�This is the message to look for�);
                    ^
C:\Users\Keith.DESKTOP-55532Q9\AppData\Local\Arduino15\packages\Seeeduino\hardware\samd\1.8.2\libraries\DCC_Decoder-master\DCC_Decoder.cpp:49:52: error: stray '\224' in program
     Serial.println(�This is the message to look for�);
                                                    ^
C:\Users\Keith.DESKTOP-55532Q9\AppData\Local\Arduino15\packages\Seeeduino\hardware\samd\1.8.2\libraries\DCC_Decoder-master\DCC_Decoder.cpp: In static member function 'static void DCC_Decoder::DCC_Interrupt()':
C:\Users\Keith.DESKTOP-55532Q9\AppData\Local\Arduino15\packages\Seeeduino\hardware\samd\1.8.2\libraries\DCC_Decoder-master\DCC_Decoder.cpp:49:21: error: 'This' was not declared in this scope
     Serial.println(�This is the message to look for�);
                     ^~~~

Using library DCC_Decoder-master at version 1.6 in folder: C:\Users\Keith.DESKTOP-55532Q9\AppData\Local\Arduino15\packages\Seeeduino\hardware\samd\1.8.2\libraries\DCC_Decoder-master 
Compilation error: exit status 1

Looks like a few steps back needed. :frowning_with_open_mouth:

Does the message at the end of setup show up ? An easy way to assure which file is being used is to put an obvious error in place and see that the compiler fails on it.

I have renamed all the other instances of dcc_decoder.h and .cpp so that the only files available to the sketch are the ones being worked on.

I have put
delay(5000); Serial.begin(9600);
at the end of the void setup() section of the sketch
Still nothing printing to monitor.