Arduino Forum

Products => Arduino 101 => Topic started by: facchinm on Apr 04, 2017, 12:50 pm

Title: Core 2.0.2 released!
Post by: facchinm on Apr 04, 2017, 12:50 pm
Hi everyone!

We just released version 2.0.2 of Curie core  :o  !

This version is a big step forward towards leveraging the whole potential of your Arduino 101.
The mayor number change reflects this,  and while you can take a look at the whole changelog (https://github.com/01org/corelibs-arduino101/releases/download/2.0.2/Corelibs-ReleaseNote-2.0.2.pdf), I'll try to summarize what's new and how it can affect your (present and future) sketches.

First of all, we are introducing the BLE Central role. This opens a world of possibilities (proximity tracking, to name one) but comes at a cost:
- sketches are bigger since a lot of code has been moved from the x86 firmware to the Arduino core. This problem will be solved with the upcoming core release, (https://github.com/01org/corelibs-arduino101/milestone/9) when we'll also update the RTOS to make it smaller and faster
- RAM usage has increased a bit (this too will be solved with the x86 FW update) but shouldn't affect any existing sketch
- BLE firmware is being updated silently if not in sync with the library. This happens on both Java IDE and Arduino Create. If you want to restore the previous one (for example, if you need for any reason to downgrade the core) you must reinstall 1.0.7 and "burn the bootloader" again to restore the old firmware, otherwise your sketches using BLE won't work. The UI will tell you what to do so there is no need to worry.

Said that, we are excited to make this new APIs available and we're sure you will push these new capabilities to the limit!

But this release is not only BLE-centric! There are a lot of fixes everywhere, some of which has been kindly contributed by the vibrant 101 community via github (https://github.com/01org/corelibs-arduino101).

Power management is now a first-class citizen and the upcoming "companion" library will allow you to make your battery-powered projects last longer at no cost.

IMU APIs have been expanded to handle precise synchronisation with the underlying readings, so it is now possible to avoid a lot of pitfalls arising from fusion algorithms being fed with out-of-sync data.

So, fire up your Board Manager, upload the core and show everyone what you can do with this tiny powerful board!

Happy hacking!

Title: Re: Core 2.0.2 released!
Post by: zike on Apr 05, 2017, 01:27 pm
Core 2.0.2 continues to fail loading the 101 with "exit status 74" error; see related thread

https://forum.arduino.cc/index.php?topic=467201.msg3205748#msg3205748

Title: Re: Core 2.0.2 released!
Post by: ballscrewbob on Apr 05, 2017, 04:02 pm
Just reporting in on core 2.

Have had a lot of issues with my 101 especially with CREATE.

After chasing my tail over drivers and many supposed fixes I got down and dirty with the problems last night.

Was given the impression that just uploading a sketch would also swap out the core but that didn't seem to be the case under windows 7 x64 pro.

Ended up uninstalling the 101 and its associated com ports using admin device manager showing hidden devices with the 101 connected until I had deleted its associated hardware.

Disconnected the 101 and re-boot.
re-connect once re-boot was complete.

101 showed up properly so opened DESKTOP ide 1.8.2 and did the   Programmer "Arduino/Genuino 101 Firmware Updater"

First attempt failed so re did the delete hardware section above again.
This time the firmware went up just fine.

Tried the "blink" example and that worked
Tried the same one again but it failed.

Another computer re-boot

Three sketches went up no problem.
Swapped to CREATE which has always been a NO GO here for the 101.

YAY the 101 is now working in CREATE.
It had always failed at the  "touching com port" before but not any more.

My many thanks for the release of these cores to all concerned as they have fixed so many issues I had with my 101.

IMPORTANT NOTE. Also TURN OFF your anti virus or other software security until the UPDATE has gone up to the board as I am pretty sure that was part of the update failures problem I had.




Title: Re: Core 2.0.2 released!
Post by: jack1728 on Apr 05, 2017, 11:55 pm
Where can we find information about "Power management is now a first-class citizen and the upcoming "companion" library will allow you to make your battery-powered projects last longer at no cost."
Title: Re: Core 2.0.2 released!
Post by: facchinm on Apr 06, 2017, 10:53 am
@Jack1728, the relevant commits are 29daefb64 (https://github.com/01org/corelibs-arduino101/commit/29daefb64ae643a0cb2bcb15b586e90a206bf7e8)  and cd3215bd5 (https://github.com/01org/corelibs-arduino101/commit/cd3215bd5929dd83004cdf3b94e32726ff2eba2e) which allow using https://github.com/bigdinotech/Arduino101Power/  (https://github.com/bigdinotech/Arduino101Power/)out of the box. This library still needs to be reviewed, though, but it should be almost ok
Title: Re: Core 2.0.2 released!
Post by: rgb3 on Apr 07, 2017, 10:12 pm
Unfortunately it seems that updating the core somehow destroyed my 101. Updated via the board manager and flashed the new BLE firmware. Then i realized my recent sketch stopped working properly. So i tried to rewind the whole process by downgrading the firmware via the process described above (reinstalling 1.07 and burning the bootloader). Now i'm not able to upload a sketch anymore. The error message says to press the Master reset button but this doesn't help. Any tip how to revive my 101?
Title: Re: Core 2.0.2 released!
Post by: ballscrewbob on Apr 07, 2017, 11:27 pm
@ rgb3

which method did you use ?

This is they one they recommend (https://github.com/01org/corelibs-arduino101)

If you used my method then it was only meant as to how I did it.

Somebody else asked me and I wrote up a slightly better step through that I did on a basis that I wrote as I did it again to make sure I was correct.

Upgrading the cores also saw the drivers re-do themselves with the intel drivers offering themselves each time.
You must say yes to those if they come up.

Also what OS which IDE etc etc etc.
Title: Re: Core 2.0.2 released!
Post by: facchinm on Apr 10, 2017, 09:43 am
@rgb3,
there's 0% chance that the "burn bootloader" feature bricks a board because the bootloader is untouched and it starts every time you connect a board via USB. Try completely unconnecting the board, launch the upload and then connect the board as soon as the flasher writes "Press MASTER_RESET" . Let me know if it works or not so we can setup a debugging session, thanks!
Title: Re: Core 2.0.2 released!
Post by: jack1728 on Apr 13, 2017, 05:26 pm
Can you talk about this:

"- sketches are bigger since a lot of code has been moved from the x86 firmware to the Arduino core. This problem will be solved with the upcoming core release, when we'll also update the RTOS to make it smaller and faster"

A sketch of mine went from 60% ->95% when is the upcoming core release and what changes do I have to make to get it?

Jack
Title: Re: Core 2.0.2 released!
Post by: StewStremel on Apr 14, 2017, 10:27 pm
Thanks so much for the work on the new version - working pretty good thus far in my testing.

The examples are nice and simple - AND - I am trying to figure out how to do have the central device use a setEventHandler for notifications on when a peripheral updates a value.

Setup:
Arduino 101 - running in peripheral mode.  Advertising two services and two characteristics per service, set to Read and Notify.
Arduino 101 - running in central mode.  Successfully connects, reads services and the corresponding characteristics and sets notification to true.

I can manually loop and check if the characteristic value has changed - but this is really limiting.  Would much rather have an event handler to pick up the value and trigger activity instead.

Any suggestions?

Cheers,
Title: Re: Core 2.0.2 released!
Post by: rgb3 on Apr 19, 2017, 12:01 am
@rgb3,
there's 0% chance that the "burn bootloader" feature bricks a board because the bootloader is untouched and it starts every time you connect a board via USB. Try completely unconnecting the board, launch the upload and then connect the board as soon as the flasher writes "Press MASTER_RESET" . Let me know if it works or not so we can setup a debugging session, thanks!
Thank you very much for your help! After some more attempts it worked and all seems to be fine again. I realized that i have to manually switch the programmer to "Arduino 101 firmware updater" everytime i want to upload a sketch. Then it works. Strange thing is, my other (not updated) 101 Boards (and UNOs) work with the default AVRII programmer. Anyway, thanks a lot, glad my 101 didn't brick :)
Title: Re: Core 2.0.2 released!
Post by: bitterblackale on Apr 30, 2017, 07:28 am
Ah - my previous message about having to downgrade to 1.07 was inaccurate. The actual issue was having to run the IDE in administrator (sudo) mode.
Without sudo I get the "Flashing is taking longer than expected" message. Even in administrator mode, it's flaky - sometimes have to press the Master Reset, sometimes the regular Reset. Eventually works, but a bit unpredictable.
Title: Re: Core 2.0.2 released!
Post by: drmpf on May 19, 2017, 12:05 am
I have found V2.0.2 drops connections and does not recover

!!!  1495144473353 Connecting to: 101 !!!

< 1495144473471 {.}

> 1495144473615  0.144sec {,~`2000~V36|+X-~x|+B-~b|+P-~p|+C-~c|+D-~d|+A~z}

< 1495144473823  0.208sec {z`0}

> 1495144474146  0.323sec {+15`29`27~~V36|z~27.5~1.5~0.75|C`516~4~1.8~~|t`517~15~<b>?~~|xc`515~Z~3.6~3.6~~`256|X~Z~RR`518~12~30~8~-35~-1|X~Z~t`519~15~<-2>Drag red box
to zoom in on the controls~-20~3|z|h`516|h`517|h~Z|x~x~29~27~~`512|d~a~~~}

< 1495144474472  0.326sec {a`0}

> 1495144474942  0.47sec {+15`29`27~m~V36|z~5~2|R~26~21~25.5~-1~-1.5|R~7~4.7~6.3~11.5~-4|R~0~3.5~5.3~0.5~-2.5|z~8.15~1.15|Rc~7~2.3~2.3~~|C~12~0.65~~|z|z~17.95~1.15|Rc~7~2.3~2.3~~|C~12~0.65~~|z|R~215~9~3~-1~21|R~0~3.1~4.3~8.5~13|t~15~<-3><b>Arduino~9~5|z~9~8|Rc~15~7~4~~|t~26~<+4><b>101~~|z|t`832~15~<-3><i><b>Loading~9~12|t`831~15~<-3><i><b>Board Layout~9~14|z~9~15.5|t`830~15~<-3><b>.........~~|z}

< 1495144475328  0.386sec {a`1}

!!!  1495144486540  11.598sec Reconnecting to: 101 !!!

!!!  1495144502668  27.726sec Reconnecting to: 101 !!!

!!!  1495144518787  43.846sec Reconnecting to: 101 !!!

!!!  1495144521190  46.248sec Sending Close Connection {!} to: 101 !!!

Did extensive testing with V1.0.7 before moving to V2.0.2.  After these failures using V2.0.2 I went back to IDE V1.6.8 and Curie V1.0.7 and the connection problems dissapeared.

I am using this config
 BLEService uartService = BLEService("6E400001-B5A3-F393-E0A9-E50E24DCCA9E");
    BLEDescriptor uartNameDescriptor = BLEDescriptor("2901", localName);
    BLECharacteristic rxCharacteristic = BLECharacteristic("6E400002-B5A3-F393-E0A9-E50E24DCCA9E", BLEWrite, BLE_MAX_LENGTH);
    BLEDescriptor rxNameDescriptor = BLEDescriptor("2901", "RX - (Write)");
    BLECharacteristic txCharacteristic = BLECharacteristic("6E400003-B5A3-F393-E0A9-E50E24DCCA9E", BLENotify, BLE_MAX_LENGTH); // was BLEIndicate
    BLEDescriptor txNameDescriptor = BLEDescriptor("2901", "TX - (Indicate)");
Title: Re: Core 2.0.2 released!
Post by: leo900 on Jun 04, 2017, 09:29 am
Hi,


I found these lines in the release notifications:
- Central can scan for a particular Peripheral using its MAC address.
- Central can filter out discovered Peripherals during the scanning process.

Is it now possible to set up a communication between two 101's via BLE?
Or is the 101 still not able to work as a central device?
Title: Re: Core 2.0.2 released!
Post by: facchinm on Jun 13, 2017, 09:53 am
@ leo900,
the 101 can absolutely communicate with another 101 since 2.0.2 :)

@drmpf,
have you already opened an issue on the 101 github? We are collecting a series of "difficult" sketches to improve our regression test suite, if you could post a sketch exposing the problem it would be a great help! Thanks
Title: Re: Core 2.0.2 released!
Post by: TrucPham123 on Aug 16, 2017, 05:55 am
Thanks so much for the work on the new version - working pretty good thus far in my testing.
Title: Re: Core 2.0.2 released!
Post by: andy_g on Dec 02, 2017, 11:15 am
Hi all,

I tried to install Core 2.0.2 via board manager of arduino IDE 1.8.5., but it always fails, saying "CRC doesn't match, file is corrupted". The error occurs on two different computers, various versions of arduino IDE and Curie core.

Is there a way to get it outside the arduino IDE?

Any help is highly appreciated
Genki
Title: Re: Core 2.0.2 released!
Post by: ballscrewbob on Dec 02, 2017, 01:36 pm
@andy_g
What OS ?

Not seen that msg myself for any of the cores for board manager but have seen it under windows in other circumstances...Compromised systems and systems with over zealous security.

In the former case the system needs to be clean and in the latter temporarily turning off the security would fix the message and then adding the file location to the white list / exclusions.

If it is the former I have a step through for obtaining a clean system again, just ask and I will post it.


Title: Re: Core 2.0.2 released!
Post by: andy_g on Dec 02, 2017, 02:47 pm
Thanks ballscrewbob!

OSs are Windows 10 Version 1703 and 1607. I can install other boards via board manager -no hassle. So i ruled out compromised OSs or security software.
However, i had success using the JSON "description" for 2.0.2 version from "https://github.com/arduino/ArduinoCore-arc32/releases". I have no idea of any differences between this version and the arduino IDE "built-in".
Fun thing: Again the CRC error occurs when using the JSON for 2.2.0 version from the same site.

For now it seems to work somehow, but i have to check this with the board now.

Genki



Title: Re: Core 2.0.2 released!
Post by: ballscrewbob on Dec 02, 2017, 02:55 pm
Never rule out security...It is one of the more common issues with Arduino things not working under windows.

Norton and a few others have been shown to cause problems on occasion.

Win 8 through 10 also pose thier own issues too but that's usually in the driver department but you seem to be OK on that aspect.

Title: Re: Core 2.0.2 released!
Post by: blinko on Feb 02, 2018, 11:55 pm
I followed the github page core install method and now cannot compile sketches anymore

Arduino: 1.8.5 (Linux), Board: "Arduino/Genuino 101"


open /home/myusername/.arduino15/packages/Intel/hardware/arc32/2.0.2/libraries: permission denied

Error compiling for board Arduino/Genuino 101.

Probably one of the files I replaced, but it is gone now. How do I fix this?

edit: deleted arduino15 folder and reinstalled curie board to alleviate issue
Title: Problem in Central Role Mode Re: Core 2.0.2 released!
Post by: hulkco on Feb 06, 2018, 04:33 pm
Hello, I intend to try the new functions like Central Role Mode, update the Libraries and flash the new firmware in the board, but when uploading the new skecth (Scan.ino) the serial monitor does not show anything, somebody can help me?

(https://pbs.twimg.com/media/DVXJGLuVwAAj0XZ.jpg:large)