Professional Documents
Culture Documents
Release Notes
Package Version: 1.0.4 for Arduino IDE v1.5.3
October 2014
Revision 007
Notice: This document contains information on products in the design phase of development. The information here is subject to change without
notice. Do not finalize a design with this information.
INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTEL PRODUCTS. NO LICENSE, EXPRESS OR IMPLIED, BY ESTOPPEL OR
OTHERWISE, TO ANY INTELLECTUAL PROPERTY RIGHTS IS GRANTED BY THIS DOCUMENT. EXCEPT AS PROVIDED IN INTELS TERMS AND
CONDITIONS OF SALE FOR SUCH PRODUCTS, INTEL ASSUMES NO LIABILITY WHATSOEVER AND INTEL DISCLAIMS ANY EXPRESS OR IMPLIED
WARRANTY, RELATING TO SALE AND/OR USE OF INTEL PRODUCTS INCLUDING LIABILITY OR WARRANTIES RELATING TO FITNESS FOR A
PARTICULAR PURPOSE, MERCHANTABILITY, OR INFRINGEMENT OF ANY PATENT, COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT.
A "Mission Critical Application" is any application in which failure of the Intel Product could result, directly or indirectly, in personal injury or death.
SHOULD YOU PURCHASE OR USE INTELS PRODUCTS FOR ANY SUCH MISSION CRITICAL APPLICATION, YOU SHALL INDEMNIFY AND HOLD INTEL
AND ITS SUBSIDIARIES, SUBCONTRACTORS AND AFFILIATES, AND THE DIRECTORS, OFFICERS, AND EMPLOYEES OF EACH, HARMLESS AGAINST
ALL CLAIMS COSTS, DAMAGES, AND EXPENSES AND REASONABLE ATTORNEYS' FEES ARISING OUT OF, DIRECTLY OR INDIRECTLY, ANY CLAIM OF
PRODUCT LIABILITY, PERSONAL INJURY, OR DEATH ARISING IN ANY WAY OUT OF SUCH MISSION CRITICAL APPLICATION, WHETHER OR NOT
INTEL OR ITS SUBCONTRACTOR WAS NEGLIGENT IN THE DESIGN, MANUFACTURE, OR WARNING OF THE INTEL PRODUCT OR ANY OF ITS PARTS.
Intel may make changes to specifications and product descriptions at any time, without notice. Designers must not rely on the absence or
characteristics of any features or instructions marked reserved or undefined. Intel reserves these for future definition and shall have no
responsibility whatsoever for conflicts or incompatibilities arising from future changes to them. The information here is subject to change without
notice. Do not finalize a design with this information.
Intel software products are copyrighted by and shall remain the property of Intel Corporation. Use, duplication, or disclosure is subject to
restrictions stated in Intels Software License Agreement, or in the case of software delivered to the government, in accordance with the software
license agreement as defined in FAR 52.227-7013.
The products described in this document may contain design defects or errors known as errata which may cause the product to deviate from
published specifications. Current characterized errata are available on request.
The code names presented in this document are only for use by Intel to identify products, technologies, or services in development that have not
been made commercially available to the public, i.e., announced, launched, or shipped. They are not "commercial" names for products or services
and are not intended to function as trademarks.
Contact your local Intel sales office or your distributor to obtain the latest specifications and before placing your product order.
Copies of documents which have an order number and are referenced in this document, or other Intel literature may be obtained by calling
1-800-548-4725 or by visiting Intels website at http://www.intel.com/design/literature.htm.
Intel processor numbers are not a measure of performance. Processor numbers differentiate features within each processor family, not across
different processor families. See http://www.intel.com/products/processor_number for details.
Intel, Centrino, Quark, and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and
other countries.
* Other brands and names may be claimed as the property of others.
Copyright 2014 Intel Corporation. All rights reserved.
October 2014
Document Number: 329686-007
Introduction
Contents
1
Introduction ....................................................................................................................................................................... 5
1.1
Downloading the software release ....................................................................................................................................... 5
1.2
Supported operating systems................................................................................................................................................. 6
1.3
Supported Arduino libraries .................................................................................................................................................... 6
1.4
Supported shields ........................................................................................................................................................................ 6
1.5
Supported sketches ..................................................................................................................................................................... 6
1.6
4.20g security disclaimer ........................................................................................................................................................... 7
1.7
Features in this release............................................................................................................................................................... 7
1.8
Known issues .................................................................................................................................................................................. 8
1.8.1
MAKER-200: Uploading Galileo sketches to Edison spawns zombie processes. ............... 8
1.8.2
MAKER-210: Renbotics ServoShield2 does not work properly. ................................................. 8
1.8.3
MAKER-211: pinMode() and analogRead() triggers interrupts on an attached pin. ........... 8
Resolved issues ................................................................................................................................................................. 9
2.1
Resolved in v1.0.3 ...................................................................................................................................................................... 10
2.1.1
MAKER-171: Remove workaround for gpio130 issue. ................................................................. 10
2.1.2
MAKER-183: Fix bug in pulseIn. .............................................................................................................. 10
2.1.3
MAKER-184: Merge Edison and Galileo branches. ......................................................................... 10
2.1.4
MAKER-186: Remove temporary SPI workaround. ........................................................................ 10
2.1.5
MAKER-187: Wi-Fi library fixes................................................................................................................ 10
2.1.6
MAKER-188: Build Windows release with 7-zip file extension................................................. 10
2.1.7
MAKER-189: Implement an easier interface for fastGpio. .......................................................... 10
2.1.8
MAKER-191: Create macros for Edison for fastDigitalRead and fastDigitalWrite............ 10
2.1.9
MAKER-193: Sketch upload for Edison not stable for Linux builds. ...................................... 11
2.1.10
MAKER-194: Prevent Wi-Fi library from deleting wpa_supplicant.conf. ............................. 11
2.1.11
MAKER-195: Remove Arduino IDE calls to ifup/ifdown in Wi-Fi library............................... 11
2.1.12
MAKER-197: EFI debug output. ............................................................................................................... 11
2.1.13
MAKER-198: Rename Firmware Update option. ............................................................................. 11
2.1.14
MAKER-199: Prevent Galileo Gen 2 from downgrading to 1.0.2 or earlier. ............................... 11
2.1.15
MAKER-201: Compiled sketches are too big. ................................................................................... 11
2.1.16
MAKER-202: Fix HardwareSerial implementation. ......................................................................... 11
2.1.17
MAKER-203: Add a version number for IDE releases. .................................................................. 11
2.1.18
MAKER-209: Add Intel release number to IDE version. ............................................................... 11
2.2
Resolved in v1.0.4 ...................................................................................................................................................................... 11
2.2.1
MAKER-30: Need better wireless support. ......................................................................................... 11
2.2.2
MAKER-95: RTC 79563 Loopback of USB client to host fails after few cable
pulls/inserts. ..................................................................................................................................................... 12
2.2.3
MAKER-118: USB is unusable on 1.0.1rc5. ........................................................................................ 12
2.2.4
MAKER-177: pinMode breaks PWM on same pin on Edison..................................................... 12
2.2.5
MAKER-205: shiftout() must be supported. ....................................................................................... 12
2.2.6
MAKER-213: Wi-Fi library does not work on some home wireless networks/routers. . 12
2.2.7
MAKER-214: Update tone library. .......................................................................................................... 12
2.2.8
MAKER-215: Port Ethernet Shield library........................................................................................... 12
2.2.9
MAKER-216: Add ACPI tables to Gen 2. .............................................................................................. 12
2.2.10
MAKER-219: Serial2 for Edison. .............................................................................................................. 12
2.2.11
MAKER-222: Sketch download in OSX is not stable. .................................................................... 12
October 2014
Document Number: 329686-007
Introduction
Revision History
Revision
Description
Date
001
First external release: Package Version: 0.7.5 for Arduino IDE v1.5.3.
02 October 2013
002
04 October 2013
003
10 October 2013
16 October 2013
005
22 May 2014
23 June 2014
Updates for package version: 1.0.3 and 1.0.4 for Arduino IDE v1.5.3.
16 October 2014
October 2014
Document Number: 329686-007
Introduction
Introduction
This document describes extensions and deviations from the functionality described in the Intel Galileo Board
Getting Started Guide, available at: www.intel.com/support/go/galileo
This software release supports the following hardware and software:
Intel Galileo Customer Reference Board (CRB), Fab D with blue PCB
Intel Galileo software v1.0.4 for Arduino* Integrated Development Environment (IDE) v1.5.3
Note:
This release uses a special version of the Arduino* IDE. You must download it from the Intel webpage
listed below and update the SPI flash on the board.
In this document:
Software and software package are used as generic terms for the IDE software that runs on Intel Galileo,
Intel Galileo Gen 2, and Intel Edison boards.
Board is used as a generic term when any of the three boards can be used. If instructions are board-specific,
the exact model is identified.
1.1
(Optional) Linux* BSP (Board Support Package) sources for Intel Quark SoC-based systems:
Board_Support_Package_Sources_for_Intel_Quark_v1.0.2_full_yocto_archive.tar.gz
(2.8 GB)
If you are running the IDE software, refer to the appropriate getting started guide:
If you are working with the BSP sources, refer to appropriate BSP user guide:
October 2014
Document Number: 329686-007
Introduction
1.2
This software release has been tested on the following operating systems.
Operating system
Version
Windows*
Linux*
Mac OS X*
1.3
SPI
EEPROM
UART
GPIO
Wi-Fi
Servo
USB Host
1.4
Supported shields
For a list of tested shields, see the Intel Galileo Shields List, which is posted here:
https://communities.intel.com/docs/DOC-21855
1.5
Supported sketches
The following Arduino-based sketches have been tested on at least one of the three supported OSes:
Basic Arduino examples
AnalogInOutSerial
CharacterAnalysis
ReadAnalogVoltage
StringSubstring
AnalogInput
Debounce
SerialCallResponse
StringToInt
AnalogReadSerial
DigitalInputPullup
SerialCallResponseASCII
StringToIntRGB
Arrays
DigitalReadSerial
SerialEvent
switchCase
ASCIITable
Fade
StateChangeDetection
switchCase2
BareMinimum
Fading
StringAppendOperator
VirtualColorMixer
Blink
ForLoopIteration
StringCaseChanges
WhileStatementConditional
BlinkWithoutDelay
Graph
StringLength
Button
IfStatementConditional
StringLengthTrim
Calibration
PhysicalPixel
StringStartsWithEndsWith
p04_ColorMixingLamp,
p09_MotorizedPinwheel
p14_TweakTheArduinoLogo
p03_LoveOMeter
p08_DigitalHourglass
p10_Zoetrope
p15_HackingButtons
October 2014
Document Number: 329686-007
Introduction
Display
HelloWorld
setCursor
Blink
DumpFile
listfiles
SimpleWebServerWiFi
ConnectNoEncryption
eeprom_clear
ScanNetworks
TextDirection
ConnectWithWPA
eeprom_read
Scroll
WiFiWebClient
Cursor
eeprom_write
SerialDisplay
WiFiWebServer
1.6
This product is designed and configured as a developer device. As such it includes only basic functionality and
requires you as the developer to add the capabilities necessary for your particular uses. The device does not
include any specific or enhanced security functionality and is configured by default to be openly accessible to aid
your development. Specifically the device does not include or support any limitations or controls on what software
can be executed or booted by the hardware. There is no secure boot, secure update, or other firmware control
mechanisms. This means that anyone with physical access to the device can change the software (firmware)
running on the device. By default the administrative access to the device, including the supplied Linux software
images, is also not access restricted. Anyone with physical access to the device can access administrative privileges
(i.e. root access) to inspect or modify the device without a password or other authentication. If your use requires
these interfaces be secured, you are responsible for adding or configuring capabilities to do so.
1.7
SoftwareServo library. Software emulation of the Servo library. PWM servo signals are bit-banged instead of using
the hardware PWM on the Intel Edison device. The SoftwareServo library can be used in any digital pin (0-13). Use
of SoftwareServo library is similar to that of the standard Servo library http://arduino.cc/en/reference/servo.
softAnalogWrite(). Software emulation for PWM functionality for Intel Edison. PWM signals are bit-banged instead
of being generated by dedicated hardware. Does not have the 8-bit limitation of the built PWM hardware of the
Tangier SoC used for Edison. You may use softAnalogWrite() in any of the digital pins. Use is similar to that of the
standard PWM, but instead of analogWrite(), use softAnalogWrite().
Serial2. Serial2 is now enabled for Intel Edison. This Serial2 is connected to the USB debug port (FTDI) on the
Arduino* board. Using Serial2 disables the console on the USB debug port until Serial2.end() is called.
October 2014
Document Number: 329686-007
Introduction
1.8
Known issues
Issue #
Section
Description
MAKER-200
1.8.1
MAKER-210
1.8.2
MAKER-211
1.8.3
1.8.1
If you accidentally upload a Galileo sketch into Edison, the upload process will succeed because the process is
identical on both boards. However, when clloader attempts to start the binary file, it will fail and spawn a zombie
process.
Uploading a sketch from the wrong target should be prevented from being uploaded.
On Mac OS X this breaks upload capability after uploading a sketch built for the wrong target.
Windows is able to recover. The first upload (correct target) fails, but subsequent ones are successful.
1.8.2
Edison only: Some shields that use I2C may not work because they have pullup resistors that are too strong.
Replacing these with weaker pullup resistors (10 kohm) or removing the resistors altogether should allow the
shields to work.
1.8.3
Edison only: When an interrupt is attached using attachInterrupt(), calling pinMode() and analogRead() for the first
time triggers an interrupt. This is due to the muxing operations done when those functions are called. To avoid this
issue, pinMode() should be called before attachInterrupt(), and analogRead() should also be called at least once for
each pin used before calling attachInterrupt().
October 2014
Document Number: 329686-007
Resolved issues
Resolved issues
Table 1
Issue #
Section
Description
MAKER-171
2.1.1
MAKER-183
2.1.2
MAKER-184
2.1.3
MAKER-186
2.1.4
MAKER-187
2.1.5
MAKER-188
2.1.6
MAKER-189
2.1.7
MAKER-191
2.1.8
MAKER-193
2.1.9
MAKER-194
2.1.10
MAKER-195
2.1.11
MAKER-197
2.1.12
MAKER-198
2.1.13
MAKER-199
2.1.14
MAKER-201
2.1.15
MAKER-202
2.1.16
MAKER-203
2.1.17
MAKER-209
2.1.18
Table 2
Issue #
Section
Description
MAKER-30
2.2.1
MAKER-95
2.2.2
RTC 79563 Loopback of USB client to host fails after few cable pulls/inserts.
MAKER-118
2.2.3
MAKER-177
2.2.4
MAKER-205
2.2.5
MAKER-213
2.2.6
MAKER-214
2.2.7
MAKER-215
2.2.8
MAKER-216
2.2.9
MAKER-219
2.2.10
MAKER-222
2.2.11
October 2014
Document Number: 329686-007
Resolved issues
2.1
Resolved in v1.0.3
2.1.1
We removed this workaround since the BSP already has the fix integrated. (This applies to prerelease Edison
firmware only.)
2.1.2
Some outdated code in the pulseIn() implementation for Galileo, which only affected first generation boards,
limited the capability of pulseIn() in detecting pulses that occur quickly after pulseIn() is called. Removing these two
lines when things are being set up for first generation Galileo boards resolved the issue.
2.1.3
Done.
2.1.4
After calling SPI.transfer() there is a long pulse before the actual clk. This causes external SPI devices to not work at
all. It also takes more time to transfer one byte of data because this is present in every transmission of a byte. The
fix removes the issue of a long pulse in SCK that limits SPI to one transaction every 20 ms.
Note:
2.1.5
You must update the Intel Edison firmware to the latest release available.
We updated the Wi-Fi library to make it work on the Intel Edison board with wireless tools. Changes implemented:
Fixed issue that caused the sketch to get blocked when calling Udp.parsePacket(). The flush() function would
read and discard data on the socket without updating the internal remaining bytes counter. This issue is
reproducible with WiFiUdpNtpClient sketch.
Fixed issue that prevented the UDP class to respond to the remote client with a UDP packet. The remoteIP
and remotePort were not being updated properly. This issue is reproducible with WifiUdpSendReceiveString
sketch.
2.1.6
The final Windows version of the software now uses the 7-zip extension, rather than just .zip.
2.1.7
Previously the user had to know to use the GPIO_FAST_IOx. We have added new wrapper functions so that users
only have to specify the arduino pin ID.
2.1.8
Done.
October 2014
Document Number: 329686-007
Resolved issues
2.1.9
MAKER-193: Sketch upload for Edison not stable for Linux builds.
Sketch Upload for Edison failed to upload after ten tries. A board reboot will fix the issue. With this releases
clloader improvements, sketches terminate and restart when the USB cable is unplugged.
2.1.10
The IDE Wi-Fi library deletes /etc/wpa_supplicant/wpa_supplicant.conf. This is acceptable for a sketch, but it
breaks the wpa_supplicant operation when used outside of a sketch. (This issue is also present in all Galileo
versions, as the code was inherited from there.) By removing the rm call, and using wpa_cli to initialize the WPA
keys (instead of overwriting the config file with the output of the wpa_passphrase command), it is possible to
configure the WPA keys and maintain the wpa_supplicant operation when the user goes back to the Linux use case.
2.1.11
We removed ifup and ifdown in BSP because we are using wpa_supplicant and wpa_cli to manage the Wi-Fi. Having
ifup/ifdown would add another (possibly conflicting) method, so it is safer to modify the Wi-Fi library to use wpa_cli.
2.1.12
2.1.13
2.1.14
2.1.15
2.1.16
2.1.17
We have added version numbers to the IDE, to reduce confusion over releases.
2.1.18
Done.
2.2
Resolved in v1.0.4
2.2.1
iwlwifi-6000g2b-6
iwlwifi-6000g2a-6
iwlwifi-135-6
October 2014
Document Number: 329686-007
Resolved issues
2.2.2
MAKER-95: RTC 79563 Loopback of USB client to host fails after few
cable pulls/inserts.
2.2.3
2.2.4
When analogWrite is called, it checks if the pin is currently set as PWM. If it is, then it does not turn it on again. This
also skips the muxing of the pin. pinMode does its intended muxing operation for GPIO but keeps it marked as a
PWM pin (if it was previously marked as a PWM pin). As a result, if pinMode is called after analogWrite, all the
analogWrite calls after the pinMode call will not do the muxing operations. This was the same situation on Galileo,
and the fix for Edison is the same.
2.2.5
2.2.6
The Wi-Fi library did not work for some wireless networks. We increased the delay, so it should work for most, if
not all, routers. If it doesnt resolve the issue for your router, increase the delay on the library to ensure that it
connects and gets an IP address successfully. Experiment until you find the optimal delay value so that your router
will work but the delay is not too long.
2.2.7
We updated the tone library to work on first generation Intel Galileo boards, and replaced digitalWrite with
fastDigitalWrite to increase supported tone range and accuracy.
2.2.8
We modified the original Ethernet shield library to use onboard Ethernet for Galileo. Edison does not have an
onboard Ethernet, so the Ethernet Shield library was ported.
2.2.9
2.2.10
We enabled Serial2 on first generation Intel Galileo boards, which was not enabled on launch, and for Intel Edison
boards. Output of Serial2 is not in any the header pins, but it can be accessed via the FTDI output.
2.2.11
October 2014
Document Number: 329686-007