#include #include #include #include #include #include #include /* Par Idleman (idleman@idleman.fr - http://blog.idleman.fr) Licence : CC by sa Toutes question sur le blog ou par mail, possibilité de m'envoyer des bières via le blog */ int pin; bool bit2[26]={}; // 26 bit Identifiant emetteur bool bit2Interruptor[4]={}; int interruptor; int sender; char onoff; void scheduler_realtime() { struct sched_param p; p.__sched_priority = sched_get_priority_max(SCHED_RR); if (sched_setscheduler( 0, SCHED_RR, &p ) == -1 ) { perror("Failed to switch to realtime scheduler."); } } void scheduler_standard() { struct sched_param p; p.__sched_priority = 0; if( sched_setscheduler( 0, SCHED_OTHER, &p ) == -1 ) { perror("Failed to switch to normal scheduler."); } } //Envois d'une pulsation (passage de l'etat haut a l'etat bas) //1 = 310µs haut puis 1340µs bas //0 = 310µs haut puis 310µs bas void sendBit(bool b) { if (b) { digitalWrite(pin, HIGH); delayMicroseconds(310); //275 orinally, but tweaked. digitalWrite(pin, LOW); delayMicroseconds(1340); //1225 orinally, but tweaked. } else { digitalWrite(pin, HIGH); delayMicroseconds(310); //275 orinally, but tweaked. digitalWrite(pin, LOW); delayMicroseconds(310); //275 orinally, but tweaked. } } //Calcul le nombre 2^chiffre indiqué, fonction utilisé par itob pour la conversion decimal/binaire unsigned long power2(int power) { unsigned long integer=1; for (int i=0; i