New IDE 1.8.6

Related to the development libraries, released by Curt Binder
Post Reply
rimai
Posts: 12881
Joined: Fri Mar 18, 2011 6:47 pm

New IDE 1.8.6

Post by rimai »

I compiled the latest IDE 1.8.6 to test.
It will no longer have any of the tools (Restore preloaded, Wizard and Livraries Version).
Let me know if they work for you.
You will need the latest dev branch of the libraries: https://github.com/reefangel/Libraries/tree/dev

MacOSX: https://www.dropbox.com/s/jb6mstmkx5ijd ... o.zip?dl=0
Windows: https://www.dropbox.com/sh/vwvpxe1xpl7a ... B3nAa?dl=0
Roberto.
binder
Posts: 2871
Joined: Fri Mar 18, 2011 6:20 pm
Location: Illinois
Contact:

Re: New IDE 1.8.6

Post by binder »

on macOS
  • the boards are not populated and only show the default arduino boards
  • the softwareserial included library is showing the __vect9 duplicate error, which needs this commented out in the file:

    Code: Select all

    //// Commented out for ReefAngel 1.8.5 compilation - conflicts with libraries
    //#if defined(PCINT0_vect)
    //ISR(PCINT0_vect)
    //{
    //  SoftwareSerial::handle_interrupt();
    //}
    //#endif
    
rimai
Posts: 12881
Joined: Fri Mar 18, 2011 6:47 pm

Re: New IDE 1.8.6

Post by rimai »

I updated the file.
Can you try again?
Roberto.
akkord64
Posts: 13
Joined: Mon Mar 27, 2017 3:46 am

Re: New IDE 1.8.6

Post by akkord64 »

Can you also do an arm build?
binder
Posts: 2871
Joined: Fri Mar 18, 2011 6:20 pm
Location: Illinois
Contact:

Re: New IDE 1.8.6

Post by binder »

