Project: SPI_MSTransfer

ok ill add a toggle method for you tomorrow, the slave will do the read/write on its end

obj.toggle(pin)

No read write involved! - you can special case LED_BUILTIN perhaps that uses one memory set and DONE: GPIOC_PTOR=32;

Indeed others on other ports need to be properly MAPPED to port and bit.
 
wont writing a static value to the register affect other pins?

It seems PTOR - pin toggle register - just toggles any bit set?

I used this in my code all the time for LED BLINK:: #define qBlink() {GPIOC_PTOR=32;} // BLINK LED_BUILTIN Pin 13
 
the hardware ports still work without the calllback, so far callback is only for transfer16’s, maybe future something more
 
no it doesnt hurt, if u want ill put it in the callback and not begin

Leave it in .begin() - that is normal and makes sense.

Note I'm still seeing batches of RESENT go by and things like this:
returned value micros() _time==56
returned value micros() _time==57
returned value micros() _time==99995
returned value micros() _time==58
returned value micros() _time==57
returned value micros() _time==99995
returned value micros() _time==59
returned value micros() _time==57
returned value micros() _time==99995
returned value micros() _time==56
DEBUG: [SLAVE CS 15] [INFO] PACKET AUTO RESENT
returned value micros() _time==57
returned value micros() _time==57

returned value micros() _time==58
returned value micros() _time==58
returned value micros() _time==56
DEBUG: [SLAVE CS 15] [INFO] PACKET AUTO RESENT
returned value micros() _time==58
returned value micros() _time==58
returned value micros() _time==57
DEBUG: [SLAVE CS 15] [INFO] PACKET AUTO RESENT
returned value micros() _time==57
DEBUG: [SLAVE CS 15] [INFO] PACKET AUTO RESENT
returned value micros() _time==56
DEBUG: [SLAVE CS 15] [INFO] PACKET AUTO RESENT
returned value micros() _time==57
DEBUG: [SLAVE CS 15] [INFO] PACKET AUTO RESENT
returned value micros() _time==57
DEBUG: [SLAVE CS 15] [INFO] PACKET AUTO RESENT
returned value micros() _time==57
DEBUG: [SLAVE CS 15] [INFO] PACKET AUTO RESENT
returned value micros() _time==57
returned value micros() _time==57
DEBUG: [SLAVE CS 15] [INFO] PACKET AUTO RESENT
returned value micros() _time==57
DEBUG: [SLAVE CS 15] [INFO] PACKET AUTO RESENT
returned value micros() _time==57
returned value micros() _time==57
 
Code:
eturned value micros() _time==53

BLINKS -------------------

returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==54
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
PacketID: 1450
Length: 20
B2 81 C0 A3 51 16 13 F1 A1 6D F5 55 BC A1 6A 2C DE E8 1F 48 
returned value micros() _time==54
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==54
returned value micros() _time==54
returned value micros() _time==54
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==54
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==57
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==54
PacketID: 12904
Length: 20
50 5B EF E1 9C F0 18 E1 77 E5 77 60 5B E9 8F 6A 62 EE 85 78 
returned value micros() _time==54
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==54
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==54
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==54
returned value micros() _time==54
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==54
returned value micros() _time==53
returned value micros() _time==54
returned value micros() _time==53
PacketID: 62768
Length: 20
73 69 E9 F3 C4 51 F6 97 61 33 24 55 CC 93 1D 55 68 50 A5 BD 
returned value micros() _time==53
returned value micros() _time==54
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==54
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==56
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==54
PacketID: 61494
Length: 20
C0 B7 D9 22 94 3F 2D A0 61 50 E5 77 44 EC 52 35 16 CE 96 A8 
returned value micros() _time==54
returned value micros() _time==54
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53

BLINKS -------------------

returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==54
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==54
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
PacketID: 14313
Length: 20
36 E6 C4 7F 76 45 CE F2 AF 5E 1C D7 EA DA FA D6 44 80 98 95 
returned value micros() _time==54
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==54
returned value micros() _time==54
returned value micros() _time==53
returned value micros() _time==56
returned value micros() _time==54
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==54
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==54
PacketID: 13731
Length: 20
28 28 3D F9 FA E2 3D 7D B2 8E 8A AB 2C BC EA 28 C1 3A CC 9F 
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==54
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
PacketID: 65011
Length: 20
80 CB D5 4A BB CB D9 F5 9F 49 16 6B 5E 12 E8 7F E5 68 A2 DB 
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==54
returned value micros() _time==53
returned value micros() _time==55
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==54
returned value micros() _time==54
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==54
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
PacketID: 52654
Length: 20
F0 4B DE 1D 38 39 50 18 C6 26 74 26 58 43 C4 73 94 53 4A 35 
returned value micros() _time==54
returned value micros() _time==54
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53

BLINKS -------------------

returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==56
PacketID: 13351
Length: 20
40 CE AE 2E 7B 94 95 90 78 F2 90 E6 CA 23 A2 A9 69 F5 39 F6 
returned value micros() _time==54
returned value micros() _time==54
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==54
returned value micros() _time==53
returned value micros() _time==54
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==54
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==55
PacketID: 19434
Length: 20
AD F5 65 20 4B 62 D6 26 D9 F5 70 DF 40 2B 6C 3D F0 C3 A4 CE 
returned value micros() _time==54
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==54
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==54
returned value micros() _time==56
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
PacketID: 11266
Length: 20
D3 A3 A1 8D 55 E4 50 C9 A2 74 A1 39 31 AB C2 F7 BE D6 EE B9 
returned value micros() _time==54
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==54
returned value micros() _time==54
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
PacketID: 24606
Length: 20
B8 6A 63 D2 BF B6 9E EA 5B 8C 86 E7 D7 5A 21 12 B0 8B C2 6F 
returned value micros() _time==54
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53

BLINKS -------------------

returned value micros() _time==53
returned value micros() _time==57
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==54
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==54
PacketID: 19100
Length: 20
84 A7 B3 B4 B3 C4 F6 C7 BD CC 21 F9 22 18 51 85 6B E6 5F 2B 
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==54
returned value micros() _time==53
returned value micros() _time==54
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==54
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==54
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==54
returned value micros() _time==53
returned value micros() _time==53
PacketID: 15944
Length: 20
31 41 48 FE 2C AD 7F 9F 5C 30 25 E8 63 C0 AD 15 70 9C 86 78 
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==55
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
PacketID: 25771
Length: 20
1D A8 19 68 D4 34 E5 2A 98 DF E0 37 A7 DE E5 D0 D9 D8 26 5B 
returned value micros() _time==54
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==54
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==54
returned value micros() _time==54
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==54
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
PacketID: 35975
Length: 20
67 77 42 37 B8 77 6B D4 CA 4D 6E 7A B6 5A EE AA E5 98 BA BE 
returned value micros() _time==53
returned value micros() _time==56
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53

BLINKS -------------------

returned value micros() _time==53
returned value micros() _time==54
returned value micros() _time==53
returned value micros() _time==54
returned value micros() _time==54
returned value micros() _time==54
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==55
PacketID: 19467
Length: 20
F2 89 D4 21 97 94 8B 16 6B 16 F9 9F 5A 14 FE DC EB EA 78 EA 
returned value micros() _time==54
returned value micros() _time==54
returned value micros() _time==54
returned value micros() _time==54
returned value micros() _time==53
returned value micros() _time==54
returned value micros() _time==53
returned value micros() _time==54
returned value micros() _time==54
returned value micros() _time==54
returned value micros() _time==54
returned value micros() _time==54
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==54
returned value micros() _time==54
returned value micros() _time==54
returned value micros() _time==54
returned value micros() _time==54
returned value micros() _time==54
returned value micros() _time==54
returned value micros() _time==56
returned value micros() _time==54
returned value micros() _time==54
PacketID: 65046
Length: 20
DC 7F E8 47 C7 74 3D 34 BA 65 76 6B 72 2D A9 5A 21 CD F3 1D 
returned value micros() _time==54
returned value micros() _time==54
returned value micros() _time==53
returned value micros() _time==54
returned value micros() _time==54
returned value micros() _time==54
returned value micros() _time==54
returned value micros() _time==53
returned value micros() _time==54
returned value micros() _time==54
returned value micros() _time==53
returned value micros() _time==54
returned value micros() _time==53
returned value micros() _time==54
returned value micros() _time==53
returned value micros() _time==54
returned value micros() _time==54
returned value micros() _time==53
returned value micros() _time==54
returned value micros() _time==54
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
PacketID: 61850
Length: 20
69 B3 D7 B6 9B A2 9F 7F 22 15 CA 22 49 6E FE F8 2C 3D B2 2B 
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==54
returned value micros() _time==53
returned value micros() _time==54
returned value micros() _time==53
returned value micros() _time==54
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==54
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==57
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==54
returned value micros() _time==54
PacketID: 4081
Length: 20
8E 2C 5C 67 4C 19 13 97 2F AE E2 89 F4 66 61 1D 51 66 5A AB 
returned value micros() _time==53
returned value micros() _time==54
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==54
returned value micros() _time==53
returned value micros() _time==53

