Build failure. Is Industruino 1286 compatible with Arduino 1.6.6 on OSX El Capitan?

I have read that similar errors messages are posted by others. I haven't found a solution. Therefore, I'm raising an another ticket.

Industruino 1286 is not compiling(Indio_digital sketch or any other example sketch) on OSX El Capitan with Arduino 1.6.6. Changed compiler.path={runtime.ide.path}/hardware/tools/avr/bin/ of platform.txt and still not fixed.

However, It compiles on OSX El Capitan with Arduino 1.6.1 and after the same hack (compiler.path={runtime.ide.path}/hardware/tools/avr/bin/). Otherwise it throws error Cannot run program "{runtime.tools.avr-gcc.path}/bin/avr-g++": error=2, No such file or directory​ 

Following is the error message given by Arduino 1.6.6

Warning: platform.txt from core 'Industruino Boards' contains deprecated recipe.ar.pattern="{compiler.path}{compiler.ar.cmd}" {compiler.ar.flags} {compiler.ar.extra_flags} "{build.path}/{archive_file}" "{object_file}", automatically converted to recipe.ar.pattern="{compiler.path}{compiler.ar.cmd}" {compiler.ar.flags} {compiler.ar.extra_flags} "{archive_file_path}" "{object_file}". Consider upgrading this core.

Board Industruino:avr:ind1286 doesn't define a 'build.board' preference. Auto-set to: AVR_IND1286
WARNING: Category '' in library EEPROM is not valid. Setting to 'Uncategorized'
WARNING: Category '' in library SPI is not valid. Setting to 'Uncategorized'
WARNING: Category '' in library SoftwareSerial is not valid. Setting to 'Uncategorized'
WARNING: Category '' in library Wire is not valid. Setting to 'Uncategorized'
In file included from /Applications/Arduino.app/Contents/Java/hardware/Industruino/avr/cores/Industruino/LUFA/Common.h:104:0,
                 from /Applications/Arduino.app/Contents/Java/hardware/Industruino/avr/cores/Industruino/LUFA/USB.h:370,
                 from /Applications/Arduino.app/Contents/Java/hardware/Industruino/avr/cores/Industruino/LUFA/Descriptors.h:52,
                 from /Applications/Arduino.app/Contents/Java/hardware/Industruino/avr/cores/Industruino/usb_api.h:34,
                 from /Applications/Arduino.app/Contents/Java/hardware/Industruino/avr/cores/Industruino/Arduino.h:203,
                 from /Users/aravinth/Documents/Arduino/libraries/Indio/Indio.cpp:81:
/Applications/Arduino.app/Contents/Java/hardware/tools/avr/avr/include/avr/boot.h:116:6: error: #error AVR processor does not provide bootloader support!
 #    error AVR processor does not provide bootloader support!
      ^
/Applications/Arduino.app/Contents/Java/hardware/tools/avr/avr/include/avr/boot.h:127:4: error: #error Cannot find SPM Enable bit definition!
 #  error Cannot find SPM Enable bit definition!
    ^
In file included from /Applications/Arduino.app/Contents/Java/hardware/Industruino/avr/cores/Industruino/LUFA/USB.h:371:0,
                 from /Applications/Arduino.app/Contents/Java/hardware/Industruino/avr/cores/Industruino/LUFA/Descriptors.h:52,
                 from /Applications/Arduino.app/Contents/Java/hardware/Industruino/avr/cores/Industruino/usb_api.h:34,
                 from /Applications/Arduino.app/Contents/Java/hardware/Industruino/avr/cores/Industruino/Arduino.h:203,
                 from /Users/aravinth/Documents/Arduino/libraries/Indio/Indio.cpp:81:
/Applications/Arduino.app/Contents/Java/hardware/Industruino/avr/cores/Industruino/LUFA/USBMode.h:260:7: error: #error USB_DEVICE_ONLY is not available for the currently selected microcontroller model.
      #error USB_DEVICE_ONLY is not available for the currently selected microcontroller model.

       ^
/Applications/Arduino.app/Contents/Java/hardware/Industruino/avr/cores/Industruino/LUFA/USBMode.h:271:6: error: #error The currently selected device, USB mode or architecture is not supported.
     #error The currently selected device, USB mode or architecture is not supported.

      ^
In file included from /Applications/Arduino.app/Contents/Java/hardware/Industruino/avr/cores/Industruino/LUFA/USBController.h:136:0,
                 from /Applications/Arduino.app/Contents/Java/hardware/Industruino/avr/cores/Industruino/LUFA/USBTask.h:47,
                 from /Applications/Arduino.app/Contents/Java/hardware/Industruino/avr/cores/Industruino/LUFA/USB.h:372,
                 from /Applications/Arduino.app/Contents/Java/hardware/Industruino/avr/cores/Industruino/LUFA/Descriptors.h:52,
                 from /Applications/Arduino.app/Contents/Java/hardware/Industruino/avr/cores/Industruino/usb_api.h:34,
                 from /Applications/Arduino.app/Contents/Java/hardware/Industruino/avr/cores/Industruino/Arduino.h:203,
                 from /Users/aravinth/Documents/Arduino/libraries/Indio/Indio.cpp:81:
