mouvement AX12 petit robot version 2
Fork of command_AX12_petit_robot by
BusInOut.h
00001 /* mbed Microcontroller Library - BusInOut 00002 * Copyright (c) 2009 ARM Limited. All rights reserved. 00003 */ 00004 00005 #ifndef MBED_BUSINOUT_H 00006 #define MBED_BUSINOUT_H 00007 00008 #include "platform.h" 00009 #include "PinNames.h" 00010 #include "PeripheralNames.h" 00011 #include "Base.h" 00012 #include "DigitalInOut.h" 00013 00014 namespace mbed { 00015 00016 /* Class: BusInOut 00017 * A digital input output bus, used for setting the state of a collection of pins 00018 */ 00019 class BusInOut : public Base { 00020 00021 public: 00022 00023 /* Group: Configuration Methods */ 00024 00025 /* Constructor: BusInOut 00026 * Create an BusInOut, connected to the specified pins 00027 * 00028 * Variables: 00029 * p<n> - DigitalInOut pin to connect to bus bit p<n> (p5-p30, NC) 00030 * 00031 * Note: 00032 * It is only required to specify as many pin variables as is required 00033 * for the bus; the rest will default to NC (not connected) 00034 */ 00035 BusInOut(PinName p0, PinName p1 = NC, PinName p2 = NC, PinName p3 = NC, 00036 PinName p4 = NC, PinName p5 = NC, PinName p6 = NC, PinName p7 = NC, 00037 PinName p8 = NC, PinName p9 = NC, PinName p10 = NC, PinName p11 = NC, 00038 PinName p12 = NC, PinName p13 = NC, PinName p14 = NC, PinName p15 = NC, 00039 const char *name = NULL); 00040 00041 BusInOut(PinName pins[16], const char *name = NULL); 00042 00043 virtual ~BusInOut(); 00044 00045 /* Group: Access Methods */ 00046 00047 /* Function: write 00048 * Write the value to the output bus 00049 * 00050 * Variables: 00051 * value - An integer specifying a bit to write for every corresponding DigitalInOut pin 00052 */ 00053 void write(int value); 00054 00055 00056 /* Function: read 00057 * Read the value currently output on the bus 00058 * 00059 * Variables: 00060 * returns - An integer with each bit corresponding to associated DigitalInOut pin setting 00061 */ 00062 int read(); 00063 00064 /* Function: output 00065 * Set as an output 00066 */ 00067 void output(); 00068 00069 /* Function: input 00070 * Set as an input 00071 */ 00072 void input(); 00073 00074 /* Function: mode 00075 * Set the input pin mode 00076 * 00077 * Variables: 00078 * mode - PullUp, PullDown, PullNone 00079 */ 00080 void mode(PinMode pull); 00081 00082 #ifdef MBED_OPERATORS 00083 /* Group: Access Method Shorthand */ 00084 00085 /* Function: operator= 00086 * A shorthand for <write> 00087 */ 00088 BusInOut& operator= (int v); 00089 BusInOut& operator= (BusInOut& rhs); 00090 00091 /* Function: operator int() 00092 * A shorthand for <read> 00093 */ 00094 operator int(); 00095 #endif 00096 00097 #ifdef MBED_RPC 00098 virtual const struct rpc_method *get_rpc_methods(); 00099 static struct rpc_class *get_rpc_class(); 00100 #endif 00101 00102 protected: 00103 00104 DigitalInOut* _pin[16]; 00105 00106 #ifdef MBED_RPC 00107 static void construct(const char *arguments, char *res); 00108 #endif 00109 00110 }; 00111 00112 } // namespace mbed 00113 00114 #endif 00115
Generated on Tue Jul 12 2022 20:39:16 by 1.7.2