UNO Q: Reading Data from Serial1 Gets Corrupted,

While trying to get a Neato XV-11 working on the Q noticed data packets were corrupted. Tried a few things using the lidar directly so no luck so decided to just concentrate on developing a couple of test sketches that any one can try.

The transmitter sketch looks like this:

const size_t dataLength = 10;
byte data[dataLength];

void setup() {
  Serial.begin(115200);
  Serial1.begin(115200);

  for(size_t i = 0; i < dataLength; i++) {
    data[i] = i;
  }
  data[0] = 0xfa;
}

void loop() {
  for (size_t i = 0; i < dataLength; i++) {
    Serial1.write(data[i]); // Send each byte
  }
  delay(20);
}

while the receiver code is

const uint8_t dataLength = 10;
byte receivedData[dataLength];
uint8_t z = 0;
uint8_t inByte = 0;  // incoming serial byte
boolean buildPacket = false;

void setup() {
  Serial.begin(9600);
  Serial1.begin(115200);
}

void loop() {
  if (Serial1.available() > 0) {                  // read byte from LIDAR and relay to USB
    inByte = Serial1.read();                      // get incoming byte:

    if(inByte == 0xFA) {
       buildPacket = true;
    }
    if(buildPacket) {
      receivedData[z++] = inByte; // Read incoming bytes
      if (z >= dataLength) {
        z = 0; // Reset index after receiving all bytes
        for(uint8_t i=0; i<dataLength; i++)
          {Serial.print(receivedData[i], HEX);Serial.print(", ");}
        Serial.println();
        buildPacket = false;
      }
    }
  }

}

1st test was to go between two Teensy 4.1s and the intended ouput from the rx sketch looked correct:

12:26:44.308 -> FA, 1, 2, 3, 4, 5, 6, 7, 8, 9, 
12:26:44.349 -> FA, 1, 2, 3, 4, 5, 6, 7, 8, 9, 
12:26:44.349 -> FA, 1, 2, 3, 4, 5, 6, 7, 8, 9, 
12:26:44.349 -> FA, 1, 2, 3, 4, 5, 6, 7, 8, 9, 
12:26:44.390 -> FA, 1, 2, 3, 4, 5, 6, 7, 8, 9, 
12:26:44.390 -> FA, 1, 2, 3, 4, 5, 6, 7, 8, 9, 
12:26:44.425 -> FA, 1, 2, 3, 4, 5, 6, 7, 8, 9, 
12:26:44.458 -> FA, 1, 2, 3, 4, 5, 6, 7, 8, 9, 
12:26:44.458 -> FA, 1, 2, 3, 4, 5, 6, 7, 8, 9, 

Then between the T4.1 and the Q:

12:28:14.256 -> FA, 1, 2, 3, 4, FA, 1, 2, 3, 4, 
12:28:14.256 -> FA, 1, 2, 3, 4, 5, 6, 7, 8, 9, 
12:28:14.290 -> FA, 1, 2, 3, 4, 5, 6, 7, 8, 9, 
12:28:14.361 -> FA, 1, FA, 1, 2, 3, 4, 5, 6, 7, 
12:28:14.361 -> FA, 1, 2, 3, 4, 8, FA, 1, 2, 3, 
12:28:14.429 -> FA, 1, 2, 3, 7, FA, 1, 2, 3, 4, 
12:28:14.461 -> FA, 1, 2, 3, 5, FA, 1, 2, 3, 4, 
12:28:14.497 -> FA, 1, 2, 3, 4, 5, 6, 7, 8, FA, 
12:28:14.532 -> FA, 1, 2, 3, 4, 5, 6, 7, 8, 9, 
12:28:14.565 -> FA, 1, 2, 3, 4, 5, 6, 7, 8, 9, 
12:28:14.597 -> FA, 1, 2, 3, 4, FA, 1, 2, 3, 4, 
12:28:14.629 -> FA, 1, 2, 3, 4, FA, 1, 2, 3, 4, 
12:28:14.661 -> FA, 1, 2, 3, 4, FA, 1, 2, 3, 4, 
12:28:14.731 -> FA, 1, 2, 3, 4, 5, 6, 9, FA, 1, 
12:28:14.762 -> FA, 1, 2, 3, 4, 5, 6, 7, 8, 9, 
12:28:14.797 -> FA, FA, 1, 2, 3, 4, 5, 6, 7, 8, 
12:28:14.828 -> FA, 1, 2, 6, FA, 1, 2, 3, 4, 5, 
12:28:14.867 -> FA, 1, 2, 3, 5, FA, 1, 2, 3, 4, 
12:28:14.895 -> FA, 1, 2, 3, 4, FA, 1, 2, 3, 4, 

