You know, I have to say the UnoQ keeps impressing me, amazing piece of hardware..
So I was just curious what I could achieve logging spi data as fast as I can..
here’s the mcu sketch.ino
#include <SPI.h>
#include <zephyr/kernel.h>
#include <zephyr/drivers/spi.h>
#include <zephyr/device.h>
#define SPI3_NODE DT_NODELABEL(spi3)
struct __attribute__((__packed__)) DataPacket {
uint32_t milli;
uint32_t sequence;
uint32_t data1;
uint32_t data2;
};
DataPacket dp;
uint8_t rx_buf[16];
uint8_t tx_buf[16];
struct spi_config config = {
.frequency = 10000000,
.operation = SPI_OP_MODE_SLAVE | SPI_MODE_CPHA
| SPI_TRANSFER_MSB | SPI_WORD_SET(8) | SPI_LINES_SINGLE,
.slave = 0,
};
struct spi_buf spi_rx_buf[] = {
{
.buf = rx_buf,
.len = sizeof(rx_buf),
},
};
struct spi_buf spi_tx_buf[]{
{
.buf = tx_buf,
.len = sizeof(tx_buf) / 2,
},
{
.buf = tx_buf + sizeof(tx_buf) / 2,
.len = sizeof(tx_buf) /2,
},
};
struct spi_buf_set rx_set = {
.buffers = spi_rx_buf,
.count = sizeof(spi_rx_buf) / sizeof(spi_rx_buf[0]),
};
struct spi_buf_set tx_set = {
.buffers = spi_tx_buf,
.count = sizeof(spi_tx_buf) / sizeof(spi_tx_buf[0]),
};
const struct device *spi;
void setup() {
spi = DEVICE_DT_GET(SPI3_NODE);
if (!device_is_ready(spi))
{
//Serial.println("SPI not ready..");
}
dp.sequence = 1;
dp.data1 = 0;
dp.data2 = 0;
}
void loop(){
dp.milli = millis();
dp.sequence++;
dp.data1+=10;
dp.data2+=100;
memcpy(tx_buf, (uint8_t *)&dp,sizeof(dp));
int nRet = spi_transceive(spi, &config, &tx_set, &rx_set);
}
here’s the Linux MPU side..
I just searched up a logger for linux and git cloned tinylog..
/*
* UnoQ MCU SPI Logger..
*
*
* test how fast we can log data from MCU using SPI
*
* */
#include <thread>
#include <time.h>
#include <stdint.h>
#include <stdio.h>
#include <cstring>
#include <QSPI.h>
#include <tlog.h>
QSPI qspi;
//64 bits..
unsigned long long now;
//1 second
unsigned long long runTime = 1000;
//spi buf
uint8_t buf[16];
//our data packets
struct __attribute__((__packed__)) DataPacket {
uint32_t milli;
uint32_t sequence;
uint32_t data1;
uint32_t data2;
};
DataPacket dp;
//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("SPI Logger starting up..\n");
if (!qspi.begin()){
printf("failed to begin spi..\n");
}
//init the log file with a big fat buffer..
if (tlog_init("spi.log", 1024 * 1024, 8, 1024 * 1024, 0) !=0)
{
printf("Error starting log..\n");
} else printf("Logger initialized..\n");
tlog(TLOG_INFO,"SPI Logger Starting up..\n");
int count = 0;
unsigned long long start = GetTickCount();
now = GetTickCount();
//loop for 1 second..
while (now-start <= runTime)
{
//update now..
now = GetTickCount();
int ret = qspi.transceive(buf,sizeof(buf));
if (ret == sizeof(buf))
{
count++;
memcpy((uint8_t *)&dp,buf,sizeof(dp));
tlog(TLOG_INFO,"Millis: %d Sequence: %d Data1: %d Data2: %d",dp.milli,dp.sequence,dp.data1,dp.data2);
}
//breath..
std::this_thread::yield();
}
printf("All done packets logged: %d\n",count);
//done with spi
qspi.end();
// flush pending message, and exit tlog
tlog_exit();
//bye bye..
return 0;
}
here’s my logfile..
[2026-02-02 17:36:36,235][ INFO][ spilogger.cpp:65 ] SPI Logger Starting up..
[2026-02-02 17:36:36,237][ INFO][ spilogger.cpp:81 ] Millis: 27088 Sequence: 262 Data1: 2610 Data2: 26100
[2026-02-02 17:36:36,240][ INFO][ spilogger.cpp:81 ] Millis: 116364 Sequence: 263 Data1: 2620 Data2: 26200
[2026-02-02 17:36:36,242][ INFO][ spilogger.cpp:81 ] Millis: 116366 Sequence: 264 Data1: 2630 Data2: 26300
[2026-02-02 17:36:36,244][ INFO][ spilogger.cpp:81 ] Millis: 116368 Sequence: 265 Data1: 2640 Data2: 26400
[2026-02-02 17:36:36,247][ INFO][ spilogger.cpp:81 ] Millis: 116371 Sequence: 266 Data1: 2650 Data2: 26500
[2026-02-02 17:36:36,249][ INFO][ spilogger.cpp:81 ] Millis: 116373 Sequence: 267 Data1: 2660 Data2: 26600
[2026-02-02 17:36:36,252][ INFO][ spilogger.cpp:81 ] Millis: 116375 Sequence: 268 Data1: 2670 Data2: 26700
[2026-02-02 17:36:36,255][ INFO][ spilogger.cpp:81 ] Millis: 116378 Sequence: 269 Data1: 2680 Data2: 26800
[2026-02-02 17:36:36,259][ INFO][ spilogger.cpp:81 ] Millis: 116381 Sequence: 270 Data1: 2690 Data2: 26900
[2026-02-02 17:36:36,261][ INFO][ spilogger.cpp:81 ] Millis: 116385 Sequence: 271 Data1: 2700 Data2: 27000
[2026-02-02 17:36:36,265][ INFO][ spilogger.cpp:81 ] Millis: 116387 Sequence: 272 Data1: 2710 Data2: 27100
[2026-02-02 17:36:36,270][ INFO][ spilogger.cpp:81 ] Millis: 116391 Sequence: 273 Data1: 2720 Data2: 27200
[2026-02-02 17:36:36,273][ INFO][ spilogger.cpp:81 ] Millis: 116396 Sequence: 274 Data1: 2730 Data2: 27300
[2026-02-02 17:36:36,277][ INFO][ spilogger.cpp:81 ] Millis: 116399 Sequence: 275 Data1: 2740 Data2: 27400
[2026-02-02 17:36:36,281][ INFO][ spilogger.cpp:81 ] Millis: 116403 Sequence: 276 Data1: 2750 Data2: 27500
[2026-02-02 17:36:36,286][ INFO][ spilogger.cpp:81 ] Millis: 116407 Sequence: 277 Data1: 2760 Data2: 27600
[2026-02-02 17:36:36,289][ INFO][ spilogger.cpp:81 ] Millis: 116412 Sequence: 278 Data1: 2770 Data2: 27700
[2026-02-02 17:36:36,293][ INFO][ spilogger.cpp:81 ] Millis: 116415 Sequence: 279 Data1: 2780 Data2: 27800
[2026-02-02 17:36:36,296][ INFO][ spilogger.cpp:81 ] Millis: 116419 Sequence: 280 Data1: 2790 Data2: 27900
[2026-02-02 17:36:36,299][ INFO][ spilogger.cpp:81 ] Millis: 116422 Sequence: 281 Data1: 2800 Data2: 28000
[2026-02-02 17:36:36,302][ INFO][ spilogger.cpp:81 ] Millis: 116425 Sequence: 282 Data1: 2810 Data2: 28100
[2026-02-02 17:36:36,304][ INFO][ spilogger.cpp:81 ] Millis: 116428 Sequence: 283 Data1: 2820 Data2: 28200
[2026-02-02 17:36:36,306][ INFO][ spilogger.cpp:81 ] Millis: 116430 Sequence: 284 Data1: 2830 Data2: 28300
[2026-02-02 17:36:36,308][ INFO][ spilogger.cpp:81 ] Millis: 116432 Sequence: 285 Data1: 2840 Data2: 28400
[2026-02-02 17:36:36,311][ INFO][ spilogger.cpp:81 ] Millis: 116435 Sequence: 286 Data1: 2850 Data2: 28500
[2026-02-02 17:36:36,313][ INFO][ spilogger.cpp:81 ] Millis: 116437 Sequence: 287 Data1: 2860 Data2: 28600
[2026-02-02 17:36:36,315][ INFO][ spilogger.cpp:81 ] Millis: 116439 Sequence: 288 Data1: 2870 Data2: 28700
[2026-02-02 17:36:36,318][ INFO][ spilogger.cpp:81 ] Millis: 116441 Sequence: 289 Data1: 2880 Data2: 28800
[2026-02-02 17:36:36,320][ INFO][ spilogger.cpp:81 ] Millis: 116444 Sequence: 290 Data1: 2890 Data2: 28900
[2026-02-02 17:36:36,323][ INFO][ spilogger.cpp:81 ] Millis: 116447 Sequence: 291 Data1: 2900 Data2: 29000
[2026-02-02 17:36:36,326][ INFO][ spilogger.cpp:81 ] Millis: 116449 Sequence: 292 Data1: 2910 Data2: 29100
[2026-02-02 17:36:36,328][ INFO][ spilogger.cpp:81 ] Millis: 116452 Sequence: 293 Data1: 2920 Data2: 29200
[2026-02-02 17:36:36,330][ INFO][ spilogger.cpp:81 ] Millis: 116454 Sequence: 294 Data1: 2930 Data2: 29300
[2026-02-02 17:36:36,333][ INFO][ spilogger.cpp:81 ] Millis: 116456 Sequence: 295 Data1: 2940 Data2: 29400
[2026-02-02 17:36:36,335][ INFO][ spilogger.cpp:81 ] Millis: 116459 Sequence: 296 Data1: 2950 Data2: 29500
[2026-02-02 17:36:36,338][ INFO][ spilogger.cpp:81 ] Millis: 116461 Sequence: 297 Data1: 2960 Data2: 29600
[2026-02-02 17:36:36,340][ INFO][ spilogger.cpp:81 ] Millis: 116464 Sequence: 298 Data1: 2970 Data2: 29700
[2026-02-02 17:36:36,343][ INFO][ spilogger.cpp:81 ] Millis: 116467 Sequence: 299 Data1: 2980 Data2: 29800
[2026-02-02 17:36:36,345][ INFO][ spilogger.cpp:81 ] Millis: 116469 Sequence: 300 Data1: 2990 Data2: 29900
[2026-02-02 17:36:36,347][ INFO][ spilogger.cpp:81 ] Millis: 116471 Sequence: 301 Data1: 3000 Data2: 30000
[2026-02-02 17:36:36,350][ INFO][ spilogger.cpp:81 ] Millis: 116473 Sequence: 302 Data1: 3010 Data2: 30100
[2026-02-02 17:36:36,352][ INFO][ spilogger.cpp:81 ] Millis: 116476 Sequence: 303 Data1: 3020 Data2: 30200
[2026-02-02 17:36:36,355][ INFO][ spilogger.cpp:81 ] Millis: 116478 Sequence: 304 Data1: 3030 Data2: 30300
[2026-02-02 17:36:36,360][ INFO][ spilogger.cpp:81 ] Millis: 116481 Sequence: 305 Data1: 3040 Data2: 30400
[2026-02-02 17:36:36,365][ INFO][ spilogger.cpp:81 ] Millis: 116486 Sequence: 306 Data1: 3050 Data2: 30500
[2026-02-02 17:36:36,367][ INFO][ spilogger.cpp:81 ] Millis: 116491 Sequence: 307 Data1: 3060 Data2: 30600
[2026-02-02 17:36:36,369][ INFO][ spilogger.cpp:81 ] Millis: 116493 Sequence: 308 Data1: 3070 Data2: 30700
[2026-02-02 17:36:36,371][ INFO][ spilogger.cpp:81 ] Millis: 116495 Sequence: 309 Data1: 3080 Data2: 30800
[2026-02-02 17:36:36,374][ INFO][ spilogger.cpp:81 ] Millis: 116498 Sequence: 310 Data1: 3090 Data2: 30900
[2026-02-02 17:36:36,376][ INFO][ spilogger.cpp:81 ] Millis: 116500 Sequence: 311 Data1: 3100 Data2: 31000
[2026-02-02 17:36:36,379][ INFO][ spilogger.cpp:81 ] Millis: 116503 Sequence: 312 Data1: 3110 Data2: 31100
[2026-02-02 17:36:36,381][ INFO][ spilogger.cpp:81 ] Millis: 116505 Sequence: 313 Data1: 3120 Data2: 31200
[2026-02-02 17:36:36,383][ INFO][ spilogger.cpp:81 ] Millis: 116507 Sequence: 314 Data1: 3130 Data2: 31300
[2026-02-02 17:36:36,385][ INFO][ spilogger.cpp:81 ] Millis: 116509 Sequence: 315 Data1: 3140 Data2: 31400
[2026-02-02 17:36:36,388][ INFO][ spilogger.cpp:81 ] Millis: 116511 Sequence: 316 Data1: 3150 Data2: 31500
[2026-02-02 17:36:36,390][ INFO][ spilogger.cpp:81 ] Millis: 116514 Sequence: 317 Data1: 3160 Data2: 31600
[2026-02-02 17:36:36,393][ INFO][ spilogger.cpp:81 ] Millis: 116516 Sequence: 318 Data1: 3170 Data2: 31700
[2026-02-02 17:36:36,395][ INFO][ spilogger.cpp:81 ] Millis: 116519 Sequence: 319 Data1: 3180 Data2: 31800
[2026-02-02 17:36:36,397][ INFO][ spilogger.cpp:81 ] Millis: 116521 Sequence: 320 Data1: 3190 Data2: 31900
[2026-02-02 17:36:36,400][ INFO][ spilogger.cpp:81 ] Millis: 116523 Sequence: 321 Data1: 3200 Data2: 32000
[2026-02-02 17:36:36,403][ INFO][ spilogger.cpp:81 ] Millis: 116526 Sequence: 322 Data1: 3210 Data2: 32100
[2026-02-02 17:36:36,406][ INFO][ spilogger.cpp:81 ] Millis: 116529 Sequence: 323 Data1: 3220 Data2: 32200
[2026-02-02 17:36:36,409][ INFO][ spilogger.cpp:81 ] Millis: 116532 Sequence: 324 Data1: 3230 Data2: 32300
[2026-02-02 17:36:36,412][ INFO][ spilogger.cpp:81 ] Millis: 116535 Sequence: 325 Data1: 3240 Data2: 32400
[2026-02-02 17:36:36,415][ INFO][ spilogger.cpp:81 ] Millis: 116538 Sequence: 326 Data1: 3250 Data2: 32500
[2026-02-02 17:36:36,419][ INFO][ spilogger.cpp:81 ] Millis: 116541 Sequence: 327 Data1: 3260 Data2: 32600
[2026-02-02 17:36:36,428][ INFO][ spilogger.cpp:81 ] Millis: 116545 Sequence: 328 Data1: 3270 Data2: 32700
[2026-02-02 17:36:36,430][ INFO][ spilogger.cpp:81 ] Millis: 116554 Sequence: 329 Data1: 3280 Data2: 32800
[2026-02-02 17:36:36,433][ INFO][ spilogger.cpp:81 ] Millis: 116556 Sequence: 330 Data1: 3290 Data2: 32900
[2026-02-02 17:36:36,438][ INFO][ spilogger.cpp:81 ] Millis: 116559 Sequence: 331 Data1: 3300 Data2: 33000
[2026-02-02 17:36:36,442][ INFO][ spilogger.cpp:81 ] Millis: 116564 Sequence: 332 Data1: 3310 Data2: 33100
[2026-02-02 17:36:36,445][ INFO][ spilogger.cpp:81 ] Millis: 116568 Sequence: 333 Data1: 3320 Data2: 33200
[2026-02-02 17:36:36,449][ INFO][ spilogger.cpp:81 ] Millis: 116571 Sequence: 334 Data1: 3330 Data2: 33300
[2026-02-02 17:36:36,451][ INFO][ spilogger.cpp:81 ] Millis: 116574 Sequence: 335 Data1: 3340 Data2: 33400
[2026-02-02 17:36:36,457][ INFO][ spilogger.cpp:81 ] Millis: 116577 Sequence: 336 Data1: 3350 Data2: 33500
[2026-02-02 17:36:36,463][ INFO][ spilogger.cpp:81 ] Millis: 116583 Sequence: 337 Data1: 3360 Data2: 33600
[2026-02-02 17:36:36,466][ INFO][ spilogger.cpp:81 ] Millis: 116589 Sequence: 338 Data1: 3370 Data2: 33700
[2026-02-02 17:36:36,469][ INFO][ spilogger.cpp:81 ] Millis: 116592 Sequence: 339 Data1: 3380 Data2: 33800
[2026-02-02 17:36:36,474][ INFO][ spilogger.cpp:81 ] Millis: 116595 Sequence: 340 Data1: 3390 Data2: 33900
[2026-02-02 17:36:36,480][ INFO][ spilogger.cpp:81 ] Millis: 116600 Sequence: 341 Data1: 3400 Data2: 34000
[2026-02-02 17:36:36,485][ INFO][ spilogger.cpp:81 ] Millis: 116606 Sequence: 342 Data1: 3410 Data2: 34100
[2026-02-02 17:36:36,489][ INFO][ spilogger.cpp:81 ] Millis: 116611 Sequence: 343 Data1: 3420 Data2: 34200
[2026-02-02 17:36:36,494][ INFO][ spilogger.cpp:81 ] Millis: 116615 Sequence: 344 Data1: 3430 Data2: 34300
[2026-02-02 17:36:36,497][ INFO][ spilogger.cpp:81 ] Millis: 116620 Sequence: 345 Data1: 3440 Data2: 34400
[2026-02-02 17:36:36,501][ INFO][ spilogger.cpp:81 ] Millis: 116623 Sequence: 346 Data1: 3450 Data2: 34500
[2026-02-02 17:36:36,507][ INFO][ spilogger.cpp:81 ] Millis: 116627 Sequence: 347 Data1: 3460 Data2: 34600
[2026-02-02 17:36:36,512][ INFO][ spilogger.cpp:81 ] Millis: 116633 Sequence: 348 Data1: 3470 Data2: 34700
[2026-02-02 17:36:36,516][ INFO][ spilogger.cpp:81 ] Millis: 116638 Sequence: 349 Data1: 3480 Data2: 34800
[2026-02-02 17:36:36,521][ INFO][ spilogger.cpp:81 ] Millis: 116642 Sequence: 350 Data1: 3490 Data2: 34900
[2026-02-02 17:36:36,525][ INFO][ spilogger.cpp:81 ] Millis: 116647 Sequence: 351 Data1: 3500 Data2: 35000
[2026-02-02 17:36:36,530][ INFO][ spilogger.cpp:81 ] Millis: 116651 Sequence: 352 Data1: 3510 Data2: 35100
[2026-02-02 17:36:36,536][ INFO][ spilogger.cpp:81 ] Millis: 116656 Sequence: 353 Data1: 3520 Data2: 35200
[2026-02-02 17:36:36,539][ INFO][ spilogger.cpp:81 ] Millis: 116662 Sequence: 354 Data1: 3530 Data2: 35300
[2026-02-02 17:36:36,544][ INFO][ spilogger.cpp:81 ] Millis: 116665 Sequence: 355 Data1: 3540 Data2: 35400
[2026-02-02 17:36:36,549][ INFO][ spilogger.cpp:81 ] Millis: 116670 Sequence: 356 Data1: 3550 Data2: 35500
[2026-02-02 17:36:36,553][ INFO][ spilogger.cpp:81 ] Millis: 116674 Sequence: 357 Data1: 3560 Data2: 35600
[2026-02-02 17:36:36,557][ INFO][ spilogger.cpp:81 ] Millis: 116679 Sequence: 358 Data1: 3570 Data2: 35700
[2026-02-02 17:36:36,562][ INFO][ spilogger.cpp:81 ] Millis: 116683 Sequence: 359 Data1: 3580 Data2: 35800
[2026-02-02 17:36:36,567][ INFO][ spilogger.cpp:81 ] Millis: 116688 Sequence: 360 Data1: 3590 Data2: 35900
[2026-02-02 17:36:36,571][ INFO][ spilogger.cpp:81 ] Millis: 116693 Sequence: 361 Data1: 3600 Data2: 36000
[2026-02-02 17:36:36,577][ INFO][ spilogger.cpp:81 ] Millis: 116697 Sequence: 362 Data1: 3610 Data2: 36100
[2026-02-02 17:36:36,581][ INFO][ spilogger.cpp:81 ] Millis: 116703 Sequence: 363 Data1: 3620 Data2: 36200
[2026-02-02 17:36:36,585][ INFO][ spilogger.cpp:81 ] Millis: 116707 Sequence: 364 Data1: 3630 Data2: 36300
[2026-02-02 17:36:36,590][ INFO][ spilogger.cpp:81 ] Millis: 116711 Sequence: 365 Data1: 3640 Data2: 36400
[2026-02-02 17:36:36,595][ INFO][ spilogger.cpp:81 ] Millis: 116716 Sequence: 366 Data1: 3650 Data2: 36500
[2026-02-02 17:36:36,599][ INFO][ spilogger.cpp:81 ] Millis: 116721 Sequence: 367 Data1: 3660 Data2: 36600
[2026-02-02 17:36:36,604][ INFO][ spilogger.cpp:81 ] Millis: 116725 Sequence: 368 Data1: 3670 Data2: 36700
[2026-02-02 17:36:36,608][ INFO][ spilogger.cpp:81 ] Millis: 116730 Sequence: 369 Data1: 3680 Data2: 36800
[2026-02-02 17:36:36,613][ INFO][ spilogger.cpp:81 ] Millis: 116733 Sequence: 370 Data1: 3690 Data2: 36900
[2026-02-02 17:36:36,617][ INFO][ spilogger.cpp:81 ] Millis: 116738 Sequence: 371 Data1: 3700 Data2: 37000
[2026-02-02 17:36:36,622][ INFO][ spilogger.cpp:81 ] Millis: 116742 Sequence: 372 Data1: 3710 Data2: 37100
[2026-02-02 17:36:36,624][ INFO][ spilogger.cpp:81 ] Millis: 116747 Sequence: 373 Data1: 3720 Data2: 37200
[2026-02-02 17:36:36,627][ INFO][ spilogger.cpp:81 ] Millis: 116750 Sequence: 374 Data1: 3730 Data2: 37300
[2026-02-02 17:36:36,631][ INFO][ spilogger.cpp:81 ] Millis: 116753 Sequence: 375 Data1: 3740 Data2: 37400
[2026-02-02 17:36:36,634][ INFO][ spilogger.cpp:81 ] Millis: 116756 Sequence: 376 Data1: 3750 Data2: 37500
[2026-02-02 17:36:36,639][ INFO][ spilogger.cpp:81 ] Millis: 116760 Sequence: 377 Data1: 3760 Data2: 37600
[2026-02-02 17:36:36,642][ INFO][ spilogger.cpp:81 ] Millis: 116765 Sequence: 378 Data1: 3770 Data2: 37700
[2026-02-02 17:36:36,649][ INFO][ spilogger.cpp:81 ] Millis: 116768 Sequence: 379 Data1: 3780 Data2: 37800
[2026-02-02 17:36:36,653][ INFO][ spilogger.cpp:81 ] Millis: 116774 Sequence: 380 Data1: 3790 Data2: 37900
[2026-02-02 17:36:36,658][ INFO][ spilogger.cpp:81 ] Millis: 116779 Sequence: 381 Data1: 3800 Data2: 38000
[2026-02-02 17:36:36,661][ INFO][ spilogger.cpp:81 ] Millis: 116784 Sequence: 382 Data1: 3810 Data2: 38100
[2026-02-02 17:36:36,666][ INFO][ spilogger.cpp:81 ] Millis: 116787 Sequence: 383 Data1: 3820 Data2: 38200
[2026-02-02 17:36:36,672][ INFO][ spilogger.cpp:81 ] Millis: 116792 Sequence: 384 Data1: 3830 Data2: 38300
[2026-02-02 17:36:36,677][ INFO][ spilogger.cpp:81 ] Millis: 116798 Sequence: 385 Data1: 3840 Data2: 38400
[2026-02-02 17:36:36,682][ INFO][ spilogger.cpp:81 ] Millis: 116803 Sequence: 386 Data1: 3850 Data2: 38500
[2026-02-02 17:36:36,687][ INFO][ spilogger.cpp:81 ] Millis: 116808 Sequence: 387 Data1: 3860 Data2: 38600
[2026-02-02 17:36:36,692][ INFO][ spilogger.cpp:81 ] Millis: 116812 Sequence: 388 Data1: 3870 Data2: 38700
[2026-02-02 17:36:36,697][ INFO][ spilogger.cpp:81 ] Millis: 116818 Sequence: 389 Data1: 3880 Data2: 38800
[2026-02-02 17:36:36,700][ INFO][ spilogger.cpp:81 ] Millis: 116823 Sequence: 390 Data1: 3890 Data2: 38900
[2026-02-02 17:36:36,705][ INFO][ spilogger.cpp:81 ] Millis: 116826 Sequence: 391 Data1: 3900 Data2: 39000
[2026-02-02 17:36:36,709][ INFO][ spilogger.cpp:81 ] Millis: 116831 Sequence: 392 Data1: 3910 Data2: 39100
[2026-02-02 17:36:36,713][ INFO][ spilogger.cpp:81 ] Millis: 116835 Sequence: 393 Data1: 3920 Data2: 39200
[2026-02-02 17:36:36,717][ INFO][ spilogger.cpp:81 ] Millis: 116838 Sequence: 394 Data1: 3930 Data2: 39300
[2026-02-02 17:36:36,721][ INFO][ spilogger.cpp:81 ] Millis: 116843 Sequence: 395 Data1: 3940 Data2: 39400
[2026-02-02 17:36:36,725][ INFO][ spilogger.cpp:81 ] Millis: 116847 Sequence: 396 Data1: 3950 Data2: 39500
[2026-02-02 17:36:36,729][ INFO][ spilogger.cpp:81 ] Millis: 116851 Sequence: 397 Data1: 3960 Data2: 39600
[2026-02-02 17:36:36,734][ INFO][ spilogger.cpp:81 ] Millis: 116855 Sequence: 398 Data1: 3970 Data2: 39700
[2026-02-02 17:36:36,738][ INFO][ spilogger.cpp:81 ] Millis: 116859 Sequence: 399 Data1: 3980 Data2: 39800
[2026-02-02 17:36:36,743][ INFO][ spilogger.cpp:81 ] Millis: 116864 Sequence: 400 Data1: 3990 Data2: 39900
[2026-02-02 17:36:36,748][ INFO][ spilogger.cpp:81 ] Millis: 116869 Sequence: 401 Data1: 4000 Data2: 40000
[2026-02-02 17:36:36,752][ INFO][ spilogger.cpp:81 ] Millis: 116873 Sequence: 402 Data1: 4010 Data2: 40100
[2026-02-02 17:36:36,756][ INFO][ spilogger.cpp:81 ] Millis: 116878 Sequence: 403 Data1: 4020 Data2: 40200
[2026-02-02 17:36:36,761][ INFO][ spilogger.cpp:81 ] Millis: 116882 Sequence: 404 Data1: 4030 Data2: 40300
[2026-02-02 17:36:36,764][ INFO][ spilogger.cpp:81 ] Millis: 116887 Sequence: 405 Data1: 4040 Data2: 40400
[2026-02-02 17:36:36,769][ INFO][ spilogger.cpp:81 ] Millis: 116890 Sequence: 406 Data1: 4050 Data2: 40500
[2026-02-02 17:36:36,771][ INFO][ spilogger.cpp:81 ] Millis: 116894 Sequence: 407 Data1: 4060 Data2: 40600
[2026-02-02 17:36:36,775][ INFO][ spilogger.cpp:81 ] Millis: 116897 Sequence: 408 Data1: 4070 Data2: 40700
[2026-02-02 17:36:36,780][ INFO][ spilogger.cpp:81 ] Millis: 116901 Sequence: 409 Data1: 4080 Data2: 40800
[2026-02-02 17:36:36,785][ INFO][ spilogger.cpp:81 ] Millis: 116906 Sequence: 410 Data1: 4090 Data2: 40900
[2026-02-02 17:36:36,790][ INFO][ spilogger.cpp:81 ] Millis: 116911 Sequence: 411 Data1: 4100 Data2: 41000
[2026-02-02 17:36:36,795][ INFO][ spilogger.cpp:81 ] Millis: 116916 Sequence: 412 Data1: 4110 Data2: 41100
[2026-02-02 17:36:36,800][ INFO][ spilogger.cpp:81 ] Millis: 116921 Sequence: 413 Data1: 4120 Data2: 41200
[2026-02-02 17:36:36,805][ INFO][ spilogger.cpp:81 ] Millis: 116926 Sequence: 414 Data1: 4130 Data2: 41300
[2026-02-02 17:36:36,809][ INFO][ spilogger.cpp:81 ] Millis: 116930 Sequence: 415 Data1: 4140 Data2: 41400
[2026-02-02 17:36:36,814][ INFO][ spilogger.cpp:81 ] Millis: 116935 Sequence: 416 Data1: 4150 Data2: 41500
[2026-02-02 17:36:36,817][ INFO][ spilogger.cpp:81 ] Millis: 116939 Sequence: 417 Data1: 4160 Data2: 41600
[2026-02-02 17:36:36,822][ INFO][ spilogger.cpp:81 ] Millis: 116943 Sequence: 418 Data1: 4170 Data2: 41700
[2026-02-02 17:36:36,827][ INFO][ spilogger.cpp:81 ] Millis: 116947 Sequence: 419 Data1: 4180 Data2: 41800
[2026-02-02 17:36:36,830][ INFO][ spilogger.cpp:81 ] Millis: 116952 Sequence: 420 Data1: 4190 Data2: 41900
[2026-02-02 17:36:36,834][ INFO][ spilogger.cpp:81 ] Millis: 116955 Sequence: 421 Data1: 4200 Data2: 42000
[2026-02-02 17:36:36,837][ INFO][ spilogger.cpp:81 ] Millis: 116960 Sequence: 422 Data1: 4210 Data2: 42100
[2026-02-02 17:36:36,841][ INFO][ spilogger.cpp:81 ] Millis: 116963 Sequence: 423 Data1: 4220 Data2: 42200
[2026-02-02 17:36:36,845][ INFO][ spilogger.cpp:81 ] Millis: 116966 Sequence: 424 Data1: 4230 Data2: 42300
[2026-02-02 17:36:36,849][ INFO][ spilogger.cpp:81 ] Millis: 116970 Sequence: 425 Data1: 4240 Data2: 42400
[2026-02-02 17:36:36,854][ INFO][ spilogger.cpp:81 ] Millis: 116975 Sequence: 426 Data1: 4250 Data2: 42500
[2026-02-02 17:36:36,858][ INFO][ spilogger.cpp:81 ] Millis: 116980 Sequence: 427 Data1: 4260 Data2: 42600
[2026-02-02 17:36:36,862][ INFO][ spilogger.cpp:81 ] Millis: 116983 Sequence: 428 Data1: 4270 Data2: 42700
[2026-02-02 17:36:36,866][ INFO][ spilogger.cpp:81 ] Millis: 116987 Sequence: 429 Data1: 4280 Data2: 42800
[2026-02-02 17:36:36,871][ INFO][ spilogger.cpp:81 ] Millis: 116992 Sequence: 430 Data1: 4290 Data2: 42900
[2026-02-02 17:36:36,876][ INFO][ spilogger.cpp:81 ] Millis: 116997 Sequence: 431 Data1: 4300 Data2: 43000
[2026-02-02 17:36:36,880][ INFO][ spilogger.cpp:81 ] Millis: 117002 Sequence: 432 Data1: 4310 Data2: 43100
[2026-02-02 17:36:36,883][ INFO][ spilogger.cpp:81 ] Millis: 117006 Sequence: 433 Data1: 4320 Data2: 43200
[2026-02-02 17:36:36,886][ INFO][ spilogger.cpp:81 ] Millis: 117009 Sequence: 434 Data1: 4330 Data2: 43300
[2026-02-02 17:36:36,891][ INFO][ spilogger.cpp:81 ] Millis: 117012 Sequence: 435 Data1: 4340 Data2: 43400
[2026-02-02 17:36:36,895][ INFO][ spilogger.cpp:81 ] Millis: 117016 Sequence: 436 Data1: 4350 Data2: 43500
[2026-02-02 17:36:36,899][ INFO][ spilogger.cpp:81 ] Millis: 117020 Sequence: 437 Data1: 4360 Data2: 43600
[2026-02-02 17:36:36,903][ INFO][ spilogger.cpp:81 ] Millis: 117024 Sequence: 438 Data1: 4370 Data2: 43700
[2026-02-02 17:36:36,907][ INFO][ spilogger.cpp:81 ] Millis: 117028 Sequence: 439 Data1: 4380 Data2: 43800
[2026-02-02 17:36:36,910][ INFO][ spilogger.cpp:81 ] Millis: 117032 Sequence: 440 Data1: 4390 Data2: 43900
[2026-02-02 17:36:36,914][ INFO][ spilogger.cpp:81 ] Millis: 117035 Sequence: 441 Data1: 4400 Data2: 44000
[2026-02-02 17:36:36,918][ INFO][ spilogger.cpp:81 ] Millis: 117040 Sequence: 442 Data1: 4410 Data2: 44100
[2026-02-02 17:36:36,922][ INFO][ spilogger.cpp:81 ] Millis: 117043 Sequence: 443 Data1: 4420 Data2: 44200
[2026-02-02 17:36:36,926][ INFO][ spilogger.cpp:81 ] Millis: 117047 Sequence: 444 Data1: 4430 Data2: 44300
[2026-02-02 17:36:36,929][ INFO][ spilogger.cpp:81 ] Millis: 117051 Sequence: 445 Data1: 4440 Data2: 44400
[2026-02-02 17:36:36,931][ INFO][ spilogger.cpp:81 ] Millis: 117055 Sequence: 446 Data1: 4450 Data2: 44500
[2026-02-02 17:36:36,934][ INFO][ spilogger.cpp:81 ] Millis: 117057 Sequence: 447 Data1: 4460 Data2: 44600
[2026-02-02 17:36:36,939][ INFO][ spilogger.cpp:81 ] Millis: 117060 Sequence: 448 Data1: 4470 Data2: 44700
[2026-02-02 17:36:36,942][ INFO][ spilogger.cpp:81 ] Millis: 117065 Sequence: 449 Data1: 4480 Data2: 44800
[2026-02-02 17:36:36,946][ INFO][ spilogger.cpp:81 ] Millis: 117068 Sequence: 450 Data1: 4490 Data2: 44900
[2026-02-02 17:36:36,951][ INFO][ spilogger.cpp:81 ] Millis: 117072 Sequence: 451 Data1: 4500 Data2: 45000
[2026-02-02 17:36:36,956][ INFO][ spilogger.cpp:81 ] Millis: 117076 Sequence: 452 Data1: 4510 Data2: 45100
[2026-02-02 17:36:36,960][ INFO][ spilogger.cpp:81 ] Millis: 117081 Sequence: 453 Data1: 4520 Data2: 45200
[2026-02-02 17:36:36,964][ INFO][ spilogger.cpp:81 ] Millis: 117086 Sequence: 454 Data1: 4530 Data2: 45300
[2026-02-02 17:36:36,968][ INFO][ spilogger.cpp:81 ] Millis: 117090 Sequence: 455 Data1: 4540 Data2: 45400
[2026-02-02 17:36:36,973][ INFO][ spilogger.cpp:81 ] Millis: 117094 Sequence: 456 Data1: 4550 Data2: 45500
[2026-02-02 17:36:36,981][ INFO][ spilogger.cpp:81 ] Millis: 117099 Sequence: 457 Data1: 4560 Data2: 45600
[2026-02-02 17:36:36,985][ INFO][ spilogger.cpp:81 ] Millis: 117106 Sequence: 458 Data1: 4570 Data2: 45700
[2026-02-02 17:36:36,989][ INFO][ spilogger.cpp:81 ] Millis: 117111 Sequence: 459 Data1: 4580 Data2: 45800
[2026-02-02 17:36:36,992][ INFO][ spilogger.cpp:81 ] Millis: 117115 Sequence: 460 Data1: 4590 Data2: 45900
[2026-02-02 17:36:36,997][ INFO][ spilogger.cpp:81 ] Millis: 117118 Sequence: 461 Data1: 4600 Data2: 46000
[2026-02-02 17:36:37,001][ INFO][ spilogger.cpp:81 ] Millis: 117123 Sequence: 462 Data1: 4610 Data2: 46100
[2026-02-02 17:36:37,005][ INFO][ spilogger.cpp:81 ] Millis: 117126 Sequence: 463 Data1: 4620 Data2: 46200
[2026-02-02 17:36:37,009][ INFO][ spilogger.cpp:81 ] Millis: 117131 Sequence: 464 Data1: 4630 Data2: 46300
[2026-02-02 17:36:37,012][ INFO][ spilogger.cpp:81 ] Millis: 117135 Sequence: 465 Data1: 4640 Data2: 46400
[2026-02-02 17:36:37,016][ INFO][ spilogger.cpp:81 ] Millis: 117138 Sequence: 466 Data1: 4650 Data2: 46500
[2026-02-02 17:36:37,020][ INFO][ spilogger.cpp:81 ] Millis: 117142 Sequence: 467 Data1: 4660 Data2: 46600
[2026-02-02 17:36:37,024][ INFO][ spilogger.cpp:81 ] Millis: 117146 Sequence: 468 Data1: 4670 Data2: 46700
[2026-02-02 17:36:37,029][ INFO][ spilogger.cpp:81 ] Millis: 117150 Sequence: 469 Data1: 4680 Data2: 46800
[2026-02-02 17:36:37,033][ INFO][ spilogger.cpp:81 ] Millis: 117154 Sequence: 470 Data1: 4690 Data2: 46900
[2026-02-02 17:36:37,038][ INFO][ spilogger.cpp:81 ] Millis: 117159 Sequence: 471 Data1: 4700 Data2: 47000
[2026-02-02 17:36:37,043][ INFO][ spilogger.cpp:81 ] Millis: 117163 Sequence: 472 Data1: 4710 Data2: 47100
[2026-02-02 17:36:37,052][ INFO][ spilogger.cpp:81 ] Millis: 117168 Sequence: 473 Data1: 4720 Data2: 47200
[2026-02-02 17:36:37,055][ INFO][ spilogger.cpp:81 ] Millis: 117177 Sequence: 474 Data1: 4730 Data2: 47300
[2026-02-02 17:36:37,058][ INFO][ spilogger.cpp:81 ] Millis: 117180 Sequence: 475 Data1: 4740 Data2: 47400
[2026-02-02 17:36:37,061][ INFO][ spilogger.cpp:81 ] Millis: 117184 Sequence: 476 Data1: 4750 Data2: 47500
[2026-02-02 17:36:37,068][ INFO][ spilogger.cpp:81 ] Millis: 117187 Sequence: 477 Data1: 4760 Data2: 47600
[2026-02-02 17:36:37,074][ INFO][ spilogger.cpp:81 ] Millis: 117193 Sequence: 478 Data1: 4770 Data2: 47700
[2026-02-02 17:36:37,080][ INFO][ spilogger.cpp:81 ] Millis: 117199 Sequence: 479 Data1: 4780 Data2: 47800
[2026-02-02 17:36:37,085][ INFO][ spilogger.cpp:81 ] Millis: 117205 Sequence: 480 Data1: 4790 Data2: 47900
[2026-02-02 17:36:37,092][ INFO][ spilogger.cpp:81 ] Millis: 117211 Sequence: 481 Data1: 4800 Data2: 48000
[2026-02-02 17:36:37,098][ INFO][ spilogger.cpp:81 ] Millis: 117217 Sequence: 482 Data1: 4810 Data2: 48100
[2026-02-02 17:36:37,106][ INFO][ spilogger.cpp:81 ] Millis: 117224 Sequence: 483 Data1: 4820 Data2: 48200
[2026-02-02 17:36:37,113][ INFO][ spilogger.cpp:81 ] Millis: 117232 Sequence: 484 Data1: 4830 Data2: 48300
[2026-02-02 17:36:37,119][ INFO][ spilogger.cpp:81 ] Millis: 117238 Sequence: 485 Data1: 4840 Data2: 48400
[2026-02-02 17:36:37,122][ INFO][ spilogger.cpp:81 ] Millis: 117244 Sequence: 486 Data1: 4850 Data2: 48500
[2026-02-02 17:36:37,129][ INFO][ spilogger.cpp:81 ] Millis: 117248 Sequence: 487 Data1: 4860 Data2: 48600
[2026-02-02 17:36:37,133][ INFO][ spilogger.cpp:81 ] Millis: 117254 Sequence: 488 Data1: 4870 Data2: 48700
[2026-02-02 17:36:37,136][ INFO][ spilogger.cpp:81 ] Millis: 117259 Sequence: 489 Data1: 4880 Data2: 48800
[2026-02-02 17:36:37,139][ INFO][ spilogger.cpp:81 ] Millis: 117262 Sequence: 490 Data1: 4890 Data2: 48900
[2026-02-02 17:36:37,144][ INFO][ spilogger.cpp:81 ] Millis: 117265 Sequence: 491 Data1: 4900 Data2: 49000
[2026-02-02 17:36:37,149][ INFO][ spilogger.cpp:81 ] Millis: 117270 Sequence: 492 Data1: 4910 Data2: 49100
[2026-02-02 17:36:37,154][ INFO][ spilogger.cpp:81 ] Millis: 117275 Sequence: 493 Data1: 4920 Data2: 49200
[2026-02-02 17:36:37,159][ INFO][ spilogger.cpp:81 ] Millis: 117280 Sequence: 494 Data1: 4930 Data2: 49300
[2026-02-02 17:36:37,163][ INFO][ spilogger.cpp:81 ] Millis: 117285 Sequence: 495 Data1: 4940 Data2: 49400
[2026-02-02 17:36:37,167][ INFO][ spilogger.cpp:81 ] Millis: 117289 Sequence: 496 Data1: 4950 Data2: 49500
[2026-02-02 17:36:37,173][ INFO][ spilogger.cpp:81 ] Millis: 117293 Sequence: 497 Data1: 4960 Data2: 49600
[2026-02-02 17:36:37,180][ INFO][ spilogger.cpp:81 ] Millis: 117299 Sequence: 498 Data1: 4970 Data2: 49700
[2026-02-02 17:36:37,188][ INFO][ spilogger.cpp:81 ] Millis: 117305 Sequence: 499 Data1: 4980 Data2: 49800
[2026-02-02 17:36:37,194][ INFO][ spilogger.cpp:81 ] Millis: 117313 Sequence: 500 Data1: 4990 Data2: 49900
[2026-02-02 17:36:37,199][ INFO][ spilogger.cpp:81 ] Millis: 117319 Sequence: 501 Data1: 5000 Data2: 50000
[2026-02-02 17:36:37,203][ INFO][ spilogger.cpp:81 ] Millis: 117324 Sequence: 502 Data1: 5010 Data2: 50100
[2026-02-02 17:36:37,205][ INFO][ spilogger.cpp:81 ] Millis: 117328 Sequence: 503 Data1: 5020 Data2: 50200
[2026-02-02 17:36:37,211][ INFO][ spilogger.cpp:81 ] Millis: 117330 Sequence: 504 Data1: 5030 Data2: 50300
[2026-02-02 17:36:37,217][ INFO][ spilogger.cpp:81 ] Millis: 117337 Sequence: 505 Data1: 5040 Data2: 50400
[2026-02-02 17:36:37,223][ INFO][ spilogger.cpp:81 ] Millis: 117342 Sequence: 506 Data1: 5050 Data2: 50500
[2026-02-02 17:36:37,227][ INFO][ spilogger.cpp:81 ] Millis: 117349 Sequence: 507 Data1: 5060 Data2: 50600
[2026-02-02 17:36:37,231][ INFO][ spilogger.cpp:81 ] Millis: 117352 Sequence: 508 Data1: 5070 Data2: 50700
[2026-02-02 17:36:37,235][ INFO][ spilogger.cpp:81 ] Millis: 117356 Sequence: 509 Data1: 5080 Data2: 50800
[2026-02-02 17:36:37,241][ INFO][ spilogger.cpp:81 ] Millis: 117361 Sequence: 510 Data1: 5090 Data2: 50900
[2026-02-02 17:36:37,245][ INFO][ spilogger.cpp:81 ] Millis: 117366 Sequence: 511 Data1: 5100 Data2: 51000
ran it a few times, i get between 250-270 logged lines for 1 second..
if that’s fast enough, then get a UnoQ..
fun stuff.. ~q