Multi-UART Quick Byte Posted: request for feedback
Ken Gracey
Posts: 7,392
Thanks to @Cluso99 and some underlying code from @JonnyMac this has been posted as a Quick Byte.
Comments:
- Do we consider this 8 full-duplex UARTs or 16 Tx/Rx comprising 8 full-duplex UARTs?
- Confirmation needed that it runs on FlexProp
- Any grammatical/factual/functional improvements to the summary
I haven't shared this mainstream, pending some improvements to the presentation.
I'll incorporate feedback from this thread.
Also, moving forward, I will need to keep this up to date. Any changes to the code base should be provided to us so we can replace the zip file.
Thanks,
Ken Gracey
Comments
To compile the demos with flexprop, all occurrences of "_BAUD" must be changed to "BAUD" (or some other named constant)...
Note: I have not yet tested the compiled code.
dgately
Thanks @dgately. You're always very helpful.
I'll wait for somebody with FlexProp to verify this important point. This is our first FlexProp Quick Byte, @ersmith! I'd like to post one from @Roy about running Spin2 objects in the C environment, at some stage. Some examples of that would be really nice to start sharing.
Ken Gracey
Thanks Ken for doing this. I’ll look shortly and report back.
I’m hoping jonnymac will chime in on what he thinks since most of the string and number methods are his. I just added a few and then wrote a new interface to support multiple ports and the pasm driver.
Works on FlexSpin (pnut). I keep getting confused with flexprop and flexspin names. _BAUD works fine so am I missing something?
There will be an update to the code shortly because as I wrote the docs for Ken I realised there were some tweaks to make docs easier and methods more consistent, and backport some docs into the code. But the underlying code change is really minor.
And I did an expanded version that supports the whole 64 pins just for fun. I was only able to test 17 fdx UARTS (34 pin/ports) on my RetroBlade2 as that’s all the pins I could get at to insert shunts between pin pairs (I have the VGA soldered so cannot get to P16-31 which would have given another 8 fdx (16 pin/ports). I tried my P2-EVAL but it didn’t want to work :(
Cluso99, why do you refer to FlexSpin as FlexSpin (pnut)? FlexSpin runs on FlexProp; what does PNut have to do with it? Just asking, as I don't know. Eric changed the name of FlexGUI to FlexProp, which caused some confusion.
Keep me in the loop of code updates.
Thanks, Ken
Ken,
FlexProp is the GUI quite that contains FlexSpin (handles Spin1 or Spin2), FlexC, and FlexBASIC.
I was thinking yesterday about making some Quick Byte submissions for you showing using Jon's drivers from C with FlexProp. I think the christmas tree demo is a bit complex for a quick byte... Do you have any preferences on what drivers you want to show? Should I make one quick byte that does multiple, or one for each?
The FlexSpin (pnut) should have been FlexSpin (and pnut).
I think FlexProp is the whole deal, whereas FlexSpin is just the spin and pasm compiler and the one I mostly use.
Ken, yes I’ll keep you in the loop.
Thanks Roy!
If you titled the Quick Byte "Running Spin2 Objects from FlexProp in C" then your topic is about how to use Spin2 objects in FlexProp, moreso than the actual objects. But they still provide a purpose.
If you titled the Quick Byte "WS2911/12/12B NeoPixel Control in C" then you can go bananas on the RGB LED control fun, which becomes the focus of the QuickByte.
I'd do the first idea, first (how to use a Spin2 object in FlexProp with C) and from there we can really go bananas.
Ken
Ken,
Do I just write up something and send it to you as a submission? Or is there some way for me to make one on the site for you to approve or something?
Hey Roy, easiest to send it my way, for now. In the future, we could turn this into a self-submittal process, but I'm not there yet. I'm like a gatekeeper, though, and I'll try every submittal just to see how it works.
Will be nice to have a Roy Eltham community submittal.
Ken Gracey
Okay, I'll try to get at least one done this weekend and send it your way.