¿How is possible transmit audio with E07-M1101D?

Good morning, afternoon or evening, I recently acquired two E07-M1101D and two arduino nano, after trying basic examples and seeing that everything works I decided to try to transmit audio, mapping the signal from a microphone and converting it to something that can be sent, and then When receiving that, try to deconvert it to a signal that can be heard, but all this in vain, use the mobile jack to input audio and an amplifier to the output, that is not the problem, and add quite a few commands like SetTx and SetRx but all in vain, nothing seems to reproduce in the end, I send you the code the last thing I tried but there are many tests behind it, I am not an expert in code nor do I really know quite a bit, any help would be great, thanks in advance.

#include <ELECHOUSE_CC1101_SRC_DRV.h>

// Definición de pines
#define BUTTON_PIN 4
#define LED_PIN 7
#define MIC_PIN A0
#define SPEAKER_PIN 3

// Variables globales
int micValue = analogRead(MIC_PIN);
byte audioSample = map(micValue, 0, 1023, 0, 255);
bool isTransmitting = false;  // Variable para controlar el modo de operación
byte buffer[61];              // Buffer para almacenar datos recibidos
byte micData = map(micValue, 0, 1023, 0, 255);
int originalData = (buffer, 0, 1023, 0, 255);
//=================================================================================================

void setup() {
    Serial.begin(9600);

    // Inicialización de pines
    pinMode(BUTTON_PIN, INPUT);
    pinMode(LED_PIN, OUTPUT);
    pinMode(SPEAKER_PIN, OUTPUT);
    // Inicialización del módulo CC1101
    if (ELECHOUSE_cc1101.getCC1101()) {
    Serial.println("Conexión OK");
  } else {
    Serial.println("Error de conexión");
    }

    ELECHOUSE_cc1101.Init();
    ELECHOUSE_cc1101.setCCMode(1); // Configurar en modo recepción inicialmente
    ELECHOUSE_cc1101.setModulation(0);
    ELECHOUSE_cc1101.setMHZ(433.92);
    ELECHOUSE_cc1101.setSyncMode(2);
    ELECHOUSE_cc1101.setCrc(1);
    ELECHOUSE_cc1101.setPA(10);
    // Configurar interrupción por el botón
    //attachInterrupt(digitalPinToInterrupt(BUTTON_PIN), buttonISR, CHANGE);
}

//============================================================================================

void loop() {
  if (digitalRead(BUTTON_PIN) == HIGH) {
   ELECHOUSE_cc1101.SendData(micData, 60, 10); // Enviar el dato del micrófono
    digitalWrite(LED_PIN, HIGH);
    
  }
  if (digitalRead(BUTTON_PIN) == LOW){
        int len = ELECHOUSE_cc1101.ReceiveData(buffer);
        digitalWrite(LED_PIN, LOW);        
        analogWrite(SPEAKER_PIN, originalData);
      }
    }
//======================================================================================================================

The very first thing to do in debugging a program is to serial.Print() what is being sent and do the same with what is being received and see if they are identical. I do not see any place in the program where you have attempted to debug your program.

You can't write random code lines and expect the program to do what you want.

Function calls like these need to be in either setup() or loop() to do anything useful.

// Variables globales
int micValue = analogRead(MIC_PIN);
byte audioSample = map(micValue, 0, 1023, 0, 255);

This does nothing useful, anywhere:

int originalData = (buffer, 0, 1023, 0, 255);
1 Like

This is executed if I don't press the button,

17:05:06.993 -> Conexión OK
17:05:06.993 -> CC1101 Iniciado
17:05:06.993 -> 250
17:05:07.038 -> OriginalData
17:05:07.038 -> 255
17:05:08.062 -> CC1101 Iniciado
17:05:08.062 -> MicData
17:05:08.062 -> 126
17:05:09.041 -> CC1101 Iniciado
17:05:09.041 -> MicData
17:05:09.041 -> 141
(infinite loop)

This is executed if I set the button input to gnd:

17:06:12.670 -> Conexión OK
17:06:12.670 -> CC1101 Iniciado
17:06:12.670 -> 29
17:06:12.716 -> OriginalData
17:06:12.716 -> 255
17:06:13.702 -> C⸮L⸮˫⸮
⸮n OK
17:06:13.702 -> CC1101 Iniciado
17:06:13.749 -> 52
17:06:13.749 -> OriginalData
17:06:13.749 -> 255
17:06:14.726 -> CC1101 Iniciado
17:06:14.726 -> 52
(infinite loop).

But I still don't hear anything at the output of the module, obviously I'm not very familiar with Arduino as you can see, I'm just learning, any suggestions are welcome.

I'm a little confused as to why the microphone send mode is executed when I'm not pressing the button, I understand that only when I put the button to gnd does it go into transmission mode because I used BUTTON_PIN, LOW but I don't understand why the BUTTON_PIN part is executed, HIHG, maybe due to static?

#include <ELECHOUSE_CC1101_SRC_DRV.h>

// Definición de pines
#define BUTTON_PIN 4
#define LED_PIN 7
#define MIC_PIN A0
#define SPEAKER_PIN 3
//=================================================================================================

void setup() {
    Serial.begin(9600);

    // Inicialización de pines
    pinMode(BUTTON_PIN, INPUT);
    pinMode(LED_PIN, OUTPUT);
    pinMode(SPEAKER_PIN, OUTPUT);
    // Inicialización del módulo CC1101
    if (ELECHOUSE_cc1101.getCC1101()) {
    Serial.println("Conexión OK");
  } else {
    Serial.println("Error de conexión");
    }

    ELECHOUSE_cc1101.Init();
    ELECHOUSE_cc1101.setCCMode(1); // Configurar en modo recepción inicialmente
    ELECHOUSE_cc1101.setModulation(0);
    ELECHOUSE_cc1101.setMHZ(433.92);
    ELECHOUSE_cc1101.setSyncMode(2);
    ELECHOUSE_cc1101.setCrc(1);
    ELECHOUSE_cc1101.setPA(10);


}

//============================================================================================

void loop() {
  int micValue = analogRead(MIC_PIN);
byte audioSample = map(micValue, 0, 1023, 0, 255);
bool isTransmitting = false;  // Variable para controlar el modo de operación
byte buffer[61];              // Buffer para almacenar datos recibidos
byte micData = map(micValue, 0, 1023, 0, 255);
int originalData = (buffer, 0, 1023, 0, 255);
Serial.println("CC1101 Iniciado");

  if (digitalRead(BUTTON_PIN) == HIGH) {
   ELECHOUSE_cc1101.SendData(micData, 60, 10); // Enviar el dato del micrófono
    digitalWrite(LED_PIN, HIGH);
    Serial.println("MicData");
    Serial.println(micData);
    delay(1000);
  }
  if (digitalRead(BUTTON_PIN) == LOW){
        ELECHOUSE_cc1101.ReceiveData(buffer);
        Serial.println(buffer[61]);
        digitalWrite(LED_PIN, LOW);        
        analogWrite(SPEAKER_PIN, originalData);
        Serial.println("OriginalData");
        Serial.println(originalData);
        delay(1000);
        
      }
    }
//======================================================================================================================

You are still just writing random lines of code, and hoping that something will work.

You really need to start by studying the simple examples that come with Arduino, and learn the programming language.

Try the example code on the Arduino Analog Reference page (slightly modified, below).

int analogPin = A3; // potentiometer wiper (middle terminal) connected to analog pin 3
                    // outside leads to ground and +5V
int val = 0;  // variable to store the value read

void setup() {
  Serial.begin(115200);           //  setup serial
}

void loop() {
  val = analogRead(analogPin);  // read the input pin
  Serial.println(val);          // display value
}

What kind of audio-transmisison do you want to achieve?

a: record some low quality audio store the audio-data on whatever datastorage-medium
and then mimium seconds later transfer this audio-data store it on the receiver-side and then play back the audio-data?

b:
tramsitting live-audio instantly

For a: an arduino nano has 2 kB of RAM this 2 kB are filled up withing seconds
it might be possible to store it on SD-card

b: impossible with an arduino nano
work some hours in whatever job to earn $30
then buy two PMR walkie talkies => job done

Your program is just doing what you told it to do! They ALWAYS act that way.

1 Like

If this is exactly what I want to directly transmit the voice, I have seen that with nrf24 modules it can be done, in fact there are projects out there, but with the cc1101 there is nothing of the kind, buying cc1101 was a mistake for this project, but It's already done, if in the end I can't do it I'll choose to reuse them in some type of radio controlled car, maybe that's what they're good for.

Thanks for answering.

Thank you all for responding, I am relatively new to Arduino, perhaps this project was too big for my limited knowledge, anything that may seem obvious to me is not, any advice is welcome, perhaps it will not work for this project but I will learn for the future.

After several tests I realized that the signal was not being sent from one device to another, and I don't know why I had to remove an antenna from one of the two modules and that's how it worked, for the test it was fine but I don't know why this happens.

On the other hand, does anyone know how I can send audio in real time, there must be some way to do it even if a lot of quality is sacrificed in the process, I have only managed to transmit beeps that vary depending on the audio input, does anyone have any ideas? How to optimize this to have something understandable?.

#include <ELECHOUSE_CC1101_SRC_DRV.h>

// Definición de pines
#define BUTTON_PIN 4
#define LED_PIN 7
#define MIC_PIN A0
#define SPEAKER_PIN 3

//int micValue = analogRead(MIC_PIN);
//byte buffer[61];              // Buffer para almacenar datos recibidos
//byte micData = map(micValue, 0, 1023, 0, 255);
//int originalData = (buffer, 0, 255, 0, 1023);
const float COMPRESS_RATIO = 1; // Porcentaje de compresión (0.0 a 1.0)
//=================================================================================================

void setup() {
    Serial.begin(9600);

    // Inicialización de pines
    pinMode(BUTTON_PIN, INPUT);
    pinMode(LED_PIN, OUTPUT);
    pinMode(SPEAKER_PIN, OUTPUT);
    // Inicialización del módulo CC1101
    if (ELECHOUSE_cc1101.getCC1101()) {
    Serial.println("Conexión OK");
  } else {
    Serial.println("Error de conexión");
    }

    ELECHOUSE_cc1101.Init();
    ELECHOUSE_cc1101.setCCMode(1); // Configurar en modo recepción inicialmente
    ELECHOUSE_cc1101.setModulation(0);
    ELECHOUSE_cc1101.setMHZ(433.92);
    ELECHOUSE_cc1101.setSyncMode(2);
    ELECHOUSE_cc1101.setCrc(1);
    ELECHOUSE_cc1101.setPA(10);

Serial.println("CC1101 Iniciado");
}

//============================================================================================

void loop() {
    if (digitalRead(BUTTON_PIN) == HIGH) {
        // Capturar audio del micrófono
        int micValue = analogRead(MIC_PIN);
        
        // Comprimir datos de audio
        byte micData = compressAudio(micValue);

        // Enviar datos de audio comprimidos
        ELECHOUSE_cc1101.SendData(&micData, 1, 20);
        digitalWrite(LED_PIN, HIGH);
        Serial.println("MicData");
        Serial.println(micData);
    } else {
        if (ELECHOUSE_cc1101.CheckRxFifo(20)) {
            byte buffer[61];
            int len = ELECHOUSE_cc1101.ReceiveData(buffer);
            if (len > 0) {
                // Descomprimir datos de audio recibidos
                int originalData = decompressAudio(buffer[0]);

                // Generar señal analógica y reproducir en altavoz
                analogWrite(SPEAKER_PIN, originalData);
                Serial.println("OriginalData");
                Serial.println(originalData);

                digitalWrite(LED_PIN, LOW);
                delay(20);
            }
        }
    }
}

// Función para comprimir datos de audio
byte compressAudio(int data) {
    // Compresión simple multiplicando por el ratio de compresión
    return data * COMPRESS_RATIO;
}

// Función para descomprimir datos de audio
int decompressAudio(byte compressedData) {
    // Descompresión simple dividiendo por el ratio de compresión
    return compressedData / COMPRESS_RATIO;
}
//======================================================================================================================

That is because the RF signal from one device was so overloading the receiver on the second device that it could not decode the data in the signal. Always a problem when two devices are too close together!

