simulavr  1.1.0
serialtx.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 SERIALTX_H_INCLUDED
27 #define SERIALTX_H_INCLUDED
28 
29 #include "systemclocktypes.h"
30 #include "ui.h"
31 
33  protected:
35 
36  std::map < std::string, Pin *> allPins;
37  unsigned long long baudrate;
38 
39  enum T_TxState{
45  } ;
46 
48 
49  std::vector<unsigned char> inputBuffer;
50  unsigned int data;
51  unsigned int bitCnt;
52  unsigned int maxBitCnt;
53 
55 
56  public:
58  void Reset();
59  virtual ~SerialTxBuffered(){};
60  void SetHexInput(bool newValue);
61  virtual int Step(bool &trueHwStep, SystemClockOffset *timeToNextStepIn_ns=0);
63  virtual void Send(unsigned char data);
64  virtual void SetBaudRate(SystemClockOffset baud);
65  virtual Pin* GetPin(const char *name);
66 };
67 
68 
70 class SerialTx: public SerialTxBuffered, public ExternalType {
71  public:
72  SerialTx(UserInterface *_ui, const char *_name, const char *baseWindow);
73  virtual ~SerialTx(){};
74  virtual void SetNewValueFromUi(const std::string &);
75  };
76 
77 #endif
virtual void Send(unsigned char data)
Add byte from UI to be sent to device&#39;s UART.
std::vector< unsigned char > inputBuffer
Definition: serialtx.h:49
Pin class, handles input and output to external parts.
Definition: pin.h:98
unsigned int data
Definition: serialtx.h:50
virtual void SetBaudRate(SystemClockOffset baud)
unsigned int bitCnt
Definition: serialtx.h:51
virtual Pin * GetPin(const char *name)
T_TxState txState
Definition: serialtx.h:47
virtual ~SerialTx()
Definition: serialtx.h:73
bool receiveInHex
Definition: serialtx.h:54
void SetHexInput(bool newValue)
long long SystemClockOffset
std::map< std::string, Pin * > allPins
Definition: serialtx.h:36
virtual ~SerialTxBuffered()
Definition: serialtx.h:59
unsigned long long baudrate
Definition: serialtx.h:37
unsigned int maxBitCnt
Definition: serialtx.h:52
virtual int Step(bool &trueHwStep, SystemClockOffset *timeToNextStepIn_ns=0)
Return nonzero if a breakpoint was hit.