Workflow:
-
Uninstall Arduino IDE.
-
Remove all files in documents → Arduino
-
Remove all files in Arduino15 folder.
-
Re-install and launch Arduino IDE.
-
Go to preferences → Additional Boards Manager URL
Note that, according to this guide https://learn.sparkfun.com/tutorials/in … rd-manager the additional boards manager should be:
https://raw.githubusercontent.com/spark … index.json
However if you look at the JSON, the latest Apollo3 package is 1.2.1. In order to get 2.2.1 you need to use the first link above.
-
Install Apollo3 boards and select Artemis Nano.
-
Install ArduinoBLE library and load any Arduino BLE example sketch.
-
Error below:
c:\Users\YMB\Documents\Arduino\libraries\ArduinoBLE\src\utility\HCICordioTransport.cpp: In function 'void bleLoop()':
c:\Users\YMB\Documents\Arduino\libraries\ArduinoBLE\src\utility\HCICordioTransport.cpp:123:68: warning: 'us_timestamp_t mbed::TimerBase::read_high_resolution_us() const' is deprecated: Use the Chrono-based elapsed_time method. If integer microseconds are needed, you can use `elapsed_time().count()` [since mbed-os-6.0.0] [-Wdeprecated-declarations]
last_update_us += (uint64_t) timer.read_high_resolution_us();
^
In file included from C:\Users\YMB\AppData\Local\Arduino15\packages\SparkFun\hardware\apollo3\2.2.1/cores/mbed-os/mbed.h:80,
from C:\Users\YMB\AppData\Local\Arduino15\packages\SparkFun\hardware\apollo3\2.2.1/cores/arduino/mbed-bridge/Arduino.h:14,
from C:\Users\YMB\AppData\Local\Arduino15\packages\SparkFun\hardware\apollo3\2.2.1/cores/arduino/sdk/ArduinoSDK.h:9,
from <command-line>:
C:\Users\YMB\AppData\Local\Arduino15\packages\SparkFun\hardware\apollo3\2.2.1/cores/mbed-os/drivers/Timer.h:104:20: note: declared here
us_timestamp_t read_high_resolution_us() const;
^~~~~~~~~~~~~~~~~~~~~~~
c:\Users\YMB\Documents\Arduino\libraries\ArduinoBLE\src\utility\HCICordioTransport.cpp:145:72: warning: 'us_timestamp_t mbed::TimerBase::read_high_resolution_us() const' is deprecated: Use the Chrono-based elapsed_time method. If integer microseconds are needed, you can use `elapsed_time().count()` [since mbed-os-6.0.0] [-Wdeprecated-declarations]
uint64_t time_spent = (uint64_t) timer.read_high_resolution_us();
^
In file included from C:\Users\YMB\AppData\Local\Arduino15\packages\SparkFun\hardware\apollo3\2.2.1/cores/mbed-os/mbed.h:80,
from C:\Users\YMB\AppData\Local\Arduino15\packages\SparkFun\hardware\apollo3\2.2.1/cores/arduino/mbed-bridge/Arduino.h:14,
from C:\Users\YMB\AppData\Local\Arduino15\packages\SparkFun\hardware\apollo3\2.2.1/cores/arduino/sdk/ArduinoSDK.h:9,
from <command-line>:
C:\Users\YMB\AppData\Local\Arduino15\packages\SparkFun\hardware\apollo3\2.2.1/cores/mbed-os/drivers/Timer.h:104:20: note: declared here
us_timestamp_t read_high_resolution_us() const;
^~~~~~~~~~~~~~~~~~~~~~~
c:\Users\YMB\Documents\Arduino\libraries\ArduinoBLE\src\utility\HCICordioTransport.cpp:156:55: warning: 'void rtos::ThisThread::sleep_for(uint32_t)' is deprecated: Pass a chrono duration, not an integer millisecond count. For example use `5s` rather than `5000`. [since mbed-os-6.0.0] [-Wdeprecated-declarations]
rtos::ThisThread::sleep_for(wait_time_ms);
^
In file included from C:\Users\YMB\AppData\Local\Arduino15\packages\SparkFun\hardware\apollo3\2.2.1/cores/mbed-os/rtos/rtos.h:30,
from C:\Users\YMB\AppData\Local\Arduino15\packages\SparkFun\hardware\apollo3\2.2.1/cores/mbed-os/mbed.h:22,
from C:\Users\YMB\AppData\Local\Arduino15\packages\SparkFun\hardware\apollo3\2.2.1/cores/arduino/mbed-bridge/Arduino.h:14,
from C:\Users\YMB\AppData\Local\Arduino15\packages\SparkFun\hardware\apollo3\2.2.1/cores/arduino/sdk/ArduinoSDK.h:9,
from <command-line>:
C:\Users\YMB\AppData\Local\Arduino15\packages\SparkFun\hardware\apollo3\2.2.1/cores/mbed-os/rtos/ThisThread.h:216:6: note: declared here
void sleep_for(uint32_t millisec);
^~~~~~~~~
c:\Users\YMB\Documents\Arduino\libraries\ArduinoBLE\src\utility\HCICordioTransport.cpp:156:55: warning: 'void rtos::ThisThread::sleep_for(uint32_t)' is deprecated: Pass a chrono duration, not an integer millisecond count. For example use `5s` rather than `5000`. [since mbed-os-6.0.0] [-Wdeprecated-declarations]
rtos::ThisThread::sleep_for(wait_time_ms);
^
In file included from C:\Users\YMB\AppData\Local\Arduino15\packages\SparkFun\hardware\apollo3\2.2.1/cores/mbed-os/rtos/rtos.h:30,
from C:\Users\YMB\AppData\Local\Arduino15\packages\SparkFun\hardware\apollo3\2.2.1/cores/mbed-os/mbed.h:22,
from C:\Users\YMB\AppData\Local\Arduino15\packages\SparkFun\hardware\apollo3\2.2.1/cores/arduino/mbed-bridge/Arduino.h:14,
from C:\Users\YMB\AppData\Local\Arduino15\packages\SparkFun\hardware\apollo3\2.2.1/cores/arduino/sdk/ArduinoSDK.h:9,
from <command-line>:
C:\Users\YMB\AppData\Local\Arduino15\packages\SparkFun\hardware\apollo3\2.2.1/cores/mbed-os/rtos/ThisThread.h:216:6: note: declared here
void sleep_for(uint32_t millisec);
^~~~~~~~~