Lab 1 Program C

Dependents:   Lab1C

Fork of mbed by -deleted-

Revision:
5:62573be585e9
Parent:
4:5d1359a283bc
Child:
11:1c1ebd0324fa
diff -r 5d1359a283bc -r 62573be585e9 PwmOut.h
--- a/PwmOut.h	Thu Nov 27 16:23:24 2008 +0000
+++ b/PwmOut.h	Thu Jan 22 18:32:40 2009 +0000
@@ -11,13 +11,14 @@
 
 /* Class: PwmOut
  *  A pulse-width modulation digital output
+ *
+ * Implementation Note:
+ *  The period is is common to all PwmOut's, so changing it on one PwmOut will change them all!
  */
 class PwmOut : public Base {
 
 public:
 
-	/* Group: Configuration Methods */
-	
 	/* Constructor: PwmOut
 	 *  Create a PwmOut connected to the specified pin
 	 *
@@ -26,8 +27,6 @@
 	 */	
 	PwmOut(int pin, const char *name = NULL);
 
-	/* Group: Access Methods (Analog-like) */
-		
 	/* Function: write
 	 *  Set the ouput duty-cycle, specified as a percentage (float)
 	 *
@@ -39,27 +38,6 @@
 	 */
     void write(float percent);
 
-	/* Function: write_v
-	 *  Set the output duty-cycle, specified in volts (float)
-	 *
-	 * Variables:
-	 *  v - A floating-point value representing the output duty-cycle, 
-	 *    specified in volts. The value should lie between
-	 *    0.0f (representing 0v / 0% on) and 3.3f (representing 3.3v / 100% on).
-	 *    Values outside this range will be saturated to 0.0f or 3.3f.	 
-	 */	
-	void write_v(float v);
-
-	/* Function: write_mv
-	 *  Set the output duty-cycle, specified in mili-volts (int)
-	 *
-	 * Variables:
-	 *  mv - An integer value representing the output duty-cycle, 
-	 *    specified in milli-volts. The value should lie between
-	 *    0 (representing 0v / 0% on) and 3300 (representing 3.3v / 100% on).
-	 *    Values outside this range will be saturated to 0 or 3300.	 
-	 */	
-	void write_mv(int mv);
 
 	/* Function: read
 	 *  Return the current output duty-cycle setting, measured as a percentage (float)
@@ -73,62 +51,55 @@
 	 *  This value may not match exactly the value set by a previous <write>.
 	 */	
     float read();
-
-	/* Group: Access Methods (Pulse-width) */
 	
 	/* Function: period
 	 *  Set the PWM period, specified in seconds (float)
-	 *
-	 * Note:
-	 *  This is common to all PwmOut's, so changing it on one will change them all
 	 */
 	void period(float seconds);
 
+	/* Function: period_ms
+	 *  Set the PWM period, specified in milli-seconds (int)
+	 */
+	void period_ms(int ms);
+
+	/* Function: period_us
+	 *  Set the PWM period, specified in micro-seconds (int)
+	 */
+	void period_us(int us);
+
 	/* Function: pulsewidth
 	 *  Set the PWM pulsewidth, specified in seconds (float)
 	 */	
 	void pulsewidth(float seconds);
 		
-	/* Function: period_ms
-	 *  Set the PWM period, specified in milli-seconds (int)
-	 *
-	 * Note:
-	 *  This is common to all PwmOut's, so changing it on one will change them all
-	 */
-	void period_ms(int ms);
-
 	/* Function: pulsewidth_ms
 	 *  Set the PWM pulsewidth, specified in milli-seconds (int)
 	 */	
 	void pulsewidth_ms(int ms);
 	
-	/* Function: period_us
-	 *  Set the PWM period, specified in micro-seconds (int)
-	 *
-	 * Note:
-	 *  This is common to all PwmOut's, so changing it on one will change them all
-	 */
-	void period_us(int us);
-	
 	/* Function: pulsewidth_us
 	 *  Set the PWM pulsewidth, specified in micro-seconds (int)
 	 */	
 	void pulsewidth_us(int us);
 
-	/* Group: Access Method Shorthand */
-
 	/* Function: operator=
-	 *  A shorthand for <write>
+	 *  A operator shorthand for <write()>
 	 */
 	PwmOut& operator= (float percent);
 	PwmOut& operator= (PwmOut& rhs);
 
 	/* Function: operator float()
-	 *  A shorthand for <read>
+	 *  An operator shorthand for <read()>
 	 */
 	operator float();
 
-    virtual const struct rpc_method *rpc_methods();
+	// functions to be dropped in time...
+	void write_v(float v);
+	void write_mv(int mv);
+
+    virtual const struct rpc_method *get_rpc_methods();
+    static struct rpc_class *get_rpc_class();
+
 	
 protected: