Skip to content

#include <Servo.h> compile error for Metro M4 Express #2354

@ghost

Description

#include <Servo.h> results in a compile error for the Metro M4 Express

#include <Servo.h>
int main(void) {}

What I've Tried
I have tried using the standard PlatformIO <Servo.h>. See logs below.
I have tried rebuilding the library from Adafruit's version. See logs below.
This same header compiles fine on the Arduino IDE with this BSP. Per this issue, the latest BSP has a working Servo library. See logs below.

Expected Outcome
#include <Servo.h> compiles without error. PlatformIO matches the Arduino IDE in header support for Metro M4.

Using Standard Library
Log

Processing adafruit_metro_m4 (platform: atmelsam; board: adafruit_metro_m4; framework: arduino)

Verbose mode can be enabled via -v, --verbose option
CONFIGURATION: https://docs.platformio.org/page/boards/atmelsam/adafruit_metro_m4.html
PLATFORM: Atmel SAM (5.1.1) > Adafruit Metro M4
HARDWARE: SAMD51J19A 120MHz, 192KB RAM, 512KB Flash
DEBUG: Current (atmel-ice) External (atmel-ice, jlink)
PACKAGES:

  • framework-arduino-samd-adafruit 1.6.4
  • framework-cmsis 2.50400.181126 (5.4.0)
  • framework-cmsis-atmel 1.2.0
  • tool-bossac 1.10900.0 (1.9.0)
  • toolchain-gccarmnoneeabi 1.90301.200702 (9.3.1)
    LDF: Library Dependency Finder -> http://bit.ly/configure-pio-ldf
    LDF Modes: Finder ~ chain, Compatibility ~ soft
    Found 12 compatible libraries
    Scanning dependencies...
    Dependency Graph
    |-- 1.1.7
    Building in release mode
    Compiling .pio/build/adafruit_metro_m4/src/main.cpp.o
    Compiling .pio/build/adafruit_metro_m4/liba37/Servo/avr/Servo.cpp.o
    Compiling .pio/build/adafruit_metro_m4/liba37/Servo/mbed/Servo.cpp.o
    Compiling .pio/build/adafruit_metro_m4/liba37/Servo/megaavr/Servo.cpp.o
    Compiling .pio/build/adafruit_metro_m4/liba37/Servo/nrf52/Servo.cpp.o
    Compiling .pio/build/adafruit_metro_m4/liba37/Servo/sam/Servo.cpp.o
    Compiling .pio/build/adafruit_metro_m4/liba37/Servo/samd/Servo.cpp.o
    Compiling .pio/build/adafruit_metro_m4/liba37/Servo/stm32f4/Servo.cpp.o
    Compiling .pio/build/adafruit_metro_m4/FrameworkArduinoVariant/variant.cpp.o
    .pio/libdeps/adafruit_metro_m4/Servo/src/samd/Servo.cpp: In function 'void Servo_Handler(timer16_Sequence_t, Tc*, uint8_t, uint8_t)':
    .pio/libdeps/adafruit_metro_m4/Servo/src/samd/Servo.cpp:44:60: error: 'volatile struct TC_STATUS_Type::' has no member named 'SYNCBUSY'
    44 | #define WAIT_TC16_REGS_SYNC(x) while(x->COUNT16.STATUS.bit.SYNCBUSY);
    | ^~~~~~~~
    .pio/libdeps/adafruit_metro_m4/Servo/src/samd/Servo.cpp:64:9: note: in expansion of macro 'WAIT_TC16_REGS_SYNC'
    64 | WAIT_TC16_REGS_SYNC(tc)
    | ^~~~~~~~~~~~~~~~~~~
    .pio/libdeps/adafruit_metro_m4/Servo/src/samd/Servo.cpp:44:60: error: 'volatile struct TC_STATUS_Type::' has no member named 'SYNCBUSY'
    44 | #define WAIT_TC16_REGS_SYNC(x) while(x->COUNT16.STATUS.bit.SYNCBUSY);
    | ^~~~~~~~
    .pio/libdeps/adafruit_metrCompiling .pio/build/adafruit_metro_m4/FrameworkArduino/IPAddress.cpp.o
    o_m4/Servo/src/samd/Servo.cpp:81:9: note: in expansion of macro 'WAIT_TC16_REGS_SYNC'
    81 | WAIT_TC16_REGS_SYNC(tc)
    | ^~~~~~~~~~~~~~~~~~~
    .pio/libdeps/adafruit_metro_m4/Servo/src/samd/Servo.cpp:44:60: error: 'volatile struct TC_STATUS_Type::' has no member named 'SYNCBUSY'
    44 | #define WAIT_TC16_REGS_SYNC(x) while(x->COUNT16.STATUS.bit.SYNCBUSY);
    | ^~~~~~~~
    .pio/libdeps/adafruit_metro_m4/Servo/src/samd/Servo.cpp:84:9: note: in expansion of macro 'WAIT_TC16_REGS_SYNC'
    84 | WAIT_TC16_REGS_SYNC(tc)
    | ^~~~~~~~~~~~~~~~~~~
    .pio/libdeps/adafruit_metro_m4/Servo/src/samd/Servo.cpp:44:60: error: 'volatile struct TC_STATUS_Type::' has no member named 'SYNCBUSY'
    44 | #define WAIT_TC16_REGS_SYNC(x) while(x->COUNT16.STATUS.bit.SYNCBUSY);
    | ^~~~~~~~
    .pio/libdeps/adafruit_metro_m4/Servo/src/samd/Servo.cpp:91:9: note: in expansion of macro 'WAIT_TC16_REGS_SYNC'
    91 | WAIT_TC16_REGS_SYNC(tc)
    | ^~~~~~~~~~~~~~~~~~~
    .pio/libdeps/adafruit_metro_m4/Servo/src/samd/Servo.cpp:44:60: error: 'volatile struct TC_STATUS_Type::' has no member named 'SYNCBUSY'
    44 | #define WAIT_TC16_REGS_SYNC(x) while(x->COUNT16.STATUS.bit.SYNCBUSY);
    | ^~~~~~~~
    .pio/libdeps/adafruit_metro_m4/Servo/src/samd/Servo.cpp:99:9: note: in expansion of macro 'WAIT_TC16_REGS_SYNC'
    99 | WAIT_TC16_REGS_SYNC(tc)
    | ^~~~~~~~~~~~~~~~~~~
    .pio/libdeps/adafruit_metro_m4/Servo/src/samd/Servo.cpp: In function 'void resetTC(Tc*)':
    .pio/libdeps/adafruit_metro_m4/Servo/src/samd/Servo.cpp:44:60: error: 'volatile struct TC_STATUS_Type::' has no member named 'SYNCBUSY'
    44 | #define WAIT_TC16_REGS_SYNC(x) while(x->COUNT16.STATUS.bit.SYNCBUSY);
    | ^~~~~~~~
    .pio/libdeps/adafruit_metro_m4/Servo/src/samd/Servo.cpp:112:5: note: in expansion of macro 'WAIT_TC16_REGS_SYNC'
    112 | WAIT_TC16_REGS_SYNC(TCx)
    | ^~~~~~~~~~~~~~~~~~~
    .pio/libdeps/adafruit_metro_m4/Servo/src/samd/Servo.cpp:44:60: error: 'volatile struct TC_STATUS_Type::' has no member named 'SYNCBUSY'
    44 | #define WAIT_TC16_REGS_SYNC(x) while(x->COUNT16.STATUS.bit.SYNCBUSY);
    | ^~~~~~~~
    .pio/libdeps/adafruit_metro_m4/Servo/src/samd/Servo.cpp:116:5: note: in expansion of macro 'WAIT_TC16_REGS_SYNC'
    116 | WAIT_TC16_REGS_SYNC(TCx)
    | ^~~~~~~~~~~~~~~~~~~
    .pio/libdeps/adafruit_metro_m4/Servo/src/samd/Servo.cpp: In function 'void _initISR(Tc*, uint8_t, uint32_t, IRQn_Type, uint8_t, uint8_t)':
    .pio/libdeps/adafruit_metro_m4/Servo/src/samd/Servo.cpp:123:11: error: 'struct Gclk' has no member named 'CLKCTRL'
    123 | GCLK->CLKCTRL.reg = (uint16_t) (GCLK_CLKCTRL_CLKEN | GCLK_CLKCTRL_GEN_GCLK0 | GCLK_CLKCTRL_ID(gcmForTimer));
    | ^~~~~~~
    .pio/libdeps/adafruit_metro_m4/Servo/src/samd/Servo.cpp:123:37: error: 'GCLK_CLKCTRL_CLKEN' was not declared in this scope; did you mean 'GCLK_CLKCTRL_IDs'?
    123 | GCLK->CLKCTRL.reg = (uint16_t) (GCLK_CLKCTRL_CLKEN | GCLK_CLKCTRL_GEN_GCLK0 | GCLK_CLKCTRL_ID(gcmForTimer));
    | ^~~~~~~~~~~~~~~~~~
    | GCLK_CLKCTRL_IDs
    Compiling .pio/build/adafruit_metro_m4/FrameworkArduino/Print.cpp.o
    .pio/libdeps/adafruit_metro_m4/Servo/src/samd/Servo.cpp:123:58: error: 'GCLK_CLKCTRL_GEN_GCLK0' was not declared in this scope; did you mean 'GCLK_PCHCTRL_GEN_GCLK0'?
    123 | GCLK->CLKCTRL.reg = (uint16_t) (GCLK_CLKCTRL_CLKEN | GCLK_CLKCTRL_GEN_GCLK0 | GCLK_CLKCTRL_ID(gcmForTimer));
    | ^~~~~~~~~~~~~~~~~~~~~~
    | GCLK_PCHCTRL_GEN_GCLK0
    .pio/libdeps/adafruit_metro_m4/Servo/src/samd/Servo.cpp:123:83: error: 'GCLK_CLKCTRL_ID' was not declared in this scope; did you mean 'GCLK_CLKCTRL_IDs'?
    123 | GCLK->CLKCTRL.reg = (uint16_t) (GCLK_CLKCTRL_CLKEN | GCLK_CLKCTRL_GEN_GCLK0 | GCLK_CLKCTRL_ID(gcmForTimer));
    | ^~~~~~~~~~~~~~~
    | GCLK_CLKCTRL_IDs
    .pio/libdeps/adafruit_metro_m4/Servo/src/samd/Servo.cpp:124:18: error: 'struct Gclk' has no member named 'STATUS'
    124 | while (GCLK->STATUS.bit.SYNCBUSY);
    | ^~~~~~
    In file included from /Users/adam2/.platformio/packages/framework-cmsis-atmel/CMSIS/Device/ATMEL/samd51/include/samd51.h:44,
    from /Users/adam2/.platformio/packages/framework-cmsis-atmel/CMSIS/Device/ATMEL/samd.h:143,
    from /Users/adam2/.platformio/packages/framework-cmsis-atmel/CMSIS/Device/ATMEL/sam.h:540,
    from /Users/adam2/.platformio/packages/framework-arduino-samd-adafruit/cores/arduino/Arduino.h:48,
    from /Users/adam2/.platformio/packages/framework-arduino-samd-adafruit/cores/arduino/Print.cpp:23:
    /Users/adam2/.platformio/packages/framework-cmsis-atmel/CMSIS/Device/ATMEL/samd51/include/samd51j19a.h:525: warning: "LITTLE_ENDIAN" redefined
    525 | #define LITTLE_ENDIAN 1
    |
    In file included from /Users/adam2/.platformio/packages/toolchain-gccarmnoneeabi/arm-none-eabi/include/sys/types.h:49,
    from /Users/adam2/.platformio/packages/toolchain-gccarmnoneeabi/arm-none-eabi/include/stdio.h:61,
    from /Users/adam2/.platformio/packages/framework-arduino-samd-adafruit/cores/arduino/Print.cpp:20:
    /Users/adam2/.platformio/packages/toolchain-gccarmnoneeabi/arm-none-eabi/include/machine/endian.h:17: note: this is the location of the previous definition
    17 | #define LITTLE_ENDIAN _LITTLE_ENDIAN
    |
    .pio/libdeps/adafruit_metro_m4/Servo/src/samd/Servo.cpp:134:30: error: 'TC_CTRLA_WAVEGEN_NPWM' was not declared in this scope; did you mean 'TCC_WAVE_WAVEGEN_NPWM'?
    134 | tc->COUNT16.CTRLA.reg |= TC_CTRLA_WAVEGEN_NPWM;
    | ^~~~~~~~~~~~~~~~~~~~~
    | TCC_WAVE_WAVEGEN_NPWM
    .pio/libdeps/adafruit_metro_m4/Servo/src/samd/Servo.cpp:44:60: error: 'volatile struct TC_STATUS_Type::' has no member named 'SYNCBUSY'
    44 | #define WAIT_TC16_REGS_SYNC(x) while(x->COUNT16.STATUS.bit.SYNCBUSY);
    | ^~~~~~~~
    .pio/libdeps/adafruit_metro_m4/Servo/src/samd/Servo.cpp:141:5: note: in expansion of macro 'WAIT_TC16_REGS_SYNC'
    141 | WAIT_TC16_REGS_SYNC(tc)
    | ^~~~~~~~~~~~~~~~~~~
    .pio/libdeps/adafruit_metro_m4/Servo/src/samd/Servo.cpp:44:60: error: 'volatile struct TC_STATUS_Type::' has no member named 'SYNCBUSY'
    44 | #define WAIT_TC16_REGS_SYNC(x) while(x->COUNT16.STATUS.bit.SYNCBUSY);
    | ^~~~~~~~
    .pio/libdeps/adafruit_metro_m4/Servo/src/samd/Servo.cpp:145:5: note: in expansion of macro 'WAIT_TC16_REGS_SYNC'
    145 | WAIT_TC16_REGS_SYNC(tc)
    | ^~~~~~~~~~~~~~~~~~~
    .pio/libdeps/adafruit_metro_m4/Servo/src/samd/Servo.cpp:44:60: error: 'volatile struct TC_STATUS_Type::' has no member named 'SYNCBUSY'
    44 | #define WAIT_TC16_REGS_SYNC(x) while(x->COUNT16.STATUS.bit.SYNCBUSY);
    | ^~~~~~~~
    .pio/libdeps/adafruit_metro_m4/Servo/src/samd/Servo.cpp:159:5: note: in expansion of macro 'WAIT_TC16_REGS_SYNC'
    159 | WAIT_TC16_REGS_SYNC(tc)
    | ^~~~~~~~~~~~~~~~~~~
    *** [.pio/build/adafruit_metro_m4/liba37/Servo/samd/Servo.cpp.o] Error 1
    =========================================================== [FAILED] Took 2.86 seconds ===========================================================

Using Adafruit's Library

Per this forum, I download this .zip , renamed it to 'Servo', then copied it to my PlatformIO project's 'lib' folder.

Log

Executing task: pio run <

Processing adafruit_metro_m4 (platform: atmelsam; board: adafruit_metro_m4; framework: arduino)

Verbose mode can be enabled via -v, --verbose option
CONFIGURATION: https://docs.platformio.org/page/boards/atmelsam/adafruit_metro_m4.html
PLATFORM: Atmel SAM (5.1.1) > Adafruit Metro M4
HARDWARE: SAMD51J19A 120MHz, 192KB RAM, 512KB Flash
DEBUG: Current (atmel-ice) External (atmel-ice, jlink)
PACKAGES:

  • framework-arduino-samd-adafruit 1.6.4
  • framework-cmsis 2.50400.181126 (5.4.0)
  • framework-cmsis-atmel 1.2.0
  • toolchain-gccarmnoneeabi 1.90301.200702 (9.3.1)
    LDF: Library Dependency Finder -> http://bit.ly/configure-pio-ldf
    LDF Modes: Finder ~ chain, Compatibility ~ soft
    Found 13 compatible libraries
    Scanning dependencies...
    Dependency Graph
    |-- 1.1.7
    Building in release mode
    Compiling .pio/build/adafruit_metro_m4/liba37/Servo/samd/Servo.cpp.o
    .pio/libdeps/adafruit_metro_m4/Servo/src/samd/Servo.cpp: In function 'void Servo_Handler(timer16_Sequence_t, Tc*, uint8_t, uint8_t)':
    .pio/libdeps/adafruit_metro_m4/Servo/src/samd/Servo.cpp:44:60: error: 'volatile struct TC_STATUS_Type::' has no member named 'SYNCBUSY'
    44 | #define WAIT_TC16_REGS_SYNC(x) while(x->COUNT16.STATUS.bit.SYNCBUSY);
    | ^~~~~~~~
    .pio/libdeps/adafruit_metro_m4/Servo/src/samd/Servo.cpp:64:9: note: in expansion of macro 'WAIT_TC16_REGS_SYNC'
    64 | WAIT_TC16_REGS_SYNC(tc)
    | ^~~~~~~~~~~~~~~~~~~
    .pio/libdeps/adafruit_metro_m4/Servo/src/samd/Servo.cpp:44:60: error: 'volatile struct TC_STATUS_Type::' has no member named 'SYNCBUSY'
    44 | #define WAIT_TC16_REGS_SYNC(x) while(x->COUNT16.STATUS.bit.SYNCBUSY);
    | ^~~~~~~~
    .pio/libdeps/adafruit_metro_m4/Servo/src/samd/Servo.cpp:81:9: note: in expansion of macro 'WAIT_TC16_REGS_SYNC'
    81 | WAIT_TC16_REGS_SYNC(tc)
    | ^~~~~~~~~~~~~~~~~~~
    .pio/libdeps/adafruit_metro_m4/Servo/src/samd/Servo.cpp:44:60: error: 'volatile struct TC_STATUS_Type::' has no member named 'SYNCBUSY'
    44 | #define WAIT_TC16_REGS_SYNC(x) while(x->COUNT16.STATUS.bit.SYNCBUSY);
    | ^~~~~~~~
    .pio/libdeps/adafruit_metro_m4/Servo/src/samd/Servo.cpp:84:9: note: in expansion of macro 'WAIT_TC16_REGS_SYNC'
    84 | WAIT_TC16_REGS_SYNC(tc)
    | ^~~~~~~~~~~~~~~~~~~
    .pio/libdeps/adafruit_metro_m4/Servo/src/samd/Servo.cpp:44:60: error: 'volatile struct TC_STATUS_Type::' has no member named 'SYNCBUSY'
    44 | #define WAIT_TC16_REGS_SYNC(x) while(x->COUNT16.STATUS.bit.SYNCBUSY);
    | ^~~~~~~~
    .pio/libdeps/adafruit_metro_m4/Servo/src/samd/Servo.cpp:91:9: note: in expansion of macro 'WAIT_TC16_REGS_SYNC'
    91 | WAIT_TC16_REGS_SYNC(tc)
    | ^~~~~~~~~~~~~~~~~~~
    .pio/libdeps/adafruit_metro_m4/Servo/src/samd/Servo.cpp:44:60: error: 'volatile struct TC_STATUS_Type::' has no member named 'SYNCBUSY'
    44 | #define WAIT_TC16_REGS_SYNC(x) while(x->COUNT16.STATUS.bit.SYNCBUSY);
    | ^~~~~~~~
    .pio/libdeps/adafruit_metro_m4/Servo/src/samd/Servo.cpp:99:9: note: in expansion of macro 'WAIT_TC16_REGS_SYNC'
    99 | WAIT_TC16_REGS_SYNC(tc)
    | ^~~~~~~~~~~~~~~~~~~
    .pio/libdeps/adafruit_metro_m4/Servo/src/samd/Servo.cpp: In function 'void resetTC(Tc*)':
    .pio/libdeps/adafruit_metro_m4/Servo/src/samd/Servo.cpp:44:60: error: 'volatile struct TC_STATUS_Type::' has no member named 'SYNCBUSY'
    44 | #define WAIT_TC16_REGS_SYNC(x) while(x->COUNT16.STATUS.bit.SYNCBUSY);
    | ^~~~~~~~
    .pio/libdeps/adafruit_metro_m4/Servo/src/samd/Servo.cpp:112:5: note: in expansion of macro 'WAIT_TC16_REGS_SYNC'
    112 | WAIT_TC16_REGS_SYNC(TCx)
    | ^~~~~~~~~~~~~~~~~~~
    .pio/libdeps/adafruit_metro_m4/Servo/src/samd/Servo.cpp:44:60: error: 'volatile struct TC_STATUS_Type::' has no member named 'SYNCBUSY'
    44 | #define WAIT_TC16_REGS_SYNC(x) while(x->COUNT16.STATUS.bit.SYNCBUSY);
    | ^~~~~~~~
    .pio/libdeps/adafruit_metro_m4/Servo/src/samd/Servo.cpp:116:5: note: in expansion of macro 'WAIT_TC16_REGS_SYNC'
    116 | WAIT_TC16_REGS_SYNC(TCx)
    | ^~~~~~~~~~~~~~~~~~~
    .pio/libdeps/adafruit_metro_m4/Servo/src/samd/Servo.cpp: In function 'void _initISR(Tc*, uint8_t, uint32_t, IRQn_Type, uint8_t, uint8_t)':
    .pio/libdeps/adafruit_metro_m4/Servo/src/samd/Servo.cpp:123:11: error: 'struct Gclk' has no member named 'CLKCTRL'
    123 | GCLK->CLKCTRL.reg = (uint16_t) (GCLK_CLKCTRL_CLKEN | GCLK_CLKCTRL_GEN_GCLK0 | GCLK_CLKCTRL_ID(gcmForTimer));
    | ^~~~~~~
    .pio/libdeps/adafruit_metro_m4/Servo/src/samd/Servo.cpp:123:37: error: 'GCLK_CLKCTRL_CLKEN' was not declared in this scope; did you mean 'GCLK_CLKCTRL_IDs'?
    123 | GCLK->CLKCTRL.reg = (uint16_t) (GCLK_CLKCTRL_CLKEN | GCLK_CLKCTRL_GEN_GCLK0 | GCLK_CLKCTRL_ID(gcmForTimer));
    | ^~~~~~~~~~~~~~~~~~
    | GCLK_CLKCTRL_IDs
    Archiving .pio/build/adafruit_metro_m4/libFrameworkArduinoVariant.a
    .pio/libdeps/adafruit_metro_m4/Servo/src/samd/Servo.cpp:123:58: error: 'GCLK_CLKCTRL_GEN_GCLK0' was not declared in this scope; did you mean 'GCLK_PCHCTRL_GEN_GCLK0'?
    123 | GCLK->CLKCTRL.reg = (uint16_t) (GCLK_CLKCTRL_CLKEN | GCLK_CLKCTRL_GEN_GCLK0 | GCLK_CLKCTRL_ID(gcmForTimer));
    | ^~~~~~~~~~~~~~~~~~~~~~
    | GCLK_PCHCTRL_GEN_GCLK0
    Indexing .pio/build/adafruit_metro_m4/libFrameworkArduinoVariant.a
    .pio/libdeps/adafruit_metro_m4/Servo/src/samd/Servo.cpp:123:83: error: 'GCLK_CLKCTRL_ID' was not declared in this scope; did you mean 'GCLK_CLKCTRL_IDs'?
    123 | GCLK->CLKCTRL.reg = (uint16_t) (GCLK_CLKCTRL_CLKEN | GCLK_CLKCTRL_GEN_GCLK0 | GCLK_CLKCTRL_ID(gcmForTimer));
    | ^~~~~~~~~~~~~~~
    | GCLK_CLKCTRL_IDs
    .pio/libdeps/adafruit_metro_m4/Servo/src/samd/Servo.cpp:124:18: error: 'struct Gclk' has no member named 'STATUS'
    124 | while (GCLK->STATUS.bit.SYNCBUSY);
    | ^~~~~~
    .pio/libdeps/adafruit_metro_m4/Servo/src/samd/Servo.cpp:134:30: error: 'TC_CTRLA_WAVEGEN_NPWM' was not declared in this scope; did you mean 'TCC_WAVE_WAVEGEN_NPWM'?
    134 | tc->COUNT16.CTRLA.reg |= TC_CTRLA_WAVEGEN_NPWM;
    | ^~~~~~~~~~~~~~~~~~~~~
    | TCC_WAVE_WAVEGEN_NPWM
    .pio/libdeps/adafruit_metro_m4/Servo/src/samd/Servo.cpp:44:60: error: 'volatile struct TC_STATUS_Type::' has no member named 'SYNCBUSY'
    44 | #define WAIT_TC16_REGS_SYNC(x) while(x->COUNT16.STATUS.bit.SYNCBUSY);
    | ^~~~~~~~
    .pio/libdeps/adafruit_metro_m4/Servo/src/samd/Servo.cpp:141:5: note: in expansion of macro 'WAIT_TC16_REGS_SYNC'
    141 | WAIT_TC16_REGS_SYNC(tc)
    | ^~~~~~~~~~~~~~~~~~~
    .pio/libdeps/adafruit_metro_m4/Servo/src/samd/Servo.cpp:44:60: error: 'volatile struct TC_STATUS_Type::' has no member named 'SYNCBUSY'
    44 | #define WAIT_TC16_REGS_SYNC(x) while(x->COUNT16.STATUS.bit.SYNCBUSY);
    | ^~~~~~~~
    .pio/libdeps/adafruit_metro_m4/Servo/src/samd/Servo.cpp:145:5: note: in expansion of macro 'WAIT_TC16_REGS_SYNC'
    145 | WAIT_TC16_REGS_SYNC(tc)
    | ^~~~~~~~~~~~~~~~~~~
    .pio/libdeps/adafruit_metro_m4/Servo/src/samd/Servo.cpp:44:60: error: 'volatile struct TC_STATUS_Type::' has no member named 'SYNCBUSY'
    44 | #define WAIT_TC16_REGS_SYNC(x) while(x->COUNT16.STATUS.bit.SYNCBUSY);
    | ^~~~~~~~
    .pio/libdeps/adafruit_metro_m4/Servo/src/samd/Servo.cpp:159:5: note: in expansion of macro 'WAIT_TC16_REGS_SYNC'
    159 | WAIT_TC16_REGS_SYNC(tc)
    | ^~~~~~~~~~~~~~~~~~~
    Compiling .pio/build/adafruit_metro_m4/FrameworkArduino/Reset.cpp.o
    Compiling .pio/build/adafruit_metro_m4/FrameworkArduino/SERCOM.cpp.o
    *** [.pio/build/adafruit_metro_m4/liba37/Servo/samd/Servo.cpp.o] Error 1
    =========================================================== [FAILED] Took 2.15 seconds ===========================================================

Using Arduino IDE
Configured with this BSP
Logs
Sketch uses 5584 bytes (1%) of program storage space. Maximum is 507904 bytes.
Device : ATSAMD51x19
Version : v1.1 [Arduino:XYZ] May 17 2020 17:56:35
Address : 0x0
Pages : 1024
Page Size : 512 bytes
Total Size : 512KB
Planes : 1
Lock Regions : 32
Locked : none
Security : false
BOD : false
BOR : true
Write 5616 bytes to flash (11 pages)
[==============================] 100% (11/11 pages)
Done in 0.079 seconds
Verify 5616 bytes of flash
[==============================] 100% (11/11 pages)
Verify successful
Done in 0.132 seconds

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions