IDE 1.5.2 released!

Just released the version 1.5.2.
Enjoy!

Changelog:

ARDUINO 1.5.2 BETA - 2013.02.06

[ide]

  • Scrollable editor tabs (Shigheru KANEMOTO)
  • Scrollable menus
  • Portable Arduino (Shigeru KANEMOTO)
  • Default sketchbook folder for linux is now "Arduino"
  • Fixed IDE startup bug "Menu has no enabled items"
  • Command line build.
  • Fixed some language strings (Shigeru KANEMOTO)
  • Fix to boards.txt: added Micro and fixed Lilypad bootloader path
  • Removed check for ".h" existence in libraries.
  • Deleting tab from IDE does not delete from temporary folder
  • Fixed NPE when unknown boards/platforms are selected in preferences
  • Extended command line build flags
  • Undo/Redo move cursor and focus to where the code has been undone/redone

[arduino core]

  • sam: attachInterrupt() now works also on pins that belongs to PORTD
  • sam: portOutputRegister() is now writeable.
  • sam: fixed issue on weak-symbol for some interrupt handlers
  • sam: fixed BSoD on some Windows machine (louismdavis)
  • sam: added CANRX1/CANTX1 pins 88/89 (same physical pin for 66/53)
  • sam: fixed analogWrite when used in very thight write loops (V.Dorrich)
  • sam: fixed SerialUSB.write() while sending big buffers (Bill Dreschel)
  • sam: SerialUSB receive buffer size is now 512 (PeterVH)
  • sam: Fixed SerialUSB data handshake when host sends a lot of data (PeterVH, stimmer)

[libraries]

  • sam: Added Servo library
  • sam: Added WiFi library
  • Fixed USBHost MouseController example

[other]

  • Merged all improvements made in Arduino IDE 1.0.3
  • Merged all improvements made in Arduino IDE 1.0.4 (not yet released)

ARDUINO 1.0.4 - Not yet released.

[core]

  • Fixed malloc bug (Paul Stoffregen)

[libraries]

  • Fixed memory leak when calling Ethernet.begin() multiple times.
  • Fixed SD example listfiles.ino
  • Fixed a lot of Esplora examples

[environment]

  • Sort entries in preferences.txt (Shigeru Kanemoto)
  • Fixed some wrong translations
  • Fixed NPE due to permissions IO error
  • Updated drivers for Windows (all-in-one, signature for Win8)

Yay!!!

Grazie mille Cristian for this new release and for all the effort you have put into during all these weeks!

The interrupt hooks for Due are great! Now RTOS ports run with no mods to Arduino 1.5.2. I will soon post 1.5.2 updates for all RTOS ports.

Now the not so good news for AVR. The new malloc() does not work in threads unless their stack is above the heap.

Here is the gotcha in malloc:

	cp = STACK_POINTER() - __MALLOC_MARGIN__;
	if (cp <= __brkval)
	  /*
	   * Memory exhausted.
	   */
	  return 0;

If the stack pointer is below the heap, malloc() fails.

Personally I think this is a good thing. It enforces the embedded systems rule, "dynamic memory shall not be used after setup".

Due to its risk, dynamic memory allocation is forbidden, under the DO-178B standard, in safety-critical embedded avionics code.

Hello Cristian,
For the new CAN API, the following lines should be added to variant.h

/*
 * Complementary CAN pins
 */
static const uint8_t CAN1RX = 88;
static const uint8_t CAN1TX = 89;

// CAN0
#define PINS_CAN0            (90u)
// CAN1
#define PINS_CAN1            (91u)

Regards, Wilfredo

The verbose output for the Uno upload is not being honored. The IDE and the preferences.txt file are set correctly. However, it is working in the Due.

I don't know if this normal but my arduino mega 1280 serial port ID cannot be seen from IDE's Tools/SerialPort so impossible to download any sketch.

  • sam: fixed BSoD on some Windows machine (louismdavis)

NOT fixed on my PC (Native port, W7SP1x64).

You may have old Native port USB core code on the Due, which can cause the BSOD. Try uploading a basic sketch (with the new IDE) via the Due Programming port first. This should update the Native port USB core code on the Due. Then try again connecting to the Due Native port on your PC.

hm looks like I can't upload to mega 2560, is it just me?

ndanl:
hm looks like I can't upload to mega 2560, is it just me?

I've tested both my mega 2560 rev 2 and rev 3, uploading works.

Now as posted before, mega 1280 does not upload because IDE can't find its USB port !