2012-06-12 sd-reader * fix capacity readout from csd register depending on format version * fix gcc strict-aliasing warnings (also somewhat enlarges code size) 2011-04-23 sd-reader * fix FAT access for cluster numbers beyond 2^15 (for FAT16) and 2^30 (for FAT32) (thanks to Darwin Engwer for testing) * correctly return disk-full condition from fat_write_file() on certain conditions * use byteorder memory access functions for fat_fs_get_free() * be more specific on the return value of fat_write_file() 2011-02-05 sd-reader * implement renaming a file or directory * rewrite byteorder handling to fix unaligned memory accesses on 32-bit and probably 16-bit architectures * make fat_create_file() not return failure if the file already exists * make the "cat" output respect the count of bytes actually read * document how to use fat_seek_file() for retrieving the file position 2010-10-10 sd-reader * Fix equal file names when reading two successive 8.3 directory entries. * Fix calculation of cluster positions beyond 4GB (32 bit integer overflow). * Fix endless looping of directory listing (occured with valid entry at end of last cluster). 2010-01-10 sd-reader * Make LFN support configurable. * Ignore LFN directory entries without 8.3 name. * Ignore LFN directory entries which do not match the 8.3 name's checksum. * Implement delayed directory entry updates (disabled by default) (thanks to Adam Mayer). * Speedup search for free cluster. * Fix memory leak when using the "init" command (thanks to Tibor Vilhan). * Fix ATmega328P-specific pin mappings. * Add some of the picoPower MCU variants. 2009-03-30 sd-reader * Make 8.3 basename and/or extension lowercase when told by Windows NT and later. * Add ATmega328 pin configuration. * Fix MMC/SD/SDHC distinction. * Fix raw block read/write buffering (thanks to Kurt Sterckx). * Fix fat size calculation for FAT16 when configured with FAT32. * Fix compilation for read-only configurations. * Fix card lock detection. * Make it easier to link with a C++ application (thanks to Jérôme Despatis). 2008-11-21 sd-reader * Support for SDHC cards (disabled by default). * Support for FAT32 (disabled by default). 2008-06-08 sd-reader * New "init" command to allow reinitialization of memory card. * Fix searching through multi-cluster directories. * Fix reading directory entries spanning a cluster border (backport from mega-eth). * Do not abort the whole lfn entry when the file name is too long, just drop single characters (backport from mega-eth). * Change fat16_get_dir_entry_of_path() to ignore a slash at the end (backport from mega-eth). * Make listing a directory's content much faster (backport from mega-eth). * Shrink code size by centralizing cluster offset calculation (backport from mega-eth). * Some other small fixes and optimizations. 2007-12-13 sd-reader * Dual-license the major implementation modules under GPL and LGPL. 2007-06-03 sd-reader * Fix reading beyond cached block (by Benjamin Meier). * Implement support for reading and writing file modification dates/times. (Thanks to Torsten Seeboth for testing.) 2007-03-01 sd-reader * Avoid LFN directory entries for the "." and ".." directory references. This prevented Windows from deleting directories. * Handle special case where the 8.3 filename begins with 0xe5. * Fix return value of fat16_delete_file() when deleting empty files. * Fix fat16_clear_cluster() which was zeroing only 16 of every 32 bytes. 2007-01-20 sd-reader * Fix directory creation. - Correctly create "." and ".." directory entries (8.3 <-> lfn versions). - Correctly clear cluster containing the directory entries for new directory. 2006-11-01 sd-reader * Implement creation and deletion of directories. * Clear the directory entries of new directory clusters. * Prevent linkage against printf(). * Make the use of malloc()/free() optional. 2006-09-01 sd-reader * Fix shortening files. * Fix free disk space calculation. 2006-08-24 sd-reader * Improve sleep handling. * Display extended card information on boot and when executing the "disk" shell command. * Correctly determine FAT type by cluster count. * Fix cluster allocation beyond card capacity. 2006-08-16 sd-reader * Provide FAT16 capacity and usage information. * Implement the backspace key in the mini shell. * Enter idle mode when waiting for uart activity. * Make the Card Select pin MCU dependent as well. * Add mini shell commands to documentation. 2006-08-08 sd-reader * Thanks go to Torsten Seeboth for his ongoing efforts to test changes, fix regressions and give suggestions. Many of the changes below were initiated by him. * Much more reliable card initialization. * Highly improved performance - optional write buffering - better cluster handling - remove unneeded SPI access when reading from buffered block - use highest spi frequency after card initialization * Add superfloppy support. * Better checks when opening a FAT16 filesystem. * Provide SPI pin mappings for commonly used ATmegas. * Fix resizing files, hangs could occur. * Fix overflow when creating files with names longer than 31 characters. * Fix numerous other small things. 2006-03-19 sd-reader * Fix speed regressions. 2006-03-16 sd-reader * Initial release.