Core 1.0.7 released

Hi everyone!

We just released version 1.0.7 of Curie core (arc32 for the purists out there :slight_smile: )

This is a transitional release which will guide us towards 2.0.0 with BLE central role and a lot of other goodies.
Even though the minor number, there are more than a couple of news to point out (complete changelog is here )

  • CurieEEPROM has been refactored and now works as in AVR chips. To stress this change, the library now is called simply EEPROM (so any AVR sketch using EEPROM functionality will work out of the box)

  • A LOT of improvement in I2C bus handling. Faster, more stable, ready to spin all your I2C gadgets

  • Transitional BLE update. From now on, BLE firmware version needs to be in sync with CurieBLE library due to ABI changes. This means that your sketch using BLE won't work if the FW version and CurieBLE are misaligned.
    To avoid any problem, we introduced a check during upload which makes sure that the burned FW is ok for your application, and gives you complete instructions in case you need to upgrade/downgrade.

Also, this change introduces a way to update the x86 core from within the IDE, so any derived core can use "flashpack" to provide a full "out-of-the-box" experience.

In case you should find any problem, please report them on github or here on the forum. Your reports have been extremely useful in deciding the priorities for this release, so THANK YOU and good hacking :wink:

Thanks for the heads up on curieEEPROM now being just EEPROM library. Perfect. I did notice today that EEPROM.length() on my Arduino 101 returns a value of 2048, instead of the expected 1024 bytes.

2K is good, but will this be the standard size of emulated EEPROM on the Arduino 101 from here on?

Hi jccraig,
2K is the minimum "partition" of the OTP flash space we can obtain. Using less than 2K will leave some space unused so we decided to slightly enlarge the emulated EEPROM size :slight_smile:

2K is good for what I need to do. However, yesterday in my test programming it seems like it didn't work correctly over the 1K mark. I'll go double check today to see if I can verify clearly if it is or isn't working for me.

UPDATE: Yep, it worked fine. I can EEPROM.update(2046,77) and read that value back with success. 2K for the emulated Arduino/Genuino 101 EEPROM space is very nice.

Core 1.0.7 does not compile on Arduino 101 Windows 10!!

Core 1.05 does compile!!

Windows 10 x64

Here is the error:

C:\Users\Ralph>cmd /C copy /y "C:\Users\Ralph\AppData\Local\Temp\build9c9ef3bdfe2fccb480bc6e4bac749e41.tmp\Blink.ino.elf" "C:\Users\Ralph\AppData\Local\Temp\build9c9ef3bdfe2fccb480bc6e4bac749e41.tmp..\arduino101_sketch.debug.elf"
'cmd' is not recognized as an internal or external command,
operable program or batch file.

The compiler "user" cannot run cmd on Windows 10!!

I can only run cmd on the command line as a Administrator not as user!!

@ Ralphpdq

Have you tried "run as administrator" in google.

Here is a clue

I only have a win 10 VM but it works fine here IDE 1.6.12 and all latest cores

Please post your sketch and ENSURE YOU USE CODE TAGS

Hi @Ralphpdq,
your issue is being tracked here. In the meantime, if you open C:\Users\Ralph\AppData\Local\Arduino15\packages\Intel\hardware/arc32/1.0.7/platform.txt and remove the following lines you should be to compile and upload as a non-admin user.

The lines are

## Save output with debug symbols (.debug.elf file)
recipe.hooks.objcopy.preobjcopy.1.pattern=cp -f "{build.path}/{build.project_name}.elf" "{build.path}/../arduino101_sketch.debug.elf"
recipe.hooks.objcopy.preobjcopy.1.pattern.windows=cmd /C copy /y "{build.path}\{build.project_name}.elf" "{build.path}\..\arduino101_sketch.debug.elf"

Thanks for the replies,

I have had a problem with my computer the past couple of days so sorry for the delay in respondig.

Ballscrewbob, since a windows 10 update in April I have not been able to use the Start menu, I get a
"Critical Erro" if I left click the Start icon.

If I right click I can goto Control Panel\Programs\Programs and Features but I do not get the Change option on any selection only Delete.

If Run Arduino as Administrator I still get the error!!

Thanks facchinm, I do not have a /1.0.7/ folder I have a /1.0.5/ folder!!

I have uninstalled and re-installed Arduino a few times so I probable have not loaded the 1.0.7 core.
I will do that and try your mod.

Ralph

@ Ralphpdq

There have been a few USB updates from Microsoft that caused quite a mess a few months ago and I wonder if you have been hit by it ?

Trying to remember what they were exactly but I am going to give you two links to see if they help you at all.
It would be great if you let us know what steps you took and the results as anything that works for one user may help others.

Here is the first

And here is the second.

Start by trying some of the steps from the first post before you try steps from the second.

I made the changes suggested by facchinm:

I still get a compiler error, I do not see the error but at least it is not the cmd error of before.

C:\Users\Ralph\Documents\Arduino\libraries\NewliquidCrystal\LiquidCrystal_SR1W.h:294:80: note: in definition of macro 'SR1W_ATOMIC_WRITE_HIGH'

#define SR1W_ATOMIC_WRITE_HIGH(reg, mask) ATOMIC_BLOCK(ATOMIC_RESTORESTATE) { *reg |= mask; }

^

Using library Wire at version 1.0 in folder: C:\Users\Ralph\AppData\Local\Arduino15\packages\Intel\hardware\arc32\1.0.7\libraries\Wire
Using library NewliquidCrystal in folder: C:\Users\Ralph\Documents\Arduino\libraries\NewliquidCrystal (legacy)
exit status 1
Error compiling for board Arduino/Genuino 101.

Error_2.txt (40.1 KB)

Thanks Ballscrewbob, I do occasionally have a problem with USB but never a total lock up a reboot always fixes it.

Someday I might try the Second step and try to remove the updates, but first I am going to load Linux.

I have used and lived with Windows since Windows 2 and the last time I loaded Linux it took 36 floppy disk

it was not yet available on CD's, DVD had not been invented yet, and it would have taken a couple of years to
download at 300bps.

My problem is with the Start menu a lot of people have had this problem with Windows 10 "update" remember when they were called "bug fixes?

I think it was Apple that first drop bug fix.

Ralph

Just looking at that txt and it seems that a lot of your errors are down to the LCD lib used and a few more from code issues at your end probably.

LOL I can go back much further in computing than even floppies which may or may not be a good thing.

facchinm:

  • CurieEEPROM has been refactored and now works as in AVR chips. To stress this change, the library now is called simply EEPROM (so any AVR sketch using EEPROM functionality will work out of the box)

EEPROM support is still not mentioned on the product page: https://www.arduino.cc/en/Main/ArduinoBoard101 and also not in the Compare Specs Table: https://www.arduino.cc/en/Products/Compare. Maybe it is a good idea to add it there since it could be important for some project requirements.

What is also missing on the product page is the max current the 5 volt pin could draw and I could not find it anywhere (yet). Since I will drive some LEDs with it I really would like to know.

The 5V pin can output 500mA if the bard is powered via USB and 1A if powered via the barrel jack. There is a third choice and you can get 1.5 A from the USB bus by shorting "1.5A SHORT" on the board.

The EEPROM is not advertised since it's not a real EEPROM but a flash "partition" used as EEPROM (byte addressed)

facchinm:
The 5V pin can output 500mA if the bard is powered via USB and 1A if powered via the barrel jack. There is a third choice and you can get 1.5 A from the USB bus by shorting "1.5A SHORT" on the board.

Thanks for clarifying this!

facchinm:
The EEPROM is not advertised since it's not a real EEPROM but a flash "partition" used as EEPROM (byte addressed)

I already understood it's not a real EEPROM but now it looks like there is no support at all if you look to the specs page (Just my 2 cents).