- moving back to multple cores per platform
- using target instead of platform
- moving per-board and per-programmer preferences out of Preferences.java and into a new Target class
- adding a new "target" preference
- support for platform:value values in board preferences for bootloader path and core
- XXX: need to support platform:value syntax for board upload.using preferences.
Also, the Sketchbook and Examples menus are currently disabled on the Mac to work-around a bug in Apple's implementation of Java. I think this bug may have been solved, so I should try re-enabling the menus and see what happens (on 10.4 and 10.5 and 10.6). Also, I may still need to update the jre / jdk on Linux.
The upload.verbose and build.verbose preferences are still respected.
You don't get verbose output with Command-Shift-R or Command-Shift-U, unlike Processing in which the shift modifier switches from Run to Present. Mostly this is because I didn't think verbose output deserved its own menu items, and that's how Processing implements the other shortcut.
Holding shift while pressing upload doesn't show the compilation command lines. This matches the functionality of the upload.verbose preference, but may imply that the upload button doesn't also compile the code.
Also, in Snow Leopard, the temp directory is in some crazy folder in /var. Luckily, everything still seems to work okay.
- now compiled to their own sub-directory of the build directory
- only can see #include's in their own utility/ folders
and the core (building core.a again).
Also changed the APIs of the compilation functions somewhat (e.g. execAsynchronously no longer returns anything; it just throws a RunnerException on any error).
Still need to better handle errors in #include files; right now, the error is interpreted as being at the line where the #include happens, not within the header file.
- fixing import library
- changing compilation to only look for source files in the root and utility/ folders of a library; also adding utility/ sub-folder to the include path
- removing export to application
- renaming run to verify / compile and export to upload
No longer using Library and LibraryManager. Instead the compiler finds the .c and .cpp files in the library paths (gotten from the Sketch via the Preprocessor and the Base's library table). This breaks libraries that have header files in sub-directories but use #include with no path names (as sub-directories of library directories are not on the include path). It will also cause problems with .c or .cpp files with the same name in different library utility folders or in a sketch or the target (core).
Now deriving the Target correctly from the selected item in the board menu.
- including .cpp and .c files from sketch
- adjusting error line highlighted according to the number of function prototypes generated
- taking into account preprocessor offset on the first .pde file
Compilation still has problems (Thread error on success, and can't handle non-pde files in a sketch).
Modified the Mac OS X make.sh to copy the hardware, avr tools, and example over.
Removing some of the antlr stuff.
Disabling the Commander (command-line execution) for now.
Added Library, LibraryManager, and Target.
Added support for prefixed preferences (e.g. for boards and programmers).