JeVois  1.21
JeVois Smart Embedded Machine Vision Toolkit
Share this page:
Loading...
Searching...
No Matches
jevois::GUIserial Class Reference

#include <jevois/GPU/GUIserial.H>

Simple class to monitor a serial port in the JeVois-Pro GUI.

This class opens a window and displays traffic on a given serial port. Its interface is the same as a regular Serial (or its parent, UserInterface), with the addition of a draw() function to render into a window managed by the caller.

Definition at line 33 of file GUIserial.H.

Inheritance diagram for jevois::GUIserial:
Collaboration diagram for jevois::GUIserial:

Public Member Functions

virtual ~GUIserial ()
 Virtual destructor for safe inheritance.
 
bool readSome (std::string &str) override
 Read some bytes if available, and return true and a string when one is complete.
 
void writeString (std::string const &str) override
 Write a string, using the line termination convention of serial::linestyle.
 
void draw ()
 Render into ImGui.
 
 Serial (std::string const &instance, UserInterface::Type type)
 Inherited constructor ok.
 
- Public Member Functions inherited from jevois::Serial
 Serial (std::string const &instance, UserInterface::Type type)
 Constructor.
 
virtual ~Serial ()
 destructor
 
void setBlocking (bool blocking, std::chrono::milliseconds const &timeout)
 Set the access to blocking or not.
 
void toggleDTR (std::chrono::milliseconds const &dur)
 Set the DTR mode off momentarily.
 
void sendBreak (void)
 transmit continuous stream of zero-valued bits for specific duration.
 
bool readSome (std::string &str) override
 Read some bytes if available, and return true and a string when one is complete.
 
void writeString (std::string const &str) override
 Write a string, using the line termination convention of serial::linestyle.
 
void fileGet (std::string const &abspath)
 Send a file from the local microSD to the host computer.
 
void filePut (std::string const &abspath)
 Receive a file from the host and write it to the local microSD.
 
void flush (void)
 Flush all inputs.
 
UserInterface::Type type () const override
 Return our port type, here Hard or USB.
 
- Public Member Functions inherited from jevois::UserInterface
 UserInterface (std::string const &instance)
 Constructor.
 
virtual ~UserInterface ()
 Destructor.
 
virtual void writeString (std::string const &prefix, std::string const &str)
 Write a string, with a prefix prepended.
 
- Public Member Functions inherited from jevois::Component
 Component (std::string const &instance)
 Constructor.
 
virtual ~Component ()
 Virtual destructor for safe inheritance.
 
template<class Comp , typename... Args>
std::shared_ptr< Comp > addSubComponent (std::string const &instance, Args &&...args)
 Pseudo-constructor: construct and add another component as a subcomponent of this one.
 
template<class Comp >
void removeSubComponent (std::shared_ptr< Comp > &component)
 Remove a sub-Component from this Component, by shared_ptr.
 
void removeSubComponent (std::string const &instance, bool warnIfNotFound=true)
 Remove a sub-Component from this Component, by instance name.
 
template<class Comp = jevois::Component>
std::shared_ptr< Comp > getSubComponent (std::string const &instance) const
 Get a sub-component by instance name.
 
bool isTopLevel () const
 Returns true if this component is top-level, i.e., its parent is jevois::Manager.
 
bool initialized () const
 Has this component been initialized yet?
 
std::string const & className () const
 The class name of this component.
 
std::string const & instanceName () const
 The instance name of this component.
 
template<typename T >
std::vector< std::string > setParamVal (std::string const &paramdescriptor, T const &val)
 Set a parameter value.
 
template<typename T >
void setParamValUnique (std::string const &paramdescriptor, T const &val)
 Set a parameter value, simple version assuming only one parameter match.
 
template<typename T >
std::vector< std::pair< std::string, T > > getParamVal (std::string const &paramdescriptor) const
 Get parameter(s) value(s) by descriptor.
 
template<typename T >
getParamValUnique (std::string const &paramdescriptor) const
 Get a parameter value, simple version assuming only one parameter match.
 
std::vector< std::string > setParamString (std::string const &paramdescriptor, std::string const &val)
 Set a parameter value, by string.
 
void setParamStringUnique (std::string const &paramdescriptor, std::string const &val)
 Set a parameter value by string, simple version assuming only one parameter match.
 
std::vector< std::pair< std::string, std::string > > getParamString (std::string const &paramdescriptor) const
 Get a parameter value, by string.
 
std::string getParamStringUnique (std::string const &paramdescriptor) const
 Get a parameter value by string, simple version assuming only one parameter match.
 
void freezeParam (std::string const &paramdescriptor, bool doit)
 Freeze/unfreeze a parameter, by name, see ParameterBase::freeze()
 
void freezeAllParams (bool doit)
 Freeze all parameters.
 
std::string descriptor () const
 Get our full descriptor (including all parents) as [Instancename]:[...]:[...].
 
void setParamsFromFile (std::string const &filename)
 Set some parameters from a file.
 
std::istream & setParamsFromStream (std::istream &is, std::string const &absfile)
 Set some parameters from an open stream.
 
virtual void paramInfo (std::shared_ptr< UserInterface > s, std::map< std::string, std::string > &categs, bool skipFrozen, std::string const &cname="", std::string const &pfx="")
 Get machine-oriented descriptions of all parameters.
 
void foreachParam (std::function< void(std::string const &compname, ParameterBase *p)> func, std::string const &cname="")
 Run a function on every param we hold.
 
template<typename T >
std::shared_ptr< DynamicParameter< T > > addDynamicParameter (std::string const &name, std::string const &description, T const &defaultValue, ParameterCategory const &category)
 Add a new parameter after the Component has already been constructed.
 
template<typename T , template< typename > class ValidValuesSpec>
std::shared_ptr< DynamicParameter< T > > addDynamicParameter (std::string const &name, std::string const &description, T const &defaultValue, ValidValuesSpec< T > const &validValuesSpec, ParameterCategory const &category)
 Add a new parameter after the Component has already been constructed.
 
template<typename T >
void setDynamicParameterCallback (std::string const &name, std::function< void(T const &)> cb, bool callnow=true)
 Register a callback with a previously created dynamic parameter.
 
void removeDynamicParameter (std::string const &name, bool throw_if_not_found=true)
 Remove a previously added dynamic parameter.
 
void setPath (std::string const &path)
 Assign a filesystem path to this component.
 
std::filesystem::path absolutePath (std::filesystem::path const &path="")
 If given path is relative (not starting with /), prepend the Component path to it.
 
- Public Member Functions inherited from jevois::ParameterRegistry
virtual ~ParameterRegistry ()
 Virtual destructor for safe inheritance.
 

Protected Member Functions

void clear ()
 Clear the contents of the window.
 
- Protected Member Functions inherited from jevois::Serial
void postInit () override
 Called after all sub-Components are init()ed.
 
void postUninit () override
 Called after all sub-Components are uninit()ed.
 
- Protected Member Functions inherited from jevois::Component
virtual void preInit ()
 Called before all sub-Components are init()ed.
 
virtual void preUninit ()
 Called before all sub-Components are uninit()ed.
 
- Protected Member Functions inherited from jevois::ParameterRegistry
void addParameter (ParameterBase *const param)
 The Parameter class uses this method to register itself on construction with its owning Component.
 
void removeParameter (ParameterBase *const param)
 The Parameter class uses this method to un-register itself on destruction with its owning Component.
 
void callbackInitCall ()
 For all parameters that have a callback which has never been called, call it with the default param value.
 

Additional Inherited Members

- Public Types inherited from jevois::UserInterface
enum class  Type { Hard , USB , Stdio , GUI }
 Enum for the interface type. More...
 

Constructor & Destructor Documentation

◆ ~GUIserial()

jevois::GUIserial::~GUIserial ( )
virtual

Virtual destructor for safe inheritance.

Definition at line 23 of file GUIserial.C.

Member Function Documentation

◆ clear()

void jevois::GUIserial::clear ( )
protected

Clear the contents of the window.

Definition at line 126 of file GUIserial.C.

◆ draw()

void jevois::GUIserial::draw ( )

Render into ImGui.

Render into a window that was already opened and will be closed by the caller.

Definition at line 56 of file GUIserial.C.

References jevois::stringStartsWith().

◆ readSome()

bool jevois::GUIserial::readSome ( std::string &  str)
overridevirtual

Read some bytes if available, and return true and a string when one is complete.

If the monitor window is open, anything read will also be displayed in the window.

Implements jevois::UserInterface.

Definition at line 27 of file GUIserial.C.

References jevois::Serial::readSome().

◆ Serial()

jevois::Serial::Serial ( std::string const &  instance,
UserInterface::Type  type 
)

Inherited constructor ok.

Definition at line 91 of file Serial.C.

References SERTHROW.

◆ writeString()

void jevois::GUIserial::writeString ( std::string const &  str)
overridevirtual

Write a string, using the line termination convention of serial::linestyle.

No line terminator should be included in the string, writeString() will add one. If the monitor window is open, anything written will also be displayed in the window.

Implements jevois::UserInterface.

Definition at line 42 of file GUIserial.C.

References jevois::Serial::writeString().


The documentation for this class was generated from the following files: