Show Posts
Pages: 1 ... 31 32 [33] 34 35 ... 42
481  Development / Suggestions for the Arduino Project / Re: Arduino Pro Mini + 1.0 RC2 + RF24 on: November 14, 2011, 05:41:14 pm
Arduino 1.0 renamed the header files, which breaks nearly all 3rd party libraries.

Usually replacing any includes of WProgram.h with this solves the problem:

#if ARDUINO >= 100
#include "Arduino.h"
#else
#include "WProgram.h"
#endif
482  Development / Suggestions for the Arduino Project / Re: Compile Speed - testing & feedback needed! on: November 14, 2011, 10:04:57 am
I have done everything I possibly can to get this improvement into the official Arduino, even to the point of making a video demonstration to solicit more beta testing, since the Arduino Team believed this feature might be too risky without more testing.

My basic feeling is it's nearly impossible to contribute anything to Arduino, other than specific bug fixes.  Even "patches welcome" doesn't mean contributed code will actually be used.  For example:

http://code.google.com/p/arduino/issues/detail?id=550

Here's another example, where a feature was requested (by the Arduino Team), and I went to the trouble to produce a patch, and screenshots.  They didn't like the syntax I chose, but indicated the feature itself was good.  So after some back-and-forth to clarify what syntax would be desired, I pretty much redesigned the entire thing and submitted a second patch.  It has sat unused for 1 YEAR.

http://code.google.com/p/arduino/issues/detail?id=257

I'm particularly bitter about the very substantial work I put into that redesign.  The original approach tried to limit the scope of changes within Arduino.  Since they haven't used it, I'm left with a larger patch set which I maintain separately for Teensyduino.  Never again will I rework a patch like that.

Quote
I'm hoping that Arduino will eventually go to a make-based compilation, even if the default behavior is to recompile everything.

Bill, you know a make-based build has been brought up over and over on the developer mail list.  The idea has been consistently rejected.

Given how hard it is to get any patch accepted (other than specific fixes to accepted bugs), even in cases like these where the idea was approved, even when "patches welcome" is said, obviously there's zero chance Arduino will ever use make, even if someone is foolish enough to try contributing that code.


The Teensyduino installer is my kludge to avoid completely forking Arduino.  In hindsight, forking would be easier.  My installer is NOT version independent.  With each new Arduino version, it needs to be updated.  It only works well because I put a huge amount of work into ongoing maintenance.  I'm a little crazy like that....

I keep hoping Arduino will be more open.  In hindsight, I regret putting so much work into sharing this compile speedup.  I've easily spent 10X more time trying to get Arduino to actually use it than I did writing it in the first place!
483  Development / Suggestions for the Arduino Project / Re: Compile Speed - testing & feedback needed! on: November 12, 2011, 01:35:55 pm
Yes, the upload to Arduino is slow due to the limited serial speed.  It's hard to notice how long the compile takes, because the slow upload takes much longer.

I developed this compile speedup for Teensyduino, which uses the 32u4 chip (and has been Arduino compatible for nearly 2 years).  If you've never tried a Teensy, you'll probably be surprised how fast uploading code is.  With Teensy's fast data transfer speed, recompiling everything became most of the wait, but this change eliminates most of that wait too.

Here's a video I recently uploaded.  Check out the upload speed.  It's at approx 0:42 in the video.



Did you actually try this speedup?  How much speedup difference does it make on your computer?
484  Development / Suggestions for the Arduino Project / Re: A good addition for stand-alone arduino users. on: November 02, 2011, 03:07:35 pm
Also, it's worth mentioning issue 690.

http://code.google.com/p/arduino/issues/detail?id=690

Since David created this issue, it seems likely he might accept  a patch if it were implemented as a tools menu plugin.

That wouldn't allow seamlessly integrating a non-avrdude backend, so I'm not planning to work on this.  But maybe someone who feels strongly about HEX file output might do the work and submit a patch?
485  Development / Suggestions for the Arduino Project / Re: A good addition for stand-alone arduino users. on: November 02, 2011, 02:38:33 pm
Yes, if you have installed Teensyduino, then your Arduino IDE has been patched to recognize those directives in your boards.txt file.  They are not limited to Teensy in any way.  You are welcome to use them.

The modified java source code is copied to a "src" folder within your Arduino folder.  On a mac, control-click on Arduino and select "show package contents".  On Windows and Linux, you can see inside the Arduino folder as normal files.

I submitted this as a patch the developer mail list on December 23, 2008 and again January 1, 2009.  It was rejected on January 3, 2009, with the following explanation:

Quote
This is a small patch but a big change in philosophy.  The Arduino IDE isn't a general purpose AVR development environment.  It's a tool to support the programming of Arduino (and Arduino-compatible) boards.  Adding the ability to launch arbitrary external tools would change expectations for the software, suggesting further complex additions that would add little value for most Arduino users.

If there's interest in a general purpose AVR IDE, might it make more sense for that to be a separate application?  It could, of course, build on the source code for the Arduino environment.  Additionally, the Arduino core libraries are standard AVR C and C++ and usable independent of the IDE (e.g. with the included Makefile).

David

If this sentiment has changed and this patch would now be welcome in Arduino, I would be happy to prepare another patch against the latest in github.  But unless David speaks and specifically says this patch is welcome, there isn't much point going to that trouble.

