A nouveau Bonsoir !
J'utilise la bibliothèque One-Wire pour gérer mes sondes DS18x20, tout roule comme sur des roulettes !
La bibliothèque de Github est vraiment bien faite.
Seulement voilà, j'aimerais faire un truc qui n'est pas prévu dans le contrat d'utilisation
J'aimerais accéder à la table de calcul du CRC (pour me calculer mon CRC à moi en dehors des sondes) ;
or si la fonction de calcul est accessible (ben oui), la table ne l'est pas... elle est décrite dans
le fichier "OneWire.cpp"
#if ONEWIRE_CRC8_TABLE
static const uint8_t PROGMEM dscrc_table[] = {
0, 94,188,226, 97, 63,221,131,194,156,126, 32,163,253, 31, 65,
157,195, 33,127,252,162, 64, 30, 95, ..............
85, 11,136,214, 52,106, 43,117,151,201, 74, 20,246,168, 116,
42,200,150, 21, 75,169,247,182,232, 10, 84,215,137,107, 53};
et dans "OneWire.h" on retrouve la déclaration de la fonction de calcul
#if ONEWIRE_CRC
// Compute a Dallas Semiconductor 8 bit CRC, these are used in the
// ROM and scratchpad registers.
static uint8_t crc8(const uint8_t *addr, uint8_t len);
Ma question est : comment puis-je accéder à cette table depuis mon appli ? j'ai essayé les directives "extern", mais tant que la table n'est pas déclarée partagée, ça ne fonctionne pas.
Comment pourrais-je faire ? il me la faut cette table