Shop OBEX P1 Docs P2 Docs Learn Events
Which do you prefer, SD-MMC_FATEngine or fsrw2.6? — Parallax Forums

Which do you prefer, SD-MMC_FATEngine or fsrw2.6?

dbpagedbpage Posts: 217
edited 2015-01-21 07:35 in Propeller 1
Which should I use? Which has fewer bugs? Which is faster?

I am upgrading propeller 1 code that currently supports only FAT16 and the application needs FAT32. My propeller is a running 100MHz and it writes text data to multiple files on class 10 microSD cards.

I have experience with fsrw2.6 on my fountain project. I recently noticed SD-MMC_FATEngine on the forum. Various comments and questions about clock speed, read/write speed, bugs and code size have left me confused.

Which do you prefer?

Comments

  • KyeKye Posts: 2,200
    edited 2015-01-18 12:16
    FSRW is better if you just need the raw speed - it's the fastest by far. If you need directory support then SD-MMC_FATEngine is the way to go. I designed the SD-MMC_FATEngine to be more feature complete than the FSRW versus being smaller and faster like FSRW.
  • dbpagedbpage Posts: 217
    edited 2015-01-19 05:37
    Thank you, Kye.

    What would it take to make SD-MMC_FATEngine as fast as fsrw2.6?
  • Oldbitcollector (Jeff)Oldbitcollector (Jeff) Posts: 8,091
    edited 2015-01-19 08:54
    Slightly off topic...

    Is there a way we might have our cake and eat it too?

    Kye, is there a way we could strip SD-MMC_FATEngine so that it supported the larger cards without the extras of directory support and time/date, etc for sake of Propeller memory?

    Jeff
  • KyeKye Posts: 2,200
    edited 2015-01-19 19:15
    @dbpage - It's possible to do so... I may have posted some Frankenstein code on the forums a few years back that was a mix. You'll need to search to find it. I believe it's posted in one of my large threads about the driver.

    However, my block driver is far more conservative than the FSRW driver. I think this allow me to support more cards... but, I've heard that from other folks. I don't know if its true. Anyway, my goal was to just make a robust driver while FSRW was focused on speed and small code size. Lonesock did an excellent job on the block driver to get it to go so fast.

    @Oldbitcollector (Jeff) - Just comment out upper level functions that you don't need. Most PUBs don't depend on each other. You can also remove some of the PRIs too. Just keep removing until it doesn't compile anymore.
  • AribaAriba Posts: 2,690
    edited 2015-01-20 17:37
    Slightly off topic...

    Is there a way we might have our cake and eat it too?

    Kye, is there a way we could strip SD-MMC_FATEngine so that it supported the larger cards without the extras of directory support and time/date, etc for sake of Propeller memory?

    Jeff

    Why do you think that FSRW 2.6 can not handle larger cards? It supports FAT32 and SDHC cards. And it is also much faster with SDHC cards because it uses multiblock mode.

    Andy
  • dbpagedbpage Posts: 217
    edited 2015-01-20 18:19
    More cards, not larger cards.
  • Dave HeinDave Hein Posts: 6,347
    edited 2015-01-21 07:35
    I've never had a problem with any SD or SDHC cards with FSRW. Which cards doesn't handle? I also prefer the shorter method names used in FSRW. I've never been a fan of long routine names, but that's just my preference.
Sign In or Register to comment.