New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Compile errors with ItsyBitsy M4 #693

Open
sandman15951 opened this Issue Dec 9, 2018 · 2 comments

Comments

Projects
None yet
3 participants
@sandman15951
Copy link

sandman15951 commented Dec 9, 2018

I am trying to use FastLED with an ItsyBitsy M4. I made the edits to the 3 .h files discussed in #662 (in fact I replaced the entire library to be safe). The edits fixed the errors I was getting, however I am still getting some new errors. I get them even on the blink sketch.

What causes these errors is the FastLED.addLeds function

`Arduino: 1.8.7 (Windows 10), Board: "Adafruit ItsyBitsy M4 (SAMD51), Enabled"

In file included from C:\Users\gbkic\Documents\Arduino\Blinkv2\Blinkv2.ino:1:0:

C:\Users\gbkic\Documents\Arduino\libraries\FastLED/FastLED.h:14:21: note: #pragma message: FastLED version 3.002.001

#    pragma message "FastLED version 3.002.001"

                    ^

C:\Users\gbkic\AppData\Local\Temp\cc0VJQ5s.s: Assembler messages:

C:\Users\gbkic\AppData\Local\Temp\cc0VJQ5s.s:655: Error: invalid register list to push/pop instruction -- `pop {r4,r5,r6,r7,r8,r9,r10,fp,pc}'

C:\Users\gbkic\AppData\Local\Temp\cc0VJQ5s.s:729: Error: lo register required -- `ldr pc,[sp],#4'

C:\Users\gbkic\AppData\Local\Temp\cc0VJQ5s.s:767: Error: instruction not supported in Thumb16 mode -- `subs r0,r0,r3'

C:\Users\gbkic\AppData\Local\Temp\cc0VJQ5s.s:884: Error: instruction not supported in Thumb16 mode -- `adds r2,r2,#1'

C:\Users\gbkic\AppData\Local\Temp\cc0VJQ5s.s:886: Error: unshifted register required -- `and r2,r2,#7'

C:\Users\gbkic\AppData\Local\Temp\cc0VJQ5s.s:888: Error: unshifted register required -- `tst r2,#1'

C:\Users\gbkic\AppData\Local\Temp\cc0VJQ5s.s:894: Error: Thumb does not support conditional execution

C:\Users\gbkic\AppData\Local\Temp\cc0VJQ5s.s:895: Error: Thumb does not support conditional execution

C:\Users\gbkic\AppData\Local\Temp\cc0VJQ5s.s:898: Error: instruction not allowed in IT block -- `lsls r1,r2,#30'

C:\Users\gbkic\AppData\Local\Temp\cc0VJQ5s.s:899: Error: IT falling in the range of a previous IT block -- `itt mi'

C:\Users\gbkic\AppData\Local\Temp\cc0VJQ5s.s:900: Error: Thumb does not support conditional execution

C:\Users\gbkic\AppData\Local\Temp\cc0VJQ5s.s:902: Error: Thumb does not support conditional execution

C:\Users\gbkic\AppData\Local\Temp\cc0VJQ5s.s:905: Error: instruction not supported in Thumb16 mode -- `lsls r2,r2,#29'

C:\Users\gbkic\AppData\Local\Temp\cc0VJQ5s.s:907: Error: Thumb does not support conditional execution

C:\Users\gbkic\AppData\Local\Temp\cc0VJQ5s.s:910: Error: instruction not allowed in IT block -- `adds r3,r3,#16'

C:\Users\gbkic\AppData\Local\Temp\cc0VJQ5s.s:928: Error: instruction not supported in Thumb16 mode -- `adds r3,r3,#1'

C:\Users\gbkic\AppData\Local\Temp\cc0VJQ5s.s:945: Error: instruction not supported in Thumb16 mode -- `subs r1,r1,#1'

C:\Users\gbkic\AppData\Local\Temp\cc0VJQ5s.s:950: Error: instruction not supported in Thumb16 mode -- `subs r3,r3,#1'

C:\Users\gbkic\AppData\Local\Temp\cc0VJQ5s.s:957: Error: instruction not supported in Thumb16 mode -- `adds r2,r2,#1'

exit status 1
Error compiling for board Adafruit ItsyBitsy M4 (SAMD51).

`

@AzureEmpyrean

This comment has been minimized.

Copy link

AzureEmpyrean commented Dec 10, 2018

I have also gotten a similar issue when compiling for the ItsyBitsy M4
However, I am currently waiting on support for the Feather M4 to be finished. My current personal Project is reliant on the library working

@marcmerlin

This comment has been minimized.

Copy link
Contributor

marcmerlin commented Dec 30, 2018

not quite what you want to hear, but seems to me that it's an unsupported architecture and until someone (you?) submits a pull request with clean support to add it, it won't work. Maintainers don't have all hardware available out there, and do rely on outside contributors to add support.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment