defragster
Senior Member+
Before I did the pinMode function, I used it to create a random generated 100 byte array validated by CRC to slave, and return an array back, of same size and validation, without running remote functions as a test
Results: ?
4MHz 100 bytes -> slave & slave -> master 100 random bytes, CRC both ways, we're at 1270 micros
fire and forget array from master -> slave == 794 micros!
Would be interesting to see what 24 MHz does to those 4 MHz times - 100 byte packet is a good test.
The current code where I was hoping to see improvement takes about 1.5 to 1.7 ms to float format USB output and leaves data pushing out the USB port after that.
If 24 MHz SPI can do a block transfer in 400 to 500 uS - it would be a real gain. As noted 'Master' is now feeding a PC on USB doing plotting. So that could be moved to the Slave USB where the Slave can use all its time to format the output and the Master could afford to double+ the output rate and still have more free time just by using one extra CS wire for SPI over the UART Serial now used for debug.
If the Master code were using DMA for the block transfer it wouldn't even hold up the Master that long. Using DMA may work better on Fire&Forget messages than the ACK messages?