simulavr  1.1.0
pinatport.h
Go to the documentation of this file.
1 /*
2  ****************************************************************************
3  *
4  * simulavr - A simulator for the Atmel AVR family of microcontrollers.
5  * Copyright (C) 2001, 2002, 2003 Klaus Rudolph
6  *
7  * This program is free software; you can redistribute it and/or modify
8  * it under the terms of the GNU General Public License as published by
9  * the Free Software Foundation; either version 2 of the License, or
10  * (at your option) any later version.
11  *
12  * This program is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15  * GNU General Public License for more details.
16  *
17  * You should have received a copy of the GNU General Public License along
18  * with this program; if not, write to the Free Software Foundation, Inc.,
19  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
20  *
21  ****************************************************************************
22  *
23  * $Id$
24  */
25 
26 #ifndef PINATPORT
27 #define PINATPORT
28 
29 class HWPort;
30 class Pin;
31 
34 class PinAtPort {
35  protected:
37  unsigned char pinNo;
38  int regID;
39 
40  public:
41  PinAtPort();
42  PinAtPort(HWPort *p, unsigned char pn);
43  void SetPort(bool val);
44  void SetDdr(bool val);
45 
46  void SetAlternatePullup(bool val);
47  void SetUseAlternatePullup(bool val);
48 
49  void SetAlternateDdr(bool val);
50  void SetUseAlternateDdr(bool val);
51 
52  void SetAlternatePort(bool val);
53  void SetUseAlternatePort(bool val);
54 
55  void SetUseAlternatePortIfDdrSet(bool val);
56 
57  bool GetPort();
58  bool GetDdr();
59  Pin& GetPin();
60 
61  bool active();
62 #ifndef SWIG
63  operator bool();
64 #endif
65  float GetAnalogValue(float vcc);
66 
67  protected:
68  void SetVal( unsigned char *adr, bool val);
69 };
70 
71 #endif
Pin & GetPin()
Definition: pinatport.cpp:45
void SetDdr(bool val)
Definition: pinatport.cpp:59
Pin class, handles input and output to external parts.
Definition: pin.h:98
void SetAlternateDdr(bool val)
Definition: pinatport.cpp:75
void SetUseAlternatePort(bool val)
Definition: pinatport.cpp:90
bool GetDdr()
Definition: pinatport.cpp:104
Defines a Port, e.g. a hardware device for GPIO.
Definition: hwport.h:43
void SetVal(unsigned char *adr, bool val)
Definition: pinatport.cpp:112
HWPort * port
Definition: pinatport.h:36
void SetUseAlternatePullup(bool val)
Definition: pinatport.cpp:70
void SetUseAlternatePortIfDdrSet(bool val)
Definition: pinatport.cpp:95
void SetAlternatePort(bool val)
Definition: pinatport.cpp:85
unsigned char pinNo
Definition: pinatport.h:37
void SetPort(bool val)
Definition: pinatport.cpp:49
void SetAlternatePullup(bool val)
Definition: pinatport.cpp:65
bool GetPort()
Definition: pinatport.cpp:100
void SetUseAlternateDdr(bool val)
Definition: pinatport.cpp:80
bool active()
Definition: pinatport.cpp:41
float GetAnalogValue(float vcc)
Get pin analog voltage level.
Definition: pinatport.cpp:55
int regID
Definition: pinatport.h:38