diff --git a/README.md b/README.md index 8f9e970..a00bffc 100644 --- a/README.md +++ b/README.md @@ -46,7 +46,7 @@ L'environnement de développement est basé sur : la plateforme de modélisation Les fichiers sources sont dans le groupe Blender-Edutech de la forge de l'AEIF : https://forge.aeif.fr/blender-edutech/jumeau-numerique . Les bibliothèques suivantes ne sont pas incluses par défaut dans l'environnement UPBGE : -- [**Pylint**](https://pylint.pycqa.org) : vérificateur du code Python +- [**Pylint**](https://pylint.pycqa.org) : vérificateur de code Python - [**pySerial**](https://pyserial.readthedocs.io) : communication sur le port série - [**pyFirmata**](https://pyfirmata.readthedocs.io) : protocole Firmata (protocole générique de communication entre un logiciel et un microcontrôleur) - [**Matplotlib**](https://matplotlib.org) : grapheur (visualisation de données) diff --git a/monte_charge/montchg.py b/monte_charge/montchg.py index d83f4b0..a21ce22 100644 --- a/monte_charge/montchg.py +++ b/monte_charge/montchg.py @@ -162,10 +162,10 @@ def mot (cont): # Modele 3D -> Arduino if scene.objects['System']['twins'] and obj['prior_real']: - if scene.objects['Moteur']['pin_m'] is not None: - if scene.objects['Moteur']['pin_d'] is not None: - scene.objects['Moteur']['pin_d'].write(0) - scene.objects['Moteur']['pin_m'].write(1) + if scene.objects['Moteur']['pin_up'] is not None: + if scene.objects['Moteur']['pin_down'] is not None: + scene.objects['Moteur']['pin_down'].write(0) + scene.objects['Moteur']['pin_up'].write(1) # Descendre # else: # Pas de priorité @@ -187,10 +187,10 @@ def mot (cont): # Modele 3D -> Arduino if scene.objects['System']['twins'] and obj['prior_real']: - if scene.objects['Moteur']['pin_d'] is not None: - if scene.objects['Moteur']['pin_m'] is not None: - scene.objects['Moteur']['pin_m'].write(0) - scene.objects['Moteur']['pin_d'].write(1) + if scene.objects['Moteur']['pin_down'] is not None: + if scene.objects['Moteur']['pin_up'] is not None: + scene.objects['Moteur']['pin_up'].write(0) + scene.objects['Moteur']['pin_down'].write(1) # Arrêter if obj['up']== False and obj['down'] == False : @@ -203,10 +203,10 @@ def mot (cont): # Modele 3D -> Arduino if scene.objects['System']['twins'] and obj['prior_real']: - if scene.objects['Moteur']['pin_d'] is not None: - if scene.objects['Moteur']['pin_m'] is not None: - scene.objects['Moteur']['pin_m'].write(0) - scene.objects['Moteur']['pin_d'].write(0) + if scene.objects['Moteur']['pin_down'] is not None: + if scene.objects['Moteur']['pin_up'] is not None: + scene.objects['Moteur']['pin_up'].write(0) + scene.objects['Moteur']['pin_down'].write(0) ############################################################################### diff --git a/twin_plot.py b/twin_plot.py index aee02cd..e71a52c 100644 --- a/twin_plot.py +++ b/twin_plot.py @@ -122,7 +122,7 @@ def plot_draw(plt, var, xdata, ydata, plot_config): if plot_config_get(plot_config, var, 'type') =='d': plt.plot(xdata, ydata, label=var, drawstyle='steps-post', color=plot_config_get(plot_config, var, 'color'), linewidth=plot_config_get(plot_config, var, 'linewidth'), linestyle=plot_config_get(plot_config, var, 'linestyle'), marker=plot_config_get(plot_config, var, 'marker')) - plt.set_ylim(0,1) # niveau 0 et niveau 1 + plt.set_ylim(0,1.1) # niveau 0 et niveau 1 # Courbe d'une variable numérique (discret) if plot_config_get(plot_config, var, 'type') =='n': diff --git a/volet_roulant/volet_roulant-18.blend b/volet_roulant/volet_roulant-18.blend index 0a19d31..022d64e 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.py b/volet_roulant/volrou.py index 2b32681..832215b 100644 --- a/volet_roulant/volrou.py +++ b/volet_roulant/volrou.py @@ -210,10 +210,10 @@ def mot (cont): # Modele 3D -> Arduino if scene.objects['System']['twins'] and obj['prior_real']: - if scene.objects['Moteur']['pin_m'] is not None: - if scene.objects['Moteur']['pin_d'] is not None: - scene.objects['Moteur']['pin_d'].write(0) - scene.objects['Moteur']['pin_m'].write(1) + if scene.objects['Moteur']['pin_up'] is not None: + if scene.objects['Moteur']['pin_down'] is not None: + scene.objects['Moteur']['pin_down'].write(0) + scene.objects['Moteur']['pin_up'].write(1) # Descendre if obj['down']: @@ -305,10 +305,10 @@ def mot (cont): # Modele 3D -> Arduino if scene.objects['System']['twins'] and obj['prior_real']: - if scene.objects['Moteur']['pin_d'] is not None: - if scene.objects['Moteur']['pin_m'] is not None: - scene.objects['Moteur']['pin_m'].write(0) - scene.objects['Moteur']['pin_d'].write(1) + if scene.objects['Moteur']['pin_down'] is not None: + if scene.objects['Moteur']['pin_up'] is not None: + scene.objects['Moteur']['pin_up'].write(0) + scene.objects['Moteur']['pin_down'].write(1) # Arrêt if obj['up'] == False and obj['down'] == False: @@ -340,10 +340,10 @@ def mot (cont): # Modele 3D -> Arduino if scene.objects['System']['twins'] and obj['prior_real']: - if scene.objects['Moteur']['pin_d'] is not None: - if scene.objects['Moteur']['pin_m'] is not None: - scene.objects['Moteur']['pin_m'].write(0) - scene.objects['Moteur']['pin_d'].write(0) + if scene.objects['Moteur']['pin_down'] is not None: + if scene.objects['Moteur']['pin_up'] is not None: + scene.objects['Moteur']['pin_up'].write(0) + scene.objects['Moteur']['pin_down'].write(0) ############################################################################### # Capteurs fin de course @@ -431,7 +431,6 @@ def system_init (): ## # Réinitialisation du système ## - def system_reset (): # Mise en place de la variante diff --git a/volet_roulant/volrou_cmd-bak.py b/volet_roulant/volrou_cmd-bak.py index 9da5f21..810205c 100644 --- a/volet_roulant/volrou_cmd-bak.py +++ b/volet_roulant/volrou_cmd-bak.py @@ -37,7 +37,7 @@ brochage={ 'bp_m' : [],'bp_a' : [],'bp_d' : [], 'fdc_h' : [],'fdc_b' : [], 'mot_m' : [],'mot_d' : [], - 'bp_auto' : [],'voy_auto' : [],'lum' : []} + 'bp_auto' : [],'bg_auto' : [], 'voy_auto' : [],'lum' : []} ############################################################################### # Fonctions diff --git a/volet_roulant/volrou_doc.py b/volet_roulant/volrou_doc.py index 21c56fa..1b5ce70 100644 --- a/volet_roulant/volrou_doc.py +++ b/volet_roulant/volrou_doc.py @@ -38,15 +38,15 @@ card_pin_text=""" Le brochage est un dictionnaire qui permet \n d'associer les o - broche : numéro de la broche de carte, - mode : i (entrée), o (sortie) ou p (pwm). Par exemple : brochage = { 'bp_m':['d',2,'i'] }.\n - Les objets numériques du jumeau sont : \n 'bp_m', 'bp_a', 'bp_d', 'mot_m', 'mot_d', \n 'fdc_h', 'fdc_b', 'bp_auto', 'voy_auto' et 'lum'.""" + Les objets numériques sont : 'bp_m', 'bp_a', \n 'bp_d', 'mot_m', 'mot_d', 'fdc_h', 'fdc_b', \n 'bp_auto', 'bg_auto', 'voy_auto' et 'lum'.""" card_pin_url=[] system_card_description.update({"pin-card" : [card_pin_title, card_pin_text, card_pin_url]}) # 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 '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 + 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 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]}) @@ -70,7 +70,7 @@ card_movement_text=""" mot_m(True | False) \n -> Monter le volet (moteur sens tr mot_d(True | False) \n -> Descendre le volet (sens horaire). \n fdc_h() \n -> Capteur fin de course volet en haut. fdc_b() \n -> Capteur fin de course volet en bas.\n - mot_digitset(vitesse) -> Change la vitesse \n du moteur numérique en rad/s. Si 'vitesse' \n est ommis, elle sera réinitialisée.""" + mot_vitesse(vitesse) -> Change la vitesse \n du moteur numérique en rad/s. Si 'vitesse' \n est ommis, elle sera réinitialisée.""" card_movement_url=[] system_card_description.update({"movement-card" : [card_movement_title, card_movement_text, card_movement_url]}) @@ -82,11 +82,12 @@ system_card_description.update({"sensor-card" : [card_sensor_title, card_sensor_ # Pupitre card_board_title="Pupitre" -card_board_text= """ bp_m() \n -> Bouton poussoir monter le volet.\n Retourne True si le bouton est pressé.\n - bp_a() -> Bouton arrêt du volet.\n +card_board_text= """ bp_m() -> Bouton monter le volet. + bp_a() -> Bouton arrêter le volet. bp_d() -> Bouton descendre le volet.\n - bp_auto() -> Bouton mode automatique.\n - voy_auto(True | False) \n -> Activer le voyant témoin du mode\n automatique.""" + bp_auto() -> Bouton poussoir d'activation \n du mode automatique.\n + bg_auto() -> Bouton à glissière pour changer \n de mode (manuel/automatique).\n + voy_auto(True | False) \n -> Allumer le voyant témoin du mode\n automatique.""" card_board_url=[] system_card_description.update({"board-card" : [card_board_title, card_board_text, card_board_url]}) diff --git a/volet_roulant/volrou_lib.py b/volet_roulant/volrou_lib.py index d1a5de9..bddc1b7 100644 --- a/volet_roulant/volrou_lib.py +++ b/volet_roulant/volrou_lib.py @@ -169,15 +169,15 @@ def variant(variant_num): if variant_num != scene.objects['System']['variant']: print ("Variante de la maquette numérique:", variant_num) scene.objects['System']['variant']=variant_num - variant_dict = {'Bp auto':[1], 'Bg auto':[2], 'Bg auto-on':[2]} - variant_list = list(variant_dict) - for name in variant_list: - if variant_num in variant_dict[name]: - scene.objects[name].setVisible(True,True) - scene.objects[name].restorePhysics() - else: - scene.objects[name].setVisible(False,True) - scene.objects[name].suspendPhysics() + variant_dict = {'Bp auto':[1], 'Bg auto':[2], 'Bg auto-on':[2]} + variant_list = list(variant_dict) + for name in variant_list: + if variant_num in variant_dict[name]: + scene.objects[name].setVisible(True,True) + scene.objects[name].restorePhysics() + else: + scene.objects[name].setVisible(False,True) + scene.objects[name].suspendPhysics() ## # Arrêt