BLINKS -------------------

returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==54
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
PacketID: 35327
Length: 20
9C 85 4B F6 F8 BD 9F 5B F6 2E 7C A0 E6 66 BF A7 A0 AD D8 59 
returned value micros() _time==54
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==54
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==55
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==54
returned value micros() _time==53
PacketID: 28870
Length: 20
35 CB 3A 66 83 9D BF BD A4 3B B9 F8 9A B5 6A 6B FA 8E 4F 3E 
returned value micros() _time==53
returned value micros() _time==54
returned value micros() _time==54
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
PacketID: 49357
Length: 20
6D 6C AC DF 40 C8 E1 70 1C AA 35 6E 9A 6D 9E C6 D8 39 40 32 
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==56
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==54
returned value micros() _time==53
returned value micros() _time==54
returned value micros() _time==53
returned value micros() _time==54
returned value micros() _time==54
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==55
PacketID: 46553
Length: 20
4D 4B 65 B7 1D 3F 67 49 DD AE 41 3A EF CB 94 C8 C2 DE 18 B5 
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==54
returned value micros() _time==53
returned value micros() _time==53

BLINKS -------------------

returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==54
returned value micros() _time==53
returned value micros() _time==53
PacketID: 35331
Length: 20
28 58 A4 ED 16 52 3F 52 B0 A3 79 D4 13 A8 45 58 21 7C C0 CD 
returned value micros() _time==54
returned value micros() _time==56
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==54
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==54
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
PacketID: 41853
Length: 20
2E 8E 2F E3 41 E0 71 66 B4 7B 73 CC 73 8E 1A 5C 9F FE 82 94 
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==54
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==54
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==54
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==57
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==54
PacketID: 48290
Length: 20
79 7F 11 8A B0 74 A2 6E 1A 1F A6 EC 7B D2 5C 2D 64 1F E9 93 
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==54
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
PacketID: 14553
Length: 20
D5 3E F2 E3 2D 50 50 73 E6 DA 8C 2E E5 3F D2 6A AF 9C D6 CD 
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==54
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==54
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53

BLINKS -------------------

returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==55
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==54
returned value micros() _time==53
returned value micros() _time==54
returned value micros() _time==53
returned value micros() _time==53
PacketID: 9176
Length: 20
4B 27 9E AF 8F FE F6 86 69 71 DA 71 3C AE 3D A9 6E B5 E0 59 
returned value micros() _time==53
returned value micros() _time==54
returned value micros() _time==53
returned value micros() _time==54
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==54
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==54
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==54
returned value micros() _time==53
PacketID: 29845
Length: 20
2C C5 FA 59 23 E7 82 F9 7F C7 BB 6F 59 D6 A2 A6 89 EE AD 99 
returned value micros() _time==54
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==56
returned value micros() _time==54
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==54
returned value micros() _time==54
PacketID: 63466
Length: 20
F1 FA 5D CA 4B EE 9D DE F5 7C 69 A0 AE E5 31 48 56 DD BF D2 
returned value micros() _time==54
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==99969
returned value micros() _time==53
DEBUG: [SLAVE CS 43] [INFO] PACKET AUTO RESENT
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==54
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==54
returned value micros() _time==54
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==54
PacketID: 17473
Length: 20
82 5A 27 D7 64 DD C8 A2 6F D8 17 AA 6D 4E 6C 20 1B 3C 5D 42 
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==54
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==55
returned value micros() _time==54
returned value micros() _time==54

BLINKS -------------------

returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==54
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==54
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
PacketID: 25597
Length: 20
18 E1 56 B6 3C 9D 47 C8 C5 13 9B C8 65 76 6A 67 4C C8 3C 24 
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==54
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==54
returned value micros() _time==54
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==54
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==54
returned value micros() _time==53
returned value micros() _time==53
PacketID: 11926
Length: 20
ED 44 AB 51 D3 BA 67 EC B5 14 5E C0 5A DD 45 85 C4 27 77 18 
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==57
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==54
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==54
PacketID: 7289
Length: 20
25 C6 CB FE 41 63 E3 5E BA 86 37 13 B0 9E 52 86 2C DC F2 6F 
returned value micros() _time==54
returned value micros() _time==54
returned value micros() _time==54
returned value micros() _time==53
returned value micros() _time==54
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==54
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==55
returned value micros() _time==54
returned value micros() _time==53
PacketID: 12590
Length: 20
74 F6 45 E6 B8 F0 BF 1D 52 63 86 76 38 64 89 AA A3 B4 A7 37 
returned value micros() _time==54
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53

BLINKS -------------------

returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==54
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==54
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
PacketID: 37965
Length: 20
2E 19 A4 B0 33 44 72 86 37 43 68 A4 FB 1D 69 EE D5 1B 62 BF 
returned value micros() _time==54
returned value micros() _time==53
returned value micros() _time==54
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==54
returned value micros() _time==56
returned value micros() _time==54
returned value micros() _time==54
returned value micros() _time==54
returned value micros() _time==54
returned value micros() _time==54
returned value micros() _time==55
returned value micros() _time==55
PacketID: 19498
Length: 20
E2 1C 3B 87 DD 6A E9 D7 70 4B 21 BE C9 2B 4C C9 78 82 68 1F 
returned value micros() _time==54
returned value micros() _time==54
returned value micros() _time==54
returned value micros() _time==54
returned value micros() _time==54
returned value micros() _time==54
returned value micros() _time==54
returned value micros() _time==54
returned value micros() _time==54
returned value micros() _time==54
returned value micros() _time==54
returned value micros() _time==54
returned value micros() _time==54
returned value micros() _time==54
returned value micros() _time==53
DEBUG: [SLAVE CS 43] [INFO] PACKET AUTO RESENT
returned value micros() _time==53
returned value micros() _time==53
DEBUG: [SLAVE CS 43] [INFO] PACKET AUTO RESENT
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
PacketID: 58866
Length: 20
70 CB 3A C9 8B 8E FB DA FC D0 F6 32 B6 D1 C7 ED E5 30 8F E5 
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==54
returned value micros() _time==53
returned value micros() _time==56
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==54
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==54
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==54
returned value micros() _time==53
returned value micros() _time==54
PacketID: 51288
Length: 20
E4 26 92 5B 97 4E 1F 4E 3B 4F 6C B2 16 73 1D AC 56 1F E0 13 
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==54
returned value micros() _time==54
returned value micros() _time==54
returned value micros() _time==54
returned value micros() _time==53
returned value micros() _time==54
returned value micros() _time==54
returned value micros() _time==55

BLINKS -------------------

returned value micros() _time==53
returned value micros() _time==54
returned value micros() _time==54
returned value micros() _time==54
returned value micros() _time==53
returned value micros() _time==54
returned value micros() _time==54
returned value micros() _time==54
returned value micros() _time==53
DEBUG: [SLAVE CS 43] [INFO] PACKET AUTO RESENT
returned value micros() _time==54
returned value micros() _time==54
DEBUG: [SLAVE CS 43] [INFO] PACKET AUTO RESENT
returned value micros() _time==54
returned value micros() _time==53
PacketID: 50281
Length: 20
E8 DA F3 F8 E3 74 3C C8 99 86 75 65 C7 C1 9E B9 22 CD B3 E0 
returned value micros() _time==54
returned value micros() _time==54
returned value micros() _time==53
returned value micros() _time==54
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==57
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==54
returned value micros() _time==54
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==54
returned value micros() _time==54
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==55
PacketID: 15928
Length: 20
A3 6E 38 EB 4B 3B 88 CE 80 2F CF 15 FC EA A6 2D F0 E6 61 FC 
returned value micros() _time==53
returned value micros() _time==54
returned value micros() _time==53
return
 
Got it - still seeing these - CS 15 doesn't tell me much :(
returned value micros() _time==53
DEBUG: [SLAVE CS 15] [INFO] PACKET AUTO RESENT
returned value micros() _time==53
DEBUG: [SLAVE CS 15] [INFO] PACKET AUTO RESENT
returned value micros() _time==52
DEBUG: [SLAVE CS 15] [INFO] PACKET AUTO RESENT
returned value micros() _time==55
returned value micros() _time==55
returned value micros() _time==55
returned value micros() _time==53
DEBUG: [SLAVE CS 15] [INFO] PACKET AUTO RESENT
returned value micros() _time==53
DEBUG: [SLAVE CS 15] [INFO] PACKET AUTO RESENT
returned value micros() _time==53
DEBUG: [SLAVE CS 15] [INFO] PACKET AUTO RESENT
returned value micros() _time==53
returned value micros() _time==53
returned value micros() _time==52
DEBUG: [SLAVE CS 15] [INFO] PACKET AUTO RESENT
returned value micros() _time==53
DEBUG: [SLAVE CS 15] [INFO] PACKET AUTO RESENT
returned value micros() _time==59

