Has anyone used the Arduino Servo library on the SAMD51 Thing Plus (or any other Sparkfun SAMD51)?
This library:
Servo
by Michael Margolis, Arduino Version 1.1.8
I installed the Sparkfun SAMD stuff this evening, so hopefully it is up to date.
Here’s a sample sketch (doesn’t do much!):
#include <Servo.h>
Servo servo1;
void setup() {}
void loop() {}
It compiles with “Seeed XIAO” or “Adafruit Feather M0”, but does not compile with “Sparkfun SAMD51 Thing Plus”.
Errors start like this:
“C:\Users\johnf\AppData\Local\Arduino15\packages\arduino\tools\arm-none-eabi-gcc\4.8.3-2014q1/bin/arm-none-eabi-g++” -mcpu=cortex-m4 -mthumb -c -g -Os -Wall -Wextra -std=gnu++11 -ffunction-sections -fdata-sections -fno-threadsafe-statics -nostdlib --param max-inline-insns-single=500 -fno-rtti -fno-exceptions -MMD -DF_CPU=120000000L -DARDUINO=10813 -DARDUINO_SAMD51_THING_PLUS -DARDUINO_ARCH_SAMD -D__SAMD51J20A__ -D__SAMD51__ -DUSB_VID=0x1B4F -DUSB_PID=0xF016 -DUSBCON “-DUSB_MANUFACTURER="SparkFun Electronics"” “-DUSB_PRODUCT="SparkFun SAMD51 Thing Plus"” -D__FPU_PRESENT -DARM_MATH_CM4 -mfloat-abi=hard -mfpu=fpv4-sp-d16 “-IC:\Users\johnf\AppData\Local\Arduino15\packages\arduino\tools\CMSIS\4.5.0/CMSIS/Include/” “-IC:\Users\johnf\AppData\Local\Arduino15\packages\arduino\tools\CMSIS-Atmel\1.2.0/CMSIS/Device/ATMEL/” “-IC:\Users\johnf\AppData\Local\Arduino15\packages\SparkFun\hardware\samd\1.8.3\cores\arduino51” “-IC:\Users\johnf\AppData\Local\Arduino15\packages\SparkFun\hardware\samd\1.8.3\variants\SparkFun_SAMD51_Thing_Plus” “-IC:\Users\johnf\OneDrive\Documents\Arduino\libraries\Servo\src” “C:\Users\johnf\OneDrive\Documents\Arduino\libraries\Servo\src\samd\Servo.cpp” -o “C:\Users\johnf\AppData\Local\Temp\arduino_build_624305\libraries\Servo\samd\Servo.cpp.o”
C:\Users\johnf\OneDrive\Documents\Arduino\libraries\Servo\src\samd\Servo.cpp: In function ‘void Servo_Handler(timer16_Sequence_t, Tc*, uint8_t, uint8_t)’:
C:\Users\johnf\OneDrive\Documents\Arduino\libraries\Servo\src\samd\Servo.cpp:44:60: error: ‘volatile struct TC_STATUS_Type::’ has no member named ‘SYNCBUSY’
#define WAIT_TC16_REGS_SYNC(x) while(x->COUNT16.STATUS.bit.SYNCBUSY);
^
…then spews a bunch of similar-looking things.
I’m not trying to provide enough to debug here, just to give a flavor of what I see and hear if anyone else knows it’s a known issue, sees the same thing, or finds that it works for them.
Thanks!