Add support for KL46Z
Fork of BurstSPI by
Diff: BurstSPI.h
- Revision:
- 3:7d9b64d67b22
- Parent:
- 2:a8e55f7cbfee
--- 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
};
S. Ken San
