simulavr  1.1.0
scope.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 SCOPE
27 #define SCOPE
28 
29 
30 #include <iostream>
31 #include <string>
32 #include <vector>
33 
34 #include "../systemclocktypes.h"
35 #include "../simulationmember.h"
36 #include "ui.h"
37 #include "../pin.h"
38 
39 
40 class Scope : public SimulationMember {
41  protected:
43  std::string name;
44  unsigned char myPortValue;
45  std::map<std::string, Pin*> allPins;
46 
47  std::vector<Pin*> vecPin;
48  std::vector<int> lastVal;
49  unsigned int noOfChannels;
50 
51 
52  public:
53  Scope(UserInterface *ui, const std::string &name, unsigned int noOfChannels, const char *baseWindow);
54  virtual ~Scope();
55  Pin *GetPin(unsigned int no);
56  virtual int Step(bool &trueHwStep, SystemClockOffset *timeToNextStepIn_ns){return 0;} //what we should step here?
57  void SetInStateForChannel(unsigned int channel, Pin& p);
58 };
59 
60 #endif
virtual ~Scope()
Pin class, handles input and output to external parts.
Definition: pin.h:98
unsigned int noOfChannels
Definition: scope.h:49
std::vector< Pin * > vecPin
Definition: scope.h:47
long long SystemClockOffset
virtual int Step(bool &trueHwStep, SystemClockOffset *timeToNextStepIn_ns)
Return nonzero if a breakpoint was hit.
Definition: scope.h:56
Pin * GetPin(unsigned int no)
std::map< std::string, Pin * > allPins
Definition: scope.h:45
void SetInStateForChannel(unsigned int channel, Pin &p)
UserInterface * ui
Definition: scope.h:42
unsigned char myPortValue
Definition: scope.h:44
std::string name
Definition: scope.h:43
Scope(UserInterface *ui, const std::string &name, unsigned int noOfChannels, const char *baseWindow)
std::vector< int > lastVal
Definition: scope.h:48
Definition: scope.h:40