you can see that the packet data is scrambled and inconsisten.

Last test was between the T4.1 and the Giga R1

13:03:26.612 -> FA, 1, 2, 3, 4, 5, 6, 7, 8, 9, 
13:03:26.612 -> FA, 1, 2, 3, 4, 5, 6, 7, 8, 9, 
13:03:26.612 -> FA, 1, 2, 3, 4, 5, 6, 7, 8, 9, 
13:03:26.645 -> FA, 1, 2, 3, 4, 5, 6, 7, 8, 9, 
13:03:26.692 -> FA, 1, 2, 3, 4, 5, 6, 7, 8, 9, 
13:03:26.692 -> FA, 1, 2, 3, 4, 5, 6, 7, 8, 9, 
13:03:26.733 -> FA, 1, 2, 3, 4, 5, 6, 7, 8, 9, 
13:03:26.733 -> FA, 1, 2, 3, 4, 5, 6, 7, 8, 9, 
13:03:26.733 -> FA, 1, 2, 3, 4, 5, 6, 7, 8, 9, 
13:03:26.768 -> FA, 1, 2, 3, 4, 5, 6, 7, 8, 9,

and again no issues. So seems to be a Arduino Uno Q issue with using Serial1.

Anyone have any suggestions.

EDIT: For the heck of it ran the lidar sketch on the Giga and seems toa be working but needs some tweaking

A,55,642,445
A,56,644,516
A,57,658,378
A,58,650,519
A,59,659,396
A,60,661,407
A,61,653,357
A,62,635,331
A,63,629,502
A,64,622,325
A,65,635,319
A,66,651,445
A,67,612,516
A,68,614,373
A,69,586,361

curious..
try adding a Serial1.flush(), end of loop..
also might want to also try Serial1.write(data,sizeof data) outside of for loop..
thinking the flushing will help..
good luck.. ~q

I am wondering if maybe the zephyr code is not reading the hardware usart fast enough?
It worked for getting packets back from Dynamixels at 1mbs, so should work.

Should not make any difference but maybe try something like:

void loop() {
  while ((inByte = Serial1.read()) >= 0) {                      // get incoming byte:

    if(inByte == 0xFA) {
       buildPacket = true;
    }
    if(buildPacket) {
      receivedData[z++] = inByte; // Read incoming bytes
      if (z >= dataLength) {
        z = 0; // Reset index after receiving all bytes
        for(uint8_t i=0; i<dataLength; i++)
          {Serial.print(receivedData[i], HEX);Serial.print(", ");}
        Serial.println();
        buildPacket = false;
      }
    }
  }
}

