Driver for National Semiconductor ADC128Sxxx family of analog to digital converters

Files at this revision

API Documentation at this revision

Comitter:
shimniok
Date:
Wed Mar 02 05:50:24 2011 +0000
Parent:
0:28addf1f4c26
Child:
2:f6c4a79f2ee0
Commit message:
Changed order of parameters. Updated documentation

Changed in this revision

ADC128S.cpp Show annotated file Show diff for this revision Revisions of this file
ADC128S.h Show annotated file Show diff for this revision Revisions of this file
--- a/ADC128S.cpp	Fri Feb 18 20:52:59 2011 +0000
+++ b/ADC128S.cpp	Wed Mar 02 05:50:24 2011 +0000
@@ -5,7 +5,7 @@
 #include "mbed.h"
 #include "ADC128S.h"
 
-ADC128S::ADC128S(PinName cs, PinName mosi, PinName miso, PinName sck) : _adc(mosi, miso, sck), _cs(cs) {
+ADC128S::ADC128S(PinName mosi, PinName miso, PinName sck, PinName cs) : _adc(mosi, miso, sck), _cs(cs) {
     _adc.format(16,3);
     _adc.frequency(8000000);
 }
--- a/ADC128S.h	Fri Feb 18 20:52:59 2011 +0000
+++ b/ADC128S.h	Wed Mar 02 05:50:24 2011 +0000
@@ -1,13 +1,50 @@
-// ADC128S   a library for the National Semiconductor ADC128S family of ADCs
-//
-// by Michael Shimniok - http://www.bot-thoughts.com/
-//
-class ADC128S {
-public:
-    ADC128S(PinName cs, PinName mosi, PinName miso, PinName sck);
-    unsigned int read(int channel);
-
-private:
-    SPI _adc;
-    DigitalOut _cs;
+/* mbed library for the National Semiconductor ADC128S family of analog to digital converters
+ *
+ * by Michael Shimniok - http://www.bot-thoughts.com/
+ */
+ 
+ /** An interface for driving a National Semiconductor ADC128Sxxx analog to digital converter using SPI
+ *
+ * @code
+ * #include "mbed.h"
+ * #include "ADC128S.h"
+ *
+ * Serial pc(USBTX, USBRX); // tx, rx
+ * ADC128S adc(p5, p6, p7, p15); // mosi, miso, sck, cs
+ *
+ * int main() {
+ *   unsigned int result;
+ *   pc.baud(115200);    
+ *
+ *   while(1) {
+ *     for (int i = 0; i < 8; i++) {
+ *       result = adc.read(i);
+ *       pc.printf("ADC(%d)=%d\n", i, result);
+ *     }
+ *     pc.printf("\n");
+ *   }
+ * }
+ * @endcode
+ */
+class ADC128S {
+public:
+    /** Create an ADC128S interface
+     *
+     * @param mosi  MOSI line
+     * @param miso  MISO line
+     * @param sck   SCK line
+     * @param cs    !CS/!SS line
+     */
+    ADC128S(PinName mosi, PinName miso, PinName sck, PinName cs);
+
+    /** Read in analog value from the specified ADC channel
+     *
+     * @param channel  The ADC channel to read
+     * @param returns the analog to digital conversion result
+     */
+    unsigned int read(int channel);
+
+private:
+    SPI _adc;
+    DigitalOut _cs;
 };
\ No newline at end of file