Auteur Sujet: interruptions  (Lu 18198 fois)

PB

  • Newbie
  • *
  • Messages: 30
    • Voir le profil
interruptions
« le: octobre 25, 2022, 02:12:24 pm »
Bonjour

De retour parmi vous aprés une longue absence....

Mon réseau ferroviaire est commandé par des ARDUINO MEGA 2560R3, dans ce cadre j'utilise des interruptions afin de ne pas "rater" une détection dans un canton avec des ILS; je controle l'état des variables avec mon écran d'ordinateur via la liaison série. Tout cela fonctionne à merveille.

J'ai fais une mise à jour de l'IDE (version1.8.19 sous windows 7) et depuis j'ai perdus l'affichage sur mon écran.
Aprés recherche je constate que la ligne de programme en cause est " accroche ISR aux Pins"; sans cette ligne tout redevient normal. Ce problème n'existait pas avant la màj !

Quelqu'un peut'il me venir en aide  ?

Voici la partie de programme en cause:

#include <PinChangeInt.h>
const byte pinarriveeG1 = 50; //capteurs arrivee canton G1


void interruptarriveeG1() {

  static unsigned long dateDernierChangement = 0;
  unsigned long date = millis();
  if ((date - dateDernierChangement) > dureeAntiRebond) {
    occupationG1 = 0;
    dateDernierChangement = date;
  }
}


void setup() {

  Serial.begin (9600);
 
    //---------------CANTON G1--------------
  // Programme les broches des capteurs en E/S
  pinMode(pinarriveeG1, INPUT_PULLUP);

 // accroche les ISR aux pins
  PCintPort::attachInterrupt (pinarriveeG1, interruptarriveeG1, FALLING);

msport

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2217
  • HO avec DCC++ en DIY Réseaux très éphémères
    • Voir le profil
Re : interruptions
« Réponse #1 le: octobre 25, 2022, 03:29:15 pm »
Bonjour,

dites nous ce que vous avez déjà essayé :

Comme mettre à jour la bibliothèque :

https://github.com/NicoHood/PinChangeInterrupt
library.properties
Release 1.2.9

PS : il existe une balise # pour encadrer le code.
et il n'est pas utile de doublonner les messages pour aller deux fois plus vite.
Cordialement

PB

  • Newbie
  • *
  • Messages: 30
    • Voir le profil
Re : interruptions
« Réponse #2 le: octobre 25, 2022, 03:36:43 pm »
Bonjour

En fait j'ai eu un message m'informant d'une mise à jour de l'IDE, j'ai donc cliqué sur ce message: pour ce faire il fallait télécharger l'IDE qui m'a demandé de déinstaller le précedent pour installer la nouvelle version.

Excusez moi pour le doublon; c'est une erreur

PB

  • Newbie
  • *
  • Messages: 30
    • Voir le profil
Re : interruptions
« Réponse #3 le: octobre 25, 2022, 03:57:47 pm »
Désolé mais je suis un peu perdu avec les références que vous transmettez (je suis plutot novice...........)

Par ailleurs mon code ne posez pas de probléme avant màj; j'ai donc tendance à dire qu'il est bon.

chris_bzg

  • Sr. Member
  • ****
  • Messages: 319
    • Voir le profil
Re : Re : interruptions
« Réponse #4 le: octobre 25, 2022, 04:25:59 pm »
Bonjour

En fait j'ai eu un message m'informant d'une mise à jour de l'IDE, j'ai donc cliqué sur ce message: pour ce faire il fallait télécharger l'IDE qui m'a demandé de déinstaller le précedent pour installer la nouvelle version.

Excusez moi pour le doublon; c'est une erreur

En désinstallant la version de l'IDE, vous avez peut-être désinstallé des choses nécessaires au fonctionnement de votre programme.
C'est pourquoi nous avons insisté sur l'installation d'une nouvelle version d'IDE avec un fichier ZIP (à relire "comment installer l'IDE"). En effet, cela permet d'avoir plusieurs versions de l'IDE qui cohabitent, ainsi si la nouvelle version donne problèmes, vous avez toujours l'ancienne.

De plus, la bibliothèque PinChangeInt n'est plus maintenue depuis longtemps, raison pour laquelle j'ai réécrit le code du BAL à 8 cantons qui s'en passe très bien (voir cet article). Je vous invite donc soit à vous passer de cette bibliothèque, soit à en trouver une autre similaire qui fonctionne pour la carte Mega.

Je vous invite aussi à mettre à jour votre système d'exploitation : Windows 7 étant quelque peu dépassé.

Tout cela pour dire que pour faire du bon travail, il faut avoir les bons outils et tout ce que je vous dis là est absolument gratuit. A vous d'en profiter...  ;)

PB

  • Newbie
  • *
  • Messages: 30
    • Voir le profil
Re : interruptions
« Réponse #5 le: octobre 27, 2022, 03:17:45 pm »
Bonjour chris_bzg
 
Je te remercie de tes conseils que j'ai suivi : je suis désormais sous windows 10; j'ai réinstallé l'IDE mais toujours le meme probleme: pas d'affichage moniteur.

Par ailleurs j'ais scrupuleusement appliquer les explications de l'article "interruptions" de locoduino; je suis surpris que la bibliothéque " PinChangeInt" ne soit plus d'actualité car il est précisé une mise à jour de l'article fin 2021 ?

Ou puis je retrouver l'article du code du BAL à 8 cantons ? c'est quoi le "BAL" ?

Desolé pour ces questions qui sont peut etre un peu basiques; mais j'apprends .....

Fantasio

  • Newbie
  • *
  • Messages: 40
    • Voir le profil
Re : interruptions
« Réponse #6 le: octobre 27, 2022, 04:24:54 pm »
Bonjour PB

Le BAL c'est le Block Automatique Lumineux qui est un système de signalisation ferroviaire automatique utilisé en France pour assurer l'espacement des trains circulant sur une même voie...

Pour le BAL à 8 cantons, c'est ici: https://locoduino.org/spip.php?article297

Une question n'est jamais idiote, la réponse peut l'être... :)

