diff --git a/doc/CHANGELOG.md b/doc/CHANGELOG.md index 25d4ab92..df52ee44 100644 --- a/doc/CHANGELOG.md +++ b/doc/CHANGELOG.md @@ -17,7 +17,15 @@ software or firmware builds or that the documentation is consistent. The full set of tests is only run for tagged releases._ ### Summary -- 23 line interrupt mapper now for full system configuration +- use Rtime; drop Rtools::TimeOfDayAsDouble() +- probe/setup auxilliary devices: kw11l,kw11p,iist +- librw11/Rw11Cpu: add ModLalh() +- librtools/Rstats: add IncLogHist() and fix + and * operator definition +- add Rtime support in RtclGet/RtclSet +- add librtools/Rtime: class for absolute and delta times +- use -std=c++11 (gcc 4.7 or later) +- update probe handling: add probe data, make it tcl getable +- 23 line interrupt mapper for full system configuration - man pages now [available online](http://www.retro11.de/manp/w11/man/cat1/). - add `sysmon_rbus` in `sys_tst_sram_n4` - Auto-dection of Digilent boards with `FT2232HQ` interface for diff --git a/tools/src/librw11/Rw11CntlDL11.cpp b/tools/src/librw11/Rw11CntlDL11.cpp index 8a6d6e44..7aed673c 100644 --- a/tools/src/librw11/Rw11CntlDL11.cpp +++ b/tools/src/librw11/Rw11CntlDL11.cpp @@ -1,6 +1,6 @@ -// $Id: Rw11CntlDL11.cpp 659 2015-03-22 23:15:51Z mueller $ +// $Id: Rw11CntlDL11.cpp 855 2017-02-25 16:30:37Z mueller $ // -// Copyright 2013-2014 by Walter F.J. Mueller +// Copyright 2013-2017 by Walter F.J. Mueller // // This program is free software; you may redistribute and/or modify it under // the terms of the GNU General Public License as published by the Free @@ -13,6 +13,7 @@ // // Revision History: // Date Rev Version Comment +// 2017-02-25 855 1.2.1 shorten ctor code; RcvNext() --> RcvQueueNext() // 2014-12-30 625 1.2 adopt to Rlink V4 attn logic // 2014-12-25 621 1.1 adopt to 4k word ibus window and // 2013-05-04 516 1.0.2 add RxRlim support (receive interrupt rate limit) @@ -23,7 +24,7 @@ /*! \file - \version $Id: Rw11CntlDL11.cpp 659 2015-03-22 23:15:51Z mueller $ + \version $Id: Rw11CntlDL11.cpp 855 2017-02-25 16:30:37Z mueller $ \brief Implemenation of Rw11CntlDL11. */ @@ -80,9 +81,7 @@ Rw11CntlDL11::Rw11CntlDL11() fRxRlim(0) { // must be here because Units have a back-ptr (not available at Rw11CntlBase) - for (size_t i=0; iRcvNext(); + uint8_t ichr = fspUnit[0]->RcvQueueNext(); clist.Clear(); Cpu().AddWibr(clist, fBase+kRBUF, ichr); Server().Exec(clist); @@ -252,7 +251,7 @@ int Rw11CntlDL11::AttnHandler(RlinkServer::AttnArgs& args) } if (rrdy && !fspUnit[0]->RcvQueueEmpty()) { - uint8_t ichr = fspUnit[0]->RcvNext(); + uint8_t ichr = fspUnit[0]->RcvQueueNext(); RlinkCommandList clist; Cpu().AddWibr(clist, fBase+kRBUF, ichr); Server().Exec(clist); diff --git a/tools/src/librw11/Rw11CntlLP11.cpp b/tools/src/librw11/Rw11CntlLP11.cpp index 4378cb8f..9045bd46 100644 --- a/tools/src/librw11/Rw11CntlLP11.cpp +++ b/tools/src/librw11/Rw11CntlLP11.cpp @@ -1,6 +1,6 @@ -// $Id: Rw11CntlLP11.cpp 659 2015-03-22 23:15:51Z mueller $ +// $Id: Rw11CntlLP11.cpp 856 2017-02-25 20:09:10Z mueller $ // -// Copyright 2013-2014 by Walter F.J. Mueller +// Copyright 2013-2017 by Walter F.J. Mueller // // This program is free software; you may redistribute and/or modify it under // the terms of the GNU General Public License as published by the Free @@ -13,6 +13,7 @@ // // Revision History: // Date Rev Version Comment +// 2017-02-25 855 1.2.1 shorten ctor code // 2014-12-30 625 1.2 adopt to Rlink V4 attn logic // 2014-12-25 621 1.1 adopt to 4k word ibus window // 2013-05-04 515 1.0 Initial version @@ -21,7 +22,7 @@ /*! \file - \version $Id: Rw11CntlLP11.cpp 659 2015-03-22 23:15:51Z mueller $ + \version $Id: Rw11CntlLP11.cpp 856 2017-02-25 20:09:10Z mueller $ \brief Implemenation of Rw11CntlLP11. */ @@ -70,9 +71,7 @@ Rw11CntlLP11::Rw11CntlLP11() fPC_buf(0) { // must be here because Units have a back-ptr (not available at Rw11CntlBase) - for (size_t i=0; i // @@ -20,15 +20,13 @@ /*! \file - \version $Id: Rw11UnitDL11.hpp 504 2013-04-13 15:37:24Z mueller $ + \version $Id: Rw11UnitDL11.hpp 856 2017-02-25 20:09:10Z mueller $ \brief Declaration of class Rw11UnitDL11. */ #ifndef included_Retro_Rw11UnitDL11 #define included_Retro_Rw11UnitDL11 1 -#include "Rw11VirtTerm.hpp" - #include "Rw11UnitTermBase.hpp" namespace Retro { diff --git a/tools/src/librw11/Rw11UnitLP11.hpp b/tools/src/librw11/Rw11UnitLP11.hpp index 51d47ef5..324cdd4b 100644 --- a/tools/src/librw11/Rw11UnitLP11.hpp +++ b/tools/src/librw11/Rw11UnitLP11.hpp @@ -1,4 +1,4 @@ -// $Id: Rw11UnitLP11.hpp 515 2013-05-04 17:28:59Z mueller $ +// $Id: Rw11UnitLP11.hpp 856 2017-02-25 20:09:10Z mueller $ // // Copyright 2013- by Walter F.J. Mueller // @@ -19,15 +19,13 @@ /*! \file - \version $Id: Rw11UnitLP11.hpp 515 2013-05-04 17:28:59Z mueller $ + \version $Id: Rw11UnitLP11.hpp 856 2017-02-25 20:09:10Z mueller $ \brief Declaration of class Rw11UnitLP11. */ #ifndef included_Retro_Rw11UnitLP11 #define included_Retro_Rw11UnitLP11 1 -#include "Rw11VirtStream.hpp" - #include "Rw11UnitStreamBase.hpp" namespace Retro { diff --git a/tools/src/librw11/Rw11UnitPC11.hpp b/tools/src/librw11/Rw11UnitPC11.hpp index 276d4ca0..9482f583 100644 --- a/tools/src/librw11/Rw11UnitPC11.hpp +++ b/tools/src/librw11/Rw11UnitPC11.hpp @@ -1,4 +1,4 @@ -// $Id: Rw11UnitPC11.hpp 515 2013-05-04 17:28:59Z mueller $ +// $Id: Rw11UnitPC11.hpp 856 2017-02-25 20:09:10Z mueller $ // // Copyright 2013- by Walter F.J. Mueller // @@ -19,15 +19,13 @@ /*! \file - \version $Id: Rw11UnitPC11.hpp 515 2013-05-04 17:28:59Z mueller $ + \version $Id: Rw11UnitPC11.hpp 856 2017-02-25 20:09:10Z mueller $ \brief Declaration of class Rw11UnitPC11. */ #ifndef included_Retro_Rw11UnitPC11 #define included_Retro_Rw11UnitPC11 1 -#include "Rw11VirtStream.hpp" - #include "Rw11UnitStreamBase.hpp" namespace Retro { diff --git a/tools/src/librw11/Rw11UnitTerm.cpp b/tools/src/librw11/Rw11UnitTerm.cpp index 69c7c98f..c278a004 100644 --- a/tools/src/librw11/Rw11UnitTerm.cpp +++ b/tools/src/librw11/Rw11UnitTerm.cpp @@ -1,6 +1,6 @@ -// $Id: Rw11UnitTerm.cpp 516 2013-05-05 21:24:52Z mueller $ +// $Id: Rw11UnitTerm.cpp 855 2017-02-25 16:30:37Z mueller $ // -// Copyright 2013- by Walter F.J. Mueller +// Copyright 2013-2017 by Walter F.J. Mueller // // This program is free software; you may redistribute and/or modify it under // the terms of the GNU General Public License as published by the Free @@ -13,6 +13,7 @@ // // Revision History: // Date Rev Version Comment +// 2017-02-25 855 1.1.1 RcvNext() --> RcvQueueNext(); WakeupCntl() now pure // 2013-05-03 515 1.1 use AttachDone(),DetachCleanup(),DetachDone() // 2013-04-13 504 1.0 Initial version // 2013-02-19 490 0.1 First draft @@ -20,7 +21,7 @@ /*! \file - \version $Id: Rw11UnitTerm.cpp 516 2013-05-05 21:24:52Z mueller $ + \version $Id: Rw11UnitTerm.cpp 855 2017-02-25 16:30:37Z mueller $ \brief Implemenation of Rw11UnitTerm. */ @@ -119,23 +120,7 @@ void Rw11UnitTerm::SetLog(const std::string& fname) //------------------------------------------+----------------------------------- //! FIXME_docs -bool Rw11UnitTerm::RcvQueueEmpty() -{ - return fRcvQueue.empty(); -} - -//------------------------------------------+----------------------------------- -//! FIXME_docs - -size_t Rw11UnitTerm::RcvQueueSize() -{ - return fRcvQueue.size(); -} - -//------------------------------------------+----------------------------------- -//! FIXME_docs - -uint8_t Rw11UnitTerm::RcvNext() +uint8_t Rw11UnitTerm::RcvQueueNext() { if (RcvQueueEmpty()) return 0; uint8_t ochr = fRcvQueue.front(); @@ -258,14 +243,6 @@ bool Rw11UnitTerm::RcvCallback(const uint8_t* buf, size_t count) //------------------------------------------+----------------------------------- //! FIXME_docs -void Rw11UnitTerm::WakeupCntl() -{ - return; -} - -//------------------------------------------+----------------------------------- -//! FIXME_docs - void Rw11UnitTerm::Dump(std::ostream& os, int ind, const char* text) const { RosFill bl(ind); diff --git a/tools/src/librw11/Rw11UnitTerm.hpp b/tools/src/librw11/Rw11UnitTerm.hpp index 42076fe3..2eab8beb 100644 --- a/tools/src/librw11/Rw11UnitTerm.hpp +++ b/tools/src/librw11/Rw11UnitTerm.hpp @@ -1,6 +1,6 @@ -// $Id: Rw11UnitTerm.hpp 570 2014-07-20 19:05:11Z mueller $ +// $Id: Rw11UnitTerm.hpp 855 2017-02-25 16:30:37Z mueller $ // -// Copyright 2013- by Walter F.J. Mueller +// Copyright 2013-2017 by Walter F.J. Mueller // // This program is free software; you may redistribute and/or modify it under // the terms of the GNU General Public License as published by the Free @@ -13,6 +13,7 @@ // // Revision History: // Date Rev Version Comment +// 2017-02-25 855 1.1.1 RcvNext() --> RcvQueueNext(); WakeupCntl() now pure // 2013-05-03 515 1.1 use AttachDone(),DetachCleanup(),DetachDone() // 2013-04-20 508 1.0.1 add 7bit and non-printable masking; add log file // 2013-04-13 504 1.0 Initial version @@ -22,7 +23,7 @@ /*! \file - \version $Id: Rw11UnitTerm.hpp 570 2014-07-20 19:05:11Z mueller $ + \version $Id: Rw11UnitTerm.hpp 855 2017-02-25 16:30:37Z mueller $ \brief Declaration of class Rw11UnitTerm. */ @@ -56,15 +57,15 @@ namespace Retro { void SetLog(const std::string& fname); const std::string& Log() const; - virtual bool RcvQueueEmpty(); - virtual size_t RcvQueueSize(); - virtual uint8_t RcvNext(); + virtual bool RcvQueueEmpty(); + virtual size_t RcvQueueSize(); + virtual uint8_t RcvQueueNext(); virtual size_t Rcv(uint8_t* buf, size_t count); virtual bool Snd(const uint8_t* buf, size_t count); virtual bool RcvCallback(const uint8_t* buf, size_t count); - virtual void WakeupCntl(); + virtual void WakeupCntl() = 0; virtual void Dump(std::ostream& os, int ind=0, const char* text=0) const; diff --git a/tools/src/librw11/Rw11UnitTerm.ipp b/tools/src/librw11/Rw11UnitTerm.ipp index 4b2bbeea..483aa8d2 100644 --- a/tools/src/librw11/Rw11UnitTerm.ipp +++ b/tools/src/librw11/Rw11UnitTerm.ipp @@ -1,6 +1,6 @@ -// $Id: Rw11UnitTerm.ipp 508 2013-04-20 18:43:28Z mueller $ +// $Id: Rw11UnitTerm.ipp 855 2017-02-25 16:30:37Z mueller $ // -// Copyright 2013- by Walter F.J. Mueller +// Copyright 2013-2017 by Walter F.J. Mueller // // This program is free software; you may redistribute and/or modify it under // the terms of the GNU General Public License as published by the Free @@ -13,6 +13,7 @@ // // Revision History: // Date Rev Version Comment +// 2017-02-25 855 1.0.2 inline RcvQueueEmpty(),RcvQueueSize() // 2013-04-20 508 1.0.1 add 7bit and non-printable masking; add log file // 2013-04-13 504 1.0 Initial version // 2013-03-02 493 0.1 First draft @@ -20,7 +21,7 @@ /*! \file - \version $Id: Rw11UnitTerm.ipp 508 2013-04-20 18:43:28Z mueller $ + \version $Id: Rw11UnitTerm.ipp 855 2017-02-25 16:30:37Z mueller $ \brief Implemenation (inline) of Rw11UnitTerm. */ @@ -86,4 +87,21 @@ inline const std::string& Rw11UnitTerm::Log() const return fLogFname; } +//------------------------------------------+----------------------------------- +//! FIXME_docs + +inline bool Rw11UnitTerm::RcvQueueEmpty() +{ + return fRcvQueue.empty(); +} + +//------------------------------------------+----------------------------------- +//! FIXME_docs + +inline size_t Rw11UnitTerm::RcvQueueSize() +{ + return fRcvQueue.size(); +} + + } // end namespace Retro