WikiElectronique

Wiki sur l'électronique et l'informatique

Outils pour utilisateurs

Outils du site


interface_chauffage_-_local_process_bus_lpb

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
Prochaine révisionLes deux révisions suivantes
interface_chauffage_-_local_process_bus_lpb [2018/01/01 14:57] – [Liste des télégramme et décodage] 88.164.131.165interface_chauffage_-_local_process_bus_lpb [2018/04/22 15:30] – [Le format de la trame] 88.164.131.165
Ligne 70: Ligne 70:
   * 00 : Expéditeur - Adresse de l'expediteur du telegramme   * 00 : Expéditeur - Adresse de l'expediteur du telegramme
   * CC 02 00 14 02 05 00 02 1D 00 : Nom du telegramme (Reste à preciser) - Toujours de 10 octects   * CC 02 00 14 02 05 00 02 1D 00 : Nom du telegramme (Reste à preciser) - Toujours de 10 octects
 +
 +Tentative de décodage du nom du télégramme:
 +
 +  - CC : Flag d'envoi ou de réception ? 
 +  - 02 : inconnu
 +  - 00 : inconnu
 +  - 14 : inconnu
 +  - 02 : type ? 2 : info / 3 : Set / 4: Ack to Set / 6 : Request / 7 : reply to request - Le type est augmenté de 0x20 entre chaque échange
 +  - 05 : (cmd & 0x00ff0000) >> 16;
 +  - 00 : (cmd & 0xff000000) >> 24;
 +  - 02 : (cmd & 0x0000ff00) >> 8;
 +  - 1D : (cmd & 0x000000ff);
 +  - 00 : valeur
 +
 +Les octect 1 et 2 sont inversés entre la demande et la réponse :
 +
 +Exemple : 
 +  * Demande : 053D0064 type 86
 +  * Réponse : 3D050064 type 87
 +
 +Echange suivant +0x20
 +
 +  * Demande : 053D0064 type A6
 +  * Réponse : 3D050064 type A7
 +
   * 0F 06 : Valeur du telegramme   * 0F 06 : Valeur du telegramme
 +  * F2 B4 : CRC
 +
 +==== Calcul du CRC ====
 +
 +Le CRC se calcule avec l'ensemble des reçus 
 +
 +<code csharp>
 +        public static string CRC_LPB(byte[] bytes)
 +        {
 +            int crc = 0;
 +            int len = bytes.Length-1;
 +            crc = (257 - len) * 256 + len - 2;
 +
 +            if (bytes != null && bytes.Length > 0)
 +            {
 +                for(int i=0;i<(len-1);i++)
 +                {
 +                    crc += bytes[i];
 +                }
 +            }
 +            return String.Format("{0:X2}", crc);
 +        }
 +</code>
 +  
 +  Si bytes[] = {0x78,0x11,0xFF,0x00,0xCC,0x02,0x00,0x14,0x02,0x05,0x00,0x02,0x1D,0x00,0x0F,0x06,0xF2,0xB4}
      
 +  Alors crc = F2B4 
 ==== Liste des télégramme et décodage ====  ==== Liste des télégramme et décodage ==== 
  
Ligne 109: Ligne 160:
   * 0C : 12 (mois)    * 0C : 12 (mois) 
   * 1F : 31 (jour)   * 1F : 31 (jour)
-  * 07 : ??+  * 07 : 7eme jour de la semaine donc dimanche
   * 10 : 16 (heure)   * 10 : 16 (heure)
   * 0E : 14 (min)   * 0E : 14 (min)
   * 1A : 26 (secondes ?)   * 1A : 26 (secondes ?)
   * 00 : ??   * 00 : ??
interface_chauffage_-_local_process_bus_lpb.txt · Dernière modification : 2019/02/12 22:21 de 88.164.131.165

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki