ArduinoBLE icon indicating copy to clipboard operation
ArduinoBLE copied to clipboard

Arduino BLE not working with Artemis Arduino_Apollo3 Core v2.0.2

Open pratapppv opened this issue 3 years ago • 8 comments

The ArduinoBLE library isn't working with Sparkun Artemis module when using Arduino_Apollo3 Core v2.0.2. The library seems to be stuck in an infinite loop when the BLE.begin() function is called. The board I am using is the Sparkfun Artemis Thing Plus.

pratapppv avatar Nov 17 '20 08:11 pratapppv

@pratapppv thanks for reporting. Are you using ArduinoBLE from git or the released version?

facchinm avatar Nov 17 '20 08:11 facchinm

Hey, I am using it from git.

pratapppv avatar Nov 17 '20 08:11 pratapppv

So that's strange... This is the only commit regarding Cordio that was merged recently (between 1.1.3 and master). Could you bisect the tree to get the offending patch? I'd do it but I don't have an Apollo board to test it. @Wenn0101 could you help? Thanks!

facchinm avatar Nov 17 '20 08:11 facchinm

@facchinm I'll do so and keep you posted(might take me a day or so)

pratapppv avatar Nov 17 '20 08:11 pratapppv

Sorry if this isn't the best way to link the part in the code where I'm having an issue. I'm not very experienced with github. Anyway, If you comment out the line here the ble starts working again.

Ragiton avatar Nov 19 '20 02:11 Ragiton

@facchinm @Ragiton thanks for taking a look at this. We got a bug report on this in our arduino repo, and it may be a problem with our latest release.

I am finishing up some other bugs and I can start contributing to this issue.

Wenn0101 avatar Nov 19 '20 05:11 Wenn0101

@Ragiton great find! That line might be ineffective on nano33ble and is probably a leftover of the "common path" with Portenta. @Polldo would you mind taking a look and eventually removing it?

facchinm avatar Nov 19 '20 08:11 facchinm

@facchinm I gave a look at the mbed NRFCordioHCIDriver implementation. It seems that the start_reset_sequence() function is used by the cordio host in order to reset the controller (ref.). Since we are using only the cordio controller and given that we already send a reset command to the controller (here), I think we can remove that line. I'll test it and let you know

polldo avatar Nov 19 '20 09:11 polldo