uMMC Firmware Beta Release

We've got a new firmware to test out. Please feel free to try it out.

uMMC Firmware Beta 102-08-b004

If you have any questions, send an email to support @ roguerobotics.com

Documentation can be found here:

http://www.roguerobotics.com/wikidocs/

Features
========

FAT12, FAT16, FAT32:
 - All FAT formats are supported (that means cards from 1MB up to 8TB - yes 8TB -
   268,435,445 clusters max @ 32KB/cluster - once we support SDXC,
   we can address up to 2TB of space)

MMC, SDC, and SDHC:
 - We now support SDHC cards.  That means you can use your 32GB SDHC card in your project.
   (SDHC maximum card size is 32GB)

microSD and miniSD support (with adapters)

RTC:
 - RTC built-in.  Requires setting after start.
 - File times are updated with current time.

Configuration on card:
 - Settings stored in /UMMC.CFG are read in on start.
 - One setting per line.
   e.g. D5
        R5
        L1

Random writes:
 - You can write to any location in a file.

New open mode - "RW" mode:
 - Files can now be opened in RW mode, so you can read, as well as write data.

File attributes:
 - File attributes can be set/cleared.

File seek:
 - Used for jumping around in a file for reading or writing.
 - You can use the file seek (jump) to pre-allocate files for quicker writing.

File truncation:
 - Used to truncate a file.

File listing (two modes):
 - 1) original format (e.g. [D|num] name)
 - 2) new format with dates/attributes

Change file timestamp:
 - Set file timestamps to anything you want.

Readline command:
 - Read from a file, one line at a time.

Writeline command:
 - Write until end of line.
 - Configurable terminator: just CR, just LF, or CR/LF.

File copy:
 - Copy data from one file to another directly.
 - Configurable copy progress status.

=====


COMMAND LIST (* = new, ! = updated/new features)
=====
*A - set attributes        "A +|- A|H|R|S path"
*B - copy file             "B fh1 fh2 [num]"
C - close file             "C fh"
*D - change timestamp      "D year month day hour min sec path"
E - erase file/directory   "E path"
F - free file              "F"
I - file info              "I fh"
*J - file jump/seek        "J fh addr|E" (E = end)
!K - CSD/CID               "K [B|I]" (new: "I" - gets more info from card)
L - list file/directory    "L [path]"
M - make directory         "M path"
*N - rename file/directory "N path|newpath"
!O - open file             "O fh r|w|a|rw path" (new: "rw" mode)
!Q - query volume          "Q [A]" (new: "A" - lists FS type)
R - read file              "R fh [num] [addr]"
*RL - read line            "RL fh [num] [addr]" (see "E" setting for EOL handling)
S - settings               "S setting [value]"
*T - get/set time          "T [yr [m [d [h [m [s]]]]]]"
*U - truncate at position  "U fh"
V - version                "V"
W - write file             "W fh [num]"
*WL - write line           "WL fh" (check "E" setting for end of line handling)
!Z - card/file status      "Z [fh]" (new: "Z fh" - OK or EOF)
=====


SETTINGS LIST (* = new) [] = default
=====
D/0 - baud/bit rate [0]
  - 0 = 9600
  - 1 = 19200
  - 2 = 38400
  - 3 = 57600
  - 4 = 115200
  - 5 = 2400
  - 6 = 4800
  - *7 = 230400
  - *8 = 460800
T/1 - write timeout (in 10ms increments) [0]
*P - prompt character [62 (= '>')]
*L - directory listing style [0]
  - 0 = old style
  - 1 = new style (attributes, timestamp, size, name)
*R - response delay (in 10 ms increments) [0]
*C - copy progress style [0]
   - 0 = none
   - 1 = progress hash every 2048 bytes
   - 2 = total bytes copied & copy rate
   - 3 = progress hash & bytes&rate
*E - R/W Line Terminator [0]
   - 0 = CR
   - 1 = LF
   - 2 = CRLF
=====
Changes:

b001 - b002
 - buffer size change
 - changed from 2 to 4 handles
 - write command fixed
 - additional bit rates added

b002 - b003
 - file system optimizations
 - command queue optimizations

b003 - b004
 - added wildcard file listing
 - added file listing count
 - added file listing open/iterator
 - fixed card ejection file closing - weren't properly being closed
 - minor speed up in card SPI