18:17:25.444 -> 0
18:17:25.444 -> 0
18:17:25.444 -> 0
18:17:25.444 -> 0
18:17:25.444 -> 0
18:17:25.444 -> 0
18:17:25.444 -> 0
18:17:25.444 -> 0
18:17:25.444 -> 0
18:17:25.444 -> 0
18:17:25.444 -> 1
18:17:25.444 -> 0
18:17:25.444 -> 1
18:17:25.444 -> 2
18:17:25.444 -> 1
18:17:25.444 -> 1
18:17:25.444 -> 1
18:17:25.444 -> 0
18:17:25.444 -> 2
18:17:25.444 -> 1
18:17:25.444 -> 2
18:17:25.444 -> 2
18:17:25.444 -> 1
18:17:25.444 -> 2
18:17:25.444 -> 3
18:17:25.444 -> 3
18:17:25.444 -> 4
18:17:25.444 -> 5
18:17:25.444 -> 5
18:17:25.444 -> 7
18:17:25.444 -> 8
18:17:25.444 -> 9
18:17:25.444 -> 8
18:17:25.444 -> 10
18:17:25.444 -> 9
18:17:25.444 -> 10
18:17:25.444 -> 9
18:17:25.444 -> 10
18:17:25.444 -> 11
18:17:25.444 -> 10
18:17:25.444 -> 10
18:17:25.444 -> 12
18:17:25.444 -> 11
18:17:25.444 -> 11
18:17:25.444 -> 13
18:17:25.444 -> 11
18:17:25.444 -> 9
18:17:25.444 -> 11
18:17:25.444 -> 11
18:17:25.444 -> 8
18:17:25.444 -> 9
18:17:25.444 -> 10
18:17:25.444 -> 7
18:17:25.444 -> 9
18:17:25.444 -> 9
18:17:25.444 -> 6
18:17:25.444 -> 5
18:17:25.444 -> 6
18:17:25.444 -> 8
18:17:25.444 -> 6
18:17:25.444 -> 5
18:17:25.444 -> 3
18:17:25.444 -> 3
18:17:25.444 -> 1
18:17:25.444 -> 0
18:17:25.444 -> 0
18:17:25.444 -> 1
18:17:25.444 -> 0
18:17:25.444 -> 0
18:17:25.444 -> 0
18:17:25.444 -> 0
18:17:25.444 -> 0
18:17:25.444 -> 0
18:17:25.444 -> 0
18:17:25.444 -> 0
18:17:25.444 -> 0
18:17:25.444 -> 0
18:17:25.444 -> 0
18:17:25.444 -> 0
18:17:25.444 -> 0
18:17:25.444 -> 0
18:17:25.444 -> 0
18:17:25.444 -> 0
18:17:25.444 -> 0
18:17:25.444 -> 1
18:17:25.444 -> 0
18:17:25.444 -> 0
18:17:25.444 -> 0
18:17:25.444 -> 1
18:17:25.444 -> 0
18:17:25.444 -> 1
18:17:25.444 -> 1
18:17:25.444 -> 1
18:17:25.444 -> 1
18:17:25.444 -> 0
18:17:25.444 -> 1
18:17:25.444 -> 2
18:17:25.444 -> 2
18:17:25.444 -> 2
18:17:25.444 -> 3
18:17:25.444 -> 4
18:17:25.444 -> 4
18:17:25.444 -> 5
18:17:25.444 -> 6
18:17:25.444 -> 8
18:17:25.444 -> 8
18:17:25.444 -> 9
18:17:25.444 -> 10
18:17:25.444 -> 8
18:17:25.444 -> 10
18:17:25.444 -> 8
18:17:25.444 -> 9
18:17:25.444 -> 8
18:17:25.444 -> 9
18:17:25.444 -> 7
18:17:25.444 -> 8
18:17:25.444 -> 8
18:17:25.444 -> 8
18:17:25.444 -> 7
18:17:25.444 -> 8
18:17:25.444 -> 9
18:17:25.444 -> 9
18:17:25.444 -> 6
18:17:25.444 -> 8
18:17:25.444 -> 7
18:17:25.444 -> 6
18:17:25.444 -> 6
18:17:25.444 -> 6
18:17:25.444 -> 4
18:17:25.444 -> 3
18:17:25.444 -> 6
18:17:25.444 -> 5
18:17:25.444 -> 3
18:17:25.444 -> 3
18:17:25.444 -> 3
18:17:25.444 -> 3
18:17:25.444 -> 2
18:17:25.444 -> 1
18:17:25.444 -> 0
18:17:25.444 -> 1
18:17:25.444 -> 0
18:17:25.444 -> 0
18:17:25.444 -> 0
18:17:25.444 -> 0
18:17:25.444 -> 0
18:17:25.444 -> 0
18:17:25.444 -> 0
18:17:25.444 -> 0
18:17:25.444 -> 0
18:17:25.444 -> 0
18:17:25.444 -> 0
18:17:25.444 -> 0
18:17:25.444 -> 0
18:17:25.444 -> 0
18:17:25.444 -> 0
18:17:25.444 -> 0
18:17:25.444 -> 0
18:17:25.444 -> 0
18:17:25.444 -> 0
18:17:25.444 -> 0
18:17:25.444 -> 0
18:17:25.444 -> 0
18:17:25.444 -> 0
18:17:25.444 -> 0
18:17:25.444 -> 0
18:17:25.444 -> 0
18:17:25.444 -> 0
18:17:25.444 -> 1
18:17:25.444 -> 0
18:17:25.444 -> 0
18:17:25.444 -> 2
18:17:25.444 -> 1
18:17:25.444 -> 2
18:17:25.444 -> 1
18:17:25.444 -> 3
18:17:25.444 -> 4
18:17:25.444 -> 3
18:17:25.444 -> 4
18:17:25.444 -> 5
18:17:25.444 -> 5
18:17:25.444 -> 8
18:17:25.444 -> 8
18:17:25.444 -> 8
18:17:25.444 -> 10
18:17:25.444 -> 9
18:17:25.444 -> 8
18:17:25.444 -> 9
18:17:25.491 -> 9
18:17:25.491 -> 9
18:17:25.491 -> 9
18:17:25.491 -> 10
18:17:25.491 -> 10
18:17:25.491 -> 10
18:17:25.491 -> 9
18:17:25.491 -> 9
18:17:25.491 -> 9
18:17:25.491 -> 8
18:17:25.491 -> 9
18:17:25.491 -> 9
18:17:25.491 -> 8
18:17:25.491 -> 7
18:17:25.491 -> 8
18:17:25.491 -> 7
18:17:25.491 -> 7
18:17:25.491 -> 7
18:17:25.491 -> 9
18:17:25.491 -> 8
18:17:25.491 -> 7
18:17:25.491 -> 8
18:17:25.491 -> 5
18:17:25.491 -> 6
18:17:25.491 -> 6
18:17:25.491 -> 3
18:17:25.491 -> 3
18:17:25.491 -> 3
18:17:25.491 -> 3
18:17:25.491 -> 2
18:17:25.491 -> 0
18:17:25.491 -> 1
18:17:25.491 -> 0
18:17:25.491 -> 0
18:17:25.491 -> 0
18:17:25.491 -> 0
18:17:25.491 -> 0
18:17:25.491 -> 0
18:17:25.491 -> 0
18:17:25.491 -> 0
18:17:25.491 -> 0
18:17:25.491 -> 0
18:17:25.491 -> 0
18:17:25.491 -> 0
18:17:25.491 -> 0
18:17:25.491 -> 0
18:17:25.491 -> 0
18:17:25.491 -> 0
18:17:25.491 -> 0
18:17:25.491 -> 0
18:17:25.491 -> 0
18:17:25.491 -> 0
18:17:25.491 -> 0
18:17:25.491 -> 0
18:17:25.491 -> 1
18:17:25.491 -> 0
18:17:25.491 -> 0
18:17:25.491 -> 0
18:17:25.491 -> 0
18:17:25.491 -> 0
18:17:25.491 -> 1
18:17:25.491 -> 1
18:17:25.491 -> 1
18:17:25.491 -> 2
18:17:25.491 -> 1
18:17:25.491 -> 1
18:17:25.491 -> 2
18:17:25.491 -> 3
18:17:25.491 -> 5
18:17:25.491 -> 5
18:17:25.491 -> 6
18:17:25.491 -> 7
18:17:25.491 -> 9
18:17:25.491 -> 8
18:17:25.491 -> 9
18:17:25.491 -> 10
18:17:25.491 -> 8
18:17:25.491 -> 8
18:17:25.491 -> 8
18:17:25.491 -> 9
18:17:25.491 -> 11
18:17:25.491 -> 10
18:17:25.491 -> 11
18:17:25.491 -> 10
18:17:25.491 -> 9
18:17:25.491 -> 8
18:17:25.491 -> 8
18:17:25.491 -> 9
18:17:25.491 -> 10
18:17:25.491 -> 10
18:17:25.491 -> 8
18:17:25.491 -> 7
18:17:25.491 -> 6
18:17:25.491 -> 6
18:17:25.491 -> 6
18:17:25.491 -> 8
18:17:25.491 -> 7
18:17:25.491 -> 6
18:17:25.491 -> 6
18:17:25.491 -> 6
18:17:25.491 -> 4
18:17:25.491 -> 3
18:17:25.491 -> 4
18:17:25.491 -> 4
18:17:25.491 -> 2
18:17:25.491 -> 2
18:17:25.491 -> 0
18:17:25.491 -> 0
18:17:25.491 -> 0
18:17:25.491 -> 0
18:17:25.491 -> 0
18:17:25.491 -> 0
18:17:25.491 -> 0
18:17:25.491 -> 0
18:17:25.491 -> 0
18:17:25.491 -> 0
18:17:25.491 -> 0
18:17:25.491 -> 0
18:17:25.491 -> 0
18:17:25.491 -> 0
18:17:25.491 -> 0
18:17:25.491 -> 0
18:17:25.491 -> 0
18:17:25.491 -> 0
18:17:25.491 -> 0
18:17:25.491 -> 0
18:17:25.491 -> 0
18:17:25.491 -> 0
18:17:25.491 -> 0
18:17:25.491 -> 0
18:17:25.491 -> 0
18:17:25.491 -> 1
18:17:25.491 -> 0
18:17:25.491 -> 0
18:17:25.491 -> 1
18:17:25.491 -> 0
18:17:25.491 -> 1
18:17:25.491 -> 1
18:17:25.491 -> 1
18:17:25.491 -> 1
18:17:25.491 -> 2
18:17:25.491 -> 2
18:17:25.491 -> 2
18:17:25.491 -> 3
18:17:25.491 -> 3
18:17:25.491 -> 4
18:17:25.491 -> 5
18:17:25.491 -> 6
18:17:25.491 -> 6
18:17:25.491 -> 7
18:17:25.491 -> 7
18:17:25.491 -> 9
18:17:25.491 -> 9
18:17:25.491 -> 9
18:17:25.491 -> 9
18:17:25.491 -> 9
18:17:25.491 -> 10
18:17:25.491 -> 8
18:17:25.491 -> 8
18:17:25.491 -> 10
18:17:25.491 -> 8
18:17:25.491 -> 9
18:17:25.491 -> 8
18:17:25.491 -> 8
18:17:25.491 -> 8
18:17:25.491 -> 7
18:17:25.491 -> 8
18:17:25.491 -> 7
18:17:25.491 -> 6
18:17:25.491 -> 6
18:17:25.491 -> 8
18:17:25.491 -> 6
18:17:25.491 -> 3
18:17:25.491 -> 2
18:17:25.491 -> 4
18:17:25.491 -> 3
18:17:25.491 -> 3
18:17:25.537 -> 1
18:17:25.537 -> 1
18:17:25.537 -> 0
18:17:25.537 -> 0
18:17:25.537 -> 1
18:17:25.537 -> 1
18:17:25.537 -> 0
18:17:25.537 -> 0
18:17:25.537 -> 0
18:17:25.537 -> 0
18:17:25.537 -> 0
18:17:25.537 -> 0
18:17:25.537 -> 0
18:17:25.537 -> 0
18:17:25.537 -> 0
18:17:25.537 -> 0
18:17:25.537 -> 0
18:17:25.537 -> 0
18:17:25.537 -> 0
18:17:25.537 -> 0
18:17:25.537 -> 0
18:17:25.537 -> 0
18:17:25.537 -> 0
18:17:25.537 -> 0
18:17:25.537 -> 0
18:17:25.537 -> 0
18:17:25.537 -> 0
18:17:25.537 -> 0
18:17:25.537 -> 0
18:17:25.537 -> 1
18:17:25.537 -> 0
18:17:25.537 -> 0
18:17:25.537 -> 0
18:17:25.537 -> 0
18:17:25.537 -> 0
18:17:25.537 -> 0
18:17:25.537 -> 0
18:17:25.537 -> 1
18:17:25.537 -> 2
18:17:25.537 -> 2
18:17:25.537 -> 1
18:17:25.537 -> 2
18:17:25.537 -> 3
18:17:25.537 -> 4
18:17:25.537 -> 5
18:17:25.537 -> 5
18:17:25.537 -> 7
18:17:25.537 -> 7
18:17:25.537 -> 8
18:17:25.537 -> 9
18:17:25.537 -> 9
18:17:25.537 -> 10
18:17:25.537 -> 11
18:17:25.537 -> 10
18:17:25.537 -> 11
18:17:25.537 -> 12
18:17:25.537 -> 10
18:17:25.537 -> 13
18:17:25.537 -> 11
18:17:25.537 -> 11
18:17:25.537 -> 11
18:17:25.537 -> 10
18:17:25.537 -> 11
18:17:25.537 -> 10
18:17:25.537 -> 10
18:17:25.537 -> 8
18:17:25.537 -> 8
18:17:25.537 -> 7
18:17:25.537 -> 7
18:17:25.537 -> 8
18:17:25.537 -> 8
18:17:25.537 -> 6
18:17:25.537 -> 5
18:17:25.537 -> 6
18:17:25.537 -> 6
18:17:25.537 -> 6
18:17:25.537 -> 4
18:17:25.537 -> 6
18:17:25.537 -> 5
18:17:25.537 -> 3
18:17:25.537 -> 1
18:17:25.537 -> 2
18:17:25.537 -> 1
18:17:25.537 -> 0
18:17:25.537 -> 0
18:17:25.537 -> 0
18:17:25.537 -> 0
18:17:25.537 -> 0
18:17:25.537 -> 0
18:17:25.537 -> 0
18:17:25.537 -> 0
18:17:25.537 -> 0
18:17:25.537 -> 0
18:17:25.537 -> 0
18:17:25.537 -> 0
18:17:25.537 -> 0
18:17:25.537 -> 0
18:17:25.537 -> 0
18:17:25.537 -> 1
18:17:25.537 -> 0
18:17:25.537 -> 0
18:17:25.537 -> 1
18:17:25.537 -> 0
18:17:25.537 -> 0
18:17:25.537 -> 0
18:17:25.537 -> 0
18:17:25.537 -> 1
18:17:25.537 -> 0
18:17:25.537 -> 0
18:17:25.537 -> 1
18:17:25.537 -> 0
18:17:25.537 -> 2
18:17:25.537 -> 1
18:17:25.537 -> 1
18:17:25.537 -> 1
18:17:25.537 -> 2
18:17:25.537 -> 3
18:17:25.537 -> 5
18:17:25.537 -> 5
18:17:25.537 -> 5
18:17:25.537 -> 6
18:17:25.537 -> 7
18:17:25.537 -> 7
18:17:25.537 -> 7
18:17:25.537 -> 8
18:17:25.537 -> 8
18:17:25.537 -> 9
18:17:25.537 -> 9
18:17:25.537 -> 10
18:17:25.537 -> 8
18:17:25.537 -> 8
18:17:25.537 -> 9
18:17:25.537 -> 9
18:17:25.537 -> 8
18:17:25.537 -> 10
18:17:25.537 -> 9
18:17:25.537 -> 9
18:17:25.537 -> 10
18:17:25.537 -> 10
18:17:25.537 -> 10
18:17:25.537 -> 10
18:17:25.537 -> 9
18:17:25.537 -> 9
18:17:25.537 -> 9
18:17:25.537 -> 9
18:17:25.537 -> 9
18:17:25.537 -> 7
18:17:25.537 -> 8
18:17:25.537 -> 6
18:17:25.537 -> 5
18:17:25.537 -> 3
18:17:25.537 -> 4
18:17:25.537 -> 5
18:17:25.537 -> 3
18:17:25.537 -> 2
18:17:25.537 -> 4
18:17:25.537 -> 0
18:17:25.537 -> 0
18:17:25.537 -> 1
18:17:25.537 -> 0
18:17:25.537 -> 0
18:17:25.537 -> 0
18:17:25.537 -> 0
18:17:25.537 -> 0
18:17:25.537 -> 0
18:17:25.537 -> 0
18:17:25.537 -> 0
18:17:25.537 -> 0
18:17:25.537 -> 0
18:17:25.537 -> 0
18:17:25.537 -> 0
18:17:25.537 -> 0
18:17:25.537 -> 0
18:17:25.537 -> 0
18:17:25.537 -> 0
18:17:25.584 -> 0
18:17:25.584 -> 0
18:17:25.584 -> 0
18:17:25.584 -> 0
18:17:25.584 -> 0
18:17:25.584 -> 1
18:17:25.584 -> 1
18:17:25.584 -> 1
18:17:25.584 -> 1
18:17:25.584 -> 0
18:17:25.584 -> 1
18:17:25.584 -> 1
18:17:25.584 -> 2
18:17:25.584 -> 2
18:17:25.584 -> 3
18:17:25.584 -> 3
18:17:25.584 -> 3
18:17:25.584 -> 3
18:17:25.584 -> 5
18:17:25.584 -> 6
18:17:25.584 -> 6
18:17:25.584 -> 7
18:17:25.584 -> 8
18:17:25.584 -> 9
18:17:25.584 -> 10
18:17:25.584 -> 8
18:17:25.584 -> 9
18:17:25.584 -> 10
18:17:25.584 -> 10
18:17:25.584 -> 11
18:17:25.584 -> 10
18:17:25.584 -> 10
18:17:25.584 -> 13
18:17:25.584 -> 11
18:17:25.584 -> 12
18:17:25.584 -> 13
18:17:25.584 -> 11
18:17:25.584 -> 11
18:17:25.584 -> 11
18:17:25.584 -> 10
18:17:25.584 -> 10
18:17:25.584 -> 10
18:17:25.584 -> 11
18:17:25.584 -> 9
18:17:25.584 -> 9
18:17:25.584 -> 8
18:17:25.584 -> 8
18:17:25.584 -> 6
18:17:25.584 -> 9
18:17:25.584 -> 5
18:17:25.584 -> 6
18:17:25.584 -> 6
18:17:25.584 -> 7
18:17:25.584 -> 6
18:17:25.584 -> 3
18:17:25.584 -> 2
18:17:25.584 -> 3
18:17:25.584 -> 2
18:17:25.584 -> 2
18:17:25.584 -> 0
18:17:25.584 -> 1
18:17:25.584 -> 0
18:17:25.584 -> 0
18:17:25.584 -> 0
18:17:25.584 -> 1
18:17:25.584 -> 0
18:17:25.584 -> 0
18:17:25.584 -> 0
18:17:25.584 -> 0
18:17:25.584 -> 0
18:17:25.584 -> 0
18:17:25.584 -> 0
18:17:25.584 -> 1
18:17:25.584 -> 0
18:17:25.584 -> 0
18:17:25.584 -> 0
18:17:25.584 -> 0
18:17:25.584 -> 0
18:17:25.584 -> 0
18:17:25.584 -> 0
18:17:25.584 -> 0
18:17:25.584 -> 0
18:17:25.584 -> 1
18:17:25.584 -> 0
18:17:25.584 -> 0
18:17:25.584 -> 1
18:17:25.584 -> 1
18:17:25.584 -> 1
18:17:25.584 -> 1
18:17:25.584 -> 2
18:17:25.584 -> 1
18:17:25.584 -> 3
18:17:25.584 -> 3
18:17:25.584 -> 5
18:17:25.584 -> 4
18:17:25.584 -> 6
18:17:25.584 -> 6
18:17:25.584 -> 6
18:17:25.584 -> 8
18:17:25.584 -> 9
18:17:25.584 -> 9
18:17:25.584 -> 9
18:17:25.584 -> 10
18:17:25.584 -> 9
18:17:25.584 -> 8
18:17:25.584 -> 9
18:17:25.584 -> 9
18:17:25.584 -> 9
18:17:25.584 -> 8
18:17:25.584 -> 9
18:17:25.584 -> 10
18:17:25.584 -> 8
18:17:25.584 -> 8
18:17:25.584 -> 8
18:17:25.584 -> 9
18:17:25.584 -> 7
18:17:25.584 -> 8
18:17:25.584 -> 7
18:17:25.584 -> 8
18:17:25.584 -> 5
18:17:25.584 -> 4
18:17:25.584 -> 4
18:17:25.584 -> 4
18:17:25.584 -> 2
18:17:25.584 -> 2
18:17:25.584 -> 1
18:17:25.584 -> 1
18:17:25.584 -> 1
18:17:25.584 -> 1
18:17:25.584 -> 0
18:17:25.584 -> 0
18:17:25.584 -> 0
18:17:25.584 -> 0
18:17:25.584 -> 0
18:17:25.584 -> 0
18:17:25.584 -> 0
18:17:25.584 -> 0
18:17:25.584 -> 0
18:17:25.584 -> 0
18:17:25.584 -> 0
18:17:25.584 -> 0
18:17:25.584 -> 0
18:17:25.584 -> 0
18:17:25.584 -> 0
18:17:25.584 -> 0
18:17:25.584 -> 0
18:17:25.584 -> 0
18:17:25.584 -> 0
18:17:25.584 -> 0
18:17:25.584 -> 0
18:17:25.584 -> 0
18:17:25.584 -> 0
18:17:25.584 -> 0
18:17:25.584 -> 0
18:17:25.584 -> 0
18:17:25.584 -> 0
18:17:25.584 -> 1
18:17:25.584 -> 0
18:17:25.584 -> 0
18:17:25.584 -> 0
18:17:25.584 -> 0
18:17:25.584 -> 0
18:17:25.584 -> 1
18:17:25.584 -> 1
18:17:25.584 -> 1
18:17:25.584 -> 1
18:17:25.584 -> 1
18:17:25.584 -> 1
18:17:25.584 -> 2
18:17:25.584 -> 3
18:17:25.584 -> 4
18:17:25.584 -> 4
18:17:25.584 -> 5
18:17:25.584 -> 6
18:17:25.584 -> 8
18:17:25.632 -> 8
18:17:25.632 -> 9
18:17:25.632 -> 10
18:17:25.632 -> 8
18:17:25.632 -> 8
18:17:25.632 -> 8
18:17:25.632 -> 9
18:17:25.632 -> 9
18:17:25.632 -> 10
18:17:25.632 -> 10
18:17:25.632 -> 11
18:17:25.632 -> 9
18:17:25.632 -> 8
18:17:25.632 -> 8
18:17:25.632 -> 9
18:17:25.632 -> 8
18:17:25.632 -> 8
18:17:25.632 -> 9
18:17:25.632 -> 9
18:17:25.632 -> 9
18:17:25.632 -> 8
18:17:25.632 -> 7
18:17:25.632 -> 6
18:17:25.632 -> 7
18:17:25.632 -> 6
18:17:25.632 -> 6
18:17:25.632 -> 6
18:17:25.632 -> 5
18:17:25.632 -> 5
18:17:25.632 -> 4
18:17:25.632 -> 2
18:17:25.632 -> 2
18:17:25.632 -> 2
18:17:25.632 -> 2
18:17:25.632 -> 1
18:17:25.632 -> 1
18:17:25.632 -> 1
18:17:25.632 -> 1
18:17:25.632 -> 0
18:17:25.632 -> 0
18:17:25.632 -> 0
18:17:25.632 -> 0
18:17:25.632 -> 0
18:17:25.632 -> 0
18:17:25.632 -> 0
18:17:25.632 -> 0
18:17:25.632 -> 0
18:17:25.632 -> 0
18:17:25.632 -> 0
18:17:25.632 -> 0
18:17:25.632 -> 0
18:17:25.632 -> 0
18:17:25.632 -> 0
18:17:25.632 -> 1
18:17:25.632 -> 0
18:17:25.632 -> 0
18:17:25.632 -> 0
18:17:25.632 -> 1
18:17:25.632 -> 1
18:17:25.632 -> 0
18:17:25.632 -> 1
18:17:25.632 -> 1
18:17:25.632 -> 0
18:17:25.632 -> 1
18:17:25.632 -> 1
18:17:25.632 -> 2
18:17:25.632 -> 2
18:17:25.632 -> 2
18:17:25.632 -> 3
18:17:25.632 -> 3
18:17:25.632 -> 3
18:17:25.632 -> 4
18:17:25.632 -> 5
18:17:25.632 -> 6
18:17:25.632 -> 5
18:17:25.632 -> 7
18:17:25.632 -> 9
18:17:25.632 -> 10
18:17:25.632 -> 8
18:17:25.632 -> 10
18:17:25.632 -> 10
18:17:25.632 -> 11
18:17:25.632 -> 10
18:17:25.632 -> 10
18:17:25.632 -> 11
18:17:25.632 -> 10
18:17:25.632 -> 10
18:17:25.632 -> 11
18:17:25.632 -> 10
18:17:25.632 -> 11
18:17:25.632 -> 11
18:17:25.632 -> 10
18:17:25.632 -> 11
18:17:25.632 -> 10
18:17:25.632 -> 10
18:17:25.632 -> 9
18:17:25.632 -> 9
18:17:25.632 -> 7
18:17:25.632 -> 7
18:17:25.632 -> 5
18:17:25.632 -> 7
18:17:25.632 -> 5
18:17:25.632 -> 4
18:17:25.632 -> 4
18:17:25.632 -> 4

Sorry

Mismatched serial Baud rates.

I realized while testing with that code, but I was 1 minute late editing it

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.