Arduino 0013 released.

Thanks to all who brought us this new release. :slight_smile:

A few preliminary findings when compiling one of my biggest sketches:

I got the dreaded "byte does not name . . ." when I compiled with 0013.

So I included "WProgram.h" in the main tab and it compiled fine.

(I also found I couldn't include "WProgram.h" and compile with 0011.

The big news for me was, contrary to everything I know about the software word, my sketch was smaller under the new version! :smiley: (It went from 13934 to 13394 - 540 bytes less! Yahoo!)

Thanks again for the new release. Now I don't have to feel guilty about skipping 0012.

Nice one!

Ive just tried the linux version on Ubuntu 8.10.

One bug.
The only problem I found was that /hardware/tools/avrdude.conf didnt contain the 328p stuff.
Once I added that it worked a treat.

Now I can get on with it without having to use the dreaded windows.

Gordon

Having trouble opening a second connection to the same server on Arduino 0013. Exact same code works fine in Arduino 0012 with the updated Ethernet library.

(Lots of comments because this code was intended as an example for students.)

// TEST PROGRAM FOR DEBUGGING CONNECTION PROBLEM
// by Rob Faludi, www.faludi.com

#include <Ethernet.h> // import the Ethernet library for Arduino

byte mac[] = { 
  0x02, 0xAA, 0xBB, 0xCC, 0xDD, 0x01 }; // unique id for your network interface device
  // (mac addresses starting with hex 2 indicate locally administered address)
  // http://en.wikipedia.org/wiki/MAC_address#Address_details
byte ip[] = { 
  192,168,1,20 }; // local ip address, set for your network
byte server[] = { 
  216,38,50,214 }; // Arduino.cc address
int port = 25; // port to connect to (SMTP)

Client client(server, port); // initializes your client object

#define CONNECT_BUTTON 2 // *** switch connects to _ground_, no pull-up required ***
#define CONNECT_LED 3 // lights up when you are connected to the server

boolean lastPress = HIGH; // remembers the state of the connect button


void setup() {
  pinMode(CONNECT_LED,OUTPUT); 
  
  // Activate an internal pull-up resistor for the switch. For more info see:
  // http://www.arduino.cc/en/Tutorial/DigitalPins
  pinMode(CONNECT_BUTTON,INPUT); 
  digitalWrite(CONNECT_BUTTON,HIGH); 

  Serial.begin(9600); // the serial port is used for debugging information
  Serial.println("Connect Disconnect Test v1.00");
  Ethernet.begin(mac, ip); // initialize everything needed to use Ethernet
}


void loop(){

  Serial.println(client.status(),HEX); // this shows the Wiznet status information, useful for debugging
  delay(100); // don't show the status information too often

  // CONNECTING AND DISCONNECTING
  if (digitalRead(CONNECT_BUTTON)==LOW && lastPress==HIGH) { // if the button switches states
    if (client.connected()==false) {
      connect(); // connect if we weren't connected before
    }
    else if (client.connected()==true) {
      disconnect(); // stop the client process and attempt a disconnect
    }
    lastPress = LOW; // remember the button state
  }
  if (digitalRead(CONNECT_BUTTON)==HIGH && lastPress==LOW) { // if the button switches states
    lastPress = HIGH; // remember the button state
  }

}



// CONNECT TO THE SERVER
void connect() {
  Serial.println("connecting...");
  if (client.connect()) { // try to open a connection and see if it worked
    Serial.println("connected"); // ...and let us know if it worked
    digitalWrite(CONNECT_LED,HIGH);
  } 
  else {
    Serial.println("connection failed"); // let us know if the connection fails
    disconnect(); // ...and disconnect if it does
    }
  
}

// DISCONNECT FROM THE SERVER
void disconnect() {
  Serial.println("disconnecting...");
  client.stop();

  Serial.println("\ndisconnected");
 // Serial.println(client.status(),HEX);
  digitalWrite(CONNECT_LED,LOW); // douse the lights

}

Is it possible the avrdude.conf in the 0013 Linux package has not been upgraded to include the Atmega328p? I get avrdude errors when I try to use it. I'm using Ubuntu Intrepid.
Update - I checked the avrdude.conf in arduino-0013/hardware/tools and it doesn't have a m328p section. the same file in the windows package does have it. I got my system to work by replacing avrdude.conf with the one from the Windows package.
My system had copies of avrdude.conf in /etc; in the arduino-0013 directory set; and in /usr/local/etc, so I had to make sure all of the them were replaced, since I wasn't sure which one was being used.

Some questions about this release.

  • Why are there two tarballs for linux 0013 (-linux and -linux2)?- Why do both linux tarballs differ from SVN? (No build subdirectory, for example)- Why is there no 0013 tag in SVN?I am writing an updated ebuild for Gentoo Linux and these issues are preventing me from referencing an authoritative stable and full-featured source tree for this release.

Perhaps these are just oversights, in which case I would like to politely request they be addressed asap. Alternatively, I would welcome corrections of any misunderstandings I might be experiencing.

Thanks!

The linux2 version is an updated release in which the ATmega328p definition has been added to avrdude.conf (as with the Windows and Mac OS X releases). The linux release is a "binary" release, so it doesn't include much of the SVN directory. I'll tag the release in a second.

This is really minor, but the announcement on the arduino homepage lists the release date from 2008 still:

2008.02.06 Arduino 0013 is now available (release notes): Windows, Mac OS X, Linux (32bit).

The linux release is a "binary" release, so it doesn't include much of the SVN directory.

Would you please consider uploading a full source tarball for the release as well, to help source-based distros fetch more easily when installing?

I could specify the SVN tag URL in the ebuild (and I'll have to otherwise), but that would unnecessarily add a subversion dependency to the package.

The linux2 version is an updated release in which the ATmega328p definition has been added to avrdude.conf (as with the Windows and Mac OS X releases).

Could updated releases have a minor version bump and be called something like "0013.1" for all platforms instead?

I could wrangle with the "2" as a special case designation (and I'll have to otherwise), but the process is cleaner if minor version designations are consistent.

I'll tag the release in a second.

I see that you have. Thanks!

I really appreciate all that has gone into this release, and I'm eager to help get it into the hands of lots of Gentoo users in the easiest way possible for them.

Hello!

The release notes for 0013 says:

  • Added word, word(), bitRead(), bitWrite(), bitSet(), bitClear(), bit(),
    lowByte(), and highByte(); see reference for details.

Searching the included and online versions of reference doesn't have these commands. Could that be posted here?

Also, any chance of having a bootloader for the Arduino Mini Pro 16mhz added next time around?

Thanks
Paul Garcia

As far as I can tell, the Arduino Pro Mini 16MHz is identical to a Diecimilia or Duemilanove in all fuses and speed parameters in the boards.txt file.

The only difference is that you need an FTDI attachment to do the sketch upload. If you need 5V support from the SparkFun FTDI Basic Breakout, modify it this way:

Ed -

Would you by chance know of any villages looking for a new idiot? It would appear that I just qualified.

Here I've been studying the Mini Pro home page and the getting started material. Based on your suggestion under the FAQ, I had tried the decimille selection, and got the "AVR Dude doesn't recognize" message. So I keep digging, and asking....

Never even occured to me that the FTDI basic breakout was only putting out 3.3 volts! Use 5V, and guess what? Works just fine. And you know what? On the product description page for the 5V 16 mhz Pro mini, you know what the second sentence is? "...select 'Arduino Diecimila' within the Arduino software...".

Dumb, dumb, dumb!

Thanks for your patience.
Paul Garcia

Any ETA on Arduino 0013 for Linux AMD64 ?

Thanks,

-transfinite

FYI... I just pulled the v13 zip from Google (few times) and it won't unzip. Crashes Expander every time.

Pulled the zip from arduino.cc and it worked fine.

hth

[m]

Hi ,
The referece pages in the linux tarball are obsolete, it does not include the new functions and types ( word, word(), bitRead(), bitWrite(), bitSet(), bitClear(), bit(), lowByte(), and highByte() ) .

I guess

"* Adding support for printing floats to Print class (meaning that it works
in the Serial, Ethernet, and LiquidCrystal classes too). Includes two
decimal places."

means something different than I thought since Serial.print(); still gives an error. What DOES it mean?

It shouldn't give an error. Serial.print() works for me in REL 0013 :-?
What kind of error?

woohoo thank you. I still had 010 pinned to my start menu!

Just in case it's not obvious, Serial.print(); wasn't literal. The part meant a variable or number of type float or double. Something to be printed with a decimal point.

hey!

when can i upgrade my 0012-linux-amd64 package to 0013?

bye

As soon as someone builds a version of Arduino 0013 for 64-bit Linux. Any volunteers?