Bonjour Jpp,
Merci d'avoir pris le temps de me répondre.
jpp38 a écrit:Quelles variables globales as-tu essayé de modifier?
Je suppose, si tu poses la question, que tu as déjà essayé de modifier MAX_NB_DETECTORS? Je le vois toujours à 128 dans le code que tu viens de mettre sur ce fil.
J'ai gardé ces modifications de mon coté car pour le moment ça ne fonctionne pas, mais oui j'ai modifié la variable MAX_NB_DETECTORS pensant que ça suffirait et que le code derrière serait capable de gérer.
Malheureusement ce n'est pas le cas
jpp38 a écrit:Ensuite, il faut vérifier dans DCPS_ExtractS88State() que nNbDetectors a bien la valeur spécifiée dans le fenêtre de paramétrage d'entrée (debugger ou MessageBox).
C'est là que se concentrent mes recherches effectivement, pour le moment tout semble bon et la boucle lit bien tous les caractères renvoyés par la centrale. Mais il semble qu'au-delà de 32 caractères les états ne sont plus sauvegardés.
Je penche donc pour un problème de taille de variable mais je tatonne encore à savoir réellement qui fait quoi....
jpp38 a écrit:Si on va au-delà, est-ce que l'extension du protocole de départ prévoit d'allonger la chaîne de caractères hexa au-delà de 32, ou est-ce qu'une autre méthode a été prévue?
L’implémentation effectué dans la centrale allonge effectivement la chaîne de caractère, elle va donc jusqu'à 128 caractères pour 512 capteurs.
Et cette chaîne allongée arrive bien jusqu'à la fonction DCPS_ExtractS88State et là encore elle est parcourue de bout en bout mais seuls les 32 premiers caractères sont enregistrés.
Cela dit il y a un point que je peine encore a éclairci, c'est la forme des données à laquelle CDM-Rail s'attend concernant les capteurs.
S'attend-il simplement à des 0/1 avec l'adresse correspondante ou à un caractère hexadécimal ou autres ?
Vous pourriez m'éclairer sur ce point ?
Merci
Mathieu