I am trying to use NeoPixel strips with a Trinket M0 (and I may move it to a Feather M0 Basic Proto, because I may need more pins). But in compiling it for the Trinket M0, I got the following errors:
Compiling library "Adafruit_NeoPixel"
"/Users/flounder/Library/Arduino15/packages/arduino/tools/arm-none-eabi-gcc/4.8.3-2014q1/bin/arm-none-eabi-g++" -mcpu=cortex-m0plus -mthumb -c -g -Os -Wall -std=gnu++11 -ffunction-sections -fdata-sections -fno-threadsafe-statics -nostdlib --param max-inline-insns-single=500 -fno-rtti -fno-exceptions -MMD -DF_CPU=48000000L -DARDUINO=10804 -DARDUINO_TRINKET_M0 -DARDUINO_ARCH_SAMD -DCRYSTALLESS -DADAFRUIT_TRINKET_M0 -D__SAMD21E18A__ -DUSB_VID=0x239A -DUSB_PID=0x801E -DUSBCON '-DUSB_MANUFACTURER="Adafruit"' '-DUSB_PRODUCT="Trinket M0"' "-I/Users/flounder/Library/Arduino15/packages/arduino/tools/CMSIS/4.5.0/CMSIS/Include/" "-I/Users/flounder/Library/Arduino15/packages/arduino/tools/CMSIS-Atmel/1.1.0/CMSIS/Device/ATMEL/" "-I/Users/flounder/Library/Arduino15/packages/adafruit/hardware/samd/1.0.19/cores/arduino" "-I/Users/flounder/Library/Arduino15/packages/adafruit/hardware/samd/1.0.19/variants/trinket_m0" "-I/Users/flounder/Documents/Arduino/libraries/Adafruit_DotStar" "-I/Users/flounder/Documents/Arduino/libraries/Adafruit_NeoPixel" "-I/Users/flounder/Library/Arduino15/packages/adafruit/hardware/samd/1.0.19/libraries/SPI" "/Users/flounder/Documents/Arduino/libraries/Adafruit_NeoPixel/Adafruit_NeoPixel.cpp" -o "/var/folders/qk/48tgmmgj3bq6x7_r2cxw_20w0000gn/T/arduino_build_194271/libraries/Adafruit_NeoPixel/Adafruit_NeoPixel.cpp.o"
/Users/flounder/Documents/Arduino/libraries/Adafruit_NeoPixel/Adafruit_NeoPixel.cpp: In member function 'void Adafruit_NeoPixel::show()':
/Users/flounder/Documents/Arduino/libraries/Adafruit_NeoPixel/Adafruit_NeoPixel.cpp:742:3: error: 'Pio' was not declared in this scope
Pio *port;
^
/Users/flounder/Documents/Arduino/libraries/Adafruit_NeoPixel/Adafruit_NeoPixel.cpp:742:19: error: 'port' was not declared in this scope
Pio *port;
^
/Users/flounder/Documents/Arduino/libraries/Adafruit_NeoPixel/Adafruit_NeoPixel.cpp:746:29: error: 'pmc_set_writeprotect' was not declared in this scope
pmc_set_writeprotect(false);
^
/Users/flounder/Documents/Arduino/libraries/Adafruit_NeoPixel/Adafruit_NeoPixel.cpp:747:43: error: 'pmc_enable_periph_clk' was not declared in this scope
pmc_enable_periph_clk((uint32_t)TC3_IRQn);
^
/Users/flounder/Documents/Arduino/libraries/Adafruit_NeoPixel/Adafruit_NeoPixel.cpp:748:16: error: 'TC1' was not declared in this scope
TC_Configure(TC1, 0,
^
/Users/flounder/Documents/Arduino/libraries/Adafruit_NeoPixel/Adafruit_NeoPixel.cpp:749:5: error: 'TC_CMR_WAVE' was not declared in this scope
TC_CMR_WAVE | TC_CMR_WAVSEL_UP | TC_CMR_TCCLKS_TIMER_CLOCK1);
^
/Users/flounder/Documents/Arduino/libraries/Adafruit_NeoPixel/Adafruit_NeoPixel.cpp:749:19: error: 'TC_CMR_WAVSEL_UP' was not declared in this scope
TC_CMR_WAVE | TC_CMR_WAVSEL_UP | TC_CMR_TCCLKS_TIMER_CLOCK1);
^
/Users/flounder/Documents/Arduino/libraries/Adafruit_NeoPixel/Adafruit_NeoPixel.cpp:749:38: error: 'TC_CMR_TCCLKS_TIMER_CLOCK1' was not declared in this scope
TC_CMR_WAVE | TC_CMR_WAVSEL_UP | TC_CMR_TCCLKS_TIMER_CLOCK1);
^
/Users/flounder/Documents/Arduino/libraries/Adafruit_NeoPixel/Adafruit_NeoPixel.cpp:749:64: error: 'TC_Configure' was not declared in this scope
TC_CMR_WAVE | TC_CMR_WAVSEL_UP | TC_CMR_TCCLKS_TIMER_CLOCK1);
^
/Users/flounder/Documents/Arduino/libraries/Adafruit_NeoPixel/Adafruit_NeoPixel.cpp:750:18: error: 'TC_Start' was not declared in this scope
TC_Start(TC1, 0);
^
/Users/flounder/Documents/Arduino/libraries/Adafruit_NeoPixel/Adafruit_NeoPixel.cpp:753:38: error: 'const PinDescription' has no member named 'pPort'
port = g_APinDescription[pin].pPort; // declarations above. Want to
^
/Users/flounder/Documents/Arduino/libraries/Adafruit_NeoPixel/Adafruit_NeoPixel.cpp:779:24: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
while(*timeValue < period);
^
/Users/flounder/Documents/Arduino/libraries/Adafruit_NeoPixel/Adafruit_NeoPixel.cpp:781:18: error: 'TC_CCR_CLKEN' was not declared in this scope
*timeReset = TC_CCR_CLKEN | TC_CCR_SWTRG;
^
/Users/flounder/Documents/Arduino/libraries/Adafruit_NeoPixel/Adafruit_NeoPixel.cpp:781:33: error: 'TC_CCR_SWTRG' was not declared in this scope
*timeReset = TC_CCR_CLKEN | TC_CCR_SWTRG;
^
/Users/flounder/Documents/Arduino/libraries/Adafruit_NeoPixel/Adafruit_NeoPixel.cpp:782:24: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
while(*timeValue < t);
^
/Users/flounder/Documents/Arduino/libraries/Adafruit_NeoPixel/Adafruit_NeoPixel.cpp:790:22: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
while(*timeValue < period); // Wait for last bit
^
/Users/flounder/Documents/Arduino/libraries/Adafruit_NeoPixel/Adafruit_NeoPixel.cpp:791:17: error: 'TC_Stop' was not declared in this scope
TC_Stop(TC1, 0);
^
Multiple libraries were found for "Adafruit_NeoPixel.h"
Used: /Users/flounder/Documents/Arduino/libraries/Adafruit_NeoPixel
Not used: /Users/flounder/Documents/Arduino/libraries/arduino_968382
Using library Adafruit_DotStar at version 1.0.2 in folder: /Users/flounder/Documents/Arduino/libraries/Adafruit_DotStar
Using library Adafruit_NeoPixel in folder: /Users/flounder/Documents/Arduino/libraries/Adafruit_NeoPixel (legacy)
Using library SPI at version 1.0 in folder: /Users/flounder/Library/Arduino15/packages/adafruit/hardware/samd/1.0.19/libraries/SPI
exit status 1
Error compiling for board Adafruit Trinket M0.
I'm getting compilation errors in the NeoPixel library, but I've checked, and I have the latest version (1.1.2). Not sure what to try next. It looks like it is trying to compile the Arduino (AVR) version. I just added this to a program I have been successfully running on the Trinket M0, so it isn't like this is the first build of this software; I just finished the infrastructure and now I'm ready to add the NeoPixel strip.
thanks
joe
The standard strandtest gives the same errors. I have now tried several boards, and strandtest fails to compile for any SAMD architecture, compiles fine for an AVR architecture.
joe
I had pasted the entire URL into the document, but the display logic assumes that I will become confused if I see the whole thing and gratuitously shortens it by throwing parts away and using "...". But the link underneath that bad display is correct.
Hmmm...I spoke too soon. The new libraries do not solve the problem, but introduce new problems. I added the #pragma message items so I could be sure that I was including the correct libraries.
/Users/flounder/Library/Arduino15/packages/arduino/tools/arm-none-eabi-gcc/4.8.3-2014q1/bin/arm-none-eabi-g++" -mcpu=cortex-m0plus -mthumb -c -g -Os -Wall -std=gnu++11 -ffunction-sections -fdata-sections -fno-threadsafe-statics -nostdlib --param max-inline-insns-single=500 -fno-rtti -fno-exceptions -MMD -DF_CPU=48000000L -DARDUINO=10804 -DARDUINO_SAMD_FEATHER_M0 -DARDUINO_ARCH_SAMD -DARDUINO_SAMD_ZERO -D__SAMD21G18A__ -DUSB_VID=0x239A -DUSB_PID=0x800B -DUSBCON '-DUSB_MANUFACTURER="Adafruit"' '-DUSB_PRODUCT="Feather M0"' "-I/Users/flounder/Library/Arduino15/packages/arduino/tools/CMSIS/4.5.0/CMSIS/Include/" "-I/Users/flounder/Library/Arduino15/packages/arduino/tools/CMSIS-Atmel/1.1.0/CMSIS/Device/ATMEL/" "-I/Users/flounder/Library/Arduino15/packages/adafruit/hardware/samd/1.0.19/cores/arduino" "-I/Users/flounder/Library/Arduino15/packages/adafruit/hardware/samd/1.0.19/variants/arduino_zero" "-I/Users/flounder/Documents/Arduino/libraries/Adafruit_NeoPixel_ZeroDMA" "-I/Users/flounder/Documents/Arduino/libraries/Adafruit_NeoPixel" "-I/Users/flounder/Documents/Arduino/libraries/Adafruit_ZeroDMA" "-I/Users/flounder/Documents/Arduino/libraries/Adafruit_ASFcore" "-I/Users/flounder/Library/Arduino15/packages/adafruit/hardware/samd/1.0.19/libraries/SPI" "/var/folders/qk/48tgmmgj3bq6x7_r2cxw_20w0000gn/T/arduino_build_989173/sketch/Band.cpp" -o "/var/folders/qk/48tgmmgj3bq6x7_r2cxw_20w0000gn/T/arduino_build_989173/sketch/Band.cpp.o"
In file included from /Users/flounder/Documents/Arduino/libraries/Adafruit_ZeroDMA/utility/dma.h:319:0,
from /Users/flounder/Documents/Arduino/libraries/Adafruit_ZeroDMA/Adafruit_ZeroDMA.h:6,
from /Users/flounder/Documents/Arduino/libraries/Adafruit_NeoPixel_ZeroDMA/Adafruit_NeoPixel_ZeroDMA.h:5,
from /var/folders/qk/48tgmmgj3bq6x7_r2cxw_20w0000gn/T/arduino_build_989173/sketch/HasNeoPixels.h:5,
from /var/folders/qk/48tgmmgj3bq6x7_r2cxw_20w0000gn/T/arduino_build_989173/sketch/band.h:10,
from /var/folders/qk/48tgmmgj3bq6x7_r2cxw_20w0000gn/T/arduino_build_989173/sketch/Band.cpp:2:
/Users/flounder/Documents/Arduino/libraries/Adafruit_ASFcore/compiler.h:729:0: warning: "min" redefined [enabled by default]
#define min(a, b) Min(a, b)
^
In file included from /var/folders/qk/48tgmmgj3bq6x7_r2cxw_20w0000gn/T/arduino_build_989173/sketch/Band.cpp:1:0:
/Users/flounder/Library/Arduino15/packages/adafruit/hardware/samd/1.0.19/cores/arduino/arduino.h:100:0: note: this is the location of the previous definition
#define min(a,b) ((a)<(b)?(a):(b))
^
In file included from /Users/flounder/Documents/Arduino/libraries/Adafruit_ZeroDMA/utility/dma.h:319:0,
from /Users/flounder/Documents/Arduino/libraries/Adafruit_ZeroDMA/Adafruit_ZeroDMA.h:6,
from /Users/flounder/Documents/Arduino/libraries/Adafruit_NeoPixel_ZeroDMA/Adafruit_NeoPixel_ZeroDMA.h:5,
from /var/folders/qk/48tgmmgj3bq6x7_r2cxw_20w0000gn/T/arduino_build_989173/sketch/HasNeoPixels.h:5,
from /var/folders/qk/48tgmmgj3bq6x7_r2cxw_20w0000gn/T/arduino_build_989173/sketch/band.h:10,
from /var/folders/qk/48tgmmgj3bq6x7_r2cxw_20w0000gn/T/arduino_build_989173/sketch/Band.cpp:2:
/Users/flounder/Documents/Arduino/libraries/Adafruit_ASFcore/compiler.h:740:0: warning: "max" redefined [enabled by default]
#define max(a, b) Max(a, b)
^
In file included from /var/folders/qk/48tgmmgj3bq6x7_r2cxw_20w0000gn/T/arduino_build_989173/sketch/Band.cpp:1:0:
/Users/flounder/Library/Arduino15/packages/adafruit/hardware/samd/1.0.19/cores/arduino/arduino.h:101:0: note: this is the location of the previous definition
#define max(a,b) ((a)>(b)?(a):(b))
^
In file included from /Users/flounder/Documents/Arduino/libraries/Adafruit_ZeroDMA/utility/dma.h:319:0,
from /Users/flounder/Documents/Arduino/libraries/Adafruit_ZeroDMA/Adafruit_ZeroDMA.h:6,
from /Users/flounder/Documents/Arduino/libraries/Adafruit_NeoPixel_ZeroDMA/Adafruit_NeoPixel_ZeroDMA.h:5,
from /var/folders/qk/48tgmmgj3bq6x7_r2cxw_20w0000gn/T/arduino_build_989173/sketch/HasNeoPixels.h:5,
from /var/folders/qk/48tgmmgj3bq6x7_r2cxw_20w0000gn/T/arduino_build_989173/sketch/band.h:10,
from /var/folders/qk/48tgmmgj3bq6x7_r2cxw_20w0000gn/T/arduino_build_989173/sketch/Band.cpp:2:
/Users/flounder/Documents/Arduino/libraries/Adafruit_ASFcore/compiler.h:945:0: warning: "LOW" redefined [enabled by default]
#define LOW 0
^
In file included from /Users/flounder/Library/Arduino15/packages/adafruit/hardware/samd/1.0.19/cores/arduino/arduino.h:50:0,
from /var/folders/qk/48tgmmgj3bq6x7_r2cxw_20w0000gn/T/arduino_build_989173/sketch/Band.cpp:1:
/Users/flounder/Library/Arduino15/packages/adafruit/hardware/samd/1.0.19/cores/arduino/wiring_constants.h:26:0: note: this is the location of the previous definition
#define LOW (0x0)
^
In file included from /Users/flounder/Documents/Arduino/libraries/Adafruit_ZeroDMA/utility/dma.h:319:0,
from /Users/flounder/Documents/Arduino/libraries/Adafruit_ZeroDMA/Adafruit_ZeroDMA.h:6,
from /Users/flounder/Documents/Arduino/libraries/Adafruit_NeoPixel_ZeroDMA/Adafruit_NeoPixel_ZeroDMA.h:5,
from /var/folders/qk/48tgmmgj3bq6x7_r2cxw_20w0000gn/T/arduino_build_989173/sketch/HasNeoPixels.h:5,
from /var/folders/qk/48tgmmgj3bq6x7_r2cxw_20w0000gn/T/arduino_build_989173/sketch/band.h:10,
from /var/folders/qk/48tgmmgj3bq6x7_r2cxw_20w0000gn/T/arduino_build_989173/sketch/Band.cpp:2:
/Users/flounder/Documents/Arduino/libraries/Adafruit_ASFcore/compiler.h:946:0: warning: "HIGH" redefined [enabled by default]
#define HIGH 1
^
In file included from /Users/flounder/Library/Arduino15/packages/adafruit/hardware/samd/1.0.19/cores/arduino/arduino.h:50:0,
from /var/folders/qk/48tgmmgj3bq6x7_r2cxw_20w0000gn/T/arduino_build_989173/sketch/Band.cpp:1:
/Users/flounder/Library/Arduino15/packages/adafruit/hardware/samd/1.0.19/cores/arduino/wiring_constants.h:27:0: note: this is the location of the previous definition
#define HIGH (0x1)
^
In file included from /var/folders/qk/48tgmmgj3bq6x7_r2cxw_20w0000gn/T/arduino_build_989173/sketch/HasNeoPixels.h:5:0,
from /var/folders/qk/48tgmmgj3bq6x7_r2cxw_20w0000gn/T/arduino_build_989173/sketch/band.h:10,
from /var/folders/qk/48tgmmgj3bq6x7_r2cxw_20w0000gn/T/arduino_build_989173/sketch/Band.cpp:2:
/Users/flounder/Documents/Arduino/libraries/Adafruit_NeoPixel_ZeroDMA/Adafruit_NeoPixel_ZeroDMA.h:12:54: error: 'neoPixelType' has not been declared
Adafruit_NeoPixel_ZeroDMA(uint16_t n, uint8_t p=6, neoPixelType t=NEO_GRB);
^
In file included from /var/folders/qk/48tgmmgj3bq6x7_r2cxw_20w0000gn/T/arduino_build_989173/sketch/band.h:10:0,
from /var/folders/qk/48tgmmgj3bq6x7_r2cxw_20w0000gn/T/arduino_build_989173/sketch/Band.cpp:2:
/var/folders/qk/48tgmmgj3bq6x7_r2cxw_20w0000gn/T/arduino_build_989173/sketch/HasNeoPixels.h:6:20: note: #pragma message: Using Adafruit_NeoPixel_ZeroDMA.h for SAMD
#pragma message "Using Adafruit_NeoPixel_ZeroDMA.h for SAMD"
^
In file included from /var/folders/qk/48tgmmgj3bq6x7_r2cxw_20w0000gn/T/arduino_build_989173/sketch/Band.cpp:3:0:
/var/folders/qk/48tgmmgj3bq6x7_r2cxw_20w0000gn/T/arduino_build_989173/sketch/HasNeoPixels.h:6:20: note: #pragma message: Using Adafruit_NeoPixel_ZeroDMA.h for SAMD
#pragma message "Using Adafruit_NeoPixel_ZeroDMA.h for SAMD"
^
Using library Adafruit_NeoPixel_ZeroDMA in folder: /Users/flounder/Documents/Arduino/libraries/Adafruit_NeoPixel_ZeroDMA (legacy)
Using library Adafruit_NeoPixel in folder: /Users/flounder/Documents/Arduino/libraries/Adafruit_NeoPixel (legacy)
Using library Adafruit_ZeroDMA in folder: /Users/flounder/Documents/Arduino/libraries/Adafruit_ZeroDMA (legacy)
Using library Adafruit_ASFcore at version 1.0.0 in folder: /Users/flounder/Documents/Arduino/libraries/Adafruit_ASFcore
Using library SPI at version 1.0 in folder: /Users/flounder/Library/Arduino15/packages/adafruit/hardware/samd/1.0.19/libraries/SPI
exit status 1
Error compiling for board Adafruit Feather M0.