Hello all. I am currently working on a giant matrix (900 neopixels) and I wanted to use the zero dma libraries to help speed the code. I have gotten that running smoothly, but I also wanted to use the feather MO radio module and JP's remote trigger sketch. I can get his sample sketch to work on my setup, but when I try to change libraries to the zero dma I get the following error:
libraries\RadioHead\RH_ASK.cpp.o: In function `TC3_Handler':
C:\Users\david\Documents\Arduino\libraries\RadioHead/RH_ASK.cpp:600: multiple definition of `TC3_Handler'
libraries\Adafruit_ASFcore\tc_interrupt.c.o:C:\Users\david\Documents\Arduino\libraries\Adafruit_ASFcore/tc_interrupt.c:140: first defined here
collect2.exe: error: ld returned 1 exit status
exit status 1
Error compiling for board Adafruit Feather M0.
Any suggestions on what to do? I've done some looking around, but can't seem to find a similar problem with a solution. I really need the speed of animations from the zero dma, but want the radio control. Any help is appreciated.
radiohead / zero DMA library conflicts
Moderators: adafruit_support_bill, adafruit
Please be positive and constructive with your questions and comments.
- davieswa123
- Posts: 2
- Joined: Sat Jan 20, 2018 11:58 pm
Re: radiohead / zero DMA library conflicts
Not sure if you found an answer to this. I looked all over and couldn't find anything. I did find many many ways that don't fix it.
My conflict was between sleepydog and Radiohead RHF_95 LoRa
#include <RH_RF95.h>
#include <Adafruit_SleepyDog.h>
Finally I took a chance and simply changed the timer number from TC3 to TC2 in the radiohead RH_ASK.cpp. Tested it and it all works fine.
Try it. it might work for you, it might catch fire (probably not).
Edit RH_ASK.cpp
Around line 600 edit as below.
// Arduino Zero
void TC2_Handler() // wd changed from TC3 to TC2
My conflict was between sleepydog and Radiohead RHF_95 LoRa
#include <RH_RF95.h>
#include <Adafruit_SleepyDog.h>
Finally I took a chance and simply changed the timer number from TC3 to TC2 in the radiohead RH_ASK.cpp. Tested it and it all works fine.
Try it. it might work for you, it might catch fire (probably not).
Edit RH_ASK.cpp
Around line 600 edit as below.
// Arduino Zero
void TC2_Handler() // wd changed from TC3 to TC2
Please be positive and constructive with your questions and comments.