Tried it just now and it's still doing the same. No ReefAngel boards are displaying and I'm still getting the SoftwareSerial error.
(I'm using the macOS version)

edit: it didn't appear as if the file was changed, so maybe it wasn't updated on Dropbox?
binder
Posts: 2871
Joined: Fri Mar 18, 2011 6:20 pm
Location: Illinois
Contact:

Re: New IDE 1.8.6

Post by binder »

akkord64 wrote:Can you also do an arm build?
I don't think the arduino app compiles on arm or has a build script created for arm.

Sent from my XT1585 using Tapatalk
akkord64
Posts: 13
Joined: Mon Mar 27, 2017 3:46 am

Re: New IDE 1.8.6

Post by akkord64 »

It actually does support ARM. Official IDE is downloadable and its a simple build.xml modification to include the arm platform for compile.

https://crimier.wordpress.com/2015/06/1 ... pberry-pi/

I was working on a parallel compile process as your other Sierra thread was progressing, but then Roberto released this thread for testing.

I am looking to hang a RPI off the RA FTDI cable and keep a pristine Arduino IDE+Library dev environment where I can access via vnc for remote uploading.
rimai
Posts: 12881
Joined: Fri Mar 18, 2011 6:47 pm

Re: New IDE 1.8.6

Post by rimai »

I don't remember where I put my pi, but I'll push the changes to github and you should be able to compile it easily.
Roberto.
rimai
Posts: 12881
Joined: Fri Mar 18, 2011 6:47 pm

Re: New IDE 1.8.6

Post by rimai »

It's been pushed
Roberto.
binder
Posts: 2871
Joined: Fri Mar 18, 2011 6:20 pm
Location: Illinois
Contact:

Re: New IDE 1.8.6

Post by binder »

akkord64 wrote:It actually does support ARM. Official IDE is downloadable and its a simple build.xml modification to include the arm platform for compile.

https://crimier.wordpress.com/2015/06/1 ... pberry-pi/

I was working on a parallel compile process as your other Sierra thread was progressing, but then Roberto released this thread for testing.

I am looking to hang a RPI off the RA FTDI cable and keep a pristine Arduino IDE+Library dev environment where I can access via vnc for remote uploading.
good to know.
some of the issues roberto hit with this build, i encountered on mine. i got mine compiling but it was not generating the output of the features included and i didn’t have a way to test the builds as all of my devices are at work.


Sent from my iPad using Tapatalk
binder
Posts: 2871
Joined: Fri Mar 18, 2011 6:20 pm
Location: Illinois
Contact:

Re: New IDE 1.8.6

Post by binder »

I am pleased to report that 1.8.6 on macOS compiles a Plus and Star code without any errors. I have not tested uploading the code to the controller but I can say everything compiles just fine. So the latest version you have posted as the time of this post appears to works for macOS.

Like you reported, none of the "extras" work...the Libraries Version, Wizard and Restore Pre-loaded code.
I know in my attempt for building 1.8.5, I was able to get the Libraries Version function to work. Although that's not a big deal. Just sharing.
akkord64
Posts: 13
Joined: Mon Mar 27, 2017 3:46 am

Re: New IDE 1.8.6

Post by akkord64 »

I also can compile the arm version of the IDE and can compile code for the RA boards. I had to do some extraction from the MAC build to get the boards/firmwares/variants correct, but all appears well. I have an issue where the IDE is unable to find the features.txt file, but the error appears to be superficial and proceeds with the compile. When I attempt to compile an actual RA wizard generated sketch I end up with a bunch of library class errors. I will have to dig into those later. Below are my current state errors along with notes for the prerequisites and IDE compile process.

Library Errors:

Code: Select all

Arduino: 1.8.6 - Reef Angel Compilation (Linux), Board: "Reef Angel Plus Controller"

The following features were automatically added:
Watchdog Timer
Version Menu

The following features were detected:
/home/pi/Arduino
java.io.FileNotFoundException: /home/pi/Arduino/update/feature.txt (No such file or directory)
	at java.io.FileInputStream.open0(Native Method)
	at java.io.FileInputStream.open(FileInputStream.java:195)
	at java.io.FileInputStream.<init>(FileInputStream.java:138)
	at java.io.FileInputStream.<init>(FileInputStream.java:93)
	at java.io.FileReader.<init>(FileReader.java:58)
	at processing.app.Editor.ProcessFeature(Editor.java:2791)
	at processing.app.Editor.handleRun(Editor.java:1733)
	at processing.app.Editor.handleRun(Editor.java:1716)
	at processing.app.EditorToolbar.mousePressed(EditorToolbar.java:345)
	at java.awt.Component.processMouseEvent(Component.java:6530)
	at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
	at java.awt.Component.processEvent(Component.java:6298)
	at java.awt.Container.processEvent(Container.java:2238)
	at java.awt.Component.dispatchEventImpl(Component.java:4889)
	at java.awt.Container.dispatchEventImpl(Container.java:2296)
	at java.awt.Component.dispatchEvent(Component.java:4711)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4897)
	at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4531)
	at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4475)
	at java.awt.Container.dispatchEventImpl(Container.java:2282)
	at java.awt.Window.dispatchEventImpl(Window.java:2746)
	at java.awt.Component.dispatchEvent(Component.java:4711)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:760)
	at java.awt.EventQueue.access$500(EventQueue.java:97)
	at java.awt.EventQueue$3.run(EventQueue.java:709)
	at java.awt.EventQueue$3.run(EventQueue.java:703)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:90)
	at java.awt.EventQueue$4.run(EventQueue.java:733)
	at java.awt.EventQueue$4.run(EventQueue.java:731)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:730)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
Standard Menu
/home/pi/Arduino/RA_Plus_Base/RA_Plus_Base.ino: In function 'void loop()':
RA_Plus_Base:66:15: error: 'class ReefAngelClass' has no member named 'PWM'
     ReefAngel.PWM.SetChannel( 0,PWMSlope( 12,0,21,0,1,25,60,0 ) );
               ^
RA_Plus_Base:67:15: error: 'class ReefAngelClass' has no member named 'PWM'
     ReefAngel.PWM.SetChannel( 1,PWMSlope( 12,0,21,0,1,25,60,0 ) );
               ^
RA_Plus_Base:68:15: error: 'class ReefAngelClass' has no member named 'PWM'
     ReefAngel.PWM.SetChannel( 2,PWMSlope( 12,0,21,0,1,25,60,0 ) );
               ^
RA_Plus_Base:69:15: error: 'class ReefAngelClass' has no member named 'PWM'
     ReefAngel.PWM.SetChannel( 3,PWMSlope( 12,0,21,0,1,25,60,0 ) );
               ^
/home/pi/Arduino/RA_Plus_Base/RA_Plus_Base.ino: At global scope:
RA_Plus_Base:113:1: error: 'a' does not name a type
 a
 ^
exit status 1
'class ReefAngelClass' has no member named 'PWM'

This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.

Notes:

Code: Select all

//Build Guide https://github.com/arduino/Arduino/wiki/Building-Arduino
//Install Dependencies
sudo apt-get install git make gcc ant openjdk-8-jdk avrdude

//OPTIONAL - Alt Java Install - DL the JDK from Oracle then update local paths
sudo update-alternatives --install /usr/bin/javac javac /opt/jdk1.8.0_171/bin/javac 1
sudo update-alternatives --install /usr/bin/java java /opt/jdk1.8.0_171/bin/java 1
sudo update-alternatives --config javac
sudo update-alternatives --config java
//OPTIONAL - Alt Java Install

//Clone RA Arduino Repo
 git clone -b reefangel https://github.com/reefangel/Arduino.git

//Build the IDE from source
cd Arduino/build
ant dist

//Install the IDE
mkdir -p /home/$USER/.local/share/icons/hicolor/

cd linux/work
./install

-----------------------------------
Default Arduino IDE is functional at this point - Tested uploaded Blink sketch to a Mega2560 successfully
-----------------------------------

//Converting to RA Specific IDE
//Need to update boards.txt , add the Bootloader's, Add RAPlus to variants.

Download - MacOSX 1.6.8 build and extract boards.txt to hardware/arduino/avr/
Copy RA Bootloaders in hardware/arduino/avr/bootloaders/reefangel
Copy RAplus to variants/

--------------
//Download Dev Libraries
Copy Dev libraries to ~/Arduino/libraries

//Remove old Libraries from libraries/ except for SD
rm -rf Adafruit_Circuit_Playground Bridge Esplora Ethernet Firmata GSM Keyboard LiquidCrystal Mouse Robot_Control RobotIRremote Robot_Motor Servo SpacebrewYun Stepper Temboo TFT WiFi

akkord64
Posts: 13
Joined: Mon Mar 27, 2017 3:46 am

Re: New IDE 1.8.6

Post by akkord64 »

Ok resolved the features file issue by copying it from a windows build (I found an older thread where Roberto explained the IDE customization which is pretty critical!). All is well now, compiling, and updating my test mega with RA* code. Will move over and install in place, bridge the serial to network via socat and leave the Pi enabled all the time for sudo-OTA updates :) .
binder
Posts: 2871
Joined: Fri Mar 18, 2011 6:20 pm
Location: Illinois
Contact:

Re: New IDE 1.8.6

Post by binder »

nice.
maybe create a new thread describing your layout and what you did so others could possibly reproduce? it's up to you.

very cool though. :-)

Sent from my XT1585 using Tapatalk
conklech
Posts: 5
Joined: Mon Nov 05, 2018 1:25 pm

Re: New IDE 1.8.6

Post by conklech »

