-
Notifications
You must be signed in to change notification settings - Fork 2
Image EToys spéciale Robotique Planète Sciences
License
skadge/squeakbot
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
SqueakBot ========= SqueakBot est une image Squeak basée sur EToys pour la robotique. SqueakBot is a modification of Physical Etoys by: Lic. Gonzalo Zabala - Sebastián Blanco - Ricardo Moran Centro de Altos Estudios en Tecnología Informática Universidad Abierta Interamericana http://tecnodacta.com.ar/gira Many thanks to them!! Copyright Planète Sciences 2010-2011 for the modifications SqueakBot is distributed under the MIT license. See LICENSE for details. Installation ------------ Automatique +++++++++++ (Sous Linux seulement !) > ./bootstrap Vous pouvez maintenant aller à la section "Ajout des changesets" Manuel : Préparer une image SqueakBot à partir d'une image EToys ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - Récupérer une image Etyos fraiche ici: http://download.sugarlabs.org/sources/sucrose/glucose/etoys/ - Décompresser l'image, copier le contenu du sous-dossier "Content/" dans un nouveau dossier "squeakbot/", renommer etoys.* en squeakbot.* - passer à la section suivante Ajout des changesets ++++++++++++++++++++ - Appliquer (par drag and drop) les différents changesets du dossier changesets/ dans cet ordre: - 1-NamedSerialPort - 2-PhysicalEtoys - 3-Arduino-Core - 4-Arduino-Compiler - 5-Arduino-EToys - 6-Nono - 7-SqueakBotMain - 8-AdaFruitMotors - Importer les projets d'accueil (drag and drop des différents ``.pr``) Processus d'initialisation d'un composant ----------------------------------------- [section à mettre à jour avec la Arduino] Que se passe t'il lorsque qu'on glisse par exemple une carte ASPIC sur l'espace de travail ? Pile d'appel (avec uniquement les appels significatifs): AspicMorph new openInWorld |-Aspic new | |-(GenericModule) new | |-aspic initialize | |-aspic disconnect |-AspicMorph new |-aspicmorph initialize |-aspicmorph openInWorld |-(GenericModuleMorph) intoWorld Lors de la connection: aspic connect (genericmodule) connect |-(genericmodule) connectOn:with: |-SerialHandler new |-protocol = Aspic getProtocolForComHandler: |-serialhandler initialize:forProtocol:protocol |-protocol connectWith: serialhandler |-aspic onConnection Astuces diverses ---------------- 1) Pour rajouter des entrées dans le tiroir SqueakBot - Ouvrir la classe Flaps, puis accéder à la méthode de classe ``defaultsQuadsDefiningSqueakBotFlap`` - Ajouter autant d'entrées que nécessaire, sous la forme: ``{#ClasseDeLObjetCible. #Selecteur. 'Etiquette en anglais' translated. 'Description en anglais' translated. [en option, Form qui sert d'icône]}`` - Pour voir les changements, dans le transcript, appeler successivement ``Flaps destroyFlapDotDotDot`` pour détruire le tiroir SqueakBot précédent, ``PartsBin clearThumbnailCache`` et ``Flaps initializeSqueakBotFlap``. Si la nouvelle entrée n'apparait pas, c'est sans doute que la classe cible spécifiée pour l'icone n'existe pas. 2) Pour ajouter des choses dans le menu d'un Morph : - tout se passe dans la méthode ``addCustomMenuItems``. Cf ``AspicMorph``, par exemple. - Ne pas oublier d'ajouter ce qui va bien dans la classe ``Player``!!! 3) Pour ajouter des briques de script à un module : - tout se passe dans la méthode ``additionsToViewerCategory``, dans la classe du morph du module (par exemple ``ArduinoMorph``) 4) Pour construire etoys.image à partir de l'image de dev : ``ReleaseBuilderSqueakland new prepareReleaseImageForSqueakBot.`` 5) Pour rajouter un bitmap dans l'image : - glisser-déposer le bitmap dans Squeak - inspecter le morph créé, puis la proriété ``originalForm`` - Appeler ``SugarLibrary mimeStringFor:self`` sur le Form (afficher le résultat avec Alt+P), puis copier la string base64. Si le bitmap est trop gros (200, 300 pix de côté), la string ne sera pas complète (elle finit par ...etc...). Dans ce cas, faire : ``(FileStream newFileNamed: 'temp.txt') nextPutAll:(SugarLibrary mimeStringFor:self)`` Ca va écrire le contenu de la string encodé base64 dans un fichier temp.txt dont on peut copier-coller le contenu. - Ouvrir la classe ``SqueakBotBitmapLibrary`` et créer une nouvelle méthode de classe sur le modèle de squeakBotIcon (en faisant attention de changer le nom de la méthode !) (changer aussi la dimension du bitmap) - On peut tester le nouveau bitmap avec cette commande dans le transcript (enregistrer avant l'image, les crashs sont fréquents...) : ``(SketchMorph withForm:SqueakBotBitmapLibrary squeakBotIcon) openInWorld``
About
Image EToys spéciale Robotique Planète Sciences
Resources
License
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published