ROOT logo
(UNKNOWN PRODUCT) » INCLUDE » TMrbSerialComm

class TMrbSerialComm: public TNamed

_________________________________________________[C++ CLASS DEFINITION FILE]

 Name:           utils/inc/TMrbSerialComm.h
 Purpose:        Class defs to control a serial I/O line
 Description:    Class definitions to control I/O from/to a serial port.
                 Inspired by a class c_SerialComm written by Mario Schubert
                 O.S. 17.09.2013 Add control of DTR, RTS etc, add raw r/w
 Author:         R. Lutter, O.Schaile
 Revision:       $Id: TMrbSerialComm.h 17.09.2013$
 Date:
 Keywords:

Function Members (Methods)

public:
TMrbSerialComm()
TMrbSerialComm(const Char_t* Device)
TMrbSerialComm(const TMrbSerialComm&)
virtual~TMrbSerialComm()
voidTObject::AbstractMethod(const char* method) const
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTObject::Browse(TBrowser* b)
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTNamed::Clear(Option_t* option = "")
virtual TObject*TNamed::Clone(const char* newname = "") const
Bool_tClose()
virtual Int_tTNamed::Compare(const TObject* obj) const
virtual voidTNamed::Copy(TObject& named) const
virtual voidTObject::Delete(Option_t* option = "")MENU
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
virtual voidTObject::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() constMENU
virtual TObject*TObject::DrawClone(Option_t* option = "") constMENU
virtual voidTObject::Dump() constMENU
virtual voidTObject::Error(const char* method, const char* msgfmt) const
virtual voidTObject::Execute(const char* method, const char* params, Int_t* error = 0)
virtual voidTObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0)
virtual voidTObject::ExecuteEvent(Int_t event, Int_t px, Int_t py)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
virtual voidTNamed::FillBuffer(char*& buffer)
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
Bool_tGetCts()
virtual Option_t*TObject::GetDrawOption() const
Bool_tGetDsr()
static Long_tTObject::GetDtorOnly()
Bool_tGetDtr()
virtual const char*TObject::GetIconName() const
virtual const char*TNamed::GetName() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
const Char_t*GetPort() const
Bool_tGetRts()
virtual const char*TNamed::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTNamed::Hash() const
voidHelp()
voidIgnoreCR(Bool_t Flag)
virtual voidTObject::Info(const char* method, const char* msgfmt) const
virtual Bool_tTObject::InheritsFrom(const char* classname) const
virtual Bool_tTObject::InheritsFrom(const TClass* cl) const
virtual voidTObject::Inspect() constMENU
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTObject::IsFolder() const
Bool_tTObject::IsOnHeap() const
Bool_tIsOpen() const
virtual Bool_tTNamed::IsSortable() const
Bool_tTObject::IsZombie() const
virtual voidTNamed::ls(Option_t* option = "") const
voidTObject::MayNotUse(const char* method) const
virtual Bool_tTObject::Notify()
voidTObject::Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) const
Bool_tOpen()
static voidTObject::operator delete(void* ptr)
static voidTObject::operator delete(void* ptr, void* vp)
static voidTObject::operator delete[](void* ptr)
static voidTObject::operator delete[](void* ptr, void* vp)
void*TObject::operator new(size_t sz)
void*TObject::operator new(size_t sz, void* vp)
void*TObject::operator new[](size_t sz)
void*TObject::operator new[](size_t sz, void* vp)
TMrbSerialComm&operator=(const TMrbSerialComm&)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidPrint() const
virtual voidPrint(Option_t* Option) const
virtual Int_tTObject::Read(const char* name)
Int_tReadData(TString& Data)
Int_tReadDataRaw(UChar_t* Data, Int_t nbytes)
virtual voidTObject::RecursiveRemove(TObject* obj)
voidTObject::ResetBit(UInt_t f)
voidResetDtr()
voidResetRts()
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(ostream& out, Option_t* option = "")
voidSetBaudRate(Int_t BaudRate)
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
voidSetBits(Int_t DataBits, Int_t StopBits)
voidSetDelay(Double_t Delay)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
voidSetDtr()
voidSetLineTerm1(Char_t Term)
voidSetLineTerm2(Char_t Term)
Bool_tSetModemBaudRate(Int_t baudrate = 0)
virtual voidTNamed::SetName(const char* name)MENU
virtual voidTNamed::SetNameTitle(const char* name, const char* title)
static voidTObject::SetObjectStat(Bool_t stat)
voidSetParity(TMrbSerialComm::EMrbParity Parity)
voidSetPostfix(const Char_t* Postfix, Bool_t CrFlag = kTRUE)
voidSetPrefix(const Char_t* Prefix)
Bool_tSetRaw()
voidSetRts()
voidSetRtsAndDtr()
Bool_tSetSpaceParity()
virtual voidTNamed::SetTitle(const char* title = "")MENU
virtual voidTObject::SetUniqueID(UInt_t uid)
voidSetup(Int_t BaudRate, Int_t NofDataBits = 8, TMrbSerialComm::EMrbParity Parity = kMrbParityNone, Int_t NofStopBits = 1, Bool_t UseRtsCts = kFALSE, Bool_t IgnoreCR = kTRUE)
virtual voidShowMembers(TMemberInspector&)
virtual Int_tTNamed::Sizeof() const
virtual voidStreamer(TBuffer&)
voidStreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_b)
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
voidToggleDtr()
virtual voidTObject::UseCurrentStyle()
voidUseRtsCts(Bool_t Flag)
virtual voidTObject::Warning(const char* method, const char* msgfmt) const
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0)
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const
Int_tWriteData(const Char_t* Data)
Int_tWriteDataRaw(const UChar_t* Data, Int_t nbytes)
Int_tWriteSingleBytes(const Char_t* Data, Double_t Delay = -1)
Int_tWriteWithDelay(const Char_t* Data, Double_t Delay = -1)
protected:
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
const Char_t*MakePrintable(TString& PrintString, const Char_t* String) const
voidTObject::MakeZombie()

Data Members

public:
enum EMrbParity { kMrbParityNone
kMrbParityOdd
kMrbParityEven
};
enum TObject::EStatusBits { kCanDelete
kMustCleanup
kObjInCanvas
kIsReferenced
kHasUUID
kCannotPick
kNoContextMenu
kInvalidObject
};
enum TObject::[unnamed] { kIsOnHeap
kNotDeleted
kZombie
kBitMask
kSingleKey
kOverwrite
kWriteDelete
};
protected:
Int_tfBaudRatebaud rate
Int_tfBytesReceivedtotal of bytes received
Int_tfBytesTransmitted... transmitted
Double_tfDelaydelay [s]
Int_tfFdi/o channel id from open(2)
Bool_tfIgnoreCRkTRUE if <CR> to be ignored
Char_tfLineTerm1line termination
Char_tfLineTerm2...
TStringTNamed::fNameobject identifier
void*fNewTIO! new settings
Int_tfNofDataBitsnumber of data bits
Int_tfNofStopBitsnumber of stop bits
void*fOldTIO! old settings will be saved here
TMrbSerialComm::EMrbParityfParityparity settings
TStringfPostfixsend postfix
TStringfPrefixsend prefix
TStringTNamed::fTitleobject title
Bool_tfUseRtsCtskTRUE if RTS/CTS to be used

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

TMrbSerialComm()
{}
TMrbSerialComm(const Char_t* Device)
virtual ~TMrbSerialComm()
{ this->Close(); }
void Setup(Int_t BaudRate, Int_t NofDataBits = 8, TMrbSerialComm::EMrbParity Parity = kMrbParityNone, Int_t NofStopBits = 1, Bool_t UseRtsCts = kFALSE, Bool_t IgnoreCR = kTRUE)
Bool_t Close()
Int_t ReadData(TString& Data)
Int_t WriteData(const Char_t* Data)
Int_t WriteSingleBytes(const Char_t* Data, Double_t Delay = -1)
Int_t WriteWithDelay(const Char_t* Data, Double_t Delay = -1)
void UseRtsCts(Bool_t Flag)
{ fUseRtsCts = Flag; }
void IgnoreCR(Bool_t Flag)
{ fIgnoreCR = Flag; }
void SetBaudRate(Int_t BaudRate)
{ fBaudRate = BaudRate; }
void SetBits(Int_t DataBits, Int_t StopBits)
{ fNofDataBits = DataBits; fNofStopBits = StopBits; }
void SetParity(TMrbSerialComm::EMrbParity Parity)
{ fParity = Parity; }
void SetDelay(Double_t Delay)
{ fDelay = Delay; }
void SetLineTerm1(Char_t Term)
{ fLineTerm1 = Term; }
void SetLineTerm2(Char_t Term)
{ fLineTerm2 = Term; }
void SetPrefix(const Char_t* Prefix)
{ fPrefix = Prefix; }
void SetPostfix(const Char_t* Postfix, Bool_t CrFlag = kTRUE)
{ fPostfix = Postfix; if (CrFlag) fPostfix += "\r"; }
const Char_t * GetPort() const
{ return(this->GetTitle()); }
Bool_t IsOpen() const
{ return(fFd != -1); }
void Print(Option_t* Option) const
{ TObject::Print(Option); }
void Print() const
void Help()
{ gSystem->Exec(Form("mrbHelp %s", this->ClassName())); }
Int_t ReadDataRaw(UChar_t* Data, Int_t nbytes)
Int_t WriteDataRaw(const UChar_t* Data, Int_t nbytes)
Bool_t GetDsr()
Bool_t GetDtr()
void SetDtr()
void ResetDtr()
Bool_t GetCts()
Bool_t GetRts()
void SetRts()
void ResetRts()
void SetRtsAndDtr()
void ToggleDtr()
Bool_t SetModemBaudRate(Int_t baudrate = 0)
Bool_t SetRaw()
Bool_t SetSpaceParity()
const Char_t * MakePrintable(TString& PrintString, const Char_t* String) const