diff --git a/asset/icons/doc/arduino/AUTHORS.md b/asset/icons/doc/arduino/AUTHORS.md new file mode 100644 index 0000000..50d8d5e --- /dev/null +++ b/asset/icons/doc/arduino/AUTHORS.md @@ -0,0 +1,5 @@ +Icons by Arduino.cc + +Licence : http://arduino.cc + +Website : http://arduino.cc diff --git a/asset/icons/doc/arduino/arduino.svg b/asset/icons/doc/arduino/arduino.svg new file mode 100644 index 0000000..9b2ce50 --- /dev/null +++ b/asset/icons/doc/arduino/arduino.svg @@ -0,0 +1 @@ +wiki:Behnam N \ No newline at end of file diff --git a/asset/icons/doc/game-icons/system/back-forth.svg b/asset/icons/doc/game-icons/system/back-forth.svg new file mode 100644 index 0000000..1766be4 --- /dev/null +++ b/asset/icons/doc/game-icons/system/back-forth.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/asset/icons/doc/python/AUTHORS.md b/asset/icons/doc/python/AUTHORS.md new file mode 100644 index 0000000..f0fb82b --- /dev/null +++ b/asset/icons/doc/python/AUTHORS.md @@ -0,0 +1,8 @@ +Icons by Python.org + +Authors : +- TM / ®Python Software Foundation + +Licence : https://www.python.org/psf/trademarks/ + +Website : https://www.python.org diff --git a/asset/icons/doc/python/python.svg b/asset/icons/doc/python/python.svg new file mode 100644 index 0000000..a98e200 --- /dev/null +++ b/asset/icons/doc/python/python.svg @@ -0,0 +1,54 @@ + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/portail_coulissant/porcou_doc.py b/portail_coulissant/porcou_doc.py index 6c34b50..12780c4 100644 --- a/portail_coulissant/porcou_doc.py +++ b/portail_coulissant/porcou_doc.py @@ -12,31 +12,27 @@ # Documentation du système ################################################################################ -system_card=["model-card", "twins-card", "movement-card", "sensor-card", "gyro-card", "board-card"] +system_card=["twins-card", "serial-card", "movement-card", "sensor-card", "gyro-card", "board-card", "model-card", "arduino-card"] card_description ={} -# Maquette -card_model_title="Maquette" -card_model_text=""" Le modèle 3D est basé sur la maquette \n développée par l\"entreprise A4 Technologie. \n - Les documents techniques et \n pédagogiques signés A4 Technologie \n sont diffusés librement sous licence \n Creative Commons BY-NC-SA.""" -card_model_url=[["Wiki A4 Technologie","https://www.a4.fr/wiki/index.php?title=Portail_coulissant_(BE-APORT-COUL)"]] -card_description.update({"model-card" : [card_model_title, card_model_text, card_model_url]}) - # Jumeau numérique +# Message envoyé (asynchrone) : \n avancer : a, reculer : r, droite : d, \n gauche g, marquer : m et forer : f \n\n\n """ card_twins_title="Jumeau numérique" card_twins_text=""" jumeau() \n -> Active le jumeau réel.\n - jumeau_config(port, vitesse) \n -> Définit la configuration de la liaison \n série. - - Si le port n\"est pas spécifié, il sera \n recherché automatiquement \n (carte Arduino Uno ou Mega). \n + jumeau_config(port, vitesse) \n -> Définit la configuration de la liaison \n série.\n + Si le port n\"est pas spécifié, il sera \n recherché automatiquement (carte \n Arduino Uno ou Mega). \n La vitesse par défaut est 115200 baud.""" -card_twins_url=[["Microcontrôleur Arduino","https://www.arduino.cc/"], - ["Liaison série : pySerial","https://pythonhosted.org/pyserial/"], - ["Protocole Firmata : pyFirmata","https://github.com/tino/pyFirmata"]] +card_twins_url=[] card_description.update({"twins-card" : [card_twins_title, card_twins_text, card_twins_url]}) -# Message envoyé (asynchrone) : \n avancer : a, reculer : r, droite : d, \n gauche g, marquer : m et forer : f \n\n\n """ - # serie_msg(texte) \n -> Envoi un message \n \n texte=serie_rcpt() \n -> Reçoit un message""" - +# Liaison série +card_serial_title="Liaison série" +card_serial_text=""" serie_msg(texte) \n -> Envoi un message \n + texte=serie_rcpt() \n -> Reçoit un message""" +card_serial_url=[["Liaison série : pySerial","https://pythonhosted.org/pyserial/"], + ["Protocole Firmata : pyFirmata","https://github.com/tino/pyFirmata"]] +card_description.update({"serial-card" : [card_serial_title, card_serial_text, card_serial_url]}) + # Ouvrir et fermer card_movement_title="Ouvrir et fermer" card_movement_text=""" mot_o (True|False) \n -> Ouvre le portail (moteur sens trigo) \n @@ -63,10 +59,30 @@ card_description.update({"gyro-card" : [card_gyro_title, card_gyro_text, card_gy card_board_title="Pupitre" card_board_text= """ bp_ext() \n -> Bouton poussoir coté rue\n Retourne True si le bouton est pressé.\n bp_int() \n -> Bouton poussoir coté cour\n Retourne True si le bouton est pressé.""" -# card_board_text=" rp_marquer() \n -> Place une balise sur la case. \n \n Ropy possède que 20 balises, il ne \n peut pas en poser une de plus.\n\n Avec l'amélioration \"Balise +\", le \n nombre de balise transportées est \n étendu à 200." card_board_url=[] card_description.update({"board-card" : [card_board_title, card_board_text, card_board_url]}) +# Maquette +card_model_title="Maquette" +card_model_text=""" Le modèle 3D est basé sur la maquette \n développée par l\"entreprise A4 Technologie. \n + Les documents techniques et \n pédagogiques signés A4 Technologie \n sont diffusés librement sous licence \n Creative Commons BY-NC-SA. \n + Le pilotage de la maquette se fait par une \n carte Arduino (Uno ou Mega) reliée à \n l"ordinateur via la liaison série (USB) et le \n protocole Firmata.""" +card_model_url=[["A4 Technologie","https://www.a4.fr"], + ["Maquette A4 Technologie","https://www.a4.fr/wiki/index.php?title=Portail_coulissant_(BE-APORT-COUL)"]] +card_description.update({"model-card" : [card_model_title, card_model_text, card_model_url]}) + +# Arduino +card_arduino_title="Arduino" +card_arduino_text=""" Arduino une plateforme open-source de \n développement électronique basée sur \n le microcontrôleur de la famille ATmega. + + Elle est utilisée pour la création d"objets \n électroniques interactifs et connectés : \n IoT, domotique, robotique, ... + + Le langage de programmation est le C. Par \n la bibliothèque Arduino il est particulièrement \n aisé d"accéder aux entrées/sorties de la + carte. Les platines permettent l"ajout \n d"extensions : relais, Grove, RFID, GPS, ... """ + +card_arduino_url=[["Plateforme Arduino","https://www.arduino.cc/"]] +card_description.update({"arduino-card" : [card_arduino_title, card_arduino_text, card_arduino_url]}) + ## # Envoi des données ## diff --git a/portail_coulissant/portail_coulissant-14.blend b/portail_coulissant/portail_coulissant-14.blend index 0bf4b10..6fa7eb0 100644 Binary files a/portail_coulissant/portail_coulissant-14.blend and b/portail_coulissant/portail_coulissant-14.blend differ diff --git a/twin_doc.py b/twin_doc.py index a4f5ae8..b55a961 100644 --- a/twin_doc.py +++ b/twin_doc.py @@ -45,8 +45,8 @@ card_description.update(system.get_card_description()) # Documentation Python ############################################################################### -# python_card=["function-card", "alternative-card", "loop-card", "flow-card", "text-card", "list-card", "dict-card", "oop-card", "console-card", "sleep-card"] -python_card=["function-card", "alternative-card", "loop-card", "flow-card", "console-card", "sleep-card"] +# "oop-card" +python_card=["function-card", "alternative-card", "loop-card", "flow-card", "text-card", "list-card", "dict-card", "console-card", "sleep-card", "python-card"] # Fonction card_function_title="Fonction" @@ -79,31 +79,55 @@ card_description.update({"loop-card" : [card_loop_title, card_loop_text, card_lo # Flux card_flow_title="Contrôle du flux" -card_flow_text=""" Les structures (if, while, for) peuvent \n être gérées plus finement par les \n fonctions \'break\', \'continue\' et \'pass\'. \n - - \'break\' : termine l\"itération en cours et \n arrête la boucle. - - \'continue\' : termine l\"itération en cours et \n reprend la boucle. - - \'pass\' : instruction vide.""" +card_flow_text=""" Les structures (if, while, for) peuvent \n être gérées plus finement par les \n fonctions 'break', 'continue' et 'pass'. \n + - 'break' : termine l"itération en cours et \n arrête la boucle. + - 'continue' : termine l"itération en cours et \n reprend la boucle. + - 'pass' : instruction vide.""" card_flow_url=[["w3schools.com : break","https://www.w3schools.com/python/ref_keyword_break.asp"], ["w3schools.com : continue","https://www.w3schools.com/python/ref_keyword_break.asp"], ["w3schools.com : pass","https://www.w3schools.com/python/ref_keyword_pass.asp"]] card_description.update({"flow-card" : [card_flow_title, card_flow_text, card_flow_url]}) -# Chaine de caractère -card_text_title="Chaîne de caractères\n(texte)" -card_text_text="\nFIXME" -card_text_url=[["w3schools.com : strings","https://www.w3schools.com/python/python_strings.asp"]] +# Chaîne de caractères +card_text_title="Chaîne de caractères" +card_text_text=""" Une chaîne de caractères correspond à un \n texte (mot, phrase). Elle est délimitée \n par " ou ' : texte = 'Bonjour ! ' \n +- texte1 + texte2 : concaténe plusieurs \n chaînes. +- len(texte) : renvoie la longueur de texte. +- "\\n" : caractère aller à la ligne. +- texte[i] : renvoie le caractère du rang i de \n texte (commence à 0). +- texte[2:5] : renvoie les caractères du rang \n 2 au rang 5. +- texte.replace("a","b") : remplace les "a" en "b". """ +card_text_url=[ + ["Doc. Python v3 Français : string","https://docs.python.org/fr/3/library/string.html"], + ["w3schools.com : strings","https://www.w3schools.com/python/python_strings.asp"]] card_description.update({"text-card" : [card_text_title, card_text_text, card_text_url]}) # Liste card_list_title="Liste" -card_list_text="FIXME" -card_list_url=[["w3schools.com : lists","https://www.w3schools.com/python/python_lists.asp"]] +card_list_text=""" Une liste est une séquence d"éléments. \n Elle est délimitée par des crochets : + liste = ['pomme', 7, 'rouge', True] \n +- liste[i] : renvoie l"élément du rang i de la \n liste (commence à 0). +- liste.append('neige') : ajoute 'neige' à la \n fin de la liste. +- len(liste) : renvoie le nombre d"éléments. +- liste.sort() : classe par ordre croissant la \n liste (alphabétiquement / numériquement). +- liste.remove('rouge') : enlève la première \n occurence de la valeur.""" +card_list_url=[ + ["Doc. Python v3 Français : list","https://docs.python.org/fr/3/library/stdtypes.html#sequence-types-list-tuple-range"], + ["w3schools.com : lists","https://www.w3schools.com/python/python_lists.asp"]] card_description.update({"list-card" : [card_list_title, card_list_text, card_list_url]}) # Dictionnaire card_dict_title="Dictionnaire" -card_dict_text="FIXME" -card_dict_url=[["w3schools.com : dictionaries","https://www.w3schools.com/python/python_dictionaries.asp"]] +card_dict_text=""" Une liste est une collection d"éléments. \n Elle est délimitée par des accolades, \n chaque valeur comporte une clé unique : + dico = {'nom' : 'Haddock', 'prénom' : \n 'Archibald', 'année' : 1940} \n +- dico[clé] : renvoie la valeur liée à la clé. +- dico.update('domicile' : 'Moulinsart') : met \n à jour les paires de clé/valeur. +- len(dico) : renvoie le nombre d"éléments. +- list(dico) : renvoie la liste des clés. +- dico.pop("année") : enlève la valeur associée \n à la clé.""" +card_dict_url=[ + ["Doc. Python v3 Français : dict","https://docs.python.org/fr/3/library/stdtypes.html#mapping-types-dict"], + ["w3schools.com : dictionaries","https://www.w3schools.com/python/python_dictionaries.asp"]] card_description.update({"dict-card" : [card_dict_title, card_dict_text, card_dict_url]}) # Objet (POO) @@ -127,9 +151,18 @@ card_sleep_title="Gestion du temps" card_sleep_text=" Vous pouvez créer des temporisations \n dans le déroulement du script.\n\n" card_sleep_text= card_sleep_text + " time.sleep(x) \n -> Marque d\"un temps d\"arrêt de \n x secondes.\n\n" card_sleep_text= card_sleep_text + " Il faudra préalablement importer la \n bibliothèque \'time\' avec \'import time\'." -card_sleep_url=[["docs.python.org : sleep","https://docs.python.org/fr/3/library/time.html#time.sleep"]] +card_sleep_url=[["Doc. Python v3 Fr : sleep","https://docs.python.org/fr/3/library/time.html#time.sleep"]] card_description.update({"sleep-card" : [card_sleep_title, card_sleep_text, card_sleep_url]}) +# Python +card_python_title="Langage Python" +card_python_text=""" Le Python est un langage de programmation \n interprété open source. Python vise à être \n visuellement épuré avec une syntaxe \n clairement séparée des mécanismes de \n bas niveau.\n + Python possède beaucoup de bibliothèques \n spécialisées. Multiplateformes et \n multiparadigme, il est utilisé dans de \n nombreux contextes : scriptage, calcul \n numérique, prototypage, enseignement, \n ou encore comme langage de commande \n pour de nombreux logiciels.""" + +card_python_url=[["python.org","https://python.org"], ["AFPy","https://www.afpy.org"]] +card_description.update({"python-card" : [card_python_title, card_python_text, card_python_url]}) + + ############################################################################### # Interface ###############################################################################