Serial flash memory, binary access

Dependents:   S25FL216K_USBFileSystem SPItest S25FL216K_USBFileSystem S25FL216K_FATFileSystem

Revision:
1:2bcefc9e64f8
Parent:
0:3cb41d985302
--- a/S25FL216K.h	Sat Jul 20 12:03:38 2013 +0000
+++ b/S25FL216K.h	Wed Jul 31 19:17:11 2013 +0000
@@ -13,31 +13,85 @@
 #define S25FL216K_BLOCK_ERASE   0xD8
 #define S25FL216K_JEDEC         0x9F
 
+/**
+* Class to write/read from S25FL216K serial flash memory
+*
+* This class is used for binary access, for file system access
+* there is S25FL216K_USBFileSystem.
+*
+* No write restrictions are implemented, the memory also should not
+* have write restrictions enabled, this is factory default.
+*/
 class S25FL216K {
 public:
+
+/** Constructor
+*
+* @param mosi - Mosi pin to be used
+* @param miso - Miso pin to be used
+* @param sclk - Sclk pin to be used
+* @param cs - CS pin to be used
+*/
 S25FL216K(PinName mosi, PinName miso, PinName sclk, PinName cs);
 
-/* Checks if communication with the device functions
+/** Checks if communication with the device functions
 *
 * @return - true upon succesfull communication, false if it failed
 */
 bool testConnection( void );
 
+/** Read a number of memory locations
+*
+* Take into account reading will stay within the page (256B) the address is in
+*
+* @param address - start address to read from
+* @param buffer - char array to read the data into
+* @param length - number of samples to read
+*/
 void read(int address, char *buffer, int length);
 
+/** Write a number of memory locations
+*
+* Take into account writing will stay within the page (256B) the address is in
+*
+* @param address - start address to write to
+* @param buffer - char array to read the data from
+* @param length - number of samples to write
+* @param block - true (default) to block until writing is finished 
+*/
 void write(int address, char *buffer, int length, bool block = true);
 
+/** Erase a sector (4KB)
+*
+* @param address - address in the sector that needs to be erased 
+* @param block - true (default) to block until erasing is finished 
+*/
 void eraseSector(int address, bool block = true);
+
+/** Erase a block (64KB)
+*
+* @param address - address in the block that needs to be erased 
+* @param block - true (default) to block until erasing is finished 
+*/
 void eraseBlock(int address, bool block = true);
+
+/** Erase the entire chip
+* 
+* @param block - true (default) to block until erasing is finished 
+*/
 void eraseChip(bool block = true);
 
-char getStatus( void );
-
-void setWriteEnable( void );
-
+/** Check if writing/erasing is being performed
+*
+* @return - true if busy, false if idle
+*/
 bool isBusy( void );
 
 private:
+
+char getStatus( void );
+void setWriteEnable( void );
+
 SPI _spi;
 DigitalOut _cs;