Scheduler Lib on M0 Pro, not working properly

Hi guys,

i have a M0 pro (i don't know why but you can't find arduino Zero for sell in Brazil, i'm just finding M0 or M0 pro) and after realize about some differences between Zero and M0, i finally fix all i/o configurations on my board.

Now i'm intend to manage tasks.

i tried to run the multiBlink example on the M0 pro and after some warnings, it compiles and uploaded to the board. It only works over programming port USB at M0 pro. Warnings:

C:\Users\saulo\AppData\Local\Temp\ccheMCrx.s: Assembler messages:

C:\Users\saulo\AppData\Local\Temp\ccheMCrx.s:29: Warning: this instruction will write back the base register

C:\Users\saulo\AppData\Local\Temp\ccheMCrx.s:29: Warning: this instruction will write back the base register

C:\Users\saulo\AppData\Local\Temp\ccheMCrx.s:48: Warning: this instruction will write back the base register

C:\Users\saulo\AppData\Local\Temp\ccheMCrx.s:48: Warning: this instruction will write back the base register

C:\Users\saulo\AppData\Local\Temp\ccheMCrx.s:48: Warning: this instruction will write back the base register

C:\Users\saulo\AppData\Local\Temp\ccheMCrx.s:48: Warning: this instruction will write back the base register

The example is running, since one of LEDs blinks as expected, but i'm not able to connect to the board over serial using Native USB port.

i can only program with scheduler library over programming USB port and the USB native port only works without schedule library.

Even Windows have some problems to identify the COMport from Native USB port when the board is running something with schedule library.

I really don't know how to procede about it, i started to design my own task manager class but a true multi-task will be perfect!

Any clue will be much appreciated!

The source code is the same from multiblink example, any changes at all.

I see today that the Arduino Zero is in stock at the Arduino.cc web site, at least in the USA, good news for you!

I've used the scheduler library on both the Arduino Zero and the Arduino Due, and it worked fine for me. I switch back-and-forth between the Arduino environment and Atmel Studio and I like the Zero so much because it has the Atmel EDBG chip that allows single-step debugging on Atmel Studio. This means that I often have to use the Arduino tool to burn the BOOTLOADER and I thus have the most recent version of the BOOTLOADER.

I think you can ignore those warning messages. The Arduino environment has a preferences setting that can disable the display of them.

Now, on to the M0 Pro. It has a checkered history due to the connection with Dog Hunter LLC (which I hope is now ancient history). Their earliest M0 board, called the Zero Pro at the time, had an immature version of the BOOTLOADER. I do have to assume that your M0 Pro is marked Arduino.org and is not a cheap counterfeit. Given the nature of the supply chain even a recent purchase may receive a product from earlier production, this being the one in the bottom of the bin.

All this being said it is possible that your USB problems are due to not having a recent version of the BOOTLOADER. If this is the case then you have enough clues that the cure is obvious.

I would appreciate if you would post any results of your progress or lack of progress.