Giter Site home page Giter Site logo

ino's People

Contributors

aruiz avatar dcharbonnier avatar doismellburning avatar jboone avatar jrmcornish avatar michaelsproul avatar nkrkv avatar ulidtko avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ino's Issues

Can't compile LCD example

Hi,

i can't compile Helloworld example from :
https://github.com/Snootlab/Deuligne/tree/Arduino-1.0

juke@bouriquet:~/arduino/HelloWorld$ ino build
Searching for Board description file (boards.txt) ... /usr/share/arduino/hardware/arduino/boards.txt
Searching for Arduino lib version file (version.txt) ... /usr/share/arduino/lib/version.txt
Detecting Arduino software version ... 1.0 (1.0)
Searching for Arduino core library ... /usr/share/arduino/hardware/arduino/cores/arduino
Searching for Arduino standard libraries ... /usr/share/arduino/libraries
Searching for Arduino variants directory ... /usr/share/arduino/hardware/arduino/variants
Searching for avr-gcc ... /usr/bin/avr-gcc
Searching for avr-g++ ... /usr/bin/avr-g++
Searching for avr-ar ... /usr/bin/avr-ar
Searching for avr-objcopy ... /usr/bin/avr-objcopy
Scanning dependencies of src
Scanning dependencies of Deuligne
Scanning dependencies of Wire
src/sketch.cpp
Wire/utility/twi.c
Wire/Wire.cpp
Linking libWire.a
Deuligne/Deuligne.cpp
Linking libDeuligne.a
arduino/wiring_shift.c
arduino/wiring_digital.c
arduino/WInterrupts.c
arduino/wiring.c
arduino/wiring_analog.c
arduino/wiring_pulse.c
arduino/USBCore.cpp
arduino/HardwareSerial.cpp
arduino/CDC.cpp
arduino/WMath.cpp
arduino/Stream.cpp
arduino/HID.cpp
arduino/WString.cpp
arduino/new.cpp
arduino/Tone.cpp
arduino/IPAddress.cpp
arduino/Print.cpp
arduino/main.cpp
Linking libcore.a
Linking firmware.elf
.build/Deuligne/libDeuligne.a(Deuligne.o): In function Deuligne::init()': /home/juke/arduino/HelloWorld/lib/Deuligne/Deuligne.cpp:69: undefined reference toWire'
/home/juke/arduino/HelloWorld/lib/Deuligne/Deuligne.cpp:70: undefined reference to Wire' /home/juke/arduino/HelloWorld/lib/Deuligne/Deuligne.cpp:70: undefined reference toTwoWire::beginTransmission(unsigned char)'
/home/juke/arduino/HelloWorld/lib/Deuligne/Deuligne.cpp:71: undefined reference to TwoWire::write(unsigned char)' /home/juke/arduino/HelloWorld/lib/Deuligne/Deuligne.cpp:71: undefined reference toTwoWire::write(unsigned char)'
/home/juke/arduino/HelloWorld/lib/Deuligne/Deuligne.cpp:73: undefined reference to `TwoWire::endTransmission()'
make: *** [.build/firmware.elf] Erreur 1

Works with arduino 1.0 ide

Thx

Arcuino-mpide Comparison

For an extension of Ino for chipKIT mpide, please find:

for the following cases

  • Arduino IDE 0023 for UNO
  • mpide 0023 for Arduino UNO
  • mpide 0023 for chpKIT UNO32

The really nice thing about mpide is that it handles both platforms — hence its name Multi-Platform IDE.

Should you need more details, feel free to ask.

Integration of Ino as a Plug-In for a Standard IDE

Ino provides the unique opportunity to avoid dealing with makefile.

How to integrate Ino as a plug-in for a standard IDE like NetBeans, Eclipse, ... ?

• new project
• build
• upload
• monitor

Enhance ino To Deal With Multiple Hardware Platforms

I'm using Mpide instead of Arduino because I'm using a chipKIT UNO32 board.

Mpide is based on Arduino 0022 but can address both ATMega platform / Arduino boards and PIC32 platform / chipKIT boards.

It should be great to enlarge the audience of ino and allow users to select the platform. The hardware folder contains two directories: one for Arduino and the other for pic32.

The may be the case of Arduino with the Due board, based a different platform.

Here's the full tree under Mpide.app.


Last login: Wed Nov 23 19:11:56 on ttys001
macbook:~ user$ cd /Applications/Mpide.app
macbook:Mpide.app user$ tree
.
└── Contents
├── Info.plist
├── MacOS
│   └── JavaApplicationStub
├── PkgInfo
└── Resources
├── Java
│   ├── RXTXcomm.jar
│   ├── core.jar
│   ├── ecj.jar
│   ├── examples
│   │   ├── 1.Basics
│   │   │   ├── AnalogReadSerial
│   │   │   │   └── AnalogReadSerial.pde
│   │   │   ├── BareMinimum
│   │   │   │   └── BareMinimum.pde
│   │   │   ├── Blink
│   │   │   │   └── Blink.pde
│   │   │   ├── DigitalReadSerial
│   │   │   │   └── DigitalReadSerial.pde
│   │   │   └── Fade
│   │   │   └── Fade.pde
│   │   ├── 2.Digital
│   │   │   ├── BlinkWithoutDelay
│   │   │   │   └── BlinkWithoutDelay.pde
│   │   │   ├── Button
│   │   │   │   └── Button.pde
│   │   │   ├── Debounce
│   │   │   │   └── Debounce.pde
│   │   │   ├── StateChangeDetection
│   │   │   │   └── StateChangeDetection.pde
│   │   │   ├── toneKeyboard
│   │   │   │   ├── pitches.h
│   │   │   │   └── toneKeyboard.pde
│   │   │   ├── toneMelody
│   │   │   │   ├── pitches.h
│   │   │   │   └── toneMelody.pde
│   │   │   ├── toneMultiple
│   │   │   │   ├── pitches.h
│   │   │   │   └── toneMultiple.pde
│   │   │   └── tonePitchFollower
│   │   │   └── tonePitchFollower.pde
│   │   ├── 3.Analog
│   │   │   ├── AnalogInOutSerial
│   │   │   │   └── AnalogInOutSerial.pde
│   │   │   ├── AnalogInput
│   │   │   │   └── AnalogInput.pde
│   │   │   ├── AnalogWriteMega
│   │   │   │   └── AnalogWriteMega.pde
│   │   │   ├── Calibration
│   │   │   │   └── Calibration.pde
│   │   │   ├── Fading
│   │   │   │   └── Fading.pde
│   │   │   └── Smoothing
│   │   │   └── Smoothing.pde
│   │   ├── 4.Communication
│   │   │   ├── ASCIITable
│   │   │   │   └── ASCIITable.pde
│   │   │   ├── Dimmer
│   │   │   │   └── Dimmer.pde
│   │   │   ├── Graph
│   │   │   │   └── Graph.pde
│   │   │   ├── MIDI
│   │   │   │   └── Midi.pde
│   │   │   ├── MultiSerialMega
│   │   │   │   └── MultiSerialMega.pde
│   │   │   ├── PhysicalPixel
│   │   │   │   └── PhysicalPixel.pde
│   │   │   ├── SerialCallResponse
│   │   │   │   └── SerialCallResponse.pde
│   │   │   ├── SerialCallResponseASCII
│   │   │   │   └── SerialCallResponseASCII.pde
│   │   │   └── VirtualColorMixer
│   │   │   └── VirtualColorMixer.pde
│   │   ├── 5.Control
│   │   │   ├── Arrays
│   │   │   │   └── Arrays.pde
│   │   │   ├── ForLoopIteration
│   │   │   │   └── ForLoopIteration.pde
│   │   │   ├── IfStatementConditional
│   │   │   │   └── IfStatementConditional.pde
│   │   │   ├── WhileStatementConditional
│   │   │   │   └── WhileStatementConditional.pde
│   │   │   ├── switchCase
│   │   │   │   └── switchCase.pde
│   │   │   └── switchCase2
│   │   │   └── switchCase2.pde
│   │   ├── 6.Sensors
│   │   │   ├── ADXL3xx
│   │   │   │   └── ADXL3xx.pde
│   │   │   ├── Knock
│   │   │   │   └── Knock.pde
│   │   │   ├── Memsic2125
│   │   │   │   └── Memsic2125.pde
│   │   │   └── Ping
│   │   │   └── Ping.pde
│   │   ├── 7.Display
│   │   │   ├── RowColumnScanning
│   │   │   │   └── RowColumnScanning.pde
│   │   │   └── barGraph
│   │   │   └── barGraph.pde
│   │   ├── 8.Strings
│   │   │   ├── CharacterAnalysis
│   │   │   │   └── CharacterAnalysis.pde
│   │   │   ├── StringAdditionOperator
│   │   │   │   └── StringAdditionOperator.pde
│   │   │   ├── StringAppendOperator
│   │   │   │   └── StringAppendOperator.pde
│   │   │   ├── StringCaseChanges
│   │   │   │   └── StringCaseChanges.pde
│   │   │   ├── StringCharacters
│   │   │   │   └── StringCharacters.pde
│   │   │   ├── StringComparisonOperators
│   │   │   │   └── StringComparisonOperators.pde
│   │   │   ├── StringConstructors
│   │   │   │   └── StringConstructors.pde
│   │   │   ├── StringIndexOf
│   │   │   │   └── StringIndexOf.pde
│   │   │   ├── StringLength
│   │   │   │   └── StringLength.pde
│   │   │   ├── StringLengthTrim
│   │   │   │   └── StringLengthTrim.pde
│   │   │   ├── StringReplace
│   │   │   │   └── StringReplace.pde
│   │   │   ├── StringStartsWithEndsWith
│   │   │   │   └── StringStartsWithEndsWith.pde
│   │   │   ├── StringSubstring
│   │   │   │   └── StringSubstring.pde
│   │   │   ├── StringToInt
│   │   │   │   └── StringToInt.pde
│   │   │   └── StringToIntRGB
│   │   │   └── StringToIntRGB.pde
│   │   └── ArduinoISP
│   │   └── ArduinoISP.pde
│   ├── hardware
│   │   ├── arduino
│   │   │   ├── boards.txt
│   │   │   ├── bootloaders
│   │   │   │   ├── atmega
│   │   │   │   │   ├── ATmegaBOOT_168.c
│   │   │   │   │   ├── ATmegaBOOT_168_atmega1280.hex
│   │   │   │   │   ├── ATmegaBOOT_168_atmega328.hex
│   │   │   │   │   ├── ATmegaBOOT_168_atmega328_pro_8MHz.hex
│   │   │   │   │   ├── ATmegaBOOT_168_diecimila.hex
│   │   │   │   │   ├── ATmegaBOOT_168_ng.hex
│   │   │   │   │   ├── ATmegaBOOT_168_pro_8MHz.hex
│   │   │   │   │   └── Makefile
│   │   │   │   ├── atmega8
│   │   │   │   │   ├── ATmegaBOOT.c
│   │   │   │   │   ├── ATmegaBOOT.hex
│   │   │   │   │   └── Makefile
│   │   │   │   ├── bt
│   │   │   │   │   ├── ATmegaBOOT_168.c
│   │   │   │   │   ├── ATmegaBOOT_168.hex
│   │   │   │   │   ├── ATmegaBOOT_168_atmega328_bt.hex
│   │   │   │   │   └── Makefile
│   │   │   │   ├── lilypad
│   │   │   │   │   ├── LilyPadBOOT_168.hex
│   │   │   │   │   └── src
│   │   │   │   │   ├── ATmegaBOOT.c
│   │   │   │   │   └── Makefile
│   │   │   │   ├── optiboot
│   │   │   │   │   ├── Makefile
│   │   │   │   │   ├── makeall
│   │   │   │   │   ├── optiboot.c
│   │   │   │   │   ├── optiboot_atmega328.hex
│   │   │   │   │   ├── optiboot_atmega328.lst
│   │   │   │   │   ├── optiboot_atmega328_pro_8MHz.hex
│   │   │   │   │   ├── optiboot_atmega328_pro_8MHz.lst
│   │   │   │   │   ├── optiboot_diecimila.hex
│   │   │   │   │   ├── optiboot_diecimila.lst
│   │   │   │   │   ├── optiboot_lilypad.hex
│   │   │   │   │   ├── optiboot_lilypad.lst
│   │   │   │   │   ├── optiboot_lilypad_resonator.hex
│   │   │   │   │   ├── optiboot_lilypad_resonator.lst
│   │   │   │   │   ├── optiboot_luminet.hex
│   │   │   │   │   ├── optiboot_luminet.lst
│   │   │   │   │   ├── optiboot_pro_16MHz.hex
│   │   │   │   │   ├── optiboot_pro_16MHz.lst
│   │   │   │   │   ├── optiboot_pro_20mhz.hex
│   │   │   │   │   ├── optiboot_pro_20mhz.lst
│   │   │   │   │   ├── optiboot_pro_8MHz.hex
│   │   │   │   │   └── optiboot_pro_8MHz.lst
│   │   │   │   └── stk500v2
│   │   │   │   ├── License.txt
│   │   │   │   ├── Makefile
│   │   │   │   ├── STK500V2.pnproj
│   │   │   │   ├── STK500V2.pnps
│   │   │   │   ├── avrinterruptnames.h
│   │   │   │   ├── command.h
│   │   │   │   ├── stk500boot.c
│   │   │   │   ├── stk500boot.ppg
│   │   │   │   └── stk500boot_v2_mega2560.hex
│   │   │   ├── cores
│   │   │   │   └── arduino
│   │   │   │   ├── HardwareSerial.cpp
│   │   │   │   ├── HardwareSerial.h
│   │   │   │   ├── HardwareSerial.o
│   │   │   │   ├── Print.cpp
│   │   │   │   ├── Print.h
│   │   │   │   ├── Print.o
│   │   │   │   ├── Stream.h
│   │   │   │   ├── Tone.cpp
│   │   │   │   ├── Tone.o
│   │   │   │   ├── WCharacter.h
│   │   │   │   ├── WConstants.h
│   │   │   │   ├── WInterrupts.c
│   │   │   │   ├── WInterrupts.o
│   │   │   │   ├── WMath.cpp
│   │   │   │   ├── WMath.o
│   │   │   │   ├── WProgram.h
│   │   │   │   ├── WString.cpp
│   │   │   │   ├── WString.h
│   │   │   │   ├── WString.o
│   │   │   │   ├── binary.h
│   │   │   │   ├── main.cpp
│   │   │   │   ├── main.o
│   │   │   │   ├── pins_arduino.c
│   │   │   │   ├── pins_arduino.h
│   │   │   │   ├── pins_arduino.o
│   │   │   │   ├── wiring.c
│   │   │   │   ├── wiring.h
│   │   │   │   ├── wiring.o
│   │   │   │   ├── wiring_analog.c
│   │   │   │   ├── wiring_analog.o
│   │   │   │   ├── wiring_digital.c
│   │   │   │   ├── wiring_digital.o
│   │   │   │   ├── wiring_private.h
│   │   │   │   ├── wiring_pulse.c
│   │   │   │   ├── wiring_pulse.o
│   │   │   │   ├── wiring_shift.c
│   │   │   │   └── wiring_shift.o
│   │   │   ├── firmwares
│   │   │   │   ├── MEGA-dfu_and_usbserial_combined.hex
│   │   │   │   ├── README.txt
│   │   │   │   ├── UNO-dfu_and_usbserial_combined.hex
│   │   │   │   ├── arduino-usbdfu
│   │   │   │   │   ├── Arduino-usbdfu.c
│   │   │   │   │   ├── Arduino-usbdfu.h
│   │   │   │   │   ├── Board
│   │   │   │   │   │   └── LEDs.h
│   │   │   │   │   ├── Descriptors.c
│   │   │   │   │   ├── Descriptors.h
│   │   │   │   │   ├── makefile
│   │   │   │   │   └── readme.txt
│   │   │   │   └── arduino-usbserial
│   │   │   │   ├── Arduino-usbserial-mega.hex
│   │   │   │   ├── Arduino-usbserial-uno.hex
│   │   │   │   ├── Arduino-usbserial.c
│   │   │   │   ├── Arduino-usbserial.h
│   │   │   │   ├── Board
│   │   │   │   │   └── LEDs.h
│   │   │   │   ├── Descriptors.c
│   │   │   │   ├── Descriptors.h
│   │   │   │   ├── Lib
│   │   │   │   │   └── LightweightRingBuff.h
│   │   │   │   ├── makefile
│   │   │   │   └── readme.txt
│   │   │   ├── platforms.txt
│   │   │   └── programmers.txt
│   │   ├── pic32
│   │   │   ├── boards.txt
│   │   │   ├── compiler
│   │   │   │   ├── license.txt
│   │   │   │   └── pic32-tools
│   │   │   │   ├── bin
│   │   │   │   │   ├── pic32-addr2line
│   │   │   │   │   ├── pic32-ar
│   │   │   │   │   ├── pic32-as
│   │   │   │   │   ├── pic32-bin2hex
│   │   │   │   │   ├── pic32-c++
│   │   │   │   │   ├── pic32-c++filt
│   │   │   │   │   ├── pic32-conv
│   │   │   │   │   ├── pic32-cpp
│   │   │   │   │   ├── pic32-elfedit
│   │   │   │   │   ├── pic32-g++
│   │   │   │   │   ├── pic32-gcc
│   │   │   │   │   ├── pic32-gccbug
│   │   │   │   │   ├── pic32-gcov
│   │   │   │   │   ├── pic32-ld
│   │   │   │   │   ├── pic32-nm
│   │   │   │   │   ├── pic32-objcopy
│   │   │   │   │   ├── pic32-objdump
│   │   │   │   │   ├── pic32-ranlib
│   │   │   │   │   ├── pic32-readelf
│   │   │   │   │   ├── pic32-size
│   │   │   │   │   ├── pic32-strings
│   │   │   │   │   ├── pic32-strip
│   │   │   │   │   └── pic32mx-gcc-4.5.1
│   │   │   │   ├── doc
│   │   │   │   │   ├── COPYING.GPL
│   │   │   │   │   ├── COPYING.LIB.GPL
│   │   │   │   │   ├── COPYING3.GPL
│   │   │   │   │   ├── COPYING3.LIB.GPL
│   │   │   │   │   └── hlpPIC32MXConfigSet.chm
│   │   │   │   ├── include
│   │   │   │   ├── lib
│   │   │   │   │   ├── gcc
│   │   │   │   │   │   └── pic32mx
│   │   │   │   │   │   └── 4.5.1
│   │   │   │   │   │   ├── crtbegin.o
│   │   │   │   │   │   ├── crtend.o
│   │   │   │   │   │   ├── include
│   │   │   │   │   │   │   ├── float.h
│   │   │   │   │   │   │   ├── iso646.h
│   │   │   │   │   │   │   ├── stdbool.h
│   │   │   │   │   │   │   ├── stdint-gcc.h
│   │   │   │   │   │   │   ├── stdint.h
│   │   │   │   │   │   │   ├── syslimits.h
│   │   │   │   │   │   │   ├── tgmath.h
│   │   │   │   │   │   │   ├── unwind.h
│   │   │   │   │   │   │   └── varargs.h
│   │   │   │   │   │   ├── include-fixed
│   │   │   │   │   │   │   ├── README
│   │   │   │   │   │   │   └── limits.h
│   │   │   │   │   │   ├── install-tools
│   │   │   │   │   │   │   ├── fixinc_list
│   │   │   │   │   │   │   ├── gsyslimits.h
│   │   │   │   │   │   │   ├── include
│   │   │   │   │   │   │   │   ├── README
│   │   │   │   │   │   │   │   └── limits.h
│   │   │   │   │   │   │   ├── macro_list
│   │   │   │   │   │   │   └── mkheaders.conf
│   │   │   │   │   │   ├── libgcc.a
│   │   │   │   │   │   ├── libgcov.a
│   │   │   │   │   │   └── mips16
│   │   │   │   │   │   ├── crtbegin.o
│   │   │   │   │   │   ├── crtend.o
│   │   │   │   │   │   ├── libgcc.a
│   │   │   │   │   │   └── libgcov.a
│   │   │   │   │   └── libiberty.a
│   │   │   │   └── pic32mx
│   │   │   │   ├── bin
│   │   │   │   │   ├── ar
│   │   │   │   │   ├── as
│   │   │   │   │   ├── c++
│   │   │   │   │   ├── g++
│   │   │   │   │   ├── gcc
│   │   │   │   │   │   ├── gcc-cross
│   │   │   │   │   │   └── pic32mx
│   │   │   │   │   │   └── 4.5.1
│   │   │   │   │   │   ├── cc1
│   │   │   │   │   │   ├── cc1plus
│   │   │   │   │   │   ├── collect2
│   │   │   │   │   │   ├── install-tools
│   │   │   │   │   │   │   ├── fixinc.sh
│   │   │   │   │   │   │   ├── fixincl
│   │   │   │   │   │   │   ├── mkheaders
│   │   │   │   │   │   │   └── mkinstalldirs
│   │   │   │   │   │   └── lto-wrapper
│   │   │   │   │   ├── ld
│   │   │   │   │   ├── nm
│   │   │   │   │   ├── objcopy
│   │   │   │   │   ├── objdump
│   │   │   │   │   ├── ranlib
│   │   │   │   │   └── strip
│   │   │   │   ├── include
│   │   │   │   │   ├── GenericTypeDefs.h
│   │   │   │   │   ├── alloca.h
│   │   │   │   │   ├── assert.h
│   │   │   │   │   ├── avr
│   │   │   │   │   │   ├── io.h
│   │   │   │   │   │   └── pgmspace.h
│   │   │   │   │   ├── c++
│   │   │   │   │   │   └── 4.5.1
│   │   │   │   │   │   ├── cstdarg
│   │   │   │   │   │   ├── cstddef
│   │   │   │   │   │   ├── cstdlib
│   │   │   │   │   │   ├── cxxabi-forced.h
│   │   │   │   │   │   ├── cxxabi.h
│   │   │   │   │   │   ├── exception
│   │   │   │   │   │   ├── exception_defines.h
│   │   │   │   │   │   ├── exception_ptr.h
│   │   │   │   │   │   ├── initializer_list
│   │   │   │   │   │   ├── limits
│   │   │   │   │   │   ├── nested_exception.h
│   │   │   │   │   │   ├── new
│   │   │   │   │   │   ├── pic32mx
│   │   │   │   │   │   │   ├── bits
│   │   │   │   │   │   │   │   ├── c++config.h
│   │   │   │   │   │   │   │   └── os_defines.h
│   │   │   │   │   │   │   └── mips16
│   │   │   │   │   │   │   └── bits
│   │   │   │   │   │   │   ├── c++config.h
│   │   │   │   │   │   │   └── os_defines.h
│   │   │   │   │   │   └── typeinfo
│   │   │   │   │   ├── conio.h
│   │   │   │   │   ├── cp0defs.h
│   │   │   │   │   ├── ctype.h
│   │   │   │   │   ├── dsplib_def.h
│   │   │   │   │   ├── dsplib_dsp.h
│   │   │   │   │   ├── dsplib_video.h
│   │   │   │   │   ├── errno.h
│   │   │   │   │   ├── fcntl.h
│   │   │   │   │   ├── fftc.h
│   │   │   │   │   ├── float.h
│   │   │   │   │   ├── ieee754.h
│   │   │   │   │   ├── inttypes.h
│   │   │   │   │   ├── iso646.h
│   │   │   │   │   ├── lega-c
│   │   │   │   │   │   ├── GenericTypeDefs.h
│   │   │   │   │   │   ├── alloca.h
│   │   │   │   │   │   ├── assert.h
│   │   │   │   │   │   ├── cp0defs.h
│   │   │   │   │   │   ├── ctype.h
│   │   │   │   │   │   ├── dsplib_def.h
│   │   │   │   │   │   ├── dsplib_dsp.h
│   │   │   │   │   │   ├── dsplib_video.h
│   │   │   │   │   │   ├── errno.h
│   │   │   │   │   │   ├── fcntl.h
│   │   │   │   │   │   ├── fftc.h
│   │   │   │   │   │   ├── float.h
│   │   │   │   │   │   ├── ieee754.h
│   │   │   │   │   │   ├── inttypes.h
│   │   │   │   │   │   ├── iso646.h
│   │   │   │   │   │   ├── libc_thread.h
│   │   │   │   │   │   ├── limits.h
│   │   │   │   │   │   ├── locale.h
│   │   │   │   │   │   ├── machine
│   │   │   │   │   │   │   ├── ansi.h
│   │   │   │   │   │   │   ├── cdefs.h
│   │   │   │   │   │   │   ├── endian.h
│   │   │   │   │   │   │   ├── float.h
│   │   │   │   │   │   │   ├── ieee754.h
│   │   │   │   │   │   │   ├── int_const.h
│   │   │   │   │   │   │   ├── int_fmtio.h
│   │   │   │   │   │   │   ├── int_limits.h
│   │   │   │   │   │   │   ├── int_mwgwtypes.h
│   │   │   │   │   │   │   ├── int_types.h
│   │   │   │   │   │   │   └── types.h
│   │   │   │   │   │   ├── math.h
│   │   │   │   │   │   ├── mathf.h
│   │   │   │   │   │   ├── mchp_dsp_wrapper.h
│   │   │   │   │   │   ├── mips
│   │   │   │   │   │   │   ├── ansi.h
│   │   │   │   │   │   │   ├── cdefs.h
│   │   │   │   │   │   │   ├── endian.h
│   │   │   │   │   │   │   ├── float.h
│   │   │   │   │   │   │   ├── ieee754.h
│   │   │   │   │   │   │   ├── int_const.h
│   │   │   │   │   │   │   ├── int_fmtio.h
│   │   │   │   │   │   │   ├── int_limits.h
│   │   │   │   │   │   │   ├── int_mwgwtypes.h
│   │   │   │   │   │   │   ├── int_types.h
│   │   │   │   │   │   │   └── types.h
│   │   │   │   │   │   ├── p32xxxx.h
│   │   │   │   │   │   ├── peripheral
│   │   │   │   │   │   │   ├── CAN.h
│   │   │   │   │   │   │   ├── adc10.h
│   │   │   │   │   │   │   ├── bmx.h
│   │   │   │   │   │   │   ├── cmp.h
│   │   │   │   │   │   │   ├── cvref.h
│   │   │   │   │   │   │   ├── dma.h
│   │   │   │   │   │   │   ├── dma_3xx_4xx.h
│   │   │   │   │   │   │   ├── dma_5xx_6xx_7xx.h
│   │   │   │   │   │   │   ├── eth.h
│   │   │   │   │   │   │   ├── i2c.h
│   │   │   │   │   │   │   ├── incap.h
│   │   │   │   │   │   │   ├── int.h
│   │   │   │   │   │   │   ├── int_3xx_4xx.h
│   │   │   │   │   │   │   ├── int_5xx_6xx_7xx.h
│   │   │   │   │   │   │   ├── legacy
│   │   │   │   │   │   │   │   ├── dma_legacy.h
│   │   │   │   │   │   │   │   ├── eth_legacy.h
│   │   │   │   │   │   │   │   ├── i2c_legacy.h
│   │   │   │   │   │   │   │   ├── int_3xx_4xx_legacy.h
│   │   │   │   │   │   │   │   ├── int_5xx_6xx_7xx_legacy.h
│   │   │   │   │   │   │   │   ├── int_legacy.h
│   │   │   │   │   │   │   │   ├── rtcc_legacy.h
│   │   │   │   │   │   │   │   ├── spi_legacy.h
│   │   │   │   │   │   │   │   └── uart_legacy.h
│   │   │   │   │   │   │   ├── lock.h
│   │   │   │   │   │   │   ├── nvm.h
│   │   │   │   │   │   │   ├── osc.h
│   │   │   │   │   │   │   ├── outcompare.h
│   │   │   │   │   │   │   ├── pcache.h
│   │   │   │   │   │   │   ├── pmp.h
│   │   │   │   │   │   │   ├── ports.h
│   │   │   │   │   │   │   ├── power.h
│   │   │   │   │   │   │   ├── reset.h
│   │   │   │   │   │   │   ├── rtcc.h
│   │   │   │   │   │   │   ├── spi.h
│   │   │   │   │   │   │   ├── spi_3xx_4xx.h
│   │   │   │   │   │   │   ├── spi_5xx_6xx_7xx.h
│   │   │   │   │   │   │   ├── system.h
│   │   │   │   │   │   │   ├── timer.h
│   │   │   │   │   │   │   ├── uart.h
│   │   │   │   │   │   │   └── wdt.h
│   │   │   │   │   │   ├── plib.h
│   │   │   │   │   │   ├── proc
│   │   │   │   │   │   │   ├── p32mx310f032h.h
│   │   │   │   │   │   │   ├── p32mx320f032h.h
│   │   │   │   │   │   │   ├── p32mx320f064h.h
│   │   │   │   │   │   │   ├── p32mx320f128h.h
│   │   │   │   │   │   │   ├── p32mx320f128l.h
│   │   │   │   │   │   │   ├── p32mx340f128h.h
│   │   │   │   │   │   │   ├── p32mx340f128l.h
│   │   │   │   │   │   │   ├── p32mx340f256h.h
│   │   │   │   │   │   │   ├── p32mx340f512h.h
│   │   │   │   │   │   │   ├── p32mx360f256l.h
│   │   │   │   │   │   │   ├── p32mx360f512l.h
│   │   │   │   │   │   │   ├── p32mx420f032h.h
│   │   │   │   │   │   │   ├── p32mx440f128h.h
│   │   │   │   │   │   │   ├── p32mx440f128l.h
│   │   │   │   │   │   │   ├── p32mx440f256h.h
│   │   │   │   │   │   │   ├── p32mx440f512h.h
│   │   │   │   │   │   │   ├── p32mx460f256l.h
│   │   │   │   │   │   │   ├── p32mx460f512l.h
│   │   │   │   │   │   │   ├── p32mx534f064h.h
│   │   │   │   │   │   │   ├── p32mx534f064l.h
│   │   │   │   │   │   │   ├── p32mx564f064h.h
│   │   │   │   │   │   │   ├── p32mx564f064l.h
│   │   │   │   │   │   │   ├── p32mx564f128h.h
│   │   │   │   │   │   │   ├── p32mx564f128l.h
│   │   │   │   │   │   │   ├── p32mx575f256h.h
│   │   │   │   │   │   │   ├── p32mx575f256l.h
│   │   │   │   │   │   │   ├── p32mx575f512h.h
│   │   │   │   │   │   │   ├── p32mx575f512l.h
│   │   │   │   │   │   │   ├── p32mx664f064h.h
│   │   │   │   │   │   │   ├── p32mx664f064l.h
│   │   │   │   │   │   │   ├── p32mx664f128h.h
│   │   │   │   │   │   │   ├── p32mx664f128l.h
│   │   │   │   │   │   │   ├── p32mx675f256h.h
│   │   │   │   │   │   │   ├── p32mx675f256l.h
│   │   │   │   │   │   │   ├── p32mx675f512h.h
│   │   │   │   │   │   │   ├── p32mx675f512l.h
│   │   │   │   │   │   │   ├── p32mx695f512h.h
│   │   │   │   │   │   │   ├── p32mx695f512l.h
│   │   │   │   │   │   │   ├── p32mx764f128h.h
│   │   │   │   │   │   │   ├── p32mx764f128l.h
│   │   │   │   │   │   │   ├── p32mx775f256h.h
│   │   │   │   │   │   │   ├── p32mx775f256l.h
│   │   │   │   │   │   │   ├── p32mx775f512h.h
│   │   │   │   │   │   │   ├── p32mx775f512l.h
│   │   │   │   │   │   │   ├── p32mx795f512h.h
│   │   │   │   │   │   │   ├── p32mx795f512l.h
│   │   │   │   │   │   │   ├── p32mxgeneric.h
│   │   │   │   │   │   │   └── ppic32mx.h
│   │   │   │   │   │   ├── pthread
│   │   │   │   │   │   │   ├── impl.h
│   │   │   │   │   │   │   ├── limits.h
│   │   │   │   │   │   │   ├── rtpxint.h
│   │   │   │   │   │   │   └── unistd.h
│   │   │   │   │   │   ├── pthread.h
│   │   │   │   │   │   ├── sched.h
│   │   │   │   │   │   ├── setjmp.h
│   │   │   │   │   │   ├── signal.h
│   │   │   │   │   │   ├── stdarg.h
│   │   │   │   │   │   ├── stdbool.h
│   │   │   │   │   │   ├── stddef.h
│   │   │   │   │   │   ├── stdint.h
│   │   │   │   │   │   ├── stdio.h
│   │   │   │   │   │   ├── stdlib.h
│   │   │   │   │   │   ├── string.h
│   │   │   │   │   │   ├── sys
│   │   │   │   │   │   │   ├── appio.h
│   │   │   │   │   │   │   ├── asm.h
│   │   │   │   │   │   │   ├── attribs.h
│   │   │   │   │   │   │   ├── cdefs.h
│   │   │   │   │   │   │   ├── clock.h
│   │   │   │   │   │   │   ├── endian.h
│   │   │   │   │   │   │   ├── errno.h
│   │   │   │   │   │   │   ├── fcntl.h
│   │   │   │   │   │   │   ├── kmem.h
│   │   │   │   │   │   │   ├── limits.h
│   │   │   │   │   │   │   ├── posix.h
│   │   │   │   │   │   │   ├── signal.h
│   │   │   │   │   │   │   ├── swap.h
│   │   │   │   │   │   │   ├── time.h
│   │   │   │   │   │   │   ├── types.h
│   │   │   │   │   │   │   ├── uio.h
│   │   │   │   │   │   │   └── wait.h
│   │   │   │   │   │   ├── time.h
│   │   │   │   │   │   ├── unistd.h
│   │   │   │   │   │   └── wchar.h
│   │   │   │   │   ├── libc_thread.h
│   │   │   │   │   ├── limits.h
│   │   │   │   │   ├── locale.h
│   │   │   │   │   ├── machine
│   │   │   │   │   │   ├── ansi.h
│   │   │   │   │   │   ├── cdefs.h
│   │   │   │   │   │   ├── endian.h
│   │   │   │   │   │   ├── float.h
│   │   │   │   │   │   ├── ieee754.h
│   │   │   │   │   │   ├── int_const.h
│   │   │   │   │   │   ├── int_fmtio.h
│   │   │   │   │   │   ├── int_limits.h
│   │   │   │   │   │   ├── int_mwgwtypes.h
│   │   │   │   │   │   ├── int_types.h
│   │   │   │   │   │   └── types.h
│   │   │   │   │   ├── math.h
│   │   │   │   │   ├── mathf.h
│   │   │   │   │   ├── mchp_dsp_wrapper.h
│   │   │   │   │   ├── mips
│   │   │   │   │   │   ├── ansi.h
│   │   │   │   │   │   ├── cdefs.h
│   │   │   │   │   │   ├── endian.h
│   │   │   │   │   │   ├── float.h
│   │   │   │   │   │   ├── ieee754.h
│   │   │   │   │   │   ├── int_const.h
│   │   │   │   │   │   ├── int_fmtio.h
│   │   │   │   │   │   ├── int_limits.h
│   │   │   │   │   │   ├── int_mwgwtypes.h
│   │   │   │   │   │   ├── int_types.h
│   │   │   │   │   │   └── types.h
│   │   │   │   │   ├── p32xxxx.h
│   │   │   │   │   ├── peripheral
│   │   │   │   │   │   ├── CAN.h
│   │   │   │   │   │   ├── adc10.h
│   │   │   │   │   │   ├── bmx.h
│   │   │   │   │   │   ├── cmp.h
│   │   │   │   │   │   ├── cvref.h
│   │   │   │   │   │   ├── dma.h
│   │   │   │   │   │   ├── dma_3xx_4xx.h
│   │   │   │   │   │   ├── dma_5xx_6xx_7xx.h
│   │   │   │   │   │   ├── eth.h
│   │   │   │   │   │   ├── i2c.h
│   │   │   │   │   │   ├── incap.h
│   │   │   │   │   │   ├── int.h
│   │   │   │   │   │   ├── int_3xx_4xx.h
│   │   │   │   │   │   ├── int_5xx_6xx_7xx.h
│   │   │   │   │   │   ├── legacy
│   │   │   │   │   │   │   ├── dma_legacy.h
│   │   │   │   │   │   │   ├── eth_legacy.h
│   │   │   │   │   │   │   ├── i2c_legacy.h
│   │   │   │   │   │   │   ├── int_3xx_4xx_legacy.h
│   │   │   │   │   │   │   ├── int_5xx_6xx_7xx_legacy.h
│   │   │   │   │   │   │   ├── int_legacy.h
│   │   │   │   │   │   │   ├── rtcc_legacy.h
│   │   │   │   │   │   │   ├── spi_legacy.h
│   │   │   │   │   │   │   └── uart_legacy.h
│   │   │   │   │   │   ├── lock.h
│   │   │   │   │   │   ├── nvm.h
│   │   │   │   │   │   ├── osc.h
│   │   │   │   │   │   ├── outcompare.h
│   │   │   │   │   │   ├── pcache.h
│   │   │   │   │   │   ├── pmp.h
│   │   │   │   │   │   ├── ports.h
│   │   │   │   │   │   ├── power.h
│   │   │   │   │   │   ├── reset.h
│   │   │   │   │   │   ├── rtcc.h
│   │   │   │   │   │   ├── spi.h
│   │   │   │   │   │   ├── spi_3xx_4xx.h
│   │   │   │   │   │   ├── spi_5xx_6xx_7xx.h
│   │   │   │   │   │   ├── system.h
│   │   │   │   │   │   ├── timer.h
│   │   │   │   │   │   ├── uart.h
│   │   │   │   │   │   └── wdt.h
│   │   │   │   │   ├── plib.h
│   │   │   │   │   ├── proc
│   │   │   │   │   │   ├── p32mx310f032h.h
│   │   │   │   │   │   ├── p32mx320f032h.h
│   │   │   │   │   │   ├── p32mx320f064h.h
│   │   │   │   │   │   ├── p32mx320f128h.h
│   │   │   │   │   │   ├── p32mx320f128l.h
│   │   │   │   │   │   ├── p32mx340f128h.h
│   │   │   │   │   │   ├── p32mx340f128l.h
│   │   │   │   │   │   ├── p32mx340f256h.h
│   │   │   │   │   │   ├── p32mx340f512h.h
│   │   │   │   │   │   ├── p32mx360f256l.h
│   │   │   │   │   │   ├── p32mx360f512l.h
│   │   │   │   │   │   ├── p32mx420f032h.h
│   │   │   │   │   │   ├── p32mx440f128h.h
│   │   │   │   │   │   ├── p32mx440f128l.h
│   │   │   │   │   │   ├── p32mx440f256h.h
│   │   │   │   │   │   ├── p32mx440f512h.h
│   │   │   │   │   │   ├── p32mx460f256l.h
│   │   │   │   │   │   ├── p32mx460f512l.h
│   │   │   │   │   │   ├── p32mx534f064h.h
│   │   │   │   │   │   ├── p32mx534f064l.h
│   │   │   │   │   │   ├── p32mx564f064h.h
│   │   │   │   │   │   ├── p32mx564f064l.h
│   │   │   │   │   │   ├── p32mx564f128h.h
│   │   │   │   │   │   ├── p32mx564f128l.h
│   │   │   │   │   │   ├── p32mx575f256h.h
│   │   │   │   │   │   ├── p32mx575f256l.h
│   │   │   │   │   │   ├── p32mx575f512h.h
│   │   │   │   │   │   ├── p32mx575f512l.h
│   │   │   │   │   │   ├── p32mx664f064h.h
│   │   │   │   │   │   ├── p32mx664f064l.h
│   │   │   │   │   │   ├── p32mx664f128h.h
│   │   │   │   │   │   ├── p32mx664f128l.h
│   │   │   │   │   │   ├── p32mx675f256h.h
│   │   │   │   │   │   ├── p32mx675f256l.h
│   │   │   │   │   │   ├── p32mx675f512h.h
│   │   │   │   │   │   ├── p32mx675f512l.h
│   │   │   │   │   │   ├── p32mx695f512h.h
│   │   │   │   │   │   ├── p32mx695f512l.h
│   │   │   │   │   │   ├── p32mx764f128h.h
│   │   │   │   │   │   ├── p32mx764f128l.h
│   │   │   │   │   │   ├── p32mx775f256h.h
│   │   │   │   │   │   ├── p32mx775f256l.h
│   │   │   │   │   │   ├── p32mx775f512h.h
│   │   │   │   │   │   ├── p32mx775f512l.h
│   │   │   │   │   │   ├── p32mx795f512h.h
│   │   │   │   │   │   ├── p32mx795f512l.h
│   │   │   │   │   │   ├── p32mxgeneric.h
│   │   │   │   │   │   └── ppic32mx.h
│   │   │   │   │   ├── pthread.h
│   │   │   │   │   ├── sched.h
│   │   │   │   │   ├── setjmp.h
│   │   │   │   │   ├── signal.h
│   │   │   │   │   ├── stdarg.h
│   │   │   │   │   ├── stdbool.h
│   │   │   │   │   ├── stddef.h
│   │   │   │   │   ├── stdint.h
│   │   │   │   │   ├── stdio.h
│   │   │   │   │   ├── stdlib.h
│   │   │   │   │   ├── string.h
│   │   │   │   │   ├── sys
│   │   │   │   │   │   ├── appio.h
│   │   │   │   │   │   ├── asm.h
│   │   │   │   │   │   ├── attribs.h
│   │   │   │   │   │   ├── cdefs.h
│   │   │   │   │   │   ├── clock.h
│   │   │   │   │   │   ├── endian.h
│   │   │   │   │   │   ├── errno.h
│   │   │   │   │   │   ├── fcntl.h
│   │   │   │   │   │   ├── kmem.h
│   │   │   │   │   │   ├── limits.h
│   │   │   │   │   │   ├── posix.h
│   │   │   │   │   │   ├── signal.h
│   │   │   │   │   │   ├── swap.h
│   │   │   │   │   │   ├── time.h
│   │   │   │   │   │   ├── types.h
│   │   │   │   │   │   ├── uio.h
│   │   │   │   │   │   └── wait.h
│   │   │   │   │   ├── time.h
│   │   │   │   │   ├── unixio.h
│   │   │   │   │   └── wchar.h
│   │   │   │   └── lib
│   │   │   │   ├── cpp-startup.o
│   │   │   │   ├── crt0.o
│   │   │   │   ├── crti.o
│   │   │   │   ├── crtn.o
│   │   │   │   ├── ldscripts
│   │   │   │   │   ├── elf32pic32mx.x
│   │   │   │   │   ├── elf32pic32mx.xbn
│   │   │   │   │   ├── elf32pic32mx.xd
│   │   │   │   │   ├── elf32pic32mx.xn
│   │   │   │   │   ├── elf32pic32mx.xr
│   │   │   │   │   ├── elf32pic32mx.xs
│   │   │   │   │   └── elf32pic32mx.xu
│   │   │   │   ├── libc.a
│   │   │   │   ├── libe.a
│   │   │   │   ├── libm.a
│   │   │   │   ├── libmchp_peripheral.a
│   │   │   │   ├── libmchp_peripheral_32MX320F032H.a
│   │   │   │   ├── libmchp_peripheral_32MX320F064H.a
│   │   │   │   ├── libmchp_peripheral_32MX320F128H.a
│   │   │   │   ├── libmchp_peripheral_32MX320F128L.a
│   │   │   │   ├── libmchp_peripheral_32MX340F128H.a
│   │   │   │   ├── libmchp_peripheral_32MX340F128L.a
│   │   │   │   ├── libmchp_peripheral_32MX340F256H.a
│   │   │   │   ├── libmchp_peripheral_32MX340F512H.a
│   │   │   │   ├── libmchp_peripheral_32MX360F256L.a
│   │   │   │   ├── libmchp_peripheral_32MX360F512L.a
│   │   │   │   ├── libmchp_peripheral_32MX420F032H.a
│   │   │   │   ├── libmchp_peripheral_32MX440F128H.a
│   │   │   │   ├── libmchp_peripheral_32MX440F128L.a
│   │   │   │   ├── libmchp_peripheral_32MX440F256H.a
│   │   │   │   ├── libmchp_peripheral_32MX440F512H.a
│   │   │   │   ├── libmchp_peripheral_32MX460F256L.a
│   │   │   │   ├── libmchp_peripheral_32MX460F512L.a
│   │   │   │   ├── libmchp_peripheral_32MX534F064H.a
│   │   │   │   ├── libmchp_peripheral_32MX534F064L.a
│   │   │   │   ├── libmchp_peripheral_32MX564F064H.a
│   │   │   │   ├── libmchp_peripheral_32MX564F064L.a
│   │   │   │   ├── libmchp_peripheral_32MX564F128H.a
│   │   │   │   ├── libmchp_peripheral_32MX564F128L.a
│   │   │   │   ├── libmchp_peripheral_32MX575F256H.a
│   │   │   │   ├── libmchp_peripheral_32MX575F256L.a
│   │   │   │   ├── libmchp_peripheral_32MX575F512H.a
│   │   │   │   ├── libmchp_peripheral_32MX575F512L.a
│   │   │   │   ├── libmchp_peripheral_32MX664F064H.a
│   │   │   │   ├── libmchp_peripheral_32MX664F064L.a
│   │   │   │   ├── libmchp_peripheral_32MX664F128H.a
│   │   │   │   ├── libmchp_peripheral_32MX664F128L.a
│   │   │   │   ├── libmchp_peripheral_32MX675F256H.a
│   │   │   │   ├── libmchp_peripheral_32MX675F256L.a
│   │   │   │   ├── libmchp_peripheral_32MX675F512H.a
│   │   │   │   ├── libmchp_peripheral_32MX675F512L.a
│   │   │   │   ├── libmchp_peripheral_32MX695F512H.a
│   │   │   │   ├── libmchp_peripheral_32MX695F512L.a
│   │   │   │   ├── libmchp_peripheral_32MX764F128H.a
│   │   │   │   ├── libmchp_peripheral_32MX764F128L.a
│   │   │   │   ├── libmchp_peripheral_32MX775F256H.a
│   │   │   │   ├── libmchp_peripheral_32MX775F256L.a
│   │   │   │   ├── libmchp_peripheral_32MX775F512H.a
│   │   │   │   ├── libmchp_peripheral_32MX775F512L.a
│   │   │   │   ├── libmchp_peripheral_32MX795F512H.a
│   │   │   │   ├── libmchp_peripheral_32MX795F512L.a
│   │   │   │   ├── libsupc++.a
│   │   │   │   ├── libsupc++.la
│   │   │   │   ├── mcrt0.o
│   │   │   │   ├── mips16
│   │   │   │   │   ├── cpp-startup.o
│   │   │   │   │   ├── crt0.o
│   │   │   │   │   ├── crti.o
│   │   │   │   │   ├── crtn.o
│   │   │   │   │   ├── libc.a
│   │   │   │   │   ├── libe.a
│   │   │   │   │   ├── libm.a
│   │   │   │   │   ├── libmchp_peripheral.a
│   │   │   │   │   ├── libmchp_peripheral_32MX320F032H.a
│   │   │   │   │   ├── libmchp_peripheral_32MX320F064H.a
│   │   │   │   │   ├── libmchp_peripheral_32MX320F128H.a
│  

Build failed with IDE1.0

$ ino init -t blink
$ ino build -m mega -d ~/arduino-1.0/
Searching for Arduino lib version file (version.txt) ... /home/ilovemistakes/arduino-1.0/lib/version.txt
Detecting Arduino software version ... 1.0 (1.0)
Searching for Arduino core library ... /home/ilovemistakes/arduino-1.0/hardware/arduino/cores/arduino
Searching for Arduino standard libraries ... /home/ilovemistakes/arduino-1.0/libraries
Searching for Arduino variants directory ... /home/ilovemistakes/arduino-1.0/hardware/arduino/variants
Searching for avr-gcc ... /usr/bin/avr-gcc
Searching for avr-g++ ... /usr/bin/avr-g++
Searching for avr-ar ... /usr/bin/avr-ar
Searching for avr-objcopy ... /usr/bin/avr-objcopy
Traceback (most recent call last):
File "/usr/local/bin/ino", line 5, in
pkg_resources.run_script('ino==0.3.3', 'ino')
File "/usr/lib/python2.6/dist-packages/pkg_resources.py", line 467, in run_script
self.require(requires)[0].run_script(script_name, ns)
File "/usr/lib/python2.6/dist-packages/pkg_resources.py", line 1200, in run_script
execfile(script_filename, namespace, namespace)
File "/usr/local/lib/python2.6/dist-packages/ino-0.3.3-py2.6.egg/EGG-INFO/scripts/ino", line 6, in
main()
File "/usr/local/lib/python2.6/dist-packages/ino-0.3.3-py2.6.egg/ino/runner.py", line 63, in main
args.func(args)
File "/usr/local/lib/python2.6/dist-packages/ino-0.3.3-py2.6.egg/ino/commands/build.py", line 187, in run
self.setup_flags(args.board_model)
File "/usr/local/lib/python2.6/dist-packages/ino-0.3.3-py2.6.egg/ino/commands/build.py", line 98, in setup_flags
board['build']['variant'])
KeyError: 'variant'

$ ls /home/ilovemistakes/arduino-1.0/hardware/arduino/variants
eightanaloginputs leonardo mega micro standard

I am not able to build any project on Ubuntu 10.10 32-bit with Arduino IDE 1.0.

[Windows] Build fails

After fixing the issue #25 (unable to find avr-gcc), I tried to build some code, but got this:
Traceback (most recent call last): File "D:\Work\arduino-1.0\ino-0.3.3\bin\run.py", line 6, in <module> main() File "C:\Python27\lib\site-packages\ino-0.3.3-py2.7.egg\ino\runner.py", line 63, in main args.func(args) File "C:\Python27\lib\site-packages\ino-0.3.3-py2.7.egg\ino\commands\build.py", line 189, in run self.make('Makefile.sketch') File "C:\Python27\lib\site-packages\ino-0.3.3-py2.7.egg\ino\commands\build.py", line 138, in make makefile = self.render_template(makefile + '.jinja', makefile, **kwargs) File "C:\Python27\lib\site-packages\ino-0.3.3-py2.7.egg\ino\commands\build.py", line 130, in render_template contents = template.render(**ctx) File "C:\Python27\lib\site-packages\jinja2-2.6-py2.7.egg\jinja2\environment.py", line 894, in render return self.environment.handle_exception(exc_info, True) File "C:\Python27\lib\site-packages\ino-0.3.3-py2.7.egg\ino\commands\..\make\Makefile.sketch.jinja", line 4, in top-level template code {% set sketches = e.src_dir|glob('*.pde', '*.ino')|filemap(src_build_dir, e.names.cpp) %} File "C:\Python27\lib\site-packages\ino-0.3.3-py2.7.egg\ino\filters.py", line 39, in glob for entry in os.listdir(scan_dir): WindowsError: [Error 3] The system cannot find the path specified: 'src\\*.*'

ino list-models fails

I have installed ino in its own virtualenv using pip. When I run 'list-models' it fails.

$ ino list-models
Searching for Board description file (boards.txt) ... FAILED
Board description file (boards.txt) not found. Searched in following places:

  • /Applications/Arduino.app/Contents/Resources/Java/hardware/arduino
  • /usr/local/share/arduino/hardware/arduino
  • /usr/share/arduino/hardware/arduino

Make failed (code 2) Linux (poisoned "SIG_USART*_RECV")

ino build -v
arduino/HardwareSerial.cpp
/usr/bin/avr-g++ -mmcu=atmega2560 -ffunction-sections -fdata-sections -g -Os -w -DF_CPU=16000000L -DARDUINO=100 -I/usr/share/arduino/hardware/arduino/cores/arduino -I/usr/share/arduino/hardware/arduino/variants/mega -I/usr/share/arduino/hardware/arduino/cores/arduino -I/usr/share/arduino/libraries/LiquidCrystal -fno-exceptions -o .build/arduino/HardwareSerial.o -c /usr/share/arduino/hardware/arduino/cores/arduino/HardwareSerial.cpp
/usr/share/arduino/hardware/arduino/cores/arduino/HardwareSerial.cpp:91:41: error: attempt to use poisoned "SIG_USART0_RECV"
/usr/share/arduino/hardware/arduino/cores/arduino/HardwareSerial.cpp:101:15: error: attempt to use poisoned "SIG_USART0_RECV"
/usr/share/arduino/hardware/arduino/cores/arduino/HardwareSerial.cpp:132:15: error: attempt to use poisoned "SIG_USART1_RECV"
/usr/share/arduino/hardware/arduino/cores/arduino/HardwareSerial.cpp:145:15: error: attempt to use poisoned "SIG_USART2_RECV"
/usr/share/arduino/hardware/arduino/cores/arduino/HardwareSerial.cpp:158:15: error: attempt to use poisoned "SIG_USART3_RECV"
make: *** [.build/arduino/HardwareSerial.o] Error 1
Make failed with code 2

Using the Arduino IDE 1.0.1 the code compiles with no errors. I'm using an Arduino Mega ADK.

I'm on Arch Linux with the following software versions:
avr-binutils 2.22-3
avr-gcc 4.7.1-2
avr-libc 1.8.0-4
avrdude 5.11.1-1

Using ino on Mac OS X — Report

I've been trying ino amperka-ino-756384f on OS X 10.7.2.

I'm running Mpide.app instead of Arduino.app because I'm using a chipKIT UNO32 board. Mpide is based on Arduino 0022 but can address both ATMega platform / Arduino boards and PIC32 platform / chipKIT boards.

Main problem resides on the folders.

  • Arduino.app is a folder so we need to specify where the looked after directories are within

=> Edit environment.py
=> Add to arduino_dist_dir_guesses = [
'/Applications/Mpide.app/Contents/Resources/Java',
FIXED

  • The file with the version number actually has a text

=> Edit /Applications/Mpide.app/Contents/Resources/Java/lib/version.txt
=> Change 0022-macosx-20110822 for 22
FIXED

  • The avr- tools are within the Mpide.app folder and not in a separate because there's no need of specific drivers on OS X.

=> copy/create aliases on /usr/local/bin to /Applications/Mpide.app/Contents/Resources/Java/hardware/tools/avr/bin
FIXED for some avr- tools

  • But this doesn't work well and shows an error when looking for avr-g++

=> Edit environment.py
=> Add to arduino_dist_dir_guesses = [
'/Applications/Mpide.app/Contents/Resources/Java/hardware/tools/avr',
FAIL

Best solution would be to add a configuration file so the user could enter all those directories.


File Log
Using INO on Mac OS X — amperka-ino-756384f

macbook:ino_test user$ ino build -d /Applications/Mpide.app/Contents/Resources/Java
Searching for Board description file (boards.txt) ... /Applications/Mpide.app/Contents/Resources/Java/hardware/arduino/boards.txt
Searching for Arduino core library ... /Applications/Mpide.app/Contents/Resources/Java/hardware/arduino/cores/arduino
Searching for Arduino standard libraries ... /Applications/Mpide.app/Contents/Resources/Java/libraries
Searching for Arduino lib version file (version.txt) ... /Applications/Mpide.app/Contents/Resources/Java/lib/version.txt
Detecting Arduino software version ...
Traceback (most recent call last):
File "/usr/local/bin/ino", line 5, in
pkg_resources.run_script('ino==0.1.11', 'ino')
File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources.py", line 489, in run_script
self.require(requires)[0].run_script(script_name, ns)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources.py", line 1207, in run_script
execfile(script_filename, namespace, namespace)
File "/Library/Python/2.7/site-packages/ino-0.1.11-py2.7.egg/EGG-INFO/scripts/ino", line 6, in
main()
File "/Library/Python/2.7/site-packages/ino-0.1.11-py2.7.egg/ino/runner.py", line 63, in main
args.func(args)
File "/Library/Python/2.7/site-packages/ino-0.1.11-py2.7.egg/ino/commands/build.py", line 174, in run
self.discover()
File "/Library/Python/2.7/site-packages/ino-0.1.11-py2.7.egg/ino/commands/build.py", line 61, in discover
self.e['arduino_lib_version'] = v = int(f.read().strip())
ValueError: invalid literal for int() with base 10: '0022-macosx-20110822'

=> Edit environment.py
=> Add to arduino_dist_dir_guesses = [
'/Applications/Mpide.app/Contents/Resources/Java',

=> Edit /Applications/Mpide.app/Contents/Resources/Java/lib/version.txt
=> Change 0022-macosx-20110822 for 22

...
macbook:ino_test user$ ino build -d /Applications/Mpide.app/Contents/Resources/Java
Detecting Arduino software version ... 22
Searching for avr-gcc ... FAILED
avr-gcc not found. Searched in following places:

  • /opt/local/bin
  • /opt/local/sbin
  • /opt/local/bin
  • /opt/local/sbin
  • /opt/local/bin
  • /opt/local/sbin
  • /opt/local/bin
  • /opt/local/sbin
  • /opt/local/bin
  • /opt/local/sbin
  • /usr/bin
  • /bin
  • /usr/sbin
  • /sbin
  • /usr/local/bin
  • /usr/X11/bin
  • /usr/local/git/bin
  • /opt/local/bin

=> Edit environment.py
=> Add to arduino_dist_dir_guesses = [
'/Applications/Mpide.app/Contents/Resources/Java/hardware/tools/avr',

macbook:ino_test user$ ino build
Searching for avr-objcopy ... /usr/local/bin/avr-objcopy
Scanning dependencies of src
/bin/sh: /usr/local/bin/avr-gcc: cannot execute binary file
make: *** [.build/src/dependencies.d] Error 126
src/sketch.cpp
make: /usr/local/bin/avr-g++: No such file or directory
make: *** [.build/src/sketch.o] Error 1
macbook:ino_test user$ ino build
make: Nothing to be done for `all'.
src/sketch.cpp
/usr/local/bin/avr-g++: /usr/local/bin/avr-g++: cannot execute binary file
make: *** [.build/src/sketch.o] Error 126
macbook:ino_test user$