chris_bzg

  • Sr. Member
  • ****
  • Messages: 319
    • Voir le profil
Re : Re : interruptions
« Réponse #7 le: octobre 27, 2022, 04:33:54 pm »
..
Une question n'est jamais idiote, la réponse peut l'être... :)

Exactement ! Quand j'enseignais, j'insistais auprès de mes élèves pour qu'ils disent lorsqu'ils ne comprenaient pas et j'essayais toujours de reformuler le concept d'une manière différente. Trop souvent les enseignants ne font que redire la même chose : moralité, l'élève ne comprend toujours pas mais il n'ose plus le dire.
C'est vrai qu'on a tendance à utiliser les acronymes mais lorsqu'on les voit pour la première fois, cela peut être du chinois. En plus, j'aurais dû écrire B.A.L et non BAL (et l'expliquer...). Au temps pour moi !

msport

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2217
  • HO avec DCC++ en DIY Réseaux très éphémères
    • Voir le profil
Re : interruptions
« Réponse #8 le: octobre 27, 2022, 08:37:43 pm »
Bonsoir,
en cas de question sur un terme, il n'est pas interdit de faire une petite recherche. Si Wikipedia ne donne rien, on peut utiliser la "recherche" en haut à droite soit sur le forum soit sur le site éditorial. Pour ce dernier, 76 réponses et la première donne la bonne explication pour BAL. Ensuite, avec Ctrl F on trouve où dans la page.
Cordialement

Tony04

  • Hero Member
  • *****
  • Messages: 570
    • Voir le profil
Re : Re : interruptions
« Réponse #9 le: octobre 27, 2022, 09:10:10 pm »
Ou puis je retrouver l'article du code du BAL à 8 cantons ? c'est quoi le "BAL" ?

Bonjour PB,

si tu es intéressé par un BAL réduit à sa plus simple expression tu peux trouver une idée ici: https://forum.locoduino.org/index.php?topic=1405.0

Cordialement
Antoine

PB

  • Newbie
  • *
  • Messages: 30
    • Voir le profil
Re : interruptions
« Réponse #10 le: octobre 28, 2022, 11:09:19 am »
Bonjour à tous et en particulier à TONY04

Tony04 tu suscite toujours autant les passions....
Ton systéme est génial, je vais essayer cela mais il va me falloir un temps de "digestion"; néanmoins sans tout comprendre du premier coup, avec la vidéo on comprend bien le principe général
J'ai déjà appliquer ton systéme d'accélération /décélération avec succés, cela ne m'a pas poser de pb!!!

Pourrais tu m'envoyer le code svp ?
Un grand merci en tous cas pour ton investissement sur des problématiques de débutant.

Tony04

  • Hero Member
  • *****
  • Messages: 570
    • Voir le profil
Re : interruptions
« Réponse #11 le: octobre 28, 2022, 07:37:04 pm »
Bonsoir PB,

voici mon code en PJ, si tu as besoin d'explication n'hésite pas. Ce n'est pas évident si on ne connait pas le fonctionnement du WeMos en WIFI.

Cordialement
Antoine

PB

  • Newbie
  • *
  • Messages: 30
    • Voir le profil
Re : interruptions
« Réponse #12 le: octobre 29, 2022, 12:32:33 pm »
Merci beaucoup TONY04

Je pense qu'il va me falloir un certain temps pour digérer tout cà et ne pas avoir une indigestion !!!!!

Tony04

  • Hero Member
  • *****
  • Messages: 570
    • Voir le profil
Re : interruptions
« Réponse #13 le: octobre 29, 2022, 09:12:40 pm »
Bonsoir PB,

il faut commencer par comprendre la philosophie des WeMos WIFI peut-être ici: https://randomnerdtutorials.com/esp-now-esp8266-nodemcu-arduino-ide/
pour voir comment ils échangent entre eux.

Antoine

PB

  • Newbie
  • *
  • Messages: 30
    • Voir le profil
Re : interruptions
« Réponse #14 le: octobre 30, 2022, 10:32:53 am »
Bonjour TONY

Indépendement de tout cà (que j'applique le principe des BAL ou des interruptions ); je me pose toujours la question suivante: est-ce que les ILS vont toujours etre détecté ? malgré l'abandon des interruptions.