If anyone wants to use these directives, separately from Teensy and my Teensyduino installer, I'll be happy to help (eg, separate those bits of source code from the other Teensy-specific patches).  Even though the GPL only requires providing the source, which the installer does, if you need a bit of help, all you need to do is ask.  Of course, be prepared to compile your own customized Arduino IDE (eg, JDK, ant, misc dev tools, etc).  This stuff isn't standard in the Arduino IDE, and unless opinions have changed since January 2009, it probably never will be.
486  Development / Suggestions for the Arduino Project / Re: Serial Monitor Suggestion-Could we please be allowed to change the Font SIZE? on: October 31, 2011, 03:30:49 pm
I uploaded another patch to issue 550.  This new patch makes both the serial monitor and console panel (error messages) use the editor font size selected in Preferences.

http://code.google.com/p/arduino/issues/detail?id=550
487  Development / Suggestions for the Arduino Project / Re: Why not (finally) expose main.cpp to the user ? on: October 27, 2011, 04:05:24 pm
Bump.

This patch became part of 1.0-rc2.  Anyone who really cares about main() might want to give 1.0-rc2 a try before 1.0 officially releases?

http://code.google.com/p/arduino/wiki/Arduino1
488  Development / Suggestions for the Arduino Project / Re: Serial Monitor Suggestion-Could we please be allowed to change the Font SIZE? on: October 27, 2011, 03:56:08 pm
I submitted a patch to issue 550.  It makes the serial monitor font the same size as the editor font.

You can change the editor font size in the preferences dialog box.
489  Development / Suggestions for the Arduino Project / Re: Arduino/Processing and Java RT – save 2x110 MB of disk space. on: October 25, 2011, 07:50:12 pm
Be careful what you wish for!

The Linux version includes pretty much nothing extra, no JRE, not even the avr-gcc toolchain.  It's a tiny download (at least relative to Windows and Mac), but the downside is all sorts of compatibility issues that change in subtle ways over the years.

Just because everything seems to work fine if you delete the bundled JRE on your own machine doesn't necessarily mean it will always be so for everybody, across many versions of Windows and Java spanning 10 years, both now and especially into the future as Microsoft and Oracle change their platforms.
490  Development / Suggestions for the Arduino Project / Re: Serial Monitor Suggestion-Could we please be allowed to change the Font SIZE? on: October 24, 2011, 08:13:20 pm
Maybe like issue 550.  I filed this bug after helping someone with limited vision get started with Arduino.  Sadly, he just couldn't make use of the serial monitor.

http://code.google.com/p/arduino/issues/detail?id=550

So far this issue hasn't been accepted, not to mention given a milestone.
491  Development / Suggestions for the Arduino Project / Re: Regression between uno and uno R2 VALIDATED. HARDWARE PROBLEM CONFIRMED on: October 24, 2011, 04:20:26 pm
It might be difficult to add anything to the 8u2 firmware, since it currently fills all but 6 bytes of the available space.
492  Development / Suggestions for the Arduino Project / Re: Why not (finally) expose main.cpp to the user ? on: October 23, 2011, 01:33:35 pm
Done, issue #691, including a patch!  smiley

http://code.google.com/p/arduino/issues/detail?id=691

493  Using Arduino / Project Guidance / Re: Sanguino, servo, LCD, and serial... on: October 20, 2011, 06:56:52 pm
This sounds like issue 146

http://code.google.com/p/arduino/issues/detail?id=146

Maybe Sanguino never implemented this fix?

Just look at digitalWrite() inside wiring_digital.c to see if it's properly disabling interrupts when writing to the port register through the pointer.  Copy the fix from issue 146 and your jitters will probably be a thing of the past.
494  Development / Suggestions for the Arduino Project / Re: Why not (finally) expose main.cpp to the user ? on: October 19, 2011, 08:15:37 am
I believe the idea was to allow 3rd party boards to use the standard Arduino core more easily.  All the pinout-specific stuff is supposed to go into a single header file, and boards.txt can specify the directory.  So in theory, a board which only needs to customize pins could just add a directory and its own copy of pins_arduino.h, and not need to modify any files, except perhaps boards.txt.

Compiling the code into main.cpp was probably just an oversight?  It very likely belongs in either wiring_digital.c (where it's actually used), or in its own dedicated .c file (as it was in prior to 1.0).

If you delete the ARDUINO_MAIN line from main.cpp, and add it into wiring_digital.c like this:

Code:
#define ARDUINO_MAIN
#include "wiring_private.h"
#include "pins_arduino.h"

I believe that solves this problem.
495  Development / Suggestions for the Arduino Project / Re: Why not (finally) expose main.cpp to the user ? on: October 16, 2011, 04:05:30 pm
You CAN use main() instead of setup() and loop().  Really, yes, you can.

Quote
void setup() {
  Serial.begin(9600);
  Serial.println("setup does not run");
}

void loop() {
  Serial.println("loop does not run");
}

int main() {
  init();
  Serial.begin(9600);
  while (1) {
    Serial.println("My main is running");
    delay(1000);
  }
}

This works because main() is inside the core, which gets compiled to a ".a" library archive.  If you use any function with the same name, the linker will put your copy into the final output, rather than the one from the library.

So go ahead and use main().  The ability to do so has been there all along.  Just make sure you call init() to initialize the hardware, so things like millis() and delay() will work properly.
Pages: 1 ... 31 32 [33] 34 35 ... 42