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.
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
