Go Down

Topic: [Résolu] IDE Arduino 1.0 (voire 1.01) ou 023 (Read 2 times) previous topic - next topic

Brisebee

May 29, 2012, 09:11 am Last Edit: May 30, 2012, 03:07 pm by Brisebee Reason: 1
Bonjour à tous,

Je vous demande conseil, car je me pose quelques questions, et je pense que cela peut intéresser d'autres quasi débutants comme moi :

J'utilise actuellement l'IDE version 023, j'ai écrit quelques programmes .pde .
Or de plus en plus souvent les derniers exemples donnés (par exemple Webduino) sont en .ino

J'ai essayé de passer un programme .pde en .ino en modifiant #include "WProgram.h" en #include "Arduino.h"
mais j'ai des erreurs de compilation apparemment liés à l'utilisation de la librairie onWire.

Du coup, je suis resté sur la version 023 de l'IDE pour l'instant.

Ma première question :
Existe-il un petit tuto pour la passage de IDE 023 en 1.0 (voire 1.01)?
Mais peut-être n'est ce pas nécessaire si l'upgrade est vraiment simple, et si je me suis pris les pieds dans le tapis lors de mon upgrade.

Ma seconde question :
J'ai lu quelque part que dans la dernière version (1.01) le type byte n'existait plus.
Cela ne pose t-il pas un problème par exemple pour traiter des données dans un tableau, en faisant une opération booléenne sur chaque octet (masque ou forçage de certains bits) ?

skizoh

Quote
Ma première question :
Existe-il un petit tuto pour la passage de IDE 023 en 1.0 (voire 1.01)?


ça m'étonnerai fort même si il serais bien de rassembler en un topic toute les différences qu'il y a au passage d'une version à l'autre

Quote
Ma seconde question :
J'ai lu quelque part que dans la dernière version (1.01) le type byte n'existait plus.
Cela ne pose t-il pas un problème par exemple pour traiter des données dans un tableau, en faisant une opération booléenne sur chaque octet (masque ou forçage de certains bits) ?


Je n'ai pas entendu parler de la disparition du type byte qui m'étonnerai fort mais même au cas ou ce serais vrai, un char a la même taille qu'un byte donc c'est la même chose hormis le nom donc ne t'inquiète pas tu pourra toujours faire des masquage décalage etc même sur un char.

Skizo !
Un tien vaux mieux que deux tu l'auras !

fdufnews

Au cas ou, il suffirait d'ajouter cette ligne dans les programmes.

Code: [Select]
typedef uint8_t byte;

SesechXP

Salut,

Toutes ces informations sont dans les releases notes. Sinon Barbudor a créé un sujet fort intéressant ici sur le passage de la v1.0 à la v1.0.1.

++
Julien - www.idreammicro.com

skizoh

oui ça reviens au même, du coup en sois c'est pas vraiment un problème si il le supprime.
Un tien vaux mieux que deux tu l'auras !

Brisebee


skywodd

Salut,

C'est confirmé cette histoire de byte qui existe plus ?
(La flemme d'installer 1.0.1, 1.0 + patch 0023 + teensyduino ça me suffit largement)

Si c'est confirmé bonjour la boulette ... 3/4 des sketch dispo sur internet utilisent byte ...
Bon aprés il reste la solution de remettre le typedef dans Arduino.h mais ça fait bête quand même ...
Des news, des tuto et plein de bonne chose sur http://skyduino.wordpress.com !

Brisebee


C'est confirmé cette histoire de byte qui existe plus ?


Je commence à avoir des doutes, je ne sais plus où j'ai lu ça ! Je me suis peut être trompé.


1.0 + patch 0023 + teensyduino ça me suffit largement


Il y a un patch 0023 ?

qu'est ce que teensyduino ?


SesechXP

A priori le type byte existe toujours, il est encore dans le fichier d'entête Arduino.h.

Par contre le mot clé BYTE n'est plus pris en argument par la méthode Serial.print() :
Quote
The behavior of Serial.print() on a byte has been changed to align it
  with the other numeric data types. In particular, it will now print
  the digits of its argument as separate ASCII digits (e.g. '1', '2', '3')
  rather than a single byte. The BYTE keyword has been removed. To send a
  single byte of data, use Serial.write() (which is present in Arduino 0022
  as well).


Julien - www.idreammicro.com

skywodd


Je commence à avoir des doutes, je ne sais plus où j'ai lu ça ! Je me suis peut être trompé.

Ça me semble bien bizarre quand même cette histoire ...
Une solution simple : qui a 1.0.1 ? Un 'chti test svp ? :)


Il y a un patch 0023 ?

Le patch "made in skywodd en mode grosse brute" : ajouter un fichier WProgram.h incluant Arduino.h et ajoutant les divers define supprimer entre 0023 et 1.0.
+ le patch PJRC de la lib wire pour avoir .send() et .receive() en plus de .read() et .write().
C'est une technique de brute mais ça marche dans la plupart des cas (les libs qui hérite de print ne compile pas pour autant, donc obliger de gardé 0023 de coté si besoin).


qu'est ce que teensyduino ?

Un plugin pour l'ide arduino qui ajoute le support des cartes arduino teensy (carte avec usb intégré).
http://skyduino.wordpress.com/2011/09/03/test-teensy-2-0/
Des news, des tuto et plein de bonne chose sur http://skyduino.wordpress.com !

skywodd


A priori le type byte existe toujours, il est encore dans le fichier d'entête Arduino.h.

Par contre le mot clé BYTE n'est plus pris en argument par la méthode Serial.print() :

D'accord ... c'est fait depuis longtemps ça déja :)
Je me disait bien aussi que c'était pas nette cette histoire ^_^

xxx.print(yyy, BYTE) doit être remplacer par xxx.write(yyy) depuis arduino 0023 (il me semble).
Des news, des tuto et plein de bonne chose sur http://skyduino.wordpress.com !

Brisebee

#11
May 29, 2012, 07:51 pm Last Edit: May 30, 2012, 03:01 pm by Brisebee Reason: 1
Ok merci à tous, j'avais mal lu !

barbudor

C'est vrai qu'il y a eu plusieurs changements dans l'API tels que des send/receive qui deviennent des write/read (Wire) ou effectivement print() plutot que write() dans les API d'affichage (Serial, SoftwareSerial, etc... qui dérivent de Print)

Mais je pense que c'est assez minime et qu'on est tous capables d'aller ouvrir le fichier H correspondant pour voir ce qu'ils ont changé.

Donc sans être un forcené de l'upgrade (j'utilise toujours XP sur certains PC) je pense que le saut 0023 à 1.0 est un petit mal nécessaire car c'est sur cette version maintenant que le support et la maintenance est faite. Il y a des bugs dans les libs et en restant en arrière vous ne pourrez pas profiter des mises à jour.

Perso, j'ai dezippé dans des répertoires différentes. j'ai gardé au cas ou un arduino-0023, un arduino-1.0 et arduino qui est mon environnement par défaut maintenant en 1.0.1.

Mais franchement je n'ai jamais utilisé la 0023 sauf pour tester un truc en rapport avec le forum et quelqu'un qui avait cette version (je suis trop jeune arduinaute pour avoir réellement connu la 0023).
Barbuduino: Arduino sur Breadboard & VinciDuino: Clone Leonardo // WR703: Mini-routeur hacké // LauchPad MSP430 et Stellaris // Panda II Arduino-like .NetMF sous VisualC#
RTFC: Read That F.....g Code / RTFD: Read That F.....g Doc / RTFDS: Read That F.....g DataSheet / RTFS: Read That F.....g Schematic / Wot da ya wanna D.I.Y. today ?

SesechXP



A priori le type byte existe toujours, il est encore dans le fichier d'entête Arduino.h.

Par contre le mot clé BYTE n'est plus pris en argument par la méthode Serial.print() :

D'accord ... c'est fait depuis longtemps ça déja :)
Je me disait bien aussi que c'était pas nette cette histoire ^_^

xxx.print(yyy, BYTE) doit être remplacer par xxx.write(yyy) depuis arduino 0023 (il me semble).


D'après les releases notes c'est depuis la v1.0.
Julien - www.idreammicro.com

Brisebee

#14
May 30, 2012, 03:03 pm Last Edit: May 30, 2012, 03:07 pm by Brisebee Reason: 1
J'ai réussi à compiler et exécuter mon programme .pde en .ino
Le principal problème venait de la librairie OneWire => j'ai téléchargé une nouvelle version à jour.

Go Up