diff --git a/monte_charge/montchg_doc.py b/monte_charge/montchg_doc.py index b1be52c..a5e591e 100644 --- a/monte_charge/montchg_doc.py +++ b/monte_charge/montchg_doc.py @@ -42,25 +42,32 @@ card_pin_text_grove=""" Le brochage est un dictionnaire d'association \n des obj Les objets numériques sont : 'ba_0', 'ba_1', \n 'pc_0', 'pc_1', 'voy_0' et 'voy_1'. Pour le moteur (maquette Grove) : 'mot_s' \n (sens, 0 ou 1) et 'mot_v' (vitesse, 0 à 255).""" -card_pin_text_autoprog=""" Le brochage est un dictionnaire qui permet \n d'associer les objets 3D du jumeau \n numérique aux broches du jumeau réel, +card_pin_text_autoprog=""" Le brochage est un dictionnaire d'association \n des objets numériques aux broches réelles. brochage = { nom:[type, broche, mode] } : - nom : nom de l'objet 3D, - type : a (analogique) ou d (binaire), - broche : numéro de la broche de carte, - mode : i (entrée), o (sortie) ou p (pwm). Par exemple : brochage = { 'ba_0':['d',2,'i'] }.\n - Les objets numériques du jumeau sont : \n 'ba_0', 'ba_1', 'pc_0', 'pc_1', 'mot_m', \n 'mot_d', 'voy_0' et 'voy_1'.""" + Les objets numériques sont : 'ba_0', 'ba_1', \n 'pc_0', 'pc_1', 'voy_0' et 'voy_1'. + Pour le moteur (maquette AutoProg) : \n 'mot_m' et 'mot_d'.""" card_pin_url=[] system_card_description.update({"pin-card" : [card_pin_title, [card_pin_text_grove, card_pin_text_autoprog] , card_pin_url]}) # Deux descriptions # Données card_data_title="Accès aux données" -card_data_text=""" get(variable) \n -> Retourne la valeur de la variable à \n l'instant t. Par exemple : val = get('ba_0').\n +card_data_text_grove=""" get(variable) \n -> Retourne la valeur de la variable à \n l'instant t. Par exemple : val = get('ba_0').\n + Entrées/sorties : 'ba_0', 'ba_1', 'pc_0', 'pc_1', \n 'mot_m', 'mot_d', 'voy_0' et 'voy_1'.\n + Variables réels (si il y a jumelage) : 'ba_0_r', \n 'ba_1_r', 'pc_0_r', 'pc_1_r', 'mot_v', 'mot_s' \n et 'mot_vitesse_r'.\n + Autres variables : 't' (temps), 'mot_angle', \n 'mot_vitesse', 'cabine_z'.""" + +card_data_text_autoprog=""" get(variable) \n -> Retourne la valeur de la variable à \n l'instant t. Par exemple : val = get('ba_0').\n Entrées/sorties : 'ba_0', 'ba_1', 'pc_0', 'pc_1', \n 'mot_m', 'mot_d', 'voy_0' et 'voy_1'.\n Variables réels (si il y a jumelage) : 'ba_0_r', \n 'ba_1_r', 'pc_0_r', 'pc_1_r'.\n Autres variables : 't' (temps), 'mot_angle', \n 'mot_vitesse', 'cabine_z'.""" + card_data_url=[] -system_card_description.update({"data-card" : [card_data_title, card_data_text, card_data_url]}) +system_card_description.update({"data-card" : [card_data_title, [card_data_text_grove, card_data_text_autoprog], card_data_url]}) # Deux descriptions # Monitoring card_daq_title="Acquisition de données" @@ -77,15 +84,22 @@ system_card_description.update({"daq-card" : [card_daq_title, card_daq_text, car # Ouvrir et fermer card_movement_title="Monter et descendre" -card_movement_text=""" mot_m(True | False) -> Monter la cabine. +card_movement_text_grove=""" mot_m(True | False) -> Monter la cabine. + mot_d(True | False) -> Descendre la cabine. \n + mot_vitesse(vitesse) -> Change la vitesse \n du moteur numérique en rad/s. + mot_vitesse_r(vitesse) -> Change la vitesse \n du moteur réel (0-255). + Si 'vitesse' est ommis, elle sera réinitialisée.\n + pc_0() -> Capteur présence cabine niveau 0.\n Retourne True si la cabine est au niveau 0. + pc_1() -> Capteur présence cabine niveau 1.\n Retourne True si la cabine est au niveau 1.""" + +card_movement_text_autoprog=""" mot_m(True | False) -> Monter la cabine. mot_d(True | False) -> Descendre la cabine. \n mot_vitesse(vitesse) -> Change la vitesse \n du moteur numérique en rad/s. - mot_vitesse_r(vitesse) -> Change la vitesse \n du moteur réel (0-255) (maquette Grove). Si 'vitesse' est ommis, elle sera réinitialisée.\n pc_0() -> Capteur présence cabine niveau 0.\n Retourne True si la cabine est au niveau 0. pc_1() -> Capteur présence cabine niveau 1.\n Retourne True si la cabine est au niveau 1.""" card_movement_url=[] -system_card_description.update({"movement-card" : [card_movement_title, card_movement_text, card_movement_url]}) +system_card_description.update({"movement-card" : [card_movement_title, [card_movement_text_grove, card_movement_text_autoprog], card_movement_url]}) # Pupitre card_board_title="Pupitre" diff --git a/monte_charge/montchg_lib.py b/monte_charge/montchg_lib.py index 85128c6..0e63666 100644 --- a/monte_charge/montchg_lib.py +++ b/monte_charge/montchg_lib.py @@ -152,8 +152,11 @@ def start(fct): ## def variant(variant_num): + var_txt = [ + "variante 1 : maquette Grove", + "variante 2 : maquette AutoProg"] if variant_num != scene.objects['System']['variant']: - print ("Variante de la maquette numérique :", variant_num) + print ("Variante des maquettes numérique et réelle :", var_txt[variant_num-1]) scene.objects['System']['variant']=variant_num ## diff --git a/portail_coulissant/porcou_doc.py b/portail_coulissant/porcou_doc.py index 8e37e96..31c751c 100644 --- a/portail_coulissant/porcou_doc.py +++ b/portail_coulissant/porcou_doc.py @@ -60,17 +60,22 @@ card_pin_text_autoprog=""" Le brochage est un dictionnaire d'association \n des Pour le moteur (maquette AutoProg) : \n 'mot_o' (ouvrir) et 'mot_f' (fermer) """ card_pin_url=[] -system_card_description.update({"pin-card" : [card_pin_title, [card_pin_text_grove, card_pin_text_autoprog] , card_pin_url]}) # Deux descriptions +system_card_description.update({"pin-card" : [card_pin_title, [card_pin_text_grove, card_pin_text_autoprog], card_pin_url]}) # Deux descriptions # Données card_data_title="Accès aux données" -card_data_text=""" get(variable) \n -> Retourne la valeur de la variable à \n l'instant t. Par exemple : val = get('bp_ext').\n - Entrées/sorties : 'bp_ext', 'bp_int', 'fdc_o', \n 'fdc_f', 'mot_o', 'mot_f', 'gyr', 'ir_emet' et - 'ir_recep'. Maquette Grove (en +) : 'mot_s' \n (sens, 0 ou 1) et 'mot_v' (vitesse, 0-255). \n - Entrées réels (si il y a jumelage) : 'bp_ext_r', \n 'bp_int_r', 'fdc_o_r', 'fdc_f_r', 'ir_recep_r'. +card_data_text_grove=""" get(variable) \n -> Retourne la valeur de la variable à \n l'instant t. Par exemple : val = get('bp_ext').\n + Entrées/sorties : 'bp_ext', 'bp_int', 'fdc_o', \n 'fdc_f', 'mot_o', 'mot_f', 'gyr', 'ir_emet' et \n 'ir_recep'. + Entrées réels (si il y a jumelage) : 'bp_ext_r', \n 'bp_int_r', 'fdc_o_r', 'fdc_f_r', 'ir_recep_r', \n 'mot_v', 'mot_s' et 'mot_vitesse_r'.\n Autres variables : 't' (temps), 'mot_angle', \n 'mot_vitesse', 'portail_x', 'portail_vitesse'.""" + +card_data_text_autoprog=""" get(variable) \n -> Retourne la valeur de la variable à \n l'instant t. Par exemple : val = get('bp_ext').\n + Entrées/sorties : 'bp_ext', 'bp_int', 'fdc_o', \n 'fdc_f', 'mot_o', 'mot_f', 'gyr', 'ir_emet' et \n 'ir_recep'.\n + Entrées réels (si il y a jumelage) : 'bp_ext_r', \n 'bp_int_r', 'fdc_o_r', 'fdc_f_r', 'ir_recep_r'.\n + Autres variables : 't' (temps), 'mot_angle', \n 'mot_vitesse', 'portail_x', 'portail_vitesse'.""" + card_data_url=[] -system_card_description.update({"data-card" : [card_data_title, card_data_text, card_data_url]}) +system_card_description.update({"data-card" : [card_data_title, [card_data_text_grove, card_data_text_autoprog], card_data_url]}) # Deux descriptions # Monitoring card_daq_title="Acquisition de données" @@ -87,19 +92,26 @@ system_card_description.update({"daq-card" : [card_daq_title, card_daq_text, car # Ouvrir et fermer card_movement_title="Ouvrir et fermer" -card_movement_text=""" mot_o(True | False) -> Ouvrir le portail. +card_movement_text_grove=""" mot_o(True | False) -> Ouvrir le portail. + mot_f(True | False) -> Fermer le portail.\n + fdc_o() \n -> Capteur fin de course portail ouvert. + fdc_f() \n -> Capteur fin de course portail fermé.\n + mot_vitesse(vitesse) -> Change la vitesse \n du moteur numérique en rad/s. + mot_vitesse_r(vitesse) -> Change la vitesse \n du moteur réel (0-255). + Si 'vitesse' est ommis, elle sera réinitialisée.""" + +card_movement_text_autoprog=""" mot_o(True | False) -> Ouvrir le portail. mot_f(True | False) -> Fermer le portail.\n fdc_o() \n -> Capteur fin de course portail ouvert. fdc_f() \n -> Capteur fin de course portail fermé.\n mot_vitesse(vitesse) -> Change la vitesse \n du moteur numérique en rad/s. - mot_vitesse_r(vitesse) -> Change la vitesse \n du moteur réel (0-255) (maquette Grove). Si 'vitesse' est ommis, elle sera réinitialisée.""" # fdc_o() \n -> Capteur fin de course portail ouvert.\n Retourne True si le portail est ouvert. \n # fdc_f() \n -> Capteur fin de course portail fermé.\n Retourne True si le portail est fermé.\n card_movement_url=[] -system_card_description.update({"movement-card" : [card_movement_title, card_movement_text, card_movement_url]}) +system_card_description.update({"movement-card" : [card_movement_title, [card_movement_text_grove, card_movement_text_autoprog], card_movement_url]}) # Capteurs card_sensor_title="Capteur" @@ -162,15 +174,3 @@ def get_system_card(): def get_system_card_description(): return system_card_description - - # # Mise en place de la variante - # print ("aa") - # print (scene.objects['System']['script']) - # print ("bb") - # # runpy.run_path(scene.objects['System']['script'], run_name='init') - # # if scene.objects['System']['variant'] ==2: - # # system_card_description.update({"pin-card" : [card_pin_title, card_pin_text_autoprog, card_pin_url]}) - # # else: - # # system_card_description.update({"pin-card" : [card_pin_title, card_pin_text_grove, card_pin_url]}) - - # return system_card_description diff --git a/portail_coulissant/porcou_lib.py b/portail_coulissant/porcou_lib.py index 7e20c09..23f804b 100644 --- a/portail_coulissant/porcou_lib.py +++ b/portail_coulissant/porcou_lib.py @@ -160,8 +160,12 @@ def start(fct): ## def variant(variant_num): + var_txt = [ + "variante 1 : maquette Grove", + "variante 2 : maquette AutoProg"] + if variant_num != scene.objects['System']['variant']: - print ("Variante de la maquette numérique :", variant_num) + print ("Variante des maquettes numérique et réelle :", var_txt[variant_num-1]) scene.objects['System']['variant']=variant_num ## diff --git a/twin_config.xml b/twin_config.xml index 2281590..5c10196 100644 --- a/twin_config.xml +++ b/twin_config.xml @@ -1,7 +1,7 @@ - 1590 - 895 + 1568 + 882 4 diff --git a/volet_roulant/volet_roulant-18.blend b/volet_roulant/volet_roulant-18.blend index 727d255..39c2505 100644 Binary files a/volet_roulant/volet_roulant-18.blend and b/volet_roulant/volet_roulant-18.blend differ diff --git a/volet_roulant/volrou_doc.py b/volet_roulant/volrou_doc.py index b3980e3..250e217 100644 --- a/volet_roulant/volrou_doc.py +++ b/volet_roulant/volrou_doc.py @@ -31,7 +31,6 @@ system_card_description.update({"twins-card" : [card_twins_title, card_twins_tex # Brochage card_pin_title="Brochage" - card_pin_text_grove_bg_auto=""" Le brochage est un dictionnaire d'association \n des objets numériques aux broches réelles. brochage = { nom:[type, broche, mode] } : - nom : nom de l'objet 3D, @@ -63,12 +62,23 @@ system_card_description.update({"pin-card" : [card_pin_title, [card_pin_text_gro # Données card_data_title="Accès aux données" -card_data_text=""" get(variable) \n -> Retourne la valeur de la variable à \n l'instant t. Par exemple : val = get('bp_m').\n - Entrées/sorties : 'bp_m', 'bp_a', 'bp_d', \n 'mot_m', 'mot_d', 'fdc_h', 'fdc_b', 'bp_auto', \n 'bg_auto', 'voy_auto', 'lum'.\n - Variables réels (si il y a jumelage) : 'bp_m_r', \n 'bp_a_r', 'bp_d_r', 'fdc_h_r', 'fdc_b_r', \n 'bp_auto_r', 'bg_auto_r', 'lum_r'.\n +card_data_text_grove_bg_auto=""" get(variable) \n -> Retourne la valeur de la variable à \n l'instant t. Par exemple : val = get('bp_m').\n + Entrées/sorties : 'bp_m', 'bp_a', 'bp_d', \n 'mot_m', 'mot_d', 'fdc_h', 'fdc_b', 'bg_auto', \n 'voy_auto', 'lum'.\n + Variables réels (si il y a jumelage) : 'bp_m_r', \n 'bp_a_r', 'bp_d_r', 'fdc_h_r', 'fdc_b_r', 'lum_r', \n 'bg_auto_r', 'mot_v', 'mot_s', 'mot_vitesse_r'.\n Autres : 't' (temps), 'mot_angle', 'mot_vitesse'.""" + +card_data_text_grove_bp_auto=""" get(variable) \n -> Retourne la valeur de la variable à \n l'instant t. Par exemple : val = get('bp_m').\n + Entrées/sorties : 'bp_m', 'bp_a', 'bp_d', \n 'mot_m', 'mot_d', 'fdc_h', 'fdc_b', 'bp_auto', \n 'voy_auto', 'lum'.\n + Variables réels (si il y a jumelage) : 'bp_m_r', \n 'bp_a_r', 'bp_d_r', 'fdc_h_r', 'fdc_b_r', 'lum_r', \n 'bp_auto_r', 'mot_v', 'mot_s', 'mot_vitesse_r'.\n + Autres : 't' (temps), 'mot_angle', 'mot_vitesse'.""" + +card_data_text_autoprog=""" get(variable) \n -> Retourne la valeur de la variable à \n l'instant t. Par exemple : val = get('bp_m').\n + Entrées/sorties : 'bp_m', 'bp_a', 'bp_d', \n 'mot_m', 'mot_d', 'fdc_h', 'fdc_b', 'bp_auto', \n 'voy_auto', 'lum'.\n + Variables réels (si il y a jumelage) : 'bp_m_r', \n 'bp_a_r', 'bp_d_r', 'fdc_h_r', 'fdc_b_r', \n 'bp_auto_r', 'lum_r'.\n + Autres : 't' (temps), 'mot_angle', 'mot_vitesse'.""" + card_data_url=[] -system_card_description.update({"data-card" : [card_data_title, card_data_text, card_data_url]}) +system_card_description.update({"data-card" : [card_data_title, [card_data_text_grove_bg_auto, card_data_text_grove_bp_auto, card_data_text_autoprog], card_data_url]}) # Monitoring card_daq_title="Acquisition de données" @@ -85,15 +95,23 @@ system_card_description.update({"daq-card" : [card_daq_title, card_daq_text, car # Monter et descendre card_movement_title="Monter et descendre" -card_movement_text=""" mot_m(True | False) -> Monter le volet. +card_movement_text_grove=""" mot_m(True | False) -> Monter le volet. mot_d(True | False) -> Descendre le volet. \n mot_vitesse(vitesse) -> Change la vitesse \n du moteur numérique en rad/s. - mot_vitesse_r(vitesse) -> Change la vitesse \n du moteur réel (0-255) (maquette Grove). + mot_vitesse_r(vitesse) -> Change la vitesse \n du moteur réel (0-255). Si 'vitesse' est ommis, elle sera réinitialisée.\n fdc_h() \n -> Capteur fin de course volet en haut. fdc_b() \n -> Capteur fin de course volet en bas.""" + +card_movement_text_autoprog=""" mot_m(True | False) -> Monter le volet. + mot_d(True | False) -> Descendre le volet. \n + mot_vitesse(vitesse) -> Change la vitesse \n du moteur numérique en rad/s. + Si 'vitesse' est ommis, elle sera réinitialisée.\n + fdc_h() \n -> Capteur fin de course volet en haut. + fdc_b() \n -> Capteur fin de course volet en bas.""" + card_movement_url=[] -system_card_description.update({"movement-card" : [card_movement_title, card_movement_text, card_movement_url]}) +system_card_description.update({"movement-card" : [card_movement_title, [card_movement_text_grove, card_movement_text_grove, card_movement_text_autoprog], card_movement_url]}) # 2 descriptions # Capteurs card_sensor_title="Capteur" diff --git a/volet_roulant/volrou_lib.py b/volet_roulant/volrou_lib.py index 3b67cc4..48810c3 100644 --- a/volet_roulant/volrou_lib.py +++ b/volet_roulant/volrou_lib.py @@ -161,13 +161,13 @@ def start(fct): # Variante # # Variante 0 : valeur par défaut : boutons 'bp_auto' et 'bg_auto' absents -> il faut donc définir obligatoirement la variante. -# Variante 1 : Maquette Grove + bouton auto à glissière : +# Variante 1 : Maquette Grove + bouton auto à glissière : # - Maquette Grove : la carte moteur est le shield moteur Arduino CC 4 x 1,2 A DRI0039 (DFROBOT) # - Le mode automatique s'active et se désactive avec le bouton à glissière bg_auto -# Variante 2 : Maquette Grove + bouton auto poussoir : +# Variante 2 : Maquette Grove + bouton auto poussoir : # - Maquette Grove : la carte moteur est le shield moteur Arduino CC 4 x 1,2 A DRI0039 (DFROBOT) # - Le mode automatique s'active avec le bouton poussoir bp_auto et se désactive avec l'appui sur bp_m, bp_a ou bp_d. -# Variante 3 : Maquette AutoProg + bouton auto poussoir : +# Variante 3 : Maquette AutoProg + bouton auto poussoir : # - Maquette AutoProg (A4 Technologie) : la carte moteur est le module AutoProg K-AP-MMOT-KIT # - Le mode automatique s'active avec le bouton poussoir bp_auto et se désactive avec l'appui sur bp_m, bp_a ou bp_d. # @@ -179,12 +179,17 @@ def start(fct): ## def variant(variant_num): + var_txt = [ + "variante 1 : maquette Grove + bouton auto à glissière", + "variante 2 : maquette Grove + bouton auto poussoir", + "variante 3 : maquette AutoProg + bouton auto poussoir"] + if variant_num != scene.objects['System']['variant']: - print ("Variante de la maquette numérique:", variant_num) + print ("Variante des maquettes numérique et réelle :", var_txt[variant_num-1]) scene.objects['System']['variant']=variant_num # Affichage des éléments spécifiques de la variante - variant_dict = {'Bg auto':[1,2], 'Bg auto-on':[1,2], 'Bp auto':[3]} + variant_dict = {'Bg auto':[1], 'Bg auto-on':[1], 'Bp auto':[2,3]} variant_list = list(variant_dict) for name in variant_list: if variant_num in variant_dict[name]: