snippets:calcul_du_checksum_des_trames_de_teleinfo
Table des matières
Checksum des trames de téléinformation enedis
Documentation Enedis
Python
def checksum(frame): somme = 0 for c in frame[:-1]: somme += ord(c) somme_trunc = bin(somme)[-6:] calc_check = chr(32 + int(somme_trunc, 2)) if calc_check == frame[-1:]: return True else: return False
JavaScript
function checksum(frame) { let somme = 0; for (let i = 0; i < frame.length - 1; i++) { somme += frame.charCodeAt(i); } const sommeTrunc = (somme & 0b111111).toString(2); const calcCheck = String.fromCharCode(32 + parseInt(sommeTrunc, 2)); if (calcCheck === frame.slice(-1)) { return true; } else { return false; } }
snippets/calcul_du_checksum_des_trames_de_teleinfo.txt · Dernière modification : 28/04/2024 12:16 de antoineve