radiohead / zero DMA library conflicts

EL Wire/Tape/Panels, LEDs, pixels and strips, LCDs and TFTs, etc products from Adafruit

Moderators: adafruit_support_bill, adafruit

Please be positive and constructive with your questions and comments.
Locked
User avatar
synaesdav
 
Posts: 31
Joined: Wed Feb 19, 2014 11:05 pm

radiohead / zero DMA library conflicts

Post by synaesdav »

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.

User avatar
davieswa123
 
Posts: 2
Joined: Sat Jan 20, 2018 11:58 pm

Re: radiohead / zero DMA library conflicts

Post by davieswa123 »

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

Locked
Please be positive and constructive with your questions and comments.

Return to “Glowy things (LCD, LED, TFT, EL) purchased at Adafruit”