7:21 pm
July 3, 2019
I've started playing with a Seeeduino XIAO
Sadly, it fails to compile RGB LED strip vi's
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Running Arduino 1.8.13
Latest versions of needed libraries installed
XIAO device driver installed.
The Adafruit_Neopixel example: "strandtest_wheel"
loads and runs from Arduino IDE.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The LabVIEW/Arduino "blink" example compiles/loads/runs
Other examples also compile/load, except for the "RGB LED strip" examples.
The "RGB LED strip" vi's fail to compile.
Here's a sample of the compile-fail/error-output I've been getting:
~~~~
1.0.0.21, Seeeduino XIAO
Loading configuration...
Initializing packages...
Preparing boards...
Verifying...
2021-03-30T16:55:28.806Z INFO c.a.u.n.HttpConnectionManager:153 [cc.arduino.packages.discoverers.serial.SerialDiscovery] Connect to https://builder.arduino.cc/builder/v1/boards/0x1A86/0x7523, method=GET, request id=9B5EDA85C28045EA
2021-03-30T16:55:29.167Z INFO c.a.u.n.HttpConnectionManager:157 [cc.arduino.packages.discoverers.serial.SerialDiscovery] Request complete URL="https://builder.arduino.cc/builder/v1/boards/0x1A86/0x7523", method=GET, response code=404, request id=9B5EDA85C28045EA, headers={null=[HTTP/1.1 404 Not Found], Cache-Control=[no-cache, no-store, must-revalidate], Server=[nginx], Connection=[keep-alive], Vary=[Origin], Pragma=[no-cache], Expires=[0], Content-Length=[0], Date=[Tue, 30 Mar 2021 16:55:31 GMT]}
2021-03-30T16:55:29.168Z WARN p.a.h.BoardCloudResolver:64 [cc.arduino.packages.discoverers.serial.SerialDiscovery] Fail to get the Vid Pid information from the builder response code=404
2021-03-30T16:55:29.182Z INFO c.a.u.n.HttpConnectionManager:153 [cc.arduino.packages.discoverers.serial.SerialDiscovery] Connect to https://builder.arduino.cc/builder/v1/boards/0x1A86/0x7523, method=GET, request id=83CFA36AF85B48D3
2021-03-30T16:55:29.220Z INFO c.a.u.n.HttpConnectionManager:157 [cc.arduino.packages.discoverers.serial.SerialDiscovery] Request complete URL="https://builder.arduino.cc/builder/v1/boards/0x1A86/0x7523", method=GET, response code=404, request id=83CFA36AF85B48D3, headers={null=[HTTP/1.1 404 Not Found], Cache-Control=[no-cache, no-store, must-revalidate], Server=[nginx], Connection=[keep-alive], Vary=[Origin], Pragma=[no-cache], Expires=[0], Content-Length=[0], Date=[Tue, 30 Mar 2021 16:55:31 GMT]}
2021-03-30T16:55:29.230Z WARN p.a.h.BoardCloudResolver:64 [cc.arduino.packages.discoverers.serial.SerialDiscovery] Fail to get the Vid Pid information from the builder response code=404
C:\Users\Frog\Documents\Arduino\libraries\Adafruit_NeoPixel\Adafruit_NeoPixel.cpp: In member function 'void Adafruit_NeoPixel::show()':
C:\Users\Frog\Documents\Arduino\libraries\Adafruit_NeoPixel\Adafruit_NeoPixel.cpp:839:3: error: 'Pio' was not declared in this scope
Pio *port;
^~~
[ ... ]
[ ... ]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
What's going wrong? Any fix?
3:47 pm
March 12, 2015
Looks like the Adafruit NeoPixel library used by the compiler does not support the Seeduino. If you look at the offending line the Pio datatype is specific for the Due but its hitting the #else case here since the library probably doesn't know about this board. Take a look at a current release of the library, they may have included support for it.
7:34 pm
July 3, 2019
I'm confused. The Adafruit_Neopixel example "strandtest_wheel" calls the same library and loads/runs with the Arduino IDE without errors,
thus I'd expect the LabVIEW compiler to work as well.
I have checked and I do have the latest version of the library installed.
I don't know if this helps, but here's the rest of the error output:
~~
C:\Users\Frog\Documents\Arduino\libraries\Adafruit_NeoPixel\Adafruit_NeoPixel.cpp:839:19: error: 'port' was not declared in this scope
Pio *port;
^~~~
C:\Users\Frog\Documents\Arduino\libraries\Adafruit_NeoPixel\Adafruit_NeoPixel.cpp:839:19: note: suggested alternative: 'Port'
Pio *port;
^~~~
Port
C:\Users\Frog\Documents\Arduino\libraries\Adafruit_NeoPixel\Adafruit_NeoPixel.cpp:843:3: error: 'pmc_set_writeprotect' was not declared in this scope
pmc_set_writeprotect(false);
^~~~~~~~~~~~~~~~~~~~
C:\Users\Frog\Documents\Arduino\libraries\Adafruit_NeoPixel\Adafruit_NeoPixel.cpp:844:3: error: 'pmc_enable_periph_clk' was not declared in this scope
pmc_enable_periph_clk((uint32_t)TC3_IRQn);
^~~~~~~~~~~~~~~~~~~~~
C:\Users\Frog\Documents\Arduino\libraries\Adafruit_NeoPixel\Adafruit_NeoPixel.cpp:845:16: error: 'TC1' was not declared in this scope
TC_Configure(TC1, 0,
^~~
C:\Users\Frog\Documents\Arduino\libraries\Adafruit_NeoPixel\Adafruit_NeoPixel.cpp:845:16: note: suggested alternative: 'TC3'
TC_Configure(TC1, 0,
^~~
TC3
C:\Users\Frog\Documents\Arduino\libraries\Adafruit_NeoPixel\Adafruit_NeoPixel.cpp:846:5: error: 'TC_CMR_WAVE' was not declared in this scope
TC_CMR_WAVE | TC_CMR_WAVSEL_UP | TC_CMR_TCCLKS_TIMER_CLOCK1);
^~~~~~~~~~~
C:\Users\Frog\Documents\Arduino\libraries\Adafruit_NeoPixel\Adafruit_NeoPixel.cpp:846:19: error: 'TC_CMR_WAVSEL_UP' was not declared in this scope
TC_CMR_WAVE | TC_CMR_WAVSEL_UP | TC_CMR_TCCLKS_TIMER_CLOCK1);
^~~~~~~~~~~~~~~~
C:\Users\Frog\Documents\Arduino\libraries\Adafruit_NeoPixel\Adafruit_NeoPixel.cpp:846:19: note: suggested alternative: 'TCC_WAVE_SWAP'
TC_CMR_WAVE | TC_CMR_WAVSEL_UP | TC_CMR_TCCLKS_TIMER_CLOCK1);
^~~~~~~~~~~~~~~~
TCC_WAVE_SWAP
C:\Users\Frog\Documents\Arduino\libraries\Adafruit_NeoPixel\Adafruit_NeoPixel.cpp:846: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);
^~~~~~~~~~~~~~~~~~~~~~~~~~
C:\Users\Frog\Documents\Arduino\libraries\Adafruit_NeoPixel\Adafruit_NeoPixel.cpp:845:3: error: 'TC_Configure' was not declared in this scope
TC_Configure(TC1, 0,
^~~~~~~~~~~~
C:\Users\Frog\Documents\Arduino\libraries\Adafruit_NeoPixel\Adafruit_NeoPixel.cpp:847:3: error: 'TC_Start' was not declared in this scope
TC_Start(TC1, 0);
^~~~~~~~
C:\Users\Frog\Documents\Arduino\libraries\Adafruit_NeoPixel\Adafruit_NeoPixel.cpp:847:3: note: suggested alternative: 'va_start'
TC_Start(TC1, 0);
^~~~~~~~
va_start
C:\Users\Frog\Documents\Arduino\libraries\Adafruit_NeoPixel\Adafruit_NeoPixel.cpp:850:38: error: 'const PinDescription {aka const struct _PinDescription}' has no member named 'pPort'; did you mean 'ulPort'?
port = g_APinDescription[pin].pPort; // declarations above. Want to
^~~~~
ulPort
C:\Users\Frog\Documents\Arduino\libraries\Adafruit_NeoPixel\Adafruit_NeoPixel.cpp:878:18: error: 'TC_CCR_CLKEN' was not declared in this scope
*timeReset = TC_CCR_CLKEN | TC_CCR_SWTRG;
^~~~~~~~~~~~
C:\Users\Frog\Documents\Arduino\libraries\Adafruit_NeoPixel\Adafruit_NeoPixel.cpp:878:18: note: suggested alternative: 'TC_CTRLC_CPTEN'
*timeReset = TC_CCR_CLKEN | TC_CCR_SWTRG;
^~~~~~~~~~~~
TC_CTRLC_CPTEN
C:\Users\Frog\Documents\Arduino\libraries\Adafruit_NeoPixel\Adafruit_NeoPixel.cpp:878:33: error: 'TC_CCR_SWTRG' was not declared in this scope
*timeReset = TC_CCR_CLKEN | TC_CCR_SWTRG;
^~~~~~~~~~~~
C:\Users\Frog\Documents\Arduino\libraries\Adafruit_NeoPixel\Adafruit_NeoPixel.cpp:878:33: note: suggested alternative: 'TC_CTRLA_SWRST'
*timeReset = TC_CCR_CLKEN | TC_CCR_SWTRG;
^~~~~~~~~~~~
TC_CTRLA_SWRST
C:\Users\Frog\Documents\Arduino\libraries\Adafruit_NeoPixel\Adafruit_NeoPixel.cpp:888:3: error: 'TC_Stop' was not declared in this scope
TC_Stop(TC1, 0);
^~~~~~~
C:\Users\Frog\Documents\Arduino\libraries\Adafruit_NeoPixel\Adafruit_NeoPixel.cpp:888:3: note: suggested alternative: 'CDC_Setup'
TC_Stop(TC1, 0);
^~~~~~~
CDC_Setup
exit status 1
~~~~
Here's the Temp "ino" file from this failed test:
[lvtemporary_603808(LED-setup).ino]
#include "LVArray.h"
#include "A4Lhelper.h"
#include <Adafruit_NeoPixel.h>
Adafruit_NeoPixel * _LEDpix[3];
void setup()
{
unsigned char Const234;
unsigned short Const181;
unsigned char Const152;
unsigned short Const127;
Const234 = 4;
Const181 = 3;
Const152 = 0;
Const127 = 60;
_LEDpix[Const152] = new Adafruit_NeoPixel(Const127,Const234,Const181);
_LEDpix[Const152]->begin();
}
void loop()
{
}
1:51 am
July 3, 2019
Oh "bleep!" that seems to have looped me back to my previous post:
2:27 am
July 3, 2019
Quick summery: The after updating Adafruit_Neopixel the XIAO program complied, but the colors were wrong (as per my previous post), and wrong for all my previous Arduino programs/devices. Replacing the new/old libraries did not restore things to normal. Reinstalling both the compiler and the Arduino IDE (including clearing the <user>/Documents/Arduino/libraries..., and //AppData/Local/Arduino15) .. will restore the system to a normal state. [more later... ]
4:40 pm
July 3, 2019
Solved ...sort of.
It seems the RGB LED strip vi's are not compatible with the Adafruit_Neopixel libraries after v1.0.2. Best I can tell Adafruit added WRGB string support in v1.0.3 and (I suspect) in doing such changed the color-channel addresses.
Note: Adafruit now has more than 20 versions of the Neopixel library (now up to v1.7.0) and none above v1.0.2 seem to work properly with the compiler's RGB LED strip vi's. I tested a number of them and from v1.0.3 on the only color available seems to be green.
On a positive note, the v1.0.2 library supports the Seeeduino XIAO's SAMD21 .. so my LED strip vi's load and run properly.
Wondering... are there any WRGB LED pixel-strip tools for this compiler out there somewhere?
33
1 Guest(s)