FullDuplex in Assembly
Hello all,
I am trying to revamp an older spin code that uses FullDuplexSerial for data acquisition. The program works fine, but needs to be much faster to keep up with data collection. Some of the old code has been converted to Assembly just fine, yet conversion of FullDuplexSerial has presented some major problems. Is there a version of FullDuplexSerial that is all or mostly assembly? I use the "start," "tx," "dec," and "newline" portions of FullDuplex. Sorry if this is a blatant question, I've spent quite a bit of time trying to find the answer in the forums already.
In case it wasn't obvious so far, I'm a newbie to Propeller and any information or direction would be incredibly helpful.
Thank you for your time,
AP
I am trying to revamp an older spin code that uses FullDuplexSerial for data acquisition. The program works fine, but needs to be much faster to keep up with data collection. Some of the old code has been converted to Assembly just fine, yet conversion of FullDuplexSerial has presented some major problems. Is there a version of FullDuplexSerial that is all or mostly assembly? I use the "start," "tx," "dec," and "newline" portions of FullDuplex. Sorry if this is a blatant question, I've spent quite a bit of time trying to find the answer in the forums already.
In case it wasn't obvious so far, I'm a newbie to Propeller and any information or direction would be incredibly helpful.
Thank you for your time,
AP
Comments
Fixed table formatting.
Post Edited (jazzed) : 10/26/2009 5:11:36 PM GMT
Try FullDuplexSerial_rr004.spin posted in the TriBlade thread. It is in the ZiCog code _rr126 near the end of the posts. See link to TriBlade in my signature below. I have modified FDX to make the buffersize a constant, so change the constant to a larger size, say 256 bytes.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Links to other interesting threads:
· Home of the MultiBladeProps: TriBlade,·RamBlade,·SixBlade, website
· Single Board Computer:·3 Propeller ICs·and a·TriBladeProp board (ZiCog Z80 Emulator)
· Prop Tools under Development or Completed (Index)
· Emulators: CPUs Z80 etc; Micros Altair etc;· Terminals·VT100 etc; (Index) ZiCog (Z80) , MoCog (6809)
· Search the Propeller forums·(uses advanced Google search)
My cruising website is: ·www.bluemagic.biz·· MultiBladeProp is: www.bluemagic.biz/cluso.htm
Thanks for the replies. I looked into my code a little more and you all are indeed right: my slowest portion is due to spin upper level code. I'm going to convert my program and the necessary parts of FDS to PASM code (halfway there!). I'll post the program if anything good comes of it.
On a related note: has anyone heard of a carriage return (or equivalent) in PASM?
- AP
As always, any help is appreciated. Thanks - AP
Basically, all you need to do it to slightly modify the tx and rx routines so that it is simplex (one way at a time). Then, MOV txdata, t1 (replace t1 with your value) and CALL #transmit. The linked code does it a bunch, most notably during initialization. This assumes that you are not using the buffer.
Serch the obex for JDCogSerial (supports standard baud rates up to 230400; cog resident fifo).
Also KYE IIRC have made some serial engines with cog resident fifo
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
· Propeller Object Exchange (last Publications / Updates);·· Vaati's custom search
Hardware flow control would help a LOT.
It's too bad the parallax protoboards/demo boards don't use use the SOIC version of the FT232r. You could just jumper the connections but instead it's the tiny QFN version so you need to roll your own board.
I'm using an FT245r for my next project and hope to get the full 12mbps but it's a parallel bus.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Links to other interesting threads:
· Home of the MultiBladeProps: TriBlade,·RamBlade,·SixBlade, website
· Single Board Computer:·3 Propeller ICs·and a·TriBladeProp board (ZiCog Z80 Emulator)
· Prop Tools under Development or Completed (Index)
· Emulators: CPUs Z80 etc; Micros Altair etc;· Terminals·VT100 etc; (Index) ZiCog (Z80) , MoCog (6809)
· Search the Propeller forums·(uses advanced Google search)
My cruising website is: ·www.bluemagic.biz·· MultiBladeProp is: www.bluemagic.biz/cluso.htm