Hi,
I am struggling with version IDE 1.06 which is crashing my Mavericks OSx.
IDE 1.57 is stable (however with funny incompatibles!), but new Hardware integration is not the same as for 1.06.
Does someone knows how to integrate Motineo in IDE 1.5x.
Thanks in advance
Robert
What are the "funny incompatibles" ?
The Moteino core (https://github.com/LowPowerLab/Moteino/tree/master/MEGA/Core) is very lean and there is no code except some pin definitions for the MoteinoMEGA, nothing else, it should work in past IDE versions as well.
If you have simple Moteinos or MoteinoUSB you can just choose Board>Arduino UNO and it will work just fine, no need for the Moteino core.
With a Moteino MEGA (board selected Arduino Mega or Mega 2560)
Arduino: 1.5.8 (Mac OS X), Board: "Arduino Mega or Mega 2560, ATmega2560 (Mega 2560)"
Build options changed, rebuilding all
In file included from myRF69Send.ino:2:0:
/Users/Robert/Data/Our Documents/Projets Techniques/Domotic/Arduino/Sketch/libraries/RFM69/RFM69.h:83:68: error: 'RF69_IRQ_PIN' was not declared in this scope
RFM69(uint8_t slaveSelectPin=RF69_SPI_CS, uint8_t interruptPin=RF69_IRQ_PIN, bool isRFM69HW=false, uint8_t interruptNum=RF69_IRQ_NUM) {
^
/Users/Robert/Data/Our Documents/Projets Techniques/Domotic/Arduino/Sketch/libraries/RFM69/RFM69.h:83:125: error: 'RF69_IRQ_NUM' was not declared in this scope
RFM69(uint8_t slaveSelectPin=RF69_SPI_CS, uint8_t interruptPin=RF69_IRQ_PIN, bool isRFM69HW=false, uint8_t interruptNum=RF69_IRQ_NUM) {
^
myRF69Send.ino:11:7: error: call to 'RFM69::RFM69(uint8_t, uint8_t, bool, uint8_t)' uses the default argument for parameter 2, which is not yet defined
myRF69Send.ino:11:7: error: call to 'RFM69::RFM69(uint8_t, uint8_t, bool, uint8_t)' uses the default argument for parameter 4, which is not yet defined
Error compiling.
This report would have more information with
"Show verbose output during compilation"
enabled in File > Preferences.
Moteino MEGA with board selected as UNO same script
Sketch uses 5,252 bytes (16%) of program storage space. Maximum is 32,256 bytes.
Global variables use 367 bytes (17%) of dynamic memory, leaving 1,681 bytes for local variables. Maximum is 2,048 bytes.
avrdude: Expected signature for ATmega328P is 1E 95 0F
Double check chip, or use -F to override this check.
Wrong microcontroller found. Did you select the right board from the Tools > Board menu?
Incompatibilities that I know (enough for me to not use it ):
Typically:
- IDE 1.57 and 1.58 - SoftwareSerial is not working anymore (I mean compilation is OK, but data is rubbish)
- IDE 1.58 - WEBDUINO compilation generates tons of Error
Robert
For MoteinoMEGA you have to install the core files from here (https://github.com/LowPowerLab/Moteino/tree/master/MEGA/Core).
Felix
No it doesn't work
What I did
1. I have a working version IDE 1.0.6
With /Users/Robert/Data/Our Documents/Projets Techniques/Domotic/Arduino/Sketch/Hardware/Motineo/...
and I see Motineo and MotineoMEGA under Tools>Board
2. I start concurrently IDE 1.5.x and there is NO Motineo under Tools>Board
3. Looking at IDE 1.5* I see a new preference.txt file is created under /Users/xxx/Library/Arduino15
4. I couldn't find any major differences between the 1.06 and the 1.5x file, modifying the path for hardware didn't help (even using the old preference.txt under Arduino15)
5. The path for hardware for 1.58 is
last.ide.1.5.8.hardwarepath=/Applications/Arduino 1.58J7.app/Contents/Java/hardware
6. So I have made a copy of the Moteino hardware info under
/Applications/Arduino 1.58J7.app/Contents/Java/hardware/arduino/
7. I see now the new hardware under Tools>Board
8. Trying to compile a sketch I have the following message
Third-party platform.txt does not define compiler.path. Please report this to the third-party hardware maintainer.
processing.app.debug.RunnerException
at processing.app.debug.Compiler.getCommandCompilerCPP(Compiler.java:593)
at processing.app.debug.Compiler.compileFiles(Compiler.java:271)
at processing.app.debug.Compiler.compileSketch(Compiler.java:638)
at processing.app.debug.Compiler.compile(Compiler.java:121)
at processing.app.Sketch.build(Sketch.java:1588)
at processing.app.Sketch.build(Sketch.java:1508)
at processing.app.Editor$DefaultRunHandler.run(Editor.java:1912)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.NullPointerException
at processing.app.helpers.StringReplacer.replaceFromMapping(StringReplacer.java:97)
at processing.app.helpers.StringReplacer.replaceFromMapping(StringReplacer.java:89)
at processing.app.helpers.StringReplacer.formatAndSplit(StringReplacer.java:37)
at processing.app.debug.Compiler.getCommandCompilerCPP(Compiler.java:591)
... 7 more
I believe Arduino is having the Microsoft syndrome: more complex, less functional.
Robert
Any chance to try another PC? A windows PC?
Felix,
I start a new installation on a virtual Windows XP PC (IDE 1.58)
If I copy the hardware definitions (Moteino, Attiny...) under C:\Documents and Settings\Robert\My Documents\Arduino\hardware, the new boards are NOT shown.
The only success I had was by copying the \hardware directory (that contain the Motineo definitions) under C:\Program Files\Arduino\hardware\hardware
In this case I can see all the new hardware under the board menu, however while selecting the Motineo I have the following compilation error
Arduino: 1.5.8 (Windows XP), Board: "MoteinoMEGA"
Selected board depends on 'arduino' core (not installed).
Other configuration such as copying directly the Motineo definitions under :
C:\Program Files\Arduino\hardware\Moteino
Doesn't work at all.
NB: I put a note under Arduino forum, but no answers ...
Robert
All I can tell you is it works in 1.0.6 as long as you copy the files it in the right place. The IDE needs a restart to pick up changes.
Instructions to install the core and everything else there is to know are posted here: https://lowpowerlab.com/programming/#arduino
The format for defining third party hardware changed in 1.5.x.
Here are some links for you to look at.
https://github.com/arduino/Arduino/wiki/Arduino-IDE-1.5---3rd-party-Hardware-specification
https://groups.google.com/a/arduino.cc/forum/#!topic/developers/Uy7ecdkIa1M
https://groups.google.com/a/arduino.cc/forum/?fromgroups#!topic/developers/f5TGhrh8cKU
Hi,
Hey, many thanks for that, I see also the JeeLab had the same problem with its Attiny version.
I will take some time to look at the new syntax and post my result once solved.
Again thanks for your help, I the mean time I will use the Codebender which looks more stable than IDE 1.06 on Mavericks
Robert
The solution is:
Arduino 1.5x Moteino/MoteinoMEGA Arduino core files for Atmega328P/ATmega1284P based Moteinos.
New Arduino 1.5x structure: see # https://github.com/arduino/Arduino/wiki/Arduino-IDE-1.5---3rd-party-Hardware-specification
Sketch
/hardware
/Moteino
/avr
board.txt
platform.txt
programmers.txt
/bootloaders
/Moteino
/DualOptiboot_V5.0_atmega328_BlinkD9.hex
/MoteinoMEGA
/DualOptiboot_V5.0_atmega1284p_BlinkD9.hex
/variants
/MoteinoMEGA
/pins_arduino.h
So practically the modify the current files (see https:https://github.com/LowPowerLab/Moteino/tree/master/MEGA/Core).
1. By rearranging the ones of IDE 1.0x to the hierarchy structure of 1.5x (see above)
2. Slightly adapt the board.txt by adding "Moteino.upload.tool=avrdude" which is missing
3. Create a platform.txt file, which is a copy of the standard arduino one but renamed as "Moteino AVR Boards"
4. Create a empty programmers.txt file
or
install the attached ZIP file
NB:
1. I did test it with IDE 1.57 and 1.58 with the verify and upload functions ONLY (NOT with the programmer tool)
2. If IDE 1.0x and IDE 1.5x are to be used; a double hardware description is necessary (the old one and the new one) for instance as:
Sketch
/hardware
/Moteino10
.... old 1.0x
Sketch
/hardware
/Moteino15
... new 1.5x
Robert
Have you tried this with the new Arduino 1.6 ?
Just did this for 1.6 and it works too. That's also what they say in the documentation.
Quote from: rdww60 on February 14, 2015, 06:39:04 PM
Just did this for 1.6 and it works too. That's also what they say in the documentation.
Thanks for the info.
Tom
Hello all,
I got a similar error:
Arduino: 1.6.0 (Windows 7), Board: "Moteino"
Third-party platform.txt does not define compiler.path. Please report this to the third-party hardware maintainer.
Error while compiling: missing 'recipe.cpp.o.pattern' configuration parameter
This report would have more information with
"Show verbose output during compilation"
enabled in File > Preferences.
But I was not able to solve te problem
Mirko
This is only needed for MoteinoMEGAs. For regular Moteinos use ArduinoUNO target.
Quote from: Robert on February 12, 2015, 02:54:30 AM
The solution is:
Arduino 1.5x Moteino/MoteinoMEGA Arduino core files for Atmega328P/ATmega1284P based Moteinos.
New Arduino 1.5x structure: see # https://github.com/arduino/Arduino/wiki/Arduino-IDE-1.5---3rd-party-Hardware-specification
Sketch
/hardware
/Moteino
/avr
board.txt
platform.txt
programmers.txt
/bootloaders
/Moteino
/DualOptiboot_V5.0_atmega328_BlinkD9.hex
/MoteinoMEGA
/DualOptiboot_V5.0_atmega1284p_BlinkD9.hex
/variants
/MoteinoMEGA
/pins_arduino.h
So practically the modify the current files (see https:https://github.com/LowPowerLab/Moteino/tree/master/MEGA/Core).
1. By rearranging the ones of IDE 1.0x to the hierarchy structure of 1.5x (see above)
2. Slightly adapt the board.txt by adding "Moteino.upload.tool=avrdude" which is missing
3. Create a platform.txt file, which is a copy of the standard arduino one but renamed as "Moteino AVR Boards"
4. Create a empty programmers.txt file
or
install the attached ZIP file
NB:
1. I did test it with IDE 1.57 and 1.58 with the verify and upload functions ONLY (NOT with the programmer tool)
2. If IDE 1.0x and IDE 1.5x are to be used; a double hardware description is necessary (the old one and the new one) for instance as:
Sketch
/hardware
/Moteino10
.... old 1.0x
Sketch
/hardware
/Moteino15
... new 1.5x
Robert
Robert, thanks for putting together the zip file, this made it very easy to setup. A couple of comments, however:
- The folder is misspelled as 'Motineo15', rather than 'Moteino15' - a minor point but may 'bite' you later on. Also, the '15' in unnecessary unless you also use the 1.0.6 IDE. (which you do mention, but I thought I'd highlight here).
- With the included files, the IDE gives a build warning that '...doesn't define a 'build.board' preference'. This is easily corrected by adding two lines to the boards.txt file. The Moteino section gets: Moteino.build.board=AVR_MOTEINO and the MoteinoMEGA section gets: MoteinoMEGA.build.board=AVR_MOTEINOMEGA
As I said, this was very helpful and relieved most of the trepidation I had about adding a new development tool to my system.
THANKS!
Tom
Hi, I followed the suggestions and the 2 changes to the boards.txt file recomended by TomWS for installing the zip file on a Windows XP pc and using Arduino IDE 1.6.2.
I installed the zip file contents with the fixes inside my sketch folder:
C:\Documents and Settings\TomE\My Documents\Arduino\hardware\Moteino15\avr
I installed Arduino 1.6.2 in C:\Program|file\Arduino
but the Hardware folder within only has a Tools folder that has an exe called listCommPorts.exe
I try to compile the Gateway example sketch and the compiler reports:
Arduino: 1.6.2 (Windows XP), Board: "MoteinoMEGA"
Build options changed, rebuilding all
Using library RFM69 in folder: C:\Documents and Settings\TomE\My Documents\Arduino\libraries\RFM69 (legacy)
Using library SPI in folder: C:\Documents and Settings\TomE\Application Data\Arduino15\packages\arduino\hardware\avr\1.6.3\libraries\SPI
Using library SPIFlash in folder: C:\Documents and Settings\TomE\My Documents\Arduino\libraries\SPIFlash (legacy)
C:\Program Files\Arduino/hardware/tools/avr/bin/avr-g++ -c -g -Os -w -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -mmcu=atmega1284p -DF_CPU=16000000L -DARDUINO=10602 -DARDUINO_AVR_MOTEINOMEGA -DARDUINO_ARCH_AVR -IC:\Documents and Settings\TomE\Application Data\Arduino15\packages\arduino\hardware\avr\1.6.3\cores\arduino -IC:\Documents and Settings\TomE\My Documents\Arduino\hardware\Moteino15\avr\variants\MoteinoMEGA -IC:\Documents and Settings\TomE\My Documents\Arduino\libraries\RFM69 -IC:\Documents and Settings\TomE\Application Data\Arduino15\packages\arduino\hardware\avr\1.6.3\libraries\SPI -IC:\Documents and Settings\TomE\My Documents\Arduino\libraries\SPIFlash C:\DOCUME~1\TomE\LOCALS~1\Temp\build1613667701493250845.tmp\Gateway.cpp -o C:\DOCUME~1\TomE\LOCALS~1\Temp\build1613667701493250845.tmp\Gateway.cpp.o
Cannot run program "C:\Program Files\Arduino/hardware/tools/avr/bin/avr-g++": CreateProcess error=3, The system cannot find the path specified
Can anyone help me track down the solution to this?
Do I need to create an AVR and SAM folder within the in C:\Program|file\Arduino\Hardware folder and install the moteino mega core files within it?
Arduino 1.0.6 with Motenio Cores works fine. I had some free time and decided to try Arduino IDe 1.6.x,
Sometimes I wonder if the old saying is true, if it aint broke - don't fix it;
but would like to try the SPITransactions feature in the 1.6.x ide and lib with the rfm69 radio and some other spi devices on the bus.
Thanks
After some head scratching and googling it appears Ardiono IDE 1.6.2 changed where the hardware/avr/boards.txt and Variants files live.
I have successfully used Arduino IDE 1.6.2 with the MoteinoMega core files to load the example Gateway.ino sketch on a MoteinoMega and the Node.ino example sketch on a USB Moteino R4 using the UNO as the slected board.
I am using Windows XP
The trick with arduino ide 1.6.2 is to find this folder on you pc:
C:\Documents and Settings\TomE\Application Data\Arduino15\packages\arduino\hardware\avr\1.6.3
Yours may be:
C:\Documents and Settings\TomE\Application Data\Arduino15\packages\arduino\hardware\avr\1.6.2 if you have not clicked on the the Tools -> Board Manager -> Arduini AVR Boards by Arduino UPDATE button.
Assuming you have found this folder you should see:
boards.txt
platform.txt
programmers.txt
variants Folder
libraries Folder
firmwares Folder
cores Folder
bootloaders Folder
To add the MoteinoMega 'board' to arduino ide 1.6.2
1. copy the MoteinoMega section of the boards.txt file that Felix provides on his github site
to clipboard.
2. Open the boards.txt file found in your version of:
C:\Documents and Settings\TomE\Application Data\Arduino15\packages\arduino\hardware\avr\1.6.3
3. paste the MoteinoMega section at the bottom of the arduino ide 1.6.2 boards.txt files and save it. (I made a backup of the original before doing this, you may want to too)
4. Copy the MoteinoMega folder from Felix's variants folder and paste it into the arduino ide 1.6.2 variants folder
That's it.
I think to install the MoteinoMega and Moteino dualoptiboot booltloaders some tweaking needs to be done inside the arduino ide 1.6.2 bootloaders folder.
Hope this helps others.
Lots of useful info in this thread. The 1.0x IDE is very old. I'd assume that most people use 1.5 or 1.6 nowadays (including myself as well), and they really should since many improvements are added to the newer Arduino library base as well since the old version, even for 328-based parts.
@Felix: could this thread be made a sticky?
Actually I personally find 1.6+ annoying and while some things are fixed, some things are damaged and very annoying. So I am using 1.0.6 on a daily basis. But I have to support 1.6.1 since the core I released is targeted to that version. The instructions on the moteino page (http://moteino.com) are very clear how to install the core so I will leave this topic as is for now.
Well, I can see the Moteino page is reorganised and there's some indirect info on how to integrate your stuff into the 1.6 IDE. I also prefer more advanced IDEs for more serious development but I had to realise that if I want easy access for any of my open source code on the Arduino family, I better support the latest official IDE. So at least I compile and run from there at least once and only give away code that's fine on that.