Arduino 1.0 first release candidate

Arduino 1.0 está a la vuelta de la esquina, según el equipo Arduino, será liberada a finales de este mes, pero antes de eso, desde hace unos días está disponible para descarga la primera release candidate, que trae bastantes cambios y varios bastante significativos, listados al final de esta noticia.

El equipo Arduino invita a todos a probarla y a enviar comentarios sobre cualquier problema que se pueda encontrar, pueden descargarla desde el siguiente enlace:
http://code.google.com/p/arduino/wiki/Arduino1

Lista de cambios

(Perdonen la rápida traducción, comenten cualquier error para corregirlo)

Ambiente (IDE)

  • Nueva extensión de archivo (.ino).
  • Nuevos iconos en la barra de herramientas: marca de verificación (verificar) y flecha (cargar).
  • Nuevo esquema de colores, icono de documento, imagen acerca de (por hacer).
  • El nombre de placa y del puerto serie se muestran en la barra de estado en la parte inferior del editor. (de Wiring)
  • Las URLs en el código del sketch ahora son cliqueables (incidencia 148) (Christian Maglie)
  • Se muestra una barra de progreso durante la compilación y la carga. (de Wiring)
  • Soporte para carga de de sketches desde el IDE: mantener presionada la tecla mayúsculas mientras se hace clic en cargar o seleccionar “Cargar utilizando programador” en el menú Archivo. Seleccionar el programador desde el menú Herramientas del IDE.
  • Salida detallada (durante compilación o carga) ahora habilitada desde el diálogo de preferencias.

Lenguaje (API)

  • Cambio a Serial sin bloqueo escribe utilizando un búfer de transmisión.
  • Serial.flush() ahora espera a la transmisión de los datos de salida en lugar de descartar los datos recibidos de entrada.
  • Reimplementación de la biblioteca SoftwareSerial para soportar múltiples puertos (NewSoftwSerial por Mikal Hart).
  • Eliminadas bibliotecas Matrix y Sprite.
  • Serial.print(byte) ahora imprime los dígitos del número como caracteres; utilizar write() para enviar como un solo byte.
  • write(), print() y println() ahora devuelven size_t (unsigned int) en lugar de void ( incidencia 551 ): número de bytes escritos.
  • write(str) en Print ya no es virtual, por lo que las subclases de Print o Strem no pueden (pero tampoco necesitan) sobreescribirla.
  • Agregados los métodos getWriteError(), clearWriteError() y protected setWriteError() a Print; utilizar para revisar, limpiar y establecer una bandera de error.
  • Se eliminó la posibilidad de usar “client == NULL” o “client != NULL” de la biblioteca Ethernet; en su lugar utilizar “if ( client )” o “if ( !client)”.
  • Reimplementación de la clase String (Paul Stoffregen + modificaciones adicionales).
  • Se agregó soporte para cadenas de texto basadas en flash utilizando la sintaxis F(“string”).
  • Se agregó soporte DHCP y DNS a la biblioteca Ethernet (integración por Adrian McEwen).
  • Se renombraron las clases Ethernet Client, Server y UDP a EthernetClient, EthernetServer y EthernetUDP para permitir la utilización simultánea de otras bibliotecas de red.
  • Se modificó la API UDP:
    • beginPacket() / endPacket() para englobar la construcción de paquetes UDP
    • Hereda de Stream, utilizando write(), print() y println() para la construcción de paquetes UDP.
    • parsePacket() para analizar los paquetes entrantes (y revisar si hay alguno)
    • available(), read(), peek() para leer bytes del paquete entrante.
    • remoteIP(), remotePort() para obtener información del paquete entrante
  • Se agregó la clase IPAddress (Adrian McEwen).
  • Se modificó la clase Wire para heredar de Stream; p. ej. utiliza read(), write(), print(), println(), etc. Se engloban las llamadas a estas funciones con beginTransmission() y endTransmission().
  • Se agregó soporte para abrir múltiples archivos e iteración de directorios en la biblioteca de tarjetas SD (Limor Fried).
  • Se agregó la función serialEvent(), llamada automáticamente al recibir datos serie si existe. También, serialEvent1, serialEvent2() y serialEvent3() en la placa Mega.
  • Se agregaron find(), findUntil(), parseInt(), parseFloat(), readBytes(), readBytesUntil() y setTimeOut() a Stream ( incidencia 458 – Michael Margolis).
  • Se actualizó Firmata a la versión 2.3 (r71): entradas analógicas ahora numeradas a partir de 14 (no 16) cuando se utilizan como pines digitales.

Funcionamiento interno

  • Se renombró WProgram.h a Arduino.h
  • Las definiciones de pines se separaron del núcleo y se almacenan en el nuevo subdirectorio variants/. Especificado por la preferencia BOARD.build.variant en boards.txt.
  • Se agregaron macros / constantes para obtener información sobre las propiedades de la placa ( incidencia 490 e incidencia 495 )

Herramientas

  • Se actualizó avrdude a la versión 5.11 (y se cambió el tipo de programador de stk500 a arduino).

Vía: Arduino 1.0 bringing improvements and changes en Arduino Blog

Deja un comentario