x

Dependents:   20180621_FT813

Fork of BurstSPI by Erik -

Revision:
3:7d9b64d67b22
Parent:
2:a8e55f7cbfee
Child:
14:35df38577abd
--- a/BurstSPI.h	Fri Jan 04 09:51:42 2013 +0000
+++ b/BurstSPI.h	Thu Jul 04 19:03:58 2013 +0000
@@ -26,7 +26,8 @@
  * the normal mbed library. With this library it takes 25ms, which is also the theoretical
  * amount of time it should take. If you are running at 1MHz this will do alot less.
  */
-class BurstSPI : public SPI {
+class BurstSPI : public SPI
+{
 public:
     /** Create a SPI master connected to the specified pins
     *
@@ -39,7 +40,7 @@
     *  @param miso SPI Master In, Slave Out pin
     *  @param sclk SPI Clock pin
     */
-    BurstSPI(PinName mosi, PinName miso, PinName sclk);
+    BurstSPI(PinName mosi, PinName miso, PinName sclk) : SPI(mosi, miso, sclk) {};
 
     /** Put data packet in the SPI TX FIFO buffer
     *
@@ -49,17 +50,20 @@
     *  @param data Data to be sent to the SPI slave
     */
     void fastWrite(int data);
-    
+
     /** Use this function before fastWrite to set the correct settings
-    * 
+    *
     * It is not needed to use this if the last SPI commands were either normal SPI transmissions,
     * or setting different format/frequency for this object. It is required to call this
     * function when several SPI objects use the same peripheral, and your last transmission was
     * from a different object with different settings. Not sure if you should use it?
     * Use it, it takes very little time to execute, so can't hurt.
     */
-    void setFormat( void );
-    
+    void setFormat( void ) {
+        format(_bits, _mode);
+        frequency(_hz);
+    }
+
     /** After you are done with fastWrite, call this function
     *
     * FastWrite simply fills the SPI's (SSP's actually) TX FIFO buffer as fast as it can,
@@ -67,34 +71,34 @@
     * so the the RX buffer is full with unneeded packets. This function waits until transmission is finished,
     * and clears the RX buffer. You always have to call this before you want to receive
     * SPI data after using fastWrite.
-    */    
+    */
     void clearRX( void );
-    
-    
+
+
     //Just for documentation:
-    #if 0
+#if 0
     /** Configure the data transmission format
      *
      *  @param bits Number of bits per SPI frame (4 - 16)
      *  @param mode Clock polarity and phase mode (0 - 3)
      *
      * @code
-     * mode | POL PHA 
-     * -----+--------     
-     *   0  |  0   0 
+     * mode | POL PHA
+     * -----+--------
+     *   0  |  0   0
      *   1  |  0   1
-     *   2  |  1   0 
+     *   2  |  1   0
      *   3  |  1   1
      * @endcode
      */
     void format(int bits, int mode = 0);
- 
+
     /** Set the spi bus clock frequency
      *
      *  @param hz SCLK frequency in hz (default = 1MHz)
      */
     void frequency(int hz = 1000000);
- 
+
     /** Write to the SPI Slave and return the response
      *
      *  @param value Data to be sent to the SPI slave
@@ -103,7 +107,7 @@
      *    Response from the SPI slave
     */
     virtual int write(int value);
-    #endif
+#endif
 
 };