Lab 1 Program C

Dependents:   Lab1C

Fork of mbed by -deleted-

BusIn.h

Committer:
simon.ford@mbed.co.uk
Date:
2009-01-22
Revision:
5:62573be585e9
Parent:
4:5d1359a283bc
Child:
11:1c1ebd0324fa

File content as of revision 5:62573be585e9:

/* mbed Microcontroller Library - BusIn
 * Copyright (c) 2007-2008, sford
 */
 
#ifndef MBED_BUSIN_H
#define MBED_BUSIN_H

#include "Base.h"
#include "DigitalIn.h"

namespace mbed {

/* Class: BusIn
 *  A digital input bus, used for reading the state of a collection of pins
 */
class BusIn : public Base {

public:

	/* Group: Configuration Methods */

	/* Constructor: BusIn
	 *  Create an BusIn, connected to the specified pins
	 *
	 * Variables:
	 *  p<n> - DigitalIn pin to connect to bus bit <n> (5-30, NOT_CONNECTED)
     *
     * Note:
     *  It is only required to specify as many pin variables as is required
     *  for the bus; the rest will default to NOT_CONNECTED
	 */ 
    BusIn(int p0, int p1 = NOT_CONNECTED, int p2 = NOT_CONNECTED, int p3 = NOT_CONNECTED,
          int p4 = NOT_CONNECTED, int p5 = NOT_CONNECTED, int p6 = NOT_CONNECTED, int p7 = NOT_CONNECTED,
          int p8 = NOT_CONNECTED, int p9 = NOT_CONNECTED, int p10 = NOT_CONNECTED, int p11 = NOT_CONNECTED,
          int p12 = NOT_CONNECTED, int p13 = NOT_CONNECTED, int p14 = NOT_CONNECTED, int p15 = NOT_CONNECTED, 
          const char *name = NULL);

    BusIn(int pins[16], const char *name = NULL);
		
	virtual ~BusIn();
	
	/* Group: Access Methods */
		
	/* Function: read
	 *  Read the value of the input bus
	 *
	 * Variables:
	 *  returns - An integer with each bit corresponding to the value read from the associated DigitalIn pin
	 */
    int read();
	
	/* Group: Access Method Shorthand */
		
	/* Function: operator int()
	 *  A shorthand for <read>
	 */
	operator int();

    virtual const struct rpc_method *get_rpc_methods();
    static struct rpc_class *get_rpc_class();

protected:
	
	DigitalIn* _pin[16];

        static void construct(const char *arguments, char *res);
	
};

}

#endif