=> ?

ino can't find make under certain circumstances

Hello,

ino doesn't search for make like it does for other tools. In build.py the make() function needs to changed:

    def make(self, makefile, **kwargs):
    makefile = self.render_template(makefile + '.jinja', makefile, **kwargs)
    self.e.find_arduino_tool('make', ['hardware', 'tools', 'avr', 'bin'])
    ret = subprocess.call([self.e['make'], '-f', makefile, 'all'])
    if ret != 0:
        raise Abort("Make failed with code %s" % ret)

Using ino with avr-libc only

I'm asking myself if it is possible to use ino without the Arduino libraries. ino is a great tool for building, uploading and communicating with microcontrollers. I would love it, if it would be possible to ditch the Arduino components for some projects, where I am very size constrained.

If it is not possible at the moment and there is interest in such a feature I could try to implement it (with some help possibly).

Build fails to detect Arduino 1.0.1 on Ubuntu 12.04

Hey there.

I noticed that environment.py and build.py fail to detect the exact version of Arduino 1.0.1 on Ubuntu 12.04. This is an issue since some libs (in my case NXShield) relies on the ARDUINO define to determine the correct version of function calls, as they have changed signatures. The signature for twi_writeTo in Wire has changed from

uint8_t twi_writeTo(uint8_t, uint8_t*, uint8_t, uint8_t)

to

uint8_t twi_writeTo(uint8_t, uint8_t*, uint8_t, uint8_t, uint8_t)

The version string for 1.0.1 in Ubuntu 12.04 is 1.0.1~ubuntu12.04.1, but as far as I can tell from ino's parsing code, it only matches on the first two digits, separated by a period. That is, major and minor, but no "build" number.

^\d+(\.\d+)?

Edit: I may have been overly hasty in assuming this change came between 1.0.1 and 1.0 or whether this should reasonably have affected developers who correctly use the public API - I note that the function is not part of the Wire library's reference on the Arduino site.
Regardless, if Ino is intended to be a CLI replacement for the IDE (and in that regard, I love Ino to pieces), it should take this scenario into account.
I'm trying to work up a non-destructive patch that will allow arbitrary version designations, although only the three first will be named - major, minor (as now) and build.

Preprocessing: include after prototype

Hi !
I've found a bug in the last version of git. When you want include some libraries in an ino file with the official IDE, it will deplace all the includes in the source file at the top, before all function's prototype.

Take this simple source code for example :

#include <WaveHC.h>
#include <WaveUtil.h>
void setup() {
}
void loop() {
}
void play(FatReader &dir) {

}

The preprocessing of this file will build this file with the official IDE :

#include <WaveHC.h>
#include <WaveUtil.h>
#include "Arduino.h"
void setup();
void loop();
void play(FatReader &dir);
void setup() {
}
void loop() {
}
void play(FatReader &dir) {
}

