Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependents: cc3000_ping_demo_try_2
Fork of mbed by
Diff: DigitalIn.h
- Revision:
- 11:1c1ebd0324fa
- Parent:
- 5:62573be585e9
- Child:
- 18:b3c9f16cbb96
--- a/DigitalIn.h Thu May 14 14:44:00 2009 +0000
+++ b/DigitalIn.h Fri Aug 28 12:10:11 2009 +0000
@@ -6,9 +6,10 @@
#ifndef MBED_DIGITALIN_H
#define MBED_DIGITALIN_H
+#include "platform.h"
+#include "PinNames.h"
+#include "PeripheralNames.h"
#include "Base.h"
-#include "LPC2300.h"
-#include "FunctionPointer.h"
namespace mbed {
@@ -20,8 +21,8 @@
* >
* > #include "mbed.h"
* >
- * > DigitalIn enable(5);
- * > DigitalOut led(1);
+ * > DigitalIn enable(p5);
+ * > DigitalOut led(LED1);
* >
* > int main() {
* > while(1) {
@@ -31,99 +32,56 @@
* > wait(0.25);
* > }
* > }
- *
- * Implementation Note:
- * pin 19 and 20 can not be used with the rise/fall methods
*/
class DigitalIn : public Base {
public:
- /* Constructor: DigitalIn
- * Create a DigitalIn connected to the specified pin
- *
- * Variables:
- * pin - DigitalIn pin to connect to (5-30)
+ /* Constructor: DigitalIn
+ * Create a DigitalIn connected to the specified pin
+ *
+ * Variables:
+ * pin - DigitalIn pin to connect to
* name - (optional) A string to identify the object
- */
- DigitalIn(int pin, const char *name = NULL);
+ */
+ DigitalIn(PinName pin, const char *name = NULL);
- /* Function: read
- * Read the input, represented as 0 or 1 (int)
- *
- * Variables:
- * returns - An integer representing the state of the input pin,
- * 0 for logical 0 (0v) and 1 for logical 1 (3.3v)
- */
- int read();
-
- /* Function: rise
- * Attach a function to call when a rising edge occurs on the input
- *
- * Variables:
- * fptr - A pointer to a void function, or 0 to set as none
- */
- void rise(void (*fptr)(void));
-
- /* Function: rise
- * Attach a member function to call when a rising edge occurs on the input
- *
+ /* Function: read
+ * Read the input, represented as 0 or 1 (int)
+ *
* Variables:
- * tptr - pointer to the object to call the member function on
- * mptr - pointer to the member function to be called
+ * returns - An integer representing the state of the input pin,
+ * 0 for logical 0 and 1 for logical 1
*/
- template<typename T>
- void rise(T* tptr, void (T::*mptr)(void)) {
- _rise.attach(tptr, mptr);
- setup_interrupt(1, 1);
- }
+ int read();
- /* Function: fall
- * Attach a function to call when a falling edge occurs on the input
- *
- * Variables:
- * fptr - A pointer to a void function, or 0 to set as none
- */
- void fall(void (*fptr)(void));
-
- /* Function: fall
- * Attach a member function to call when a falling edge occurs on the input
- *
+ /* Function: mode
+ * Set the input pin mode
+ *
* Variables:
- * tptr - pointer to the object to call the member function on
- * mptr - pointer to the member function to be called
+ * mode - PullUp, PullDown, PullNone
*/
- template<typename T>
- void fall(T* tptr, void (T::*mptr)(void)) {
- _fall.attach(tptr, mptr);
- setup_interrupt(0, 1);
- }
-
+ void mode(PinMode pull);
+
+#ifdef MBED_OPERATORS
/* Function: operator int()
* An operator shorthand for <read()>
*/
- operator int();
-
- // interrupt
- static void _irq();
- static DigitalIn *_irq_objects[48];
+ operator int();
+#endif
- // rpc
+#ifdef MBED_RPC
virtual const struct rpc_method *get_rpc_methods();
static struct rpc_class *get_rpc_class();
+#endif
protected:
- LPC2300::GPIORF* _rf;
- unsigned int _mask;
- int _id;
+ PinName _pin;
- void setup_interrupt(int rising, int enable);
- FunctionPointer _rise;
- FunctionPointer _fall;
};
-}
+} // namespace mbed
#endif