<edit>: with SPI_MSTransfer 0_0_12B.zip :: That was T_3.5@120 and T_3.6@180 :: Bumped T_3.5 to 168 - still RESENT then T_3.6 and still the same RESENT pattern.
Not sure it is critical as it resolves in 1 RESENT - just odd something triggers it.
 
Last edited:
Just to add for the T3.5. Previously I was testing with the T3.5's oc'd to 168Mhz and there was no problem with v11 or even 12 using the INS sketch in the other thread. By accident (in others words I forgot to change back to 168) I reloaded the INS sketch at 120 Mhz and started to receive a ton of auto resent messages. Went back and tested both v11 and v12 at 12 at 120Mhz and both had issues with auto resents at that speed. Changing back to 168Mhz, v11 and v12 both worked with auto resents or loss of data.
 
I ran both at 72 HZ - dropping SPI to 18 MHz? :: Errors distributed about the same - no worse.

Pushed the Slave up to 168 - won't change the SPI speed Master still 72 Hz - just the Slaves response time and :: Errors distributed about the same - no worse.

Errors are far enough between - sometimes only one - then sometimes a group with success between.

Any chance the problem is the Dynamic Memory Allocation and Collection underlying the use of the cpp facilities?
 
im not sure, and as far as the vector deque it allocates a chunk of space and only expands when needed, and since the queue never gets big enough the container should stay same size

the issue lies more at the beginning that im still working out i guess, its where it calculates the crc, perhaps, its too slow on that calculation before responding ack, or resend timeout too low? currently 50uS..the issue with the resend is somewhere between the ISR opening and hitting the first block of the processing function

the spi data buffer is volatile and statically allocated at 1024 dWords
 
Last edited:
dont forget theres 2 scopes when the isr fires, the data buffer is volatile and statically allocated in the MST scope, previously i had it static within the ISR scope, dunno if that makes a difference if the scope of the ISR has an issue accessing the scope of MST, ill check on that later
 
I was not sure either - just thought of it again and remembered to throw it out.

I'd want to think something wasn't initialized or used right - except it can complete so many cycles without issue, always corrects after a single resend - often the resend comes in groups with one or a couple just fine in between.

The groups got larger when I added the data[0-4] prints as debug on Master retry.

Can you say if the Slave is having any trouble getting the data - or just the ACK back to the Master with confirmed CRC is the trouble? Is that from the Slave missing a single clock of data? That why I tried giving the Slave 168 MHz and the Master 72 MHz to see if errors went away - and they did not seem to change.

In this sample Master/Slave I could verify the indexing of the test numbers and make sure they are always sequential until reset to zero, just have to fix that to work with true master. But I don't see signs of missed F&F messages so the error would be Slave Tx or Master Rx on those that cause RESENT?

I just enabled slave.debug - but disabled [ with ( 0 && ...) ] the per message dump, so it only shows on bad CRC. Which never fires. I suppose that excludes CRC check on F&F?
Code:
  if ( 0 && debugSerial != nullptr ) {
    Serial.print("DEBUG: [DATA] ");
    for ( uint16_t i = 0; i < len; i++ ) {
      Serial.print(data[i], HEX); Serial.print(" ");
    } Serial.println(); Serial.flush();
  }

And the above code - and the CRC debug should be like this right? Using 'debugSerial->' not 'Serial.':
Code:
  if ( debugSerial != nullptr ) {
    debugSerial->print("DEBUG: [DATA] ");
    for ( uint16_t i = 0; i < len; i++ ) {
      debugSerial->print(data[i], HEX); debugSerial->print(" ");
    } debugSerial->println(); debugSerial->flush();
  }

About "the spi data buffer is volatile and statically allocated at 1024 dWords "
I see:
>> FIRST: "volatile static uint16_t spi_data[DATA_BUFFER_MAX]; " :: the SPI_MST class in .h
>> SECOND: "uint16_t spi_data[DATA_BUFFER_MAX];" :: ~line 20 in .cpp

The compiler tells me it is using the SECOND as it fails without that, but succeeds without the FIRST.
That also says " spi_data " is not being treated as volatile - when I added that many references were compile errors.

-- The sketch has one context and flat memory space - so a valid pointer will just work for anyone in 'file' scope.

Perhaps spi_data not being Volatile the Compiler is getting tripped up with 'read ahead' when the data is changed by interrupt before use and the old value is used?
 
Back
Top