Module UxIx3
Pour supprimer l'erreur de lecture initiale ( "Pas tout reçu, pas traité... nombre de données : 0"), qui est normale car on vient essayer de lire les données immédiatement après avoir envoyé la requête, il suffit d'envoyer une première requête juste après le setup.
Par contre, pour que cela fonctionne, il faut mettre le setup du port comm ET la première requête dans la tâche zéro, comme suit :
/* **********************
* ****************** *
* * Tâches Coeur 0 * *
* ****************** *
**********************
*/
int cpt=0;
void Task_LectureRMS(void *pvParameters) {
if (Source == "UxIx3")
{ Setup_JSY333(); // init port série
delay(100); // pour s'assurer que l'init du port série est ok coté module
PeriodeProgMillis=1000; // la première lecture aura lieu 1000ms plus tard, et les données auront été reçue
Requete_JSY333(); // requête initiale au module. La première lecture aura lieu PeriodeProgMillis =1000ms plus tard.
}
for ( ; ; ) {
probablement que la même chose s'applique pour le module UxIx2.
Et dans le sketch UxIx3 :
void Requete_JSY333() {
int i;
byte msg_send[] = { 0x01, 0x03, 0x01, 0x00, 0x00, 0x44, 0x44, 0x05 };
for (i = 0; i < 8; i++) {
MySerial.write(msg_send[i]);
}
}
Pour supprimer l'erreur de lecture initiale ( "Pas tout reçu, pas traité... nombre de données : 0"), qui est normale car on vient essayer de lire les données immédiatement après avoir envoyé la requête, il suffit d'envoyer une première requête juste après le setup.
Par contre, pour que cela fonctionne, il faut mettre le setup du port comm ET la première requête dans la tâche zéro, comme suit :
/* **********************
* ****************** *
* * Tâches Coeur 0 * *
* ****************** *
**********************
*/
int cpt=0;
void Task_LectureRMS(void *pvParameters) {
if (Source == "UxIx3")
{ Setup_JSY333(); // init port série
delay(100); // pour s'assurer que l'init du port série est ok coté module
PeriodeProgMillis=1000; // la première lecture aura lieu 1000ms plus tard, et les données auront été reçue
Requete_JSY333(); // requête initiale au module. La première lecture aura lieu PeriodeProgMillis =1000ms plus tard.
}
for ( ; ; ) {
probablement que la même chose s'applique pour le module UxIx2.
Et dans le sketch UxIx3 :
void Requete_JSY333() {
int i;
byte msg_send[] = { 0x01, 0x03, 0x01, 0x00, 0x00, 0x44, 0x44, 0x05 };
for (i = 0; i < 8; i++) {
MySerial.write(msg_send[i]);
}
}
V12.0 modifiée récurrence d'interrogation serveurs, RTE, et code UxIx3. 1 serveur RMS UxIx3, 1 client Triac CE + 1 client SSR CE. 1 client SSR sur CE tri sur 1 serveur Linky réf. CACSI. Variateurs de fréquence sur Piscine et Spa.
6 panneaux (2 SO 2 S, 2 SE ) 425Wc produisent 13kWh de jour actuellement.
6 panneaux (2 SO 2 S, 2 SE ) 425Wc produisent 13kWh de jour actuellement.