Main Page   Class Hierarchy   Compound List   File List   Compound Members   File Members  

flex.H

Go to the documentation of this file.
00001 /*
00002  * Copyright 1997, Brown University, Providence, RI.
00003  * 
00004  *                         All Rights Reserved
00005  * 
00006  * Permission to use, copy, modify, and distribute this software and its
00007  * documentation for any purpose other than its incorporation into a
00008  * commercial product is hereby granted without fee, provided that the
00009  * above copyright notice appear in all copies and that both that
00010  * copyright notice and this permission notice appear in supporting
00011  * documentation, and that the name of Brown University not be used in
00012  * advertising or publicity pertaining to distribution of the software
00013  * without specific, written prior permission.
00014  * 
00015  * BROWN UNIVERSITY DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
00016  * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ANY
00017  * PARTICULAR PURPOSE.  IN NO EVENT SHALL BROWN UNIVERSITY BE LIABLE FOR
00018  * ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
00019  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
00020  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
00021  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
00022  */
00023 
00024 #ifndef FLEX_H
00025 #define FLEX_H
00026 
00027 #include "tty/tty.H"
00028 #include "dev/discrete_contact.H"
00029 
00030 
00031 #define MAX_CONTACTS_AT_ONCE 32
00032 
00033 class DEVflex : public DEVdiscrete_contact, public TTYfd
00034 {
00035  protected:
00036    str_ptr            _serialport;
00037    int                _baud;
00038 
00039    unsigned char c1table[256];
00040    unsigned char c2table[256];
00041 
00042 
00043    unsigned char _downBut[MAX_CONTACTS_AT_ONCE];
00044    unsigned char _moveBut[MAX_CONTACTS_AT_ONCE];
00045    unsigned char _upBut[MAX_CONTACTS_AT_ONCE];
00046    int _numDown;
00047    int _numMove;
00048    int _numUp;
00049 
00050    enum op {up = 0, down, strange};
00051    op  _operation;
00052 
00053  public:
00054    virtual ~DEVflex() {}
00055             DEVflex(Cstr_ptr &devname);
00056 
00057    virtual bool        activate();
00058    virtual bool        deactivate();
00059    virtual void        sample();
00060 };
00061 
00062 #endif

Generated on Mon Sep 15 16:25:56 2003 for gluebase by doxygen1.2.18