Could also simply change your first if(... to while(...
Wondering about priority of task and...
EDIT: Reason I mention this, is a current pending PR
unoq: restored main thread priority by eigen-value · Pull Request #416 · arduino/ArduinoCore-zephyr

Changing to while seems to help

FA, 1, 2, 3, 4, FA, 1, 2, 3, 4, 
FA, 1, 2, 3, 4, 5, 6, 7, 8, 9, 
FA, 1, 2, 3, 4, 5, 6, 7, 8, 9, 
FA, 1, 2, 3, 4, 5, 6, 7, 8, FA, 
FA, 1, 2, 3, 4, 5, 6, 7, 8, 9, 
FA, 1, 2, 3, 4, 5, 6, 7, 8, 9, 
FA, 1, 2, 3, 4, 5, 6, 7, 8, 9, 
FA, 1, 2, 3, 4, FA, 1, 2, 3, 4, 
FA, 1, 2, 3, 4, 5, 6, 7, 8, 9, 
FA, 1, 2, 3, 4, 5, 6, 7, 8, 9, 
FA, 1, 2, 3, 4, 5, 6, 7, 8, 9, 
FA, 1, 2, 3, 4, 5, 6, 7, 8, FA, 
FA, 1, 2, 3, 4, 5, 6, 7, 8, 9, 
FA, 1, 2, 3, 4, 5, 6, 7, 8, 9, 
FA, 1, 2, 3, 4, FA, 1, 2, 3, 4, 
FA, 1, 2, 3, 4, 5, 6, 7, 8, 9, 
FA, 1, 2, 3, 4, 5, 6, 7, 8, 9, 
FA, 1, 2, 3, 4, 5, 6, 7, 8, 9,

Could be related to priority since it seems fairly slow on outputing the data as compared to the giga.

Yep, but it's output as you know is going through the serial port to the other processor and then going out USB... I don't know if they ever speed up the UARTs between the two processors.

You could try seeing if you combine all of your Serial.print(..., HEX into a buffer and then do one Serial.write of the buffer to see if that helps...

Also you could play with the threads priority to see if that helps.
Zephyr API Documentation: Thread APIs
with k_thread_priority_get and _set.
probably need to use something like: k_current_get to get the thread id...

The receiver code has: Serial.begin(9600); while the others are at 115200 baud. Does this cause a timing problem?

some strange days..
so i used the code for the MCU, same as yours..
i already have this connected back into the MPU so I did a quick test..

#include <thread>
#include <time.h>
#include <stdint.h>
#include <stdio.h>
#include <QSER.h>



//64 bits..
unsigned long long now;
//10 seconds
unsigned long long runTime = 10000;

QSER Serial;

uint8_t buffer[20];

//millis
uint64_t GetTickCount()
 {
	struct timespec ts;
	clock_gettime(CLOCK_MONOTONIC, &ts);
	return (uint64_t)(ts.tv_sec) * 1000 + (uint64_t)(ts.tv_nsec / 1000000);
 }



int main(){
	
	
  printf("starting up..\n");
  
 if (!Serial.begin()){
	  printf("failed to begin serial..\n");
	  return -1;
  }
  
  
   int count = 0;
   unsigned long long start = GetTickCount();
                      now   = GetTickCount();
     
   //loop for 10 seconds..
    while (now-start <= runTime)
    {
	 //update now..	
	 now = GetTickCount();
	 int ret = Serial.available();
	 if (ret > 0)
	   {
		   count++;
		   int recv = Serial.receive(buffer,20);
		   if (recv > 0){
		   printf("Data :");
		     for (int i = 0; i < recv; i++){
			   printf(" %x ,",buffer[i]);
		     }
		   printf("\n");
	      }
	   }
	 //breath..	
     std::this_thread::yield();
	} 
	
	printf("All done packets: %d\n",count);
	//done with serial
	Serial.end();
  	
	return 0;
}

this is the output, ran it multiple times..
only see a small skip in the beginning, then it seems spot on, looks like sometimes the MPU is fast than the MCU..

arduino@q:~/projects/TestSer/build$ sudo ./TestSer
starting up..
Data : 9 , fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 ,
Data : 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 ,
Data : 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 ,
Data : 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 ,
Data : 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 ,
Data : 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 ,
Data : 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 ,
Data : 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 ,
Data : 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 ,
Data : 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 ,
Data : 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 ,
Data : 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 ,
Data : 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 ,
Data : 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 ,
Data : 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 ,
Data : 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 ,
Data : 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 ,
Data : 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 ,
Data : 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 ,
Data : 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 ,
Data : 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 ,
Data : 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 ,
Data : 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 ,
Data : 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 ,
Data : 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
Data : fa , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,

could be if the receiving end is not fast enough, I could try adding some delays and see what happens..

interesting.. ~q

Try to narrow down the problem. Run it at a slower speed. If the
problem clears up, the processor may be a bit too slow.

If it does not clear up, check whether the data is being buffered and
whether you are getting a buffer overflow.

yes, I'm thinking the transmitter sketch should also be checking the return value of Serial.write to make sure the byte was actually placed into the ring buffer, which is 64 bytes, i checked..
so if the receiver is slow, then the ring buffer will fill up, Serial.write should start returning 0..
~q

Just changed the delay in tx sketch from from to 25 and the issue cleared up. Also - more bytes transfered more delay you need.

this might be problematic for the xv-11 - going to have to dig deeper in the xv11

@qubits-us
did try 'Serial1.write(data, sizeofdata)' still see the same issue - still depends on the delay.

@KurtE
Will have to play with threads out of curiosity. Did rebuild with the PR included but didnt help

Before, I try, I must know what you are doing?

1.

Is Neato XV-11 (Robotic Vacuum Cleaner) is the transmitter and UNO Q is the receiver over its Serial1 Port?

2.

Which device/Arduino is the transmitter here?

Which device/Arduino is the receiver here?

3.

Is Teensy 4.1 a transitter and UNO Q is receiver over its Serial1 Port?

Yes. I have a Neato XV-11 attached to the Q which is the transmitter. Basically once the motor speeds up it starts transmitting data.

As a test of Serial1 I used a Teesnsy 4.1 (can probably use any board) transmitting on Serial1 at 115200

The receiver in this case is the Arduino Q

Yep.

Thank you very much for answering my questions.

1. Now, does your UNO Q's Serial1 Port receives known data correctly from a transmitter?

2. Does it print the received data correctly on Serial Monitor (it may not becaause there is bug).

3. Does it print the received data correctly on Python Console?

If the answers are yes, then it is fine; otherwise, I will do a test using any Arduino (probably ESP32) as a transmitter.

Think if you look in my post #1 you will see the answer to most of your questions. Later on if I increase the delay between data transmitting the q seems to receive the data correctly. Unfortunately - dont have that luxury when a XV-11 is attached - once the motor starts the data is just dumped without ability to change data rates.

1. How do we know that UNO Q is receiving data correctly at any Bd -- ?

By seeing the data on serial Monitor -- this is not reliable.

By seeing data on Python Console -- this is reliable.

2. What is te Bd at which the Robot transmits data to UNO Q?

Right now I am running in the IDE. Python console only shows data if you are using a python script which I am not currently doing.

From what I can tell the BD from the XV-11 is 115200

It is a known bug that the Serial Monitor of App Lab and IDE of UNO Q scrambled output data.

You can test by sending the data to the Python Console.

I will make a test by sending the received data simultaneousl onto Serial Monitor and Python Colsole and let you know the result.

@GolamMostafa @Merlin513 - I am guessing you are using one of the Lidars that looks like the top one:


I don't believe the one who I purchased it from getsurreal.com still exists or at least much.

I had updated mine from the earlier 1.x controller to the 2.x... I think the old one used a Teensy 2.x? I don't remember for sure if the 2 used a Teensy 3.x or 4.x or either... Looks like the last time I tried it out, I had used jumper wires to a different processor.

The one on the bottom is the one that Robotis sold (or sells), that came with my Turtlebot Waffle kit. Thy have their own controller that connected up to processor through USB.

No idea at all what you have shown in the picture! Thanks for sharing.

Yep GetSurreal is out of business. I am using the 1.x version with jumper wires to the Teensy 4.1 which works with no issues :slight_smile:

I also have one set up using a Teensy 2.0 as a baseline unit to compare.

The 1.x board with jumpers to the Giga seems to work but I had to tune the PID controller a bit to get semi descent data from it but it works.

Right now I have pwm pin attached to pin 3 of the Q and the lidar tx pin attach to serial1 rx pin.