I can confirm that the 1.8.6 release also works on Windows, once a few files missing from the Dropbox release are copied from something else. (They're also missing from the Github page.) I had to copy boards.txt and hardware\arduino\avr\variants\RAPlus\pins_arduino.h from the MacOS release. (Which can be opened with 7zip, and probably other Windows tools.)

I also had success building and installing with a normal installation of 1.8.6, using the "mega2560" board. As far as I can tell, the only thing missing is the automatic ReefAngel_Features.h generator.

I had wasted some amount of time trying to get the installer from the "downloads" page working (reefangel.CENSORED / download.html); it might be nice to eliminate that and replace it with a link to this thread.
rimai
Posts: 12881
Joined: Fri Mar 18, 2011 6:47 pm

Re: New IDE 1.8.6

Post by rimai »

Yes, the only sigficant difference is the automatic generation of the features file.
The downloadable installer doesn't have the star board.
I decided that the webwizard was a better option for everyone and that's why this ide was never mainstream.
http://forum.reefangel.com/webwizard
Roberto.
conklech
Posts: 5
Joined: Mon Nov 05, 2018 1:25 pm

Re: New IDE 1.8.6

Post by conklech »

Yes, I agree that the webwizard is a more mainstream option; I guess the better suggestion would be to delete the 1.x download (which doesn't work) and instead link to the webwizard, with maybe also a link to this thread or forum with a comment about how to use the Arduino IDE. :)

Incidentally, the .ino file only needs to have

Code: Select all

#include <ReefAngel_Features.h>
and

Code: Select all

#include <ReefAngel.h>
now. The other includes were necessary with older Arduino versions so that it'd include all the right libraries, but it now has automatic detection of libraries included from other libraries.
rimai
Posts: 12881
Joined: Fri Mar 18, 2011 6:47 pm

Re: New IDE 1.8.6

Post by rimai »

That's good to know.
I'll try it out.
Roberto.
rimai
Posts: 12881
Joined: Fri Mar 18, 2011 6:47 pm

Re: New IDE 1.8.6

Post by rimai »

conklech wrote:Yes, I agree that the webwizard is a more mainstream option; I guess the better suggestion would be to delete the 1.x download (which doesn't work) and instead link to the webwizard, with maybe also a link to this thread or forum with a comment about how to use the Arduino IDE. :)

Incidentally, the .ino file only needs to have

Code: Select all

#include <ReefAngel_Features.h>
and

Code: Select all

#include <ReefAngel.h>
now. The other includes were necessary with older Arduino versions so that it'd include all the right libraries, but it now has automatic detection of libraries included from other libraries.
That's pretty cool.
Something must have changed.
We couldn't do that in the past.
Roberto.
conklech
Posts: 5
Joined: Mon Nov 05, 2018 1:25 pm

Re: New IDE 1.8.6

Post by conklech »

Yes, it's new since 1.6.6. I can't post links; there's a discussion at questions/6504211/ on stackoverflow. I don't know quite how it works, but I suspect it's also one of the reasons it takes so long to compile RA on Arduino. I should make a post about using PlatformIO (thanks for merging!); it's got different issues than Arduino but can do recompiles pretty quick.

The other big change in Arduino relatively recently is that the bundled version of avr-gcc now has proper C++11 support, which includes some features that can be useful to reduce the amount of RAM we require for global variables. I've been going through sort of randomly refactoring bits of the codebase trying to come up with a plan to cut RAM consumption dramatically while also allowing everything to be configured in the main sketch file, without having to modify ReefAngel_Features.h or the other header files. I'll either start a new forum topic or a pull request on Github to discuss if/when I've got a workable idea. (That's neither a threat nor a promise!)

(By the way, I'm on a quest for RAM in part because I have this crazy idea to use SK6812 RGBW LEDs, aka NeoPixels, which allow individual color+brightness control of every individual LED but would require a whole bunch of RAM since I'll need hundreds of LEDs at four bytes a pop. This is for a planted freshwater tank; I suspect the RGBW LEDs are an even worse idea for reef tanks than FW.)
rimai
Posts: 12881
Joined: Fri Mar 18, 2011 6:47 pm

Re: New IDE 1.8.6

Post by rimai »

I like the configuration from sketch, but was never able to make it work.
Let me know if you have any progress on that.
Roberto.
Post Reply