Shop OBEX P1 Docs P2 Docs Learn Events
FullDuplexParallel object for the FTDI 245 — Parallax Forums

FullDuplexParallel object for the FTDI 245

ke4pjwke4pjw Posts: 1,173
edited 2010-07-21 05:09 in Propeller 1
I have published my FullDuplexParallel object for the FTDI 245 in the obex. It allows for high performance I/O with PCs. I have been able to achieve throughput many times faster than the "prop plug" using this object and the FTDI UM245. Please contact me if any bugs or errors are found.

Regards,
Terry

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
-- Terry

Comments

  • mparkmpark Posts: 1,305
    edited 2010-07-20 14:31
    I know nothing about the 245, but I think there's a problem with your test code. Shouldn't you pass the address of str?
       Debug.str(String("What hath FTDI wrought?", Debug#CR))
       Debug.getstr(@str) '<<<< added @
       Debug.str(String("Yes, they hath wrought '"))
       Debug.str(@str) '<<<< added @
    
    



    Also, "hath" is singular.
  • heaterheater Posts: 3,370
    edited 2010-07-20 15:06
    mpark: What's up? "hath" is 3rd person singular and "FTDI" is "Future Technology Devices International Ltd" which as, limited liability company, is also singular.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    For me, the past is not over yet.
  • KyeKye Posts: 2,200
    edited 2010-07-20 15:07
    Mmm, what are the speed on that? Doesn't say in your code.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Nyamekye,
  • ke4pjwke4pjw Posts: 1,173
    edited 2010-07-20 15:56
    pmark: I apologize for my bad grammar. [noparse]:)[/noparse] I believe you are correct, it should be pointing to the address of the "str" array. I will update that this evening.

    Kye: I have not performed any edge testing, but I was able to boost the performance of one of my projects. When using the serial interface (prop plug) I was able to achieve 512 kbps throughput reliably by modifying the FIFO size, re-writing my application in PASM, and having it read directly from the FDSPO FIFO. For this particular application, that was not quite enough performance. With the FTDI UM245 and the FullDuplexParallel Object, I can set my virtual serial port speed to 3,000 kbps and not have any "byte" framing errors occur while sending data to the prop. I am unsure what the actual throughput limit is, but I was able to send 100 Kilo*Bytes* Per Second (1 Mbps) to my project without issue. I estimate that it can transmit a Byte about every 1.5 microseconds and read a Byte somewhat faster than that. That's somewhere around 7Mbps and would require use of the FTDI D2XX driver. Also, I don't think spin could read or write that fast using the methods provided in this object, but direct reading/writing into the FDPO FIFO via PASM could.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    -- Terry
  • mparkmpark Posts: 1,305
    edited 2010-07-20 18:14
    heater said...
    mpark: What's up? "hath" is 3rd person singular and "FTDI" is "Future Technology Devices International Ltd" which as, limited liability company, is also singular.

    I was referring to the "they hath wrought" part.
  • heaterheater Posts: 3,370
    edited 2010-07-20 18:33
    mpark: Oh yeah, I stopped reading after the "What hath FTDI wrought?". Oops...

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    For me, the past is not over yet.
  • ke4pjwke4pjw Posts: 1,173
    edited 2010-07-21 05:09
    I have made corrections to the FDPO and updated it in the Object Exchange.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    -- Terry
Sign In or Register to comment.