32U4 - Leonardo vs VinciDuino vs Olimex vs Teensy

Bonjour

Je viens de me commander une VinciDuino qui est un peu moins chère que la Leonardo officielle.

L'Olimex me semblait bien mais souffre de 2 désavantages :

  • Non 100% compatible Leonardo, donc galère possible
  • Avec les frais de port et la TVA, finalement elle coûte pratiquement aussi chère qu'une Léonardo

Ayant lu l'article de Skywodd et ses galères sur l'Olimex, je pense aussi avoir chosiit une solution de facilité :wink:

Finalement voilà ma conclusion et mes questions :

  1. La VinciDuino avec bootloader Caterina est 100% identique à une Leonardo -> a reflasher si jamais elle n'arrive pas avec Caterina (Si je peux choisir je prend Caterian Murino XD)

  2. Je n'ai pas compris ce qu'apporte TeensyDuino. Est-ce qu'il à un intérêt avec une autre carte à base de 32U4 qui ne soit pas une Teensy ?

  3. Puisque SCL/SDA sont passés sur Di3/Di2, quelles broches deviennent les entrées d'interruptions INT0 et INT1 ?
    Ou est-ce que l'usage de l'I2C devient exclusif des interruptions ?

  4. Que veut dire ce commentaire sur l'article de Skywodd :

Le port série USB doit être bloqué avec un while(!serial); dans setup() sinon il ne fonctionnera pas.

j'ai plutôt l'impression que cela crée une boucle qui risque de bloquer le programme.

Merci de vos commentaires, surtout Alf1ch qui je croit possède déjà 2 VinciDuino.

  1. Qu'est-ce que DFU/FLIP ?

Bonjour barbudor et bienvenue au 'club 32u4' !!
Je possède bien deux cartes vinciduino mais ne les ai pas encore réellement utilisées.
Disons que j'en suis resté au 'tour du propriétaire' en raison d'une caractéristique qui ne m'a pas permis jusqu'à maintenant de faire ce que j'avais prévu de faire : carte autonome alimentée en 3,3V pat une batterie LiOn et connectée de temps à autre à un port USB pour recharger la batterie , prendre des consignes et transmettre ses données dans un tableur (clavier virtuel). La raison : Vcc n'est pas facilement et proprement séparable du 5V USB contrairement à Teensy2 et Olimex 32u4.(une piste stratégique est sous le mega32u4)
La carte Olimex présentée par skywodd conviendrait tout à fait , d'autant plus qu'elle est équipée d'une puce pour charger l'accu LiOn et qu'elle est actuellement vendue 23€ TTC, port compris AVEC un accu LiON !! (page ebay d'Olimex).

Quelques réponses à tes questions (pour 3 et 5 je préfère vérifier avant de répondre !!)

  1. Je n'ai pas compris ce qu'apporte TeensyDuino. Est-ce qu'il à un intérêt avec une autre carte à base de 32U4 qui ne soit pas une Teensy ?

Oh que oui !!! Si on accepte les petites complications pour uploader le fichier hex on gagne des menus USB très intéressants dans 'Outils', menus qui parlent d'eux mêmes (photos jointes). l'API Arduino est très en deça , en particulier pour l'emulation clavier qui actuellement devrait plutôt s'appeler 'Keyboard_US_Only"!!

) Que veut dire ce commentaire sur l'article de Skywodd :
Quote
Le port série USB doit être bloqué avec un while(!serial); dans setup() sinon il ne fonctionnera pas.
j'ai plutôt l'impression que cela crée une boucle qui risque de bloquer le programme.

Vu le mécanisme du bootloader il faut effectivement qu'une application qui utilise le port série virtuel (c'est serial, l'UART c'est serial1) "bloque un peu" en attendant son ouverture , ou plutôt sa réouverture, parce que ce port série virtuel se ferme brièvement entre la fin du téléchargement et le démarrage du code de l'application.
(Le 32U4 s'énumére comme simple port série pour le bootloader , puis comme périphérique composite par la suite. petite 'éclipse du port série virtuel entre les deux phases). Par contre pas de reset provoqué par l'ouverture du terminal :http://arduino.cc/en/Guide/ArduinoLeonardo

Types USB.png

Layout claviers.png

Effectivement, à 21,57€, ca fait réfléchir... Mais ca fait loin des 12,95€ annoncé sur le site...
Pour l'instant je ne pense pas utiliser la fonction LiPo car je ne suis pas sur qu'avec cette unique batterie je pourrais alimenter à la fois la carte et le WR703N.
Si j'avais su, je t'aurais proposé de racheter une de tes VincuDuino :wink:

al1fch:

  1. Je n'ai pas compris ce qu'apporte TeensyDuino. Est-ce qu'il à un intérêt avec une autre carte à base de 32U4 qui ne soit pas une Teensy ?

Oh que oui !!! Si on accepte les petites complications pour uploader le fichier hex on gagne des menus USB très intéressants dans 'Outils', menus qui parlent d'eux mêmes (photos jointes). l'API Arduino est très en deça , en particulier pour l'emulation clavier qui actuellement devrait plutôt s'appeler 'Keyboard_US_Only"!!

Est-ce que cela veut dire que Teensyduino apporte de nouvelles libs pour l'USB qui offrent plus de possibilités ?
Ou est-ce juste une façon de paramétrer l'existant ?

Si j'ai bien compris, on règle dans l'IDE le comportement de la stack USB (CDC, HID, type de clavier, ..).
Ce qui veut dire que ce réglage n'est pas sauvegardé avec le sketch ?
Je ne trouve pas ca terrible.
L'IDE Arduino ne gérant pas de projet (au sens VisualStudio ou autre IDE sérieux), tout ce qui concerne la configuration devrait être dans le sketch.

  1. Puisque SCL/SDA sont passés sur Di3/Di2, quelles broches deviennent les entrées d'interruptions INT0 et INT1 ?
    Ou est-ce que l'usage de l'I2C devient exclusif des interruptions ?

Visiblement c'est congénital , Atmel a fait ce choix une pin SCL/INT0 et sa voisine SDA/INT1.

  1. Qu'est-ce que DFU/FLIP ?

FLIP est le nom d'un soft 'historique' de programmation des microcontroleurs flash d'Atmel , depuis les compatibles 8051 jusqu'aux AVR32.
DFU, Device Firmware Update est je crois le nom du protocole et du driver.
jamais utilisé , d'autres, d'expérience en parleront mieux
une petite idée sur cette page concernant le flashage des mega 8u4 équipant les Uno R2:
http://forum.snootlab.com/viewtopic.php?t=29&p=59

INT0 et INT1.png

-Ajout de nouvelles librairies (hardware/teensy/core...)
-patch de l'IDE pour influer sur le comportement de la pile USB
-rien n'est conservé dans le sketch..... c'est laissé à l'initiative de l'utilisateur dans les commentaires !
Je suis d'accord avec toi : pas terrible ! c'est loin des 'bonnes pratiques'

Reste que le mode 'teensyduino' permet de s'amuser un peu , c'est déjà ça !! :
Voici une mémoire "de masse" (???) en lecture seule de 22k0 dans un ATmega32u4 (Leonardo, VinciDuino, olimex32u4...)!! déjà formatée FAT et dotée d'un petit fichier 'readme'. Sans possibilité d'écriture ni accès au contenu du disque par l'application (en l'état des librairies Teensyduino) ça reste une curiosité...

32u4 en mémoire de masse.png

répertoire.png

al1fch:

  1. Puisque SCL/SDA sont passés sur Di3/Di2, quelles broches deviennent les entrées d'interruptions INT0 et INT1 ?
    Ou est-ce que l'usage de l'I2C devient exclusif des interruptions ?

Visiblement c'est congénital , Atmel a fait ce choix une pin SCL/INT0 et sa voisine SDA/INT1.

Donc c'est mort ? I2C exclusif des interruptions ?

Il y a d'autres pins d'interruptions sur le 32U4, donc ils auraient pu remapper les interruptions Arduino sur d'autres broches ?
Pour ne rien gacher, INT2 et INT3 sont sur RX.TX du port série ....

Il semble ne rester que INT6 sur Di7 (PE6). A voir si attachInterrupt() marche avec INT6...

D'ailleurs je n'ai pas encore compris (ni cherché vraiement) comment utiliser les autres interruptions PCINTx et quelles sont exactement les différences. Mais cela est un autre sujet.

EDIT: A la compil en mode Leonardo, attachInterrupt() passe avec INT2, INT3 et INT6. C'est bien.
Mais ca passe aussi avec INT5 et INT7 ce qui n'a pas de sens....

D'ailleurs je n'ai pas encore compris (ni cherché vraiement) comment utiliser les autres interruptions PCINTx

A quoi ça sert que je me décarcasse :grin:
http://arduino.cc/forum/index.php/topic,100906.0.html

68tjs:
A quoi ça sert que je me décarcasse :grin:
http://arduino.cc/forum/index.php/topic,100906.0.html

pas frapper ! :.

Salut,
(attention COMBO réponse x4)

barbudor:
L'Olimex me semblait bien mais souffre de 2 désavantages :

  • Non 100% compatible Leonardo, donc galère possible
  • Avec les frais de port et la TVA, finalement elle coûte pratiquement aussi chère qu'une Léonardo

Il y a seulement une différence par rapport avec la leonardo, différence que je ne comprend pas du reste ...
La led pin13 se trouve pin7 (et une autre pin9) ... sinon c'est exactement le même design que la leonardo (en mieux).

C'est vrai que fdp compris c'est aussi chère qu'une leonardo, mais si on regarde le prix brute l'olimexino est vraiment moins chère.
Donc rapport qualité / prix plus intéréssant.

barbudor:
Ayant lu l'article de Skywodd et ses galères sur l'Olimex, je pense aussi avoir chosiit une solution de facilité :wink:

Je ne galère pas avec l'olimexino justement ! Je galère avec cette biiiiip de configuration de l'ide ...
La carte en elle même ne me pose pas de probléme, c'est le driver et le bootloader "caterina" sorti de nulle pars qui m'as fait perdre un temps fou.

barbudor:
2) Je n'ai pas compris ce qu'apporte TeensyDuino. Est-ce qu'il à un intérêt avec une autre carte à base de 32U4 qui ne soit pas une Teensy ?

Api arduino leonardo :

  • clavier usb (en qwerty, non modifiable)
  • souris usb
  • port série
    Mode clavier + souris + port série non modifiable

Api arduino teensy :

  • clavier usb (tout type, azerty, qwerty, custom, ...)
  • souris usb
  • joytick usb
  • port série
  • raw HID
  • périphérique de stockage de masse (soit interne en flash, soit externe avec une carte SD)
  • périphérique interface MIDI
  • périphérique interface "Flight Simulator" (ok c'est pour le fun ce mode)

Mode d'association au choix :

  • port série seul
  • clavier + souris + joystick
  • clavier + souris + joystick + port série
  • disque (flash interne) USB + clavier
  • disque (carte SD) USB + clavier
  • interface midi
  • raw HID
  • interface "Flight Simulator"

En gros Arduino -> API pour faire joujou, Teensy -> API pour ceux qui veulent vraiment bosser en USB (déja Raw HID = "must have", impossible avec l'API arduino).

barbudor:
3) Puisque SCL/SDA sont passés sur Di3/Di2, quelles broches deviennent les entrées d'interruptions INT0 et INT1 ?
Ou est-ce que l'usage de l'I2C devient exclusif des interruptions ?

Voir http://arduino.cc/en/Main/ArduinoBoardLeonardo :

Port série: 0 (RX) and 1 (TX) (via l'objet Serial1)
Bus I2C: 2 (SDA) and 3 (SCL)
Interruptions externe: D2 et D3 (interruptions n°0 et n°1)
PWM: D3, D5, D6, D9, D10, D11 et D13
Port SPI: sur le connecteur ISCP UNIQUEMENT pas de SPI sur D10, D11, D12, D13 = shields SPI inutilisable !
Led broche D13 (cartes officiel, D7 et D9 sur carte olimexino)
Entrées analogique : A0 - A5, A6 - A11 (sur les broches D4, D6, D8, D9, D10 et D12)

barbudor:
4) Que veut dire ce commentaire sur l'article de Skywodd :

Le port série USB doit être bloqué avec un while(!serial); dans setup() sinon il ne fonctionnera pas.

j'ai plutôt l'impression que cela crée une boucle qui risque de bloquer le programme.

NON ! Ralala tu n'as pas lu le guide "getting starting" :wink:
http://arduino.cc/en/Guide/ArduinoLeonardo

L'objet "Serial" est lié au port série USB uniquement PAS au port série hardware (Serial1).
L'objet Serial n'existe qu'une fois un terminal connecté sur le port série virtuel USB.
Regarde dans les exemples de base avec Serial tu verras qu'il faut attendre que l'objet Serial existe pour l'utiliser désormais.

barbudor:
5) Qu'est-ce que DFU/FLIP ?

C'est un bootloader d'usine de ATMEL (et son utilitaire de flash), non utilisable ici vu que c'est le bootloader "Cateriana" (ou "disk loader" pour les anciennes cartes) qui le remplace.

barbudor:
Est-ce que cela veut dire que Teensyduino apporte de nouvelles libs pour l'USB qui offrent plus de possibilités ?
Ou est-ce juste une façon de paramétrer l'existant ?

Teensyduino (le plugin pour l'ide arduino) ne fait pas que configurer l'existant !
Il s'agit d'un "core arduino" 100% revu et corrigé !

Action directe sur les registres pour les fonctions digitalxxx, pinmode, etc ...
Fonctions bas niveau compatible avec les fonctions arduino d'origine.
Systéme de compilation compatible arduino 0023 et antérieur, aussi bien que arduino 1.0 et supérieur (les librairies telle que Wire aussi)
etc etc ... c'est vraiment du boulot de professionnel, pas un truc dégueulasse comme c'est le cas avec le "core arduino" officiel.

barbudor:
Si j'ai bien compris, on règle dans l'IDE le comportement de la stack USB (CDC, HID, type de clavier, ..).
Ce qui veut dire que ce réglage n'est pas sauvegardé avec le sketch ?
Je ne trouve pas ca terrible.
L'IDE Arduino ne gérant pas de projet (au sens VisualStudio ou autre IDE sérieux), tout ce qui concerne la configuration devrait être dans le sketch.

Non les paramétrages ne sont pas sauvegardé dans le sketch pour raison de compatibilité avec "l'éditeur coloré" de l'ide.
Mais l'ide est configuré pour détecter et avertir de la configuration minimum requise.
... Il y a deux menu, ça prend pas 2h de cliquer sur deux listes déroulante quand même :wink:

al1fch:
jamais utilisé , d'autres, d'expérience en parleront mieux

C'est très pratique pour mettre à jour un microcontrôleur par USB sans avec de programmateur.
C'est du RAW HID donc c'est hyper rapide pour flasher / relire la mémoire flash et l'eeprom, par contre c'est pas super "user firendly".

al1fch:
Voici une mémoire "de masse" (???) de 22k0 dans un ATmega32u4 (Leonardo, VinciDuino, olimex32u4...)!! déjà formatée FAT et dotée d'un petit fichier 'readme'. Pour l'instant c'est protégé en écriture mais il doit y avoir un moyen d'arranger ça ...

Pour avoir des fichiers à soi dans la mémoire de masse il suffit de faire un dossier avec un nom spécial dans le même dossier que le sketch.
(voir le readme.txt justement inclut par défaut)

Pour la lecture / écriture :

  • teensy 2.0 : lecture seul (c'est hardware, pas d'écriture possible)
  • teensy++ 2.0 : lecture / écriture (mais l'écriture peut te pourrir ta mémoire flash donc faire attention)

Pour DFU/FLIP il parait intéressant de signaler que les micros ATmega USB sont livrés avec leur bootloader d'usine.
Avantage ATmega32U4 sur ATmega328 : neuf, il a déjà un bootloader et peut être flashé sans programmateur ISP.
pdf sur le site Atmel :http://www.atmel.com/Images/doc7618.pdf
Pour les ATmega16u2 des cartes UNO R3, Mega2560 R3 et MegaADK R3 les fichiers HEX des bootloaders DFU sont dans le répertoire Hardware\Arduino\Firmware , de même que les sources.

Le logiciel FLIP d'ATMEL est içi : http://www.atmel.com/tools/FLIP.aspx

Portrait de famille des cartes à ATmega32u4

DFU.png

Bonsoir à tous

En ce qui me concerne j'ai découvert "l'arduino" il n'y a finalement pas très longtemps.
Je suis plus un homme des (celui qui à dit "cavernes" au fond de la classe, sort immédiatement ! :grin: )
capteurs et actionneurs qu'un codeur
Je cherchais un "truc" simple à appréhender "pour jouer" 8) = facilité de prog et connecteurs facilement interfaçable

Le concept est/était intéressant, et comme pour chacun lorsque l'on "titille et rentre dedans" les limites autorisées apparaissent inévitablement. 8)

Aujourd'hui , je ne sais pas si la dispersion des différentes versions hard et soft avec à chaque fois "le détail qui tue" sauf si il y a un Al1fch,Barbudor,Skywodd ou autre "Decapsuleur" pour t'expliquer que la pin 2 du X est passé sur pin 3 du Y, mais qu'il faut aussi modifier la lib seulement en version 2.0014 pour le PCB en revision Z est vraiment une vision pérenne du but initial.

Mais bon, le team arduino avec ses annonces ... pour parties non suivies, y est peut être aussi pour quelque chose.

içi : http://www.johngineer.com/blog/?p=1224 ou là : Arduino Leonardo Pinout Reference « Adafruit Industries – Makers, hackers, artists, designers and engineers! une photo de Leonardo avec repérage complet des broches

Le pdf est là :http://www.adafruit.com/datasheets/leonardo_pinout_reference.pdf

Artouste:
Je suis plus un homme des (celui qui à dit "cavernes" au fond de la classe, sort immédiatement ! :grin: ) capteurs et actionneurs qu'un codeur

FX: présentateur de musée
Sur votre droite vous pouvez apercevoir un homme des cavernes des capteurs et actionneurs parfaitement conservé dans son environnement de bricolage habituelle.
Certaines légendes de l'arduino antique parlent d'un "effet Artouste" décoiffant. A ce jour aucune étude n'as pu prouver son existence, mais les chercheurs s'accordent tous à dire que celui ci est bien réel.
:grin:

Artouste:
Aujourd'hui , je ne sais pas si la dispersion des différentes versions hard et soft avec à chaque fois "le détail qui tue" sauf si il y a un Al1fch,Barbudor,Skywodd ou autre "Decapsuleur" pour t'expliquer que la pin 2 du X est passé sur pin 3 du Y, mais qu'il faut aussi modifier la lib seulement en version 2.0014 pour le PCB en revision Z est vraiment une vision pérenne du but initial.

Le tout en tournant 7 fois autour de la carte, avec un câble usb A vers micro usb à la main et une passoire anti extraterrestre sur la tête :grin:
Bon sinon quelqu'un a une bière à ouvrir ? J'ai mon "Décapsuleur" sur moi :grin:

vinciDuino version kit arrivée.
Ben, y'a plus qu'à faire chauffer le fer....

vinciduino-kit-s.jpg

ouachhh, les CMS en kit, t'es motivé, toi :stuck_out_tongue:

bon sinon, j'ai pas tout compris. Par exemple, y a t'il moyen d'utiliser la carte olimex avec le logiciel teensyduino, ou l'utilisation est vraiment limitée à leur carte ?

bricofoy:
ouachhh, les CMS en kit, t'es motivé, toi :stuck_out_tongue:

D'après la photo c'est du "gros" cms, c'est pas les plus compliqué à souder :wink:

bricofoy:
bon sinon, j'ai pas tout compris. Par exemple, y a t'il moyen d'utiliser la carte olimex avec le logiciel teensyduino, ou l'utilisation est vraiment limitée à leur carte ?

OUI, mais il faut mettre un bootloader modifié dans la carte et utiliser un boards.txt spécial.
La preuve : @PaulStoffregen do you kill me if I release my custom boards.txt for using teensyduino with arduino leonardo ? ^^"

Je suis actuellement en train de tester le tout.
Dés que je serai sur du bon fonctionnement je ferai un article avec le bootloader modifié, le boards.txt et la procédure d'installation.

super, ça ce sont de bonnes nouvelles :slight_smile:

en fait j'utilise l'arduino pour faire un datalogger sur carte SD, et si je pouvais dépouiller ma carte et changer les fichiers de config via l'usb comme périphérique mass storage, ça serait géant :slight_smile:

Ca y est, c'est soudé.

Par contre ce n'est pas le bootloader Leonardo qui est dessus, c'est le DFU.
Alf1ch, tu confirmes ? c'était pareil pour toi ?

Il va donc me falloir reflasher le bootloader.
J'hésite mais apparemment si je veux l'utiliser avec l'IDE Arduino c'est soit bootloader Léonardo soit Teensy ?

Bon ben je ferais çà demain avec ArduinoISP...

Par contre ce n'est pas le bootloader Leonardo qui est dessus, c'est le DFU.
Alf1ch, tu confirmes ? c'était pareil pour toi ?

-Vinciuino , comme les Olimex32U4, FIO V3, la breakboard Adafruit 32U4.... les autres cartes 'pré Leonardo', ont été conçues avant la sortie d'Arduino 1.0.1 elle sont donc livrées avec "Diskloader" qui était le bootloader Leonardo 'pressenti' (pas avec DFU, du moins Vinciduino chez moi) !
Diskloader pour Leonardo a fait des apparitions discretes dans les Arduino 1.0 RC1 er RC2 puis a été retiré de Arduino 1.0 finale. J'utilisais sans problème Vinciduino sous Arduino 1.0 RC2 avec son bootloader Diskloader livré mais ai préféré changer pour Caterina qui a fait son appartition surprise dans Arduino 1.0.1..... "j'ai flashé pour Caterina" 8)

-Le bootloader Teensy ("Halfkey") est un secret bien gardé ! (512 octets, HID et probablement conçu en assembleur)

-skywodd travaille en ce moment à un(e) 'Caterina' amélioré(e) pour pouvoir utiliser indifférement les cartes à ATmega32u4 soit en mode Leonardo , soit en mode Teensy2 .

Pour info , ci joint le dossier du bootloader Diskloader de Leonardo dans Arduino 1.0RC2
je copie également la section Leonardo qui figurait dans le board.txt de Arduino 1.0RC2

ça permettra sans doute de travailler avec une 'vielle carte' et Arduino 1.01 s'il n'est pas possible de flasher Caterina

##############################################################

leonardo.name=Arduino Leonardo
leonardo.upload.protocol=arduino
leonardo.upload.maximum_size=30720
leonardo.upload.speed=1200
leonardo.bootloader.low_fuses=0xde
leonardo.bootloader.high_fuses=0xda
leonardo.bootloader.extended_fuses=0xcb
leonardo.bootloader.path=diskloader
leonardo.bootloader.file=DiskLoader-Leonardo.hex
leonardo.bootloader.unlock_bits=0x3F
leonardo.bootloader.lock_bits=0x2F
leonardo.build.mcu=atmega32u4
leonardo.build.f_cpu=16000000L
leonardo.build.core=arduino
leonardo.build.variant=leonardo

##############################################################

diskloader.zip (17 KB)

al1fch:
-Vinciuino , comme les Olimex32U4, FIO V3, la breakboard Adafruit 32U4.... les autres cartes 'pré Leonardo', ont été conçues avant la sortie d'Arduino 1.0.1 elle sont donc livrées avec "Diskloader" qui était le bootloader Leonardo 'pressenti' (pas avec DFU, du moins Vinciduino chez moi) !

Et bien apparemment ca a changé :

C'est bien DFU qui est dessus.
J'ai installé FLIP et le driver USB DFU.

J'ai compilé Blink, j'ai fait ce qu'il fallait pour le flasher.
Mais quand je choisit dans FLIP "Run Application [X] Reset", il y a quelque chose qui démarre mais pas mon blink.
Les 3 leds L/Rx/Tx se mettebnt à clignoter à grande vitesse.
Et la carte disparait du Gestionnaire de Périph (je pensais qu'elle allait revenir sous la forme d'un port COM mais peut être faut-il faire du Serial pour que le mode CDC soit mis en place).

J'ai fermé FLIP, j'ai éteint la carte. J'ai relancé le tout et tenté de relire le contenu de la flash qui est bien identique au Blink.hex que j'ai chargé.

Si j'alimente la carte par une alim externe, USB débraché, les 3 leds L/Rx/Tx s'allument en fixe et plus rien ne bouge.
Si je rebranche via l'USB la led L clignote très lentement (5-9 sec), la Rx est éteinte et la Tx allumée.

Tiens bizarre au bout de 5 minutes il a installé un driver série COM8 venant de chez PRJC.COM

Je force le remplacement par le pilote Arduino Leonardo et maintenant mon COM8 s'appelle Arduino Leonardo

J'ai l'impression que les flags ne sont pas correct et qu'il tourne à 1MHz.

Je vais essayer ArduinoISP pour flasher Caterina