streamer / wrfast / rdfast / fastspin issue
msrobots
Posts: 3,709
Hey @ersmith, here comes another one.
The 'wrapping' version of wrfast / rdfast requires 64 byte boundaries / alignment, or fails.
So we need some 'align64' in addition to 'alignl' aligning to a long dividable by 16 even.
Enjoy!
Mike
The 'wrapping' version of wrfast / rdfast requires 64 byte boundaries / alignment, or fails.
So we need some 'align64' in addition to 'alignl' aligning to a long dividable by 16 even.
Enjoy!
Mike
Comments
All that is needed is ALIGNL. It can wrap on any long boundary which is the start address of 16n longs.
(Just checking in)
Seems to be not true when using the wrapping feature of wrfast/rdfast.
Enjoy!
Mike
64 bytes is the wrapping granularity.
In fact I had a hard time to change it at all, once set.
Reverting to ##0 instead of wrapping did not help either, once I set the streamer with either rdfast or wrfast it seems to be locked there.
My try was to stream out HUB to pins (with a buffer dividable by 64 byte) then switch to another HUB location and stream out the rest, while the receiver COG is continuously reading.
Did not work at all.
This is to simulate communication between two P2's running on one P2 with different COG's one streaming out, one streaming in over the same Pins.
Using the same HUB buffer for both COG's did not work at all, using two HUB buffers, did work but changing rdfast/wrfast failed miserable.
confused,
Mike
I like to embed small crafted diag reporting points inline with the critical code to dig out important diagnostic telemetry. There is always useful places to add such data copying snippets that don't/shouldn't upset the real-time behaviour. And if they do upset things then that's some to be investigated in its own right.
It might involve building a dedicated logging buffer or just a simple use-a-smartpin-as-a-mailbox.