/Applications/Arduino.app/Contents/Java/hardware/Industruino/avr/cores/Industruino/LUFA/USBController_AVR8.h:114:5: error: #error No PLL prescale value available for chosen F_USB value and AVR model.
    #error No PLL prescale value available for chosen F_USB value and AVR model.

     ^
In file included from /Applications/Arduino.app/Contents/Java/hardware/Industruino/avr/cores/Industruino/LUFA/usb_cdc_hid.h:40:0,
                 from /Applications/Arduino.app/Contents/Java/hardware/Industruino/avr/cores/Industruino/usb_api.h:37,
                 from /Applications/Arduino.app/Contents/Java/hardware/Industruino/avr/cores/Industruino/Arduino.h:203,
                 from /Users/aravinth/Documents/Arduino/libraries/Indio/Indio.cpp:81:
/Applications/Arduino.app/Contents/Java/hardware/Industruino/avr/cores/Industruino/LUFA/Board.h:29:2: error: #error unsupported board
 #error unsupported board

  ^
/Applications/Arduino.app/Contents/Java/hardware/Industruino/avr/cores/Industruino/LUFA/Board.h:162:2: error: #error unsupported board
 #error unsupported board

  ^
exit status 1
Error compiling.

Aravinth
Aravinth
7
| 1 0 0
Asked on 12/22/15, 6:51 AM
0
vote
5193 Views

I've got the same issue on Windows 10 with Arduino 1.6.7.

Philipp Specht
on 1/1/16, 7:58 PM

Hello all,

I just solved this issue! (on Windows 10 and Arduino 1.6.8)

All I had to do was compare files and structure between arduino and Industruino hadware folders.

What I did was:

- move the contents of Industruino in a new avr subfolder:

I don't know if this is needed as I did it first, but it replicates exactly the arduino folder structure

- add a build.board definition in boards.txt according to the id in avrdude.conf:

=> ind1286.build.board=usb1286

- uncomment the bootloader.path in boards.txt or, as I actually did, add the path to bootloader.file:

=> ind1286.bootloader.file=ind1286\Bootloader.hex

- and last, as it couldn't find the compiler tool, copy platform.txt and programmers.txt from arduino/avr to Industruino/avr

Now it works normally.

A final note, I suggest when something does not work, to try and reduce the problem to the bare minimum, by loading an empty sketch or a basic sample on the suspected function.

It often happens to me that I waste time looking in the wrong place, so I learned to cut code into slices.

*** EDIT - UPLOADING

Hello again,

that was for compiling, now uploading also needs some investigation.

As it is, the Arduino IDE will not upload for several reasons.

This is what I figured out, a better solution would be welcome, but right now my time is running away and I need a quick solution.

First of all, the AT90USB1286 is changing port during upload, as the 32u4.

So I need to press reset and change port to upload code.

Second, it requires AVR109 protocol, which is not in the programmers list of arduino IDE.

So I opened the programmers.txt file just created in Industruino/avr, emptied it completely and wrote the following:

ind1286.name=Industruino USB1286
ind1286.communication=usb
ind1286.protocol=avr109
ind1286.program.protocol=avr109
ind1286.program.tool=avrdude
ind1286.program.extra_params=

This will add a new programmer which actually uploads the code.

I can't go any further right now, maybe someone can complete this work.

 

***FURTHER EDIT - LIBRARIES

As it looks, some very basic libraries like <Wire.h> are stored in the hardware/arduino/avr/libraries directory, so these are unaccessible from USB1286

My quick and dirty solution has been to copy the libraries folder from hardware/arduino/avr to hardware/Industruino/avr

As different hardware might have different libraries, this work but can still be improved.

***WIRE.H PINS DEFINITIONS

As part of all this, would you believe Arduino IDE gets the wrong pin definitons for <Wire.h> and all subsequent functions?

So I found the ​<pins_arduino.h> included in the hardware/Industruino folder and I copied it directly into the libraries/Wire folder, in order to give it precedence over all other files.

It works, althought I wish I knew a lot more in detail how all this works.

 

Stefano Giuseppe Bonvini
Stefano Giuseppe Bonvini
577
| 2 0 2
Answered on 3/31/16, 8:30 AM
1
vote

I can use 1.6.5 on OSX but not 1.6.7.

Gary Huband
Gary Huband
57
| 4 1 1
Answered on 1/2/16, 8:21 PM
0
vote

Your answer

Please try to give a substantial answer. If you wanted to comment on the question or answer, just use the commenting tool. Please remember that you can always revise your answers - no need to answer the same question twice. Also, please don't forget to vote - it really helps to select the best questions and answers!

Ask a Question

Keep Informed

About This Forum

This community is for professionals and enthusiasts of our products and services.

Read Guidelines

Question tools

20 follower(s)

Stats

Asked: 12/22/15, 6:51 AM
Seen: 5193 times
Last updated: 3/31/16, 11:39 AM