Seeeduino XIAO Neopixel compilation failure | Arduino Compatible Compiler for LabVIEW Discussions | Forum

Avatar
Please consider registering
guest
sp_LogInOut Log In sp_Registration Register
Register | Lost password?
Advanced Search
Forum Scope


Match



Forum Options



Minimum search word length is 3 characters - maximum search word length is 84 characters
sp_Feed Topic RSS sp_TopicIcon
Seeeduino XIAO Neopixel compilation failure
March 31, 2021
7:21 pm
Avatar
Ron1312
Member
Members
Forum Posts: 13
Member Since:
July 3, 2019
sp_UserOfflineSmall Offline

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?

April 2, 2021
3:47 pm
Avatar
Steffan
Admin
Forum Posts: 408
Member Since:
March 12, 2015
sp_UserOfflineSmall Offline

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.

https://github.com/adafruit/Ad.....t_NeoPixel

April 2, 2021
7:34 pm
Avatar
Ron1312
Member
Members
Forum Posts: 13
Member Since:
July 3, 2019
sp_UserOfflineSmall Offline

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()
{
}

April 5, 2021
3:14 pm
Avatar
Steffan
Admin
Forum Posts: 408
Member Since:
March 12, 2015
sp_UserOfflineSmall Offline

The Compiler automatically installs the library included with the package located here:

[LABVIEWDIR]\vi.lib\Aledyne-TSXperts\Arduino Compatible Compiler for LabVIEW\Arduino Libraries

You would have to replace the NeoPixel library at this location.

April 6, 2021
1:51 am
Avatar
Ron1312
Member
Members
Forum Posts: 13
Member Since:
July 3, 2019
sp_UserOfflineSmall Offline

Oh "bleep!" that seems to have looped me back to my previous post:

sp_TopicIcon
~~
Weird stuff! I'm going to need some time to sort things out before I can respond....
April 6, 2021
2:27 am
Avatar
Ron1312
Member
Members
Forum Posts: 13
Member Since:
July 3, 2019
sp_UserOfflineSmall Offline

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... ]

April 7, 2021
4:40 pm
Avatar
Ron1312
Member
Members
Forum Posts: 13
Member Since:
July 3, 2019
sp_UserOfflineSmall Offline

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?

Forum Timezone: UTC 0
Most Users Ever Online: 100
Currently Online:
33
Guest(s)
Currently Browsing this Page:
1 Guest(s)
Top Posters:
miche91: 33
scottj: 28
scadao: 23
Member Stats:
Guest Posters: 5
Members: 202
Moderators: 0
Admins: 3
Forum Stats:
Groups: 1
Forums: 2
Topics: 266
Posts: 1222
Newest Members:
pujacontrol
Administrators: geadmin: 22, filipealtoe: 96, Steffan: 356