But with ino, the result will be a little different :

#include <Arduino.h>
void setup();
void loop();
void play(FatReader &dir);
#line 1 "src/Rapport.ino"
#include <WaveHC.h>
#include <WaveUtil.h>
void setup() {
}
void loop() {
}
void play(FatReader &dir) {
}

So there is no error with the arduino's IDE, but with ino, the compiler say that FatReader is not defined.
Here is a quick patch to get all #include in the file and put it on top of the file. Note that my regex is certainly too simple but the principle is here.

diff --git a/ino/commands/preproc.py b/ino/commands/preproc.py
index 87539fa..5dfefe7 100644
--- a/ino/commands/preproc.py
+++ b/ino/commands/preproc.py
@@ -35,6 +35,7 @@ class Preprocess(Command):

         sketch = open(args.sketch, 'rt').read()

+        out.write('\n'.join(self.includes(sketch)))
         header = 'Arduino.h' if self.e.arduino_lib_version.major else 'WProgram.h'
         out.write('#include <%s>\n' % header)
         out.write('\n'.join(self.prototypes(sketch)))
@@ -47,6 +48,11 @@ class Preprocess(Command):
         matches = regex.findall(src)
         return [m + ';' for m in matches]

+    def includes(self, src):
+        regex = re.compile("\\s*#.*")
+        matches = regex.findall(src)
+        return [m.strip() for m in matches]
+
     def collapse_braces(self, src):
         """
         Remove the contents of all top-level curly brace pairs {}.

[Windows] Searching for avr-gcc ... FAILED

Ino is unable to find avr-gcc (the one bundled with arduino IDE) under Windows OS. Output:
`Searching for Arduino core library ... d:\Work\arduino-1.0\hardware\arduino\cores\arduino
Searching for Arduino standard libraries ... d:\Work\arduino-1.0\libraries
Searching for Arduino variants directory ... d:\Work\arduino-1.0\hardware\arduino\variants
Searching for avr-gcc ... FAILED
avr-gcc not found. Searched in following places:

  • d:\Work\arduino-1.0\hardware\tools\avr\bin`

I think the problem is here (environment.py:124)
if os.path.exists(path):
In windows, avr-gcc is named avr-gcc.exe. The most easy way is to change this line to:
if os.path.exists(path) or os.path.exists(path+'.exe'):
but that looks like a hack

ino build fails on lion

Pretty fresh install of MAC OS Lion I'm seeing:

Searching for Board description file (boards.txt) ... /Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/boards.txt
Searching for Arduino lib version file (version.txt) ... /Applications/Arduino.app/Contents/Resources/Java/lib/version.txt
Detecting Arduino software version ...  1.0 (1.0)
Searching for Arduino core library ... /Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/cores/arduino
Searching for Arduino standard libraries ... /Applications/Arduino.app/Contents/Resources/Java/libraries
Searching for Arduino variants directory ... /Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/variants
Searching for avr-gcc ... /Applications/Arduino.app/Contents/Resources/Java/hardware/tools/avr/bin/avr-gcc
Searching for avr-g++ ... /Applications/Arduino.app/Contents/Resources/Java/hardware/tools/avr/bin/avr-g++
Searching for avr-ar ... /Applications/Arduino.app/Contents/Resources/Java/hardware/tools/avr/bin/avr-ar
Searching for avr-objcopy ... /Applications/Arduino.app/Contents/Resources/Java/hardware/tools/avr/bin/avr-objcopy
src/sketch.pde
Searching for Arduino lib version file (version.txt) ... /Applications/Arduino.app/Contents/Resources/Java/lib/version.txt
Detecting Arduino software version ...  1.0 (1.0)
Scanning dependencies of src
Scanning dependencies of arduino
.build/arduino/wiring.d:1: *** missing separator.  Stop.
Make failed with code 2

and my java version (if it helps):

java version "1.6.0_31"
Java(TM) SE Runtime Environment (build 1.6.0_31-b04-415-11M3635)
Java HotSpot(TM) 64-Bit Server VM (build 20.6-b01-415, mixed mode)

Thanks for the amazing tool - excited to use it!

Seach for 3rd party libraries

Is there any way to declare where are 3rd party library are installed?
The usual path for those in Arduino IDE ("sketckbook/libraries") are not found.
It is not useful to move all needed libraries into lib folder for each project, when those are already installed ad recognized by Arduino IDE.

ino can't find make under certain circumstances

Hello,

ino doesn't search for make like it does for other tools. In build.py the make() function needs to changed:

    def make(self, makefile, **kwargs):
    makefile = self.render_template(makefile + '.jinja', makefile, **kwargs)
    self.e.find_arduino_tool('make', ['hardware', 'tools', 'avr', 'bin'])
    ret = subprocess.call([self.e['make'], '-f', makefile, 'all'])
    if ret != 0:
        raise Abort("Make failed with code %s" % ret)

compile error: AdvButton example

I get a compile error with AdvButton example.

This is the simplified AdvButton example:

#include <AdvButton.h>

AdvButton but1 = AdvButton(0,OnKeyPressBut1,100,1000,btn_Digital);

void setup()
{
}

void OnKeyPressBut1(AdvButton* but)
{
}

void loop()
{
}

log:

$ ino build -m diecimila
make: Nothing to be done for `all'.
make: Nothing to be done for `all'.
src/buttondemo.cpp
.build/src/buttondemo.cpp:4: error: ‘OnKeyPressBut1’ was not declared in this scope
make: *** [.build/src/buttondemo.o] Error 1

MCU change -> no rebuild

Rebuild is not started if I change the MCU:

$ ino build -m mini 
...
$ ino build -m mega 
make: Nothing to be done for `all'.
make: Nothing to be done for `all'.

.build/arduino/WInterrupts.d:1: *** missing separator

On OSX 10.8, I get the "Make failed with code 2" error because ".build/arduino/WInterrupts.d:1: *** missing separator. Stop." I tried creating a test project "ino init -t blink" and then running "ino build -m atmega328", but I got this error.

Mozzi example file can't be compiled

I try to use Mozzy librairies. https://github.com/sensorium/Mozzi
Mozzy librairies have some example sketch.
Some example work fine.
This example don't work : https://github.com/sensorium/Mozzi/tree/master/examples/_02b_FMsynth
When i try with arduino(java) software i can build and upload with no issue
with ino i have:

Scanning dependencies of Mozzi
src/_02b_FMsynth.cpp
.build/uno/src/_02b_FMsynth.cpp:3:15: error: variable or field 'setFreqs' declared void
.build/uno/src/_02b_FMsynth.cpp:3:15: error: 'Q8n8' was not declared in this scope
make: *** [.build/uno/src/_02b_FMsynth.o] Erreur 1
Make failed with code 2

I will investigate but not now !
Thank

3rd party library not compiling

Hello,

When building a 3rd party library, what's the desired structure of the lib directory? I'm moving the required folder from ~/Arduino/libraries/ to the /lib directory, but it doesn't seem to work, because it can't find "wiring.h".

root
-- src
-- source files
-- lib
-- external libraries

Is that the correct structure? Or do I need to remove the top level directory from my external libraries so there are just the source files?

Regards,
Fabian

version.txt not included?

This is what I've done to install and build a project:

git clone git://github.com/amperka/ino.git
cd ino
make install
mkdir /usr/local/share/arduino
mkdir /usr/local/share/arduino/hardware
mkdir /usr/local/share/arduino/projects
cd /usr/local/share/arduino/hardware
wget https://raw.github.com/arduino/Arduino/master/hardware/arduino/boards.txt
cd /usr/local/share/projects/
mkdir servo
cd servo
ino build -t empty
vi src/sketch.ino
ino build

error is as follows:

Searching for Arduino lib version file (version.txt) ... FAILED
Arduino lib version file (version.txt) not found. Searched in following places: 
  - /usr/local/share/arduino/lib
  - /usr/share/arduino/lib

Packaging for Fedora

Hi,
I'm packaging ino for Fedora and here are two things that I have to solve.

There is a MIT-LICENSE.txt in this Git repository, but it is not in the tarball. However, the README.rst in the tarball references it. Could you please release a tarball with this license file?

The second thing is, that rpmlint (a tool, that checks if RPM package is OK) complains about empty and hidden files:

ino.noarch: W: hidden-file-or-dir /usr/lib/python2.7/site-packages/ino/templates/blink/lib/.holder
ino.noarch: E: zero-length /usr/lib/python2.7/site-packages/ino/templates/blink/lib/.holder
ino.noarch: W: hidden-file-or-dir /usr/lib/python2.7/site-packages/ino/templates/empty/lib/.holder
ino.noarch: E: zero-length /usr/lib/python2.7/site-packages/ino/templates/empty/lib/.holder

Could you please tell me, whether the empty hidden files are necessary? The best thing you can do is to answer to the following questions:

  • If I delete those empty hidden files, would it break ino?
    • If it would, would adding content to those files break ino too? E.g. echo foo > templates/blink/lib/.holder

Thanks a lot.

sudo pip install ino misses argparse on Ubuntu 10.04

I'm running Ubuntu 10.04 x64, and after installing python-pip and running sudo pip install ino (wihch claimed deps were satisfied), running ino --help produced the error:


[ rpavlik@articuno ino ] $ ino --help
Traceback (most recent call last):
  File "/usr/local/bin/ino", line 3, in <module>
    from ino.runner import main
  File "/usr/local/lib/python2.6/dist-packages/ino/runner.py", line 20, in <module>
    import argparse
ImportError: No module named argparse

Installing python-argparse with apt-get solved the issue, but it seems like this dep might need to be added to the python package.

Trouble with simple includes

I created a bare project using ino init, which created a sketch.ino file in the src directory. When I run ino build, it works as expected.

I added one header file to the src directory, test.h, and included it in sketch.ino. When I run ino build again, I see the following output:

Searching for Board description file (boards.txt) ... /Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/boards.txt
Searching for Arduino lib version file (version.txt) ... /Applications/Arduino.app/Contents/Resources/Java/lib/version.txt
Detecting Arduino software version ...  1.0 (1.0)
Searching for Arduino core library ... /Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/cores/arduino
Searching for Arduino standard libraries ... /Applications/Arduino.app/Contents/Resources/Java/libraries
Searching for Arduino variants directory ... /Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/variants
Searching for avr-gcc ... /Applications/Arduino.app/Contents/Resources/Java/hardware/tools/avr/bin/avr-gcc
Searching for avr-g++ ... /Applications/Arduino.app/Contents/Resources/Java/hardware/tools/avr/bin/avr-g++
Searching for avr-ar ... /Applications/Arduino.app/Contents/Resources/Java/hardware/tools/avr/bin/avr-ar
Searching for avr-objcopy ... /Applications/Arduino.app/Contents/Resources/Java/hardware/tools/avr/bin/avr-objcopy
Scanning dependencies of src
.build/src/sketch.cpp:2:18: error: test.h: No such file or directory
make: *** [.build/src/dependencies.d] Error 1
src/sketch.cpp
.build/src/sketch.cpp:2:18: error: test.h: No such file or directory
make: *** [.build/src/sketch.o] Error 1

Here is my complete code (both files in the src directory), just for reference:

sketch.ino

#include "test.h"

void setup()
{
}

void loop()
{
}

test.h

// empty

`ino build' fails on Mountain Lion [patch]

Hello, I noticed that building a simple blink project fails on Mountain Lion using the last revision from Git.

I would get an error like this:

$ ino build
.build/arduino/WInterrupts.d:1: *** missing separator.  Stop.
Make failed with code 2

After tinkering around a bit, I found that ino builds perfectly adding a slash to each .d file. Below is the patch I applied to the tree, and it works fine for me.

 diff --git a/ino/make/Makefile.deps.jinja b/ino/make/Makefile.deps.jinja
index 4ce5e6e..292f316 100644
--- a/ino/make/Makefile.deps.jinja
+++ b/ino/make/Makefile.deps.jinja
@@ -14,7 +14,7 @@
 {% endif %}

 {% for source, target in cpp.items() %}
-{{ target.path }} : {{ source.path }}
+{{ target.path }} : {{ source.path }} {{ slash }}
        @mkdir -p {{ target.path|dirname }}
        {{v}}{{ e.cc }} {{ e.cflags }} {{ inc_flags }} {{ iquote(source) }} -MM $^ > $@
        {# prepend build path to a target in the generated file and 

Can't compile program that use avr/pgmspace.h

When I'm trying to compile the project (that use Webduino), I'm always getting "error: 'prog_uchar' does not name a type". The same project compile with the official IDE.

You can try with the official examples from Webduino.

ino lib installing to wrong place in OS X lion

I'm installing ino by cloning the github repo and running 'make install'. It appears to install the lib files at '/usr/local/lib/python2.7/site-packages/ino'. When I run:
ino build, I get:
Traceback (most recent call last): File "/usr/local/bin/ino", line 3, in <module> from ino.runner import main ImportError: No module named ino.runner

I believe the correct place to install would be /Library/Python/2.7/site-packages/ino
If I'm in error please let me know the correct procedure to install on OSX; I'm not terribly knowledgable of python. Thanks.

Python 3.2 dosn't work

A have instaled ino. Now i try to run it, and i get error

[alex@dhcppc0 ino]$ ino --help
Traceback (most recent call last):
File "/usr/local/bin/ino", line 3, in
from ino.runner import main
File "/usr/lib/python3.2/site-packages/ino-0.3.3-py3.2.egg/ino/runner.py", line 65
print colorize(str(exc), 'red')
^
SyntaxError: invalid syntax

I understand, that it is becouse of puthon2 syntax. But how to fix it?

inorc

Hello,
I use gentoo linux. In funtoo or gentoo is very dificult to install avr toolset and arduino from source, but I did with avr-libc-1.8.0.
With this version I have errors compilation in arduino.
Then I downloaded the arduino-0023 from arduino.cc site and I got the toolset from wiring (tools directory) and I put the toolset in arduino-0023 in hardware folder.
The I modified Sconstroct from arscons with new toolset path and I make compilation without errors.
You can put in inorc this posibility to choise the toolset path ?

ino should be smarter about current dir it is run in

ino init -t blink
cd src
vi sketch.ino
ino build

Whoa:

Searching for Board description file (boards.txt) ... /usr/share/arduino/hardware/arduino/boards.txt
Searching for Arduino lib version file (version.txt) ... /usr/share/arduino/lib/version.txt
Detecting Arduino software version ...  1.0 (1.0)
Searching for Arduino core library ... /usr/share/arduino/hardware/arduino/cores/arduino
Searching for Arduino standard libraries ... /usr/share/arduino/libraries
Searching for Arduino variants directory ... /usr/share/arduino/hardware/arduino/variants
Searching for avr-gcc ... /usr/bin/avr-gcc
Searching for avr-g++ ... /usr/bin/avr-g++
Searching for avr-ar ... /usr/bin/avr-ar
Searching for avr-objcopy ... /usr/bin/avr-objcopy
Traceback (most recent call last):
  File "/usr/local/bin/ino", line 6, in <module>
    main()
  File "/usr/local/lib/python2.7/dist-packages/ino/runner.py", line 63, in main
    args.func(args)
  File "/usr/local/lib/python2.7/dist-packages/ino/commands/build.py", line 210, in run
    self.scan_dependencies()
  File "/usr/local/lib/python2.7/dist-packages/ino/commands/build.py", line 172, in scan_dependencies
    lib_dirs = [self.e.arduino_core_dir] + list_subdirs(self.e.lib_dir) + list_subdirs(self.e.arduino_libraries_dir)
  File "/usr/local/lib/python2.7/dist-packages/ino/utils.py", line 41, in list_subdirs
    entries = [e for e in os.listdir(dirname) if e not in exclude and not e.startswith('.')]
OSError: [Errno 2] No such file or directory: 'lib'

Tested with ino HEAD 1bf4a15

Writing to the board bug.

When I upload blink or empty sketch that comes with inotools I got no problem it uploaded without fail but when i modify the sketch like in the tutorial in inotools to use serial. I got this problem.

This is the code on inotools that I am uploading.

void setup()
{
Serial.begin(9600);
}

void loop()
{
Serial.println(millis());
delay(1000);
}

Now when i type.

ino build - no problem
ino upload -m uno -p /dev/ttyACM0

This is what i get.

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.00s

avrdude: Device signature = 0x1e950f
avrdude: reading input file ".build/uno/firmware.hex"
avrdude: writing flash (1084 bytes):

Writing | ############################## | 59% 0.12savrdude: stk500_recv(): programmer is not responding

Why is it doing that? using the sketch that comes with inotools works like blink and empty but when i created a new sketch or modify blink or empty sketch i get the error above?

upload fails on osx, cannot find firmware.hex

Command ino upload fails when it cannot find firmware.hex from expected location. Please see the shell dump below.

$ sudo easy_install ino
Password:
Searching for ino
Best match: ino 0.3.4
Processing ino-0.3.4-py2.7.egg
ino 0.3.4 is already the active version in easy-install.pth
Installing ino script to /usr/local/bin

Using /Library/Python/2.7/site-packages/ino-0.3.4-py2.7.egg
Processing dependencies for ino
Finished processing dependencies for ino
$ mkdir blink
$ cd blink
$ ino init -t blink
$ ino build
Searching for Board description file (boards.txt) ... /Users/matti/Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/boards.txt
Searching for Arduino lib version file (version.txt) ... /Users/matti/Applications/Arduino.app/Contents/Resources/Java/lib/version.txt
Detecting Arduino software version ...  1.0 (1.0.1)
Searching for Arduino core library ... /Users/matti/Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/cores/arduino
Searching for Arduino standard libraries ... /Users/matti/Applications/Arduino.app/Contents/Resources/Java/libraries
Searching for Arduino variants directory ... /Users/matti/Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/variants
Searching for avr-gcc ... /Users/matti/Applications/Arduino.app/Contents/Resources/Java/hardware/tools/avr/bin/avr-gcc
Searching for avr-g++ ... /Users/matti/Applications/Arduino.app/Contents/Resources/Java/hardware/tools/avr/bin/avr-g++
Searching for avr-ar ... /Users/matti/Applications/Arduino.app/Contents/Resources/Java/hardware/tools/avr/bin/avr-ar
Searching for avr-objcopy ... /Users/matti/Applications/Arduino.app/Contents/Resources/Java/hardware/tools/avr/bin/avr-objcopy
src/sketch.ino
Searching for Arduino lib version file (version.txt) ... /Users/matti/Applications/Arduino.app/Contents/Resources/Java/lib/version.txt
Detecting Arduino software version ...  1.0 (1.0.1)
Scanning dependencies of src
Scanning dependencies of arduino
src/sketch.cpp
arduino/WInterrupts.c
arduino/wiring.c
arduino/wiring_analog.c
arduino/wiring_digital.c
arduino/wiring_pulse.c
arduino/wiring_shift.c
arduino/CDC.cpp
arduino/HardwareSerial.cpp
arduino/HID.cpp
arduino/IPAddress.cpp
arduino/main.cpp
arduino/new.cpp
arduino/Print.cpp
arduino/Stream.cpp
arduino/Tone.cpp
arduino/USBCore.cpp
arduino/WMath.cpp
arduino/WString.cpp
Linking libarduino.a
Linking firmware.elf
Converting to firmware.hex
$ ino upload
Searching for stty ... /bin/stty
Searching for avrdude ... /Users/matti/Applications/Arduino.app/Contents/Resources/Java/hardware/tools/avr/bin/avrdude
Searching for avrdude.conf ... /Users/matti/Applications/Arduino.app/Contents/Resources/Java/hardware/tools/avr/etc/avrdude.conf

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.00s

avrdude: Device signature = 0x1e950f
avrdude: reading input file ".build/uno/firmware.hex"
avrdude: can't open input file .build/uno/firmware.hex: No such file or directory
avrdude: read from file '.build/uno/firmware.hex' failed

avrdude: safemode: Fuses OK

avrdude done.  Thank you.

Build tree:

$ tree .build                                                                                                                                                                                                                                 
.build
├── environment.pickle
├── uno
└── uno-839e218f
    ├── Makefile
    ├── Makefile.deps
    ├── Makefile.sketch
    ├── arduino
    │   ├── CDC.d
    │   ├── CDC.o
    │   ├── HID.d
    │   ├── HID.o
    │   ├── HardwareSerial.d
    │   ├── HardwareSerial.o
    │   ├── IPAddress.d
    │   ├── IPAddress.o
    │   ├── Print.d
    │   ├── Print.o
    │   ├── Stream.d
    │   ├── Stream.o
    │   ├── Tone.d
    │   ├── Tone.o
    │   ├── USBCore.d
    │   ├── USBCore.o
    │   ├── WInterrupts.d
    │   ├── WInterrupts.o
    │   ├── WMath.d
    │   ├── WMath.o
    │   ├── WString.d
    │   ├── WString.o
    │   ├── dependencies.d
    │   ├── libarduino.a
    │   ├── main.d
    │   ├── main.o
    │   ├── new.d
    │   ├── new.o
    │   ├── wiring.d
    │   ├── wiring.o
    │   ├── wiring_analog.d
    │   ├── wiring_analog.o
    │   ├── wiring_digital.d
    │   ├── wiring_digital.o
    │   ├── wiring_pulse.d
    │   ├── wiring_pulse.o
    │   ├── wiring_shift.d
    │   └── wiring_shift.o
    ├── firmware.elf
    ├── firmware.hex
    └── src
        ├── dependencies.d
        ├── sketch.cpp
        ├── sketch.d
        └── sketch.o

4 directories, 48 files

Ino configuration:

$ cat ~/.inorc
[build]
arduino-dist = /Users/matti/Applications/Arduino.app/Contents/Resources/Java/

[upload]
serial-port = /dev/cu.usbmodem1411

[serial]
serial-port = /dev/cu.usbmodem1411

Python:

$ python --version
Python 2.7.2

OS:

$ sw_vers
ProductName:    Mac OS X
ProductVersion: 10.8.2
BuildVersion:   12C60

Works when firmware.hex is moved into correct place by hand

$ cp .build/uno-839e218f/firmware.hex .build/uno
$ ino upload

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.00s

avrdude: Device signature = 0x1e950f
avrdude: reading input file ".build/uno/firmware.hex"
avrdude: writing flash (1076 bytes):

Writing | ################################################## | 100% 0.18s

avrdude: 1076 bytes of flash written
avrdude: verifying flash memory against .build/uno/firmware.hex:
avrdude: load data flash data from input file .build/uno/firmware.hex:
avrdude: input file .build/uno/firmware.hex contains 1076 bytes
avrdude: reading on-chip flash data:

Reading | ################################################## | 100% 0.14s

avrdude: verifying ...
avrdude: 1076 bytes of flash verified

avrdude: safemode: Fuses OK

avrdude done.  Thank you.

Call to picocom

First of all, I just discovered ino, and am finding it essential to developing for the Uno on Linux, as the included GUI IDE is so clunky and Java-y, and the makefile included with the debian package 'arduino-core' does not seem to work well for the Uno. Thank you dearly for developing this magnificent jewel! The one imperfection I found (or rather, incongruency with my own habits) is that since the command 'ino serial' seems to call picocom only with default and hard-coded settings. This would not be a problem but that I like to use GNU Screen, and have long since become accustomed to ctrl-a being the escape sequence for that program. Thus, running 'ino serial' in a screen session cannot be interupted by ctrl-a because screen would intercept that as its own escape sequence; I wind up just stopping picocom with a 'killall picocom'. Perhaps a way to specify additional arguments for the picocom call in the 'ino serial' command could rectify this, as it seems that picocom's escape sequence is a command line configurable parameter; if only picocom had a config file I could change, I would, but alas it seems it has not.

Other than that, I can only say that 'ino' is just about the best piece of software I have found in a long time that did not come from a debian repository. IMHO it seems like it should be packaged with the 'testing' and 'unstable' of 'arduino-core'; if I ever get the time, I might offer to maintain the deb myself.

Sincerely, and perpetually in your debt,
Jason Daniel Augustine Gilliland
2012-01-26T1815EST

ino build doesn't call "ino preproc" correctly.

OS: FreeBSD 9.0
Ino Version: unknown (there's no -v switch), I installed today using easy_install
Arduino: 1.0.3

Just made a new empty project:

$ md inotest
$ cd inotest
$ ino build
Searching for Board description file (boards.txt) ... /usr/local/share/arduino/hardware/arduino/boards.txt
Searching for Arduino lib version file (version.txt) ... /usr/local/share/arduino/lib/version.txt
Detecting Arduino software version ... 1.0 (1.0.3)
Searching for Arduino core library ... /usr/local/share/arduino/hardware/arduino/cores/arduino
Searching for Arduino standard libraries ... /usr/local/share/arduino/libraries
Searching for Arduino variants directory ... /usr/local/share/arduino/hardware/arduino/variants
Searching for avr-gcc ... /usr/local/share/arduino/hardware/tools/avr/bin/avr-gcc
Searching for avr-g++ ... /usr/local/share/arduino/hardware/tools/avr/bin/avr-g++
Searching for avr-ar ... /usr/local/share/arduino/hardware/tools/avr/bin/avr-ar
Searching for avr-objcopy ... /usr/local/share/arduino/hardware/tools/avr/bin/avr-objcopy
src/sketch.ino
usage: ino preproc [-h] [-d PATH] [-o OUTPUT] sketch
ino preproc: error: too few arguments
*** Error code 2

Stop in /usr/home/mad/tmp/inotest.
Make failed with code 1

Also there's no verbose switch to see, what it did (or tried to do).

If I call preproc manually, it works:

$ ino preproc src/sketch.ino

include <Arduino.h>

void setup();
void loop();

line 1 "src/sketch.ino"

define LED_PIN 13

void setup()
{
pinMode(LED_PIN, OUTPUT);
}

void loop()
{
digitalWrite(LED_PIN, HIGH);
delay(100);
digitalWrite(LED_PIN, LOW);
delay(900);
}

It also didn't find the boards.txt file, while it was there, only somewhere else. That's FreeBSD which has other locations as linux. Since it is not possible to tell ino where to find boards.txt (config, switch, env, whatever), I had to create a symlink.

And - btw - a manpage would be nice :)

PS: ok, these are multiple issues. The one which is important is the preproc bug.

Function not declared.

Hi,

When you try to compile the "BarometricPressureWebServer" example, compilation fails, because the functions declared at the bottom of the file are not found in the main() and setup() functions.
The official IDE adds function prototypes at the top of the file, right under #include "Arduino.h", so this error does not occur.

Fabian

upload faild, wrong build

first:

[alex@dhcppc0 first]$ ino upload
Guessing serial port ... /dev/ttyACM0

avrdude: Can't find programmer id "arduino"

but

[alex@dhcppc0 first]$ avrdude -c arduino
avrdude: No AVR part has been specified, use "-p Part"

I dont understant why.
So i did

[alex@dhcppc0 first]$ cd .build/
avrdude -V -F -c arduino -p atmega328p -P /dev/ttyACM0 -U flash:w:firmware.hex 

It's uploaded. But code(Blink) Does not work. LED is lit and not flashing. I know, that it is posible, if compilation was under another platform. So i did

ino build -m atmega328

But a have got the same result.

Building for Leonardo fails

Hi,
I'm trying to compile and upload the blink example to a Arduino Leonardo but I'm getting stuck at the following error:

Searching for Board description file (boards.txt) ... /usr/share/arduino/hardware/arduino/boards.txt
Searching for Arduino lib version file (version.txt) ... /usr/share/arduino/lib/version.txt
Detecting Arduino software version ...  1.0 (1.0.1)
Searching for Arduino core library ... /usr/share/arduino/hardware/arduino/cores/arduino
Searching for Arduino standard libraries ... /usr/share/arduino/libraries
Searching for Arduino variants directory ... /usr/share/arduino/hardware/arduino/variants
Searching for avr-gcc ... /usr/local/sbin/avr-gcc
Searching for avr-g++ ... /usr/local/sbin/avr-g++
Searching for avr-ar ... /usr/bin/avr-ar
Searching for avr-objcopy ... /usr/bin/avr-objcopy
src/sketch.ino
Searching for Arduino lib version file (version.txt) ... /usr/share/arduino/lib/version.txt
Detecting Arduino software version ...  1.0 (1.0.1)
Scanning dependencies of src
Scanning dependencies of arduino
src/sketch.cpp
arduino/wiring_shift.c
arduino/wiring_pulse.c
arduino/WInterrupts.c
arduino/wiring.c
arduino/wiring_digital.c
arduino/wiring_analog.c
arduino/Tone.cpp
arduino/Stream.cpp
arduino/Print.cpp
arduino/WMath.cpp
arduino/new.cpp
arduino/USBCore.cpp
/usr/share/arduino/hardware/arduino/cores/arduino/USBCore.cpp:78: error: ‘USB_VID’ was not declared in this scope
/usr/share/arduino/hardware/arduino/cores/arduino/USBCore.cpp:78: error: ‘USB_PID’ was not declared in this scope
/usr/share/arduino/hardware/arduino/cores/arduino/USBCore.cpp:81: error: ‘USB_VID’ was not declared in this scope
/usr/share/arduino/hardware/arduino/cores/arduino/USBCore.cpp:81: error: ‘USB_PID’ was not declared in this scope
make: *** [.build/arduino/USBCore.o] Error 1
Make failed with code 2

It happends with both, the avr-gcc from the repos (Arch Linux) and the avr-gcc shipped with arduino...

ino build failed on Mac OS X

ino build --verbose
.build/arduino/wiring_pulse.d:1: *** missing separator.  Stop.
Make failed with code 2

The problem seems to be releated with the following command during the build process :

/Applications/Arduino.app/Contents/Resources/Java/hardware/tools/avr/bin/avr-gcc [...] /Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/cores/arduino/wiring_pulse.c > .build/arduino/wiring_pulse.d

If I execute it manually, the file differs from the one generated by the automated build at the first line :

-n .build/arduino/wiring_pulse.d .build/arduino/
wiring_pulse.o:  \

The line beginning with -n seems to be the problem.

I am using Arduino 1.0 and ino 0.3.3 installed through pip 1.1 with python 2.7.1 on Mac OS X 10.7.3

How to declare location of includes

When I try and build the blink sketch in the quick start i get the following error.

In file included from .build/mini/src/sketch.cpp:1:
/usr/share/arduino/hardware/arduino/cores/arduino/Arduino.h:4:20: error: stdlib.h: No such file or directory

stdlib.h does exist in this directory:
/usr/share/arduino/hardware/tools/avr/include

How do I tell INO where the location of the includes is?

python --version
Python 2.6.6

Arduino Version 1.0.2

Detecting Arduino version on Ubuntu

Hi guys, nice project! :)

Here's what I have:

  • Ubuntu Linux 3.0.0-12-generic #20-Ubuntu SMP Fri Oct 7 14:56:25 UTC 2011 x86_64 x86_64 x86_64 GNU/Linux
  • Arduino, installed from ubuntu repo (sudo apt-get install arduino), package version 0022+dfsg-4ubuntu0.1

And here's what I get when I try to build some sketch:

Detecting Arduino software version ...
Traceback (most recent call last):
File "/usr/local/bin/ino", line 6, in
main()
File "/usr/local/lib/python2.7/dist-packages/ino/runner.py", line 63, in main
args.func(args)
File "/usr/local/lib/python2.7/dist-packages/ino/commands/build.py", line 175, in run
self.discover()
File "/usr/local/lib/python2.7/dist-packages/ino/commands/build.py", line 62, in discover
self.e['arduino_lib_version'] = v = int(f.read().strip())
ValueError: invalid literal for int() with base 10: '0022ubuntu0.1'

Seems like build.py expecting something like 22 in version :)
I don't know python, php is my primary lang now, so can't fix it quickly.

Thanks again!
P.S.: на англ. ибо мало ли кому еще пригодиться ))

Can't compile basic Ethernet sketch

Can compile the simple code below (Arduino 1.0.2, Ubuntu 12.04).:

#include <SPI.h>
#include <Ethernet.h>
byte mac[] = {  
  0xXX, 0xXX, 0xXX, 0xXX, 0xXX, 0xXX };

EthernetClient client;

void setup()
{
  Ethernet.begin(mac);
}
void loop(){}

Throws this error:

WiFi/WiFiClient.cpp
In file included from /usr/share/arduino/hardware/arduino/cores/arduino/Arduino.h:192,
                 from /usr/share/arduino/libraries/SPI/SPI.h:15,
                 from /usr/share/arduino/libraries/Ethernet/utility/w5100.h:14,
                 from /usr/share/arduino/libraries/Ethernet/utility/socket.h:4,
                 from /usr/share/arduino/libraries/WiFi/WiFiClient.cpp:4:
/usr/share/arduino/hardware/arduino/cores/arduino/WString.h:116: error: declaration of C function ‘StringSumHelper& operator+(const StringSumHelper&, const char*)’ conflicts with
/usr/share/arduino/hardware/arduino/cores/arduino/WString.h:115: error: previous declaration ‘StringSumHelper& operator+(const StringSumHelper&, const String&)’ here
/usr/share/arduino/hardware/arduino/cores/arduino/WString.h:117: error: declaration of C function ‘StringSumHelper& operator+(const StringSumHelper&, char)’ conflicts with
/usr/share/arduino/hardware/arduino/cores/arduino/WString.h:116: error: previous declaration ‘StringSumHelper& operator+(const StringSumHelper&, const char*)’ here
/usr/share/arduino/hardware/arduino/cores/arduino/WString.h:118: error: declaration of C function ‘StringSumHelper& operator+(const StringSumHelper&, unsigned char)’ conflicts with
/usr/share/arduino/hardware/arduino/cores/arduino/WString.h:117: error: previous declaration ‘StringSumHelper& operator+(const StringSumHelper&, char)’ here
/usr/share/arduino/hardware/arduino/cores/arduino/WString.h:119: error: declaration of C function ‘StringSumHelper& operator+(const StringSumHelper&, int)’ conflicts with
/usr/share/arduino/hardware/arduino/cores/arduino/WString.h:118: error: previous declaration ‘StringSumHelper& operator+(const StringSumHelper&, unsigned char)’ here
/usr/share/arduino/hardware/arduino/cores/arduino/WString.h:120: error: declaration of C function ‘StringSumHelper& operator+(const StringSumHelper&, unsigned int)’ conflicts with
/usr/share/arduino/hardware/arduino/cores/arduino/WString.h:119: error: previous declaration ‘StringSumHelper& operator+(const StringSumHelper&, int)’ here
/usr/share/arduino/hardware/arduino/cores/arduino/WString.h:121: error: declaration of C function ‘StringSumHelper& operator+(const StringSumHelper&, long int)’ conflicts with
/usr/share/arduino/hardware/arduino/cores/arduino/WString.h:120: error: previous declaration ‘StringSumHelper& operator+(const StringSumHelper&, unsigned int)’ here
/usr/share/arduino/hardware/arduino/cores/arduino/WString.h:122: error: declaration of C function ‘StringSumHelper& operator+(const StringSumHelper&, long unsigned int)’ conflicts with
/usr/share/arduino/hardware/arduino/cores/arduino/WString.h:121: error: previous declaration ‘StringSumHelper& operator+(const StringSumHelper&, long int)’ here
In file included from /usr/share/arduino/libraries/SPI/SPI.h:15,
                 from /usr/share/arduino/libraries/Ethernet/utility/w5100.h:14,
                 from /usr/share/arduino/libraries/Ethernet/utility/socket.h:4,
                 from /usr/share/arduino/libraries/WiFi/WiFiClient.cpp:4:
/usr/share/arduino/hardware/arduino/cores/arduino/Arduino.h:196: error: declaration of C function ‘uint16_t makeWord(byte, byte)’ conflicts with
/usr/share/arduino/hardware/arduino/cores/arduino/Arduino.h:195: error: previous declaration ‘uint16_t makeWord(uint16_t)’ here
/usr/share/arduino/hardware/arduino/cores/arduino/Arduino.h:206: error: declaration of C function ‘long int random(long int)’ conflicts with
/usr/share/arduino/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/../../../avr/include/stdlib.h:504: error: previous declaration ‘long int random()’ here
/usr/share/arduino/hardware/arduino/cores/arduino/Arduino.h:207: error: declaration of C function ‘long int random(long int, long int)’ conflicts with
/usr/share/arduino/hardware/arduino/cores/arduino/Arduino.h:206: error: previous declaration ‘long int random(long int)’ here
/usr/share/arduino/libraries/WiFi/WiFiClient.cpp: In member function ‘uint8_t WiFiClient::getFirstSocket()’:
/usr/share/arduino/libraries/WiFi/WiFiClient.cpp:177: error: ‘SOCK_NOT_AVAIL’ was not declared in this scope
make: *** [.build/uno/WiFi/WiFiClient.o] Error 1
Make failed with code 2

stdlib.h

I'm creating the example blink project and trying to build it using: "ino build"

I'm getting a fatal error while trying to locate stdlib.h - but I wrote a quick c program and included the stdlib.h and the c program compiled fine. I pasted the ino build information below:

bash-4.1$ ino build
Searching for Board description file (boards.txt) ... /usr/local/share/arduino/hardware/arduino/boards.txt
Searching for Arduino lib version file (version.txt) ... /usr/local/share/arduino/lib/version.txt
Detecting Arduino software version ... 1.0 (1.0.1)
Searching for Arduino core library ... /usr/local/share/arduino/hardware/arduino/cores/arduino
Searching for Arduino standard libraries ... /usr/local/share/arduino/libraries
Searching for Arduino variants directory ... /usr/local/share/arduino/hardware/arduino/variants
Searching for avr-gcc ... /usr/bin/avr-gcc
Searching for avr-g++ ... /usr/bin/avr-g++
Searching for avr-ar ... /usr/bin/avr-ar
Searching for avr-objcopy ... /usr/bin/avr-objcopy
src/sketch.ino
Searching for Arduino lib version file (version.txt) ... /usr/local/share/arduino/lib/version.txt
Detecting Arduino software version ... 1.0 (1.0.1)
Scanning dependencies of src
/usr/local/share/arduino/hardware/arduino/cores/arduino/WMath.cpp:27:22: fatal error: stdlib.h: No such file or directory
compilation terminated.
make: *** [.build/arduino/WMath.d] Error 1
Make failed with code 2

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.