JeVois  1.20
JeVois Smart Embedded Machine Vision Toolkit
Share this page:
jevois Namespace Reference

file ICM20648.cpp

section License (C) Copyright 2017 Silicon Labs, http://www.silabs.com

SPDX-License-Identifier: Apache-2.0

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Namespaces

 coords
 
 details
 
 dnn
 
 engine
 
 font
 
 gui
 
 imu
 
 manager
 
 module
 
 python
 
 rawimage
 
 rgb565
 Helper RGB565 colors.
 
 serial
 
 shader
 
 trace
 
 yuyv
 Helper YUYV colors.
 

Classes

class  BoundedBuffer
 Thread-safe synchronized producer/consumer queue. More...
 
class  Camera
 JeVois camera driver class - grabs frames from a Video4Linux camera sensor. More...
 
class  CameraDevice
 Accessory class to hold all the data associated with a V4L2 camera device. More...
 
class  Component
 A component of a model hierarchy. More...
 
struct  DMPdata
 DMP data (Digital Motion Processor) More...
 
class  DynamicLoader
 Class to open shared object (.so) files and load functions contained in them. More...
 
class  DynamicParameter
 Dynamic parameter added to a component at runtime. More...
 
struct  EditorItem
 Helper class to represent a GUIeditor file in a pull-down menu. More...
 
class  Engine
 JeVois processing engine - gets images from camera sensor, processes them, and sends results over USB. More...
 
class  Gadget
 JeVois gadget driver - exposes a uvcvideo interface to host computer connected over USB. More...
 
class  GPUimage
 Class to hold a GPUtexture, GPUprogram, and other data associated with rendering an image in OpenGL. More...
 
class  GPUprogram
 Simple class to load and compile some OpenGL-ES program. More...
 
class  GPUshader
 Simple class to load and compile some OpenGL-ES shader code. More...
 
class  GPUtexture
 Simple class to hold an OpenGL texture. More...
 
class  GPUtextureDmaBuf
 Simple class to hold an OpenGL texture with in-GPU pixel format conversion and DMABUF acceleration. More...
 
class  GUIconsole
 Simple console with coloring and completion. More...
 
class  GUIeditor
 Editor panel for JeVois-Pro GUI. More...
 
class  GUIhelper
 Helper class to assist modules in creating graphical and GUI elements. More...
 
class  GUIhelperPython
 Wrapper around GUIhelper to be used by Python. More...
 
class  ICM20948
 TDK InvenSense ICM-20948 9DOF IMU high-level driver. More...
 
class  ImGuiBackend
 Backend for ImGui on JeVois-Pro. More...
 
class  ImGuiBackendMALI
 BackendMALI for ImGui on JeVois-Pro. More...
 
class  ImGuiImage
 Wrapper for an image that can be rendered into ImGui. More...
 
class  IMU
 Abstract interface to an ICM20948 inertial measurement unit (IMU) More...
 
struct  IMUdata
 IMU data. More...
 
class  IMUi2c
 IMU with I2C interface shared with camera sensor, such as ICM20948 on JeVois-A33 AR0135 camera sensor board. More...
 
struct  IMUrawData
 Raw IMU data. More...
 
class  IMUspi
 IMU with SPI interface, such as the ICM20948 IMU on the JeVois-Pro IMX290 camera sensor board. More...
 
class  InputFrame
 Exception-safe wrapper around a raw camera input frame. More...
 
class  InputFramePython
 Wrapper around InputFrame to be used by Python. More...
 
class  JpegCompressor
 Simple singleton wrapper over a turbojpeg compressor. More...
 
class  Log
 Logger class. More...
 
class  Manager
 Manager of a hierarchy of Component objects. More...
 
class  Module
 Virtual base class for a vision processing module. More...
 
class  MovieInput
 Movie input, can be used as a replacement for Camera to debug algorithms using a fixed video sequence. More...
 
class  MovieOutput
 Video output to a movie file, using OpenCV video encoding. More...
 
struct  ObjDetect
 A trivial struct to store object detection results. More...
 
struct  ObjReco
 A trivial struct to store object recognition results. More...
 
class  OutputFrame
 Exception-safe wrapper around a raw image to be sent over USB. More...
 
class  OutputFramePython
 Wrapper around OutputFrame to be used by Python. More...
 
class  Parameter< Param, Tail ... >
 A set of Parameters attached to a component. More...
 
class  ParameterBase
 Base class for Parameter. More...
 
struct  ParameterCategory
 A category to which multiple ParameterDef definitions can belong. More...
 
class  ParameterCore
 A changeable parameter for a Component, core class. More...
 
class  ParameterDef
 A Parameter Definition. More...
 
class  ParameterDefBase
 Base class for a Parameter definition. More...
 
class  ParameterRegistry
 A simple registry of all parameters associated with a Component. More...
 
class  ParameterSummary
 ParameterSummary provides a summary about a parameter. More...
 
class  Profiler
 Simple profiler class. More...
 
class  PythonModule
 Wrapper module to allow users to develop new modules written in Python. More...
 
class  PythonParameter
 Wrapper for jevois Parameter in python. More...
 
class  PythonWrapper
 Helper class to run python code from C++. More...
 
class  Range
 A generic range class. More...
 
class  RawImage
 A raw image as coming from a V4L2 Camera and/or being sent out to a USB Gadget. More...
 
class  Semaphore
 A simple semaphore. More...
 
class  Serial
 Interface to a serial port. More...
 
class  Singleton
 A generic singleton class to enforce a single instance of an object. More...
 
class  StdioInterface
 String-based user interface, simple terminal input/output to use on host. More...
 
class  StdModule
 Base class for a module that supports standardized serial messages. More...
 
class  StepRange
 A generic range class with a step. More...
 
class  ThreadPool
 A thread pool with CPU affinity. More...
 
class  timed_lock_guard
 Acquire a lock object on a std::timed_mutex, or LFATAL after 1 second of waiting. More...
 
class  Timer
 Simple timer class. More...
 
class  TimerOne
 Simple one-shot timer class. More...
 
class  UserInterface
 Abstract base class for a string-based user interface. More...
 
class  ValidValuesSpecBase
 Base class for specifying a set of valid values for a type. More...
 
class  ValidValuesSpecList
 Finite list valid values spec, everything listed at construction is valid, anything else is not. More...
 
class  ValidValuesSpecNone
 Open/None valid values spec, anything that T can take is valid. More...
 
class  ValidValuesSpecRange
 Range-based valid values spec, bounds are included. More...
 
class  ValidValuesSpecRegex
 Regex-based valid values spec, everything that is a match to the regex is considered valid. More...
 
class  ValidValuesSpecStepRange
 StepRange-based valid values spec, bounds are included. More...
 
class  VideoBuf
 A V4L2 video buffer, to be held in a shared_ptr. More...
 
class  VideoBuffers
 Collection of buffers for V4L2 video frames (Camera or Gadget) with hooks to the MMAP'd areas. More...
 
class  VideoDisplay
 Video output to local screen. More...
 
class  VideoDisplayBackend
 Backend for VideoDisplay on JeVois-Pro. More...
 
class  VideoDisplayBackendMALI
 Backend for VideoDisplay on JeVois-Pro host using MALI. More...
 
class  VideoDisplayGL
 Video output to local screen. More...
 
class  VideoDisplayGUI
 Video output to local screen with basic GUI. More...
 
class  VideoInput
 Base class for video input, which will get derived into Camera and MovieInput. More...
 
class  VideoOutput
 Base class for video output. Gadget, MovieOutput, VideoDisplay, and VideoOutputNone derive from it. More...
 
class  VideoOutputNone
 No-op VideoOutput derivative for when there is no video output. More...
 
class  Watchdog
 Simple watchdog class. More...
 

Typedefs

using OptGUIhelper = GUIhelper
 

Enumerations

enum  EditorSaveAction
 Helper enum for actions to execute after saving a config file. More...
 
enum  BlockingBehavior { BlockingBehavior::Block, BlockingBehavior::Throw }
 Behavior when attemting an operation that cannot be completed immediately. More...
 

Functions

template<typename T >
void paramValToString (T const &val, std::string &result)
 Machine-readable conversion of T to a string, for use in jevois::Parameter. More...
 
template<>
void paramValToString< unsigned char > (unsigned char const &val, std::string &result)
 Machine-readable conversion of T to a string, specialization to convert unsigned char to number, not character. More...
 
template<typename T >
void paramStringToVal (std::string const &valstring, T &result)
 Machine-readable conversion from string to T, for use in jevois::Parameter. More...
 
template<typename Q >
void paramValToString (std::vector< Q > const &val, std::string &result)
 Machine-readable output to a string, for use in jevois::Parameter: outputs [Element1, Element2, ...]. More...
 
template<typename Q >
void paramStringToVal (std::string const &valstring, std::vector< Q > &result)
 Machine-readable input from a string, for use in jevois::Parameter: reads [Element1, Element2, ...]. More...
 
template<typename F , typename S >
void paramValToString (std::pair< F, S > const &val, std::string &result)
 Machine-readable output to a string, for use in jevois::Parameter: outputs first second. More...
 
template<typename F , typename S >
void paramStringToVal (std::string const &valstring, std::pair< F, S > &result)
 Machine-readable input from a string, for use in jevois::Parameter: reads first second. More...
 
template<typename T >
void paramValToString (cv::Point_< T > const &val, std::string &result)
 Machine-readable output to a string, for use in jevois::Parameter: outputs x y. More...
 
template<typename T >
void paramStringToVal (std::string const &valstring, cv::Point_< T > &result)
 Machine-readable input from a string, for use in jevois::Parameter: reads x y. More...
 
template<typename T >
void paramValToString (cv::Size_< T > const &val, std::string &result)
 Machine-readable output to a string, for use in jevois::Parameter: outputs width height. More...
 
template<typename T >
void paramStringToVal (std::string const &valstring, cv::Size_< T > &result)
 Machine-readable input from a string, for use in jevois::Parameter: reads width height. More...
 
template<typename T >
void paramValToString (cv::Scalar_< T > const &val, std::string &result)
 Machine-readable output to a string, for use in jevois::Parameter: outputs r g b a. More...
 
template<typename T >
void paramStringToVal (std::string const &valstring, cv::Scalar_< T > &result)
 Machine-readable input from a string, for use in jevois::Parameter: reads r g b a or subsets. More...
 
template<>
void paramValToString< ImColor > (ImColor const &val, std::string &result)
 Machine-readable output to a string, for use in jevois::Parameter: outputs R G B A, each 0..255. More...
 
template<>
void paramStringToVal< ImColor > (std::string const &valstring, ImColor &result)
 Machine-readable input from a string, for use in jevois::Parameter: reads R G B A, each 0..255. More...
 
template<typename K , typename V >
void paramValToString (std::map< K, V > const &val, std::string &result)
 Machine-readable output to a string, for use in jevois::Parameter: outputs [Key1:Value1, Key2:Value2, ...]. More...
 
template<typename K , typename V >
void paramStringToVal (std::string const &valstring, std::map< K, V > &result)
 Machine-readable input from a string, for use in jevois::Parameter: reads [Key1:Value1, Key2:Value2, ...]. More...
 
template<>
void paramValToString< bool > (bool const &val, std::string &result)
 Machine-readable conversion of bool to a string, for use in jevois::Parameter. More...
 
template<>
void paramStringToVal< bool > (std::string const &valstring, bool &result)
 Machine-readable conversion from string to bool, for use in jevois::Parameter. More...
 
template<>
void paramValToString< std::string > (std::string const &val, std::string &result)
 Machine-readable conversion of string to a string, for use in jevois::Parameter. More...
 
template<>
void paramStringToVal< std::string > (std::string const &valstring, std::string &result)
 Machine-readable conversion from string to string, for use in jevois::Parameter. More...
 
 JEVOIS_DEFINE_ENUM_CLASS (CameraSensor,(any)(imx290)(os08a10)(ar0234))
 Enum for different sensor models. More...
 
bool sensorSupportsFormat (CameraSensor s, VideoMapping const &m)
 Check whether a given resolution and frame rate is supported by a sensor. More...
 
bool sensorHasIMU (CameraSensor s)
 Check whether sensor has an IMU (inertial measurement unit) More...
 
void sensorPrepareSetFormat (CameraSensor s, VideoMapping const &m, unsigned int &capw, unsigned int &caph, int &preset)
 Load a sensor preset (JeVois-Pro only) and return native sensor grab dims (when cropping and/or scaling) More...
 
size_t DMPpacketSize (unsigned short ctl1, unsigned short ctl2)
 Helper function to determine DMP packet size depending on options. More...
 
() Scale() Crop (CropScale)) struct VideoMapping
 Simple struct to hold video mapping definitions for the processing Engine. More...
 
void warnAndRethrowException (std::string const &prefix="")
 Convenience function to catch an exception, issue some LERROR (depending on type), and rethrow it. More...
 
std::string warnAndIgnoreException (std::string const &prefix="")
 Convenience function to catch an exception, issue some LERROR (depending on type), and ignore it. More...
 
void warnAndRethrowParamCallbackException (std::string const &descriptor, std::string const &strval)
 Convenience function for parameter callback exceptions. More...
 
void drawErrorImage (std::string const &errmsg, RawImage &videoerrimg)
 Display an error message into a RawImage. More...
 
void logSetEngine (Engine *e)
 Set an Engine so that all log messages will be forwarded to its serial ports. More...
 
void logEnd ()
 Terminate log service. More...
 
std::string getPythonExceptionString (boost::python::error_already_set &)
 Python exception translation to string so we can print the traceback to our serlog stream. More...
 
std::string getSysInfoCPU ()
 Get CPU info: frequency, thermal, load. More...
 
std::string getSysInfoMem ()
 Get memory info. More...
 
std::string getSysInfoVersion ()
 Get O.S. version info. More...
 
size_t getNumInstalledTPUs ()
 Get the number of Coral TPUs present on this system. More...
 
size_t getNumInstalledVPUs ()
 Get the number of Myriad-X VPUs present on this system. More...
 
size_t getNumInstalledNPUs ()
 Get the number of JeVois-Pro NPUs present on this system. More...
 
size_t getNumInstalledSPUs ()
 Get the number of Hailo8 SPUs present on this system. More...
 
int getFanSpeed ()
 Get fan speed in percent, only meaningful on JeVois-Pro Platform, all others return 0. More...
 
std::string opengl_error (int err)
 Function to write OpenGL errors in clear witout requiring GLUT. More...
 
void convertYUYVtoYUV422 (unsigned char const *src, int width, int height, unsigned char *dst)
 Helper to convert from packed YUYV to planar YUV422. More...
 
unsigned long compressBGRtoJpeg (unsigned char const *src, int width, int height, unsigned char *dst, int quality=75)
 Compress raw pixel buffer to jpeg. More...
 
void compressBGRtoJpeg (cv::Mat const &src, RawImage &dst, int quality=75)
 Compress a BGR cv::Mat into an output JPEG jevois::RawImage. More...
 
unsigned long compressRGBtoJpeg (unsigned char const *src, int width, int height, unsigned char *dst, int quality=75)
 Compress raw pixel buffer to jpeg. More...
 
void compressRGBtoJpeg (cv::Mat const &src, RawImage &dst, int quality=75)
 Compress a RGB cv::Mat into an output JPEG jevois::RawImage. More...
 
unsigned long compressRGBAtoJpeg (unsigned char const *src, int width, int height, unsigned char *dst, int quality=75)
 Compress raw pixel buffer to jpeg. More...
 
void compressRGBAtoJpeg (cv::Mat const &src, RawImage &dst, int quality=75)
 Compress an RGBA cv::Mat into an output JPEG jevois::RawImage. More...
 
unsigned long compressGRAYtoJpeg (unsigned char const *src, int width, int height, unsigned char *dst, int quality=75)
 Compress raw pixel buffer to jpeg. More...
 
void compressGRAYtoJpeg (cv::Mat const &src, RawImage &dst, int quality=75)
 Compress a Gray cv::Mat into an output JPEG jevois::RawImage. More...
 
cv::Mat rescaleCv (cv::Mat const &img, cv::Size const &newdims)
 Rescale an OpenCV image, choosing the right kind of interpolation. More...
 
template<class Function , class... Args>
std::future< std::invoke_result_t< std::decay_t< Function >, std::decay_t< Args >... > > async (Function &&f, Args &&... args)
 Async execution using a thread pool. More...
 
template<class Function , class... Args>
std::future< std::invoke_result_t< std::decay_t< Function >, std::decay_t< Args >... > > async_little (Function &&f, Args &&... args)
 Async execution using a thread pool. More...
 
template<typename T >
std::vector< T > joinall (std::vector< std::future< T >> &fvec, bool multiline=true)
 Collect results from several async threads that are all returning a T result. More...
 
void joinall (std::vector< std::future< void >> &fvec, bool multiline=true)
 Collect results from several async threads that are all returning a T result. More...
 
bool isInputDevice (int fd)
 Indicate whether this fd (which should be from /dev/input/eventX) is keyboard, mouse, etc. More...
 
int getConsoleFd ()
 Get a file descriptor to the console. More...
 
int getActiveTTY ()
 Get current active tty. More...
 
void muteKeyboard (int tty, int &kb_mode)
 Prevent keystrokes from reaching the tty. More...
 
void unMuteKeyboard (int tty, int kb_mode)
 Restore the keyboard mode for given tty. More...
 
std::string demangle (std::string const &mangledName)
 Demangle a mangled name. More...
 
std::string demangle (char const *mangledName)
 Demangle a mangled name. More...
 
template<typename T >
std::string demangledName ()
 Get the demangled type name of type T. More...
 
template<>
std::string demangledName< std::string > ()
 Specialization for std::string to avoid getting an ugly name. More...
 
std::string fccstr (unsigned int fcc)
 Convert a V4L2 four-cc code (V4L2_PIX_FMT_...) to a 4-char string. More...
 
std::string cvtypestr (unsigned int cvtype)
 Convert cv::Mat::type() code to to a string (e.g., CV_8UC1, CV_32SC3, etc) More...
 
unsigned int cvBytesPerPix (unsigned int cvtype)
 Return the number of bytes per pixel for a given OpenCV pixel type. More...
 
unsigned int strfcc (std::string const &str)
 Convert a JeVois video format string to V4L2 four-cc code (V4L2_PIX_FMT_...) More...
 
unsigned int v4l2BytesPerPix (unsigned int fcc)
 Return the number of bytes per pixel for a given V4L2_PIX_FMT_... More...
 
unsigned int v4l2ImageSize (unsigned int fcc, unsigned int width, unsigned int height)
 Return the image size in bytes for a given V4L2_PIX_FMT_..., width, height. More...
 
unsigned int blackColor (unsigned int fcc)
 Return a value that corresponds to black for the given video format. More...
 
unsigned int whiteColor (unsigned int fcc)
 Return a value that corresponds to white for the given video format. More...
 
void applyLetterBox (unsigned int &imw, unsigned int &imh, unsigned int const winw, unsigned int const winh, bool noalias)
 Apply a letterbox resizing to fit an image into a window. More...
 
std::vector< std::string > split (std::string const &input, std::string const &regex="\\s+")
 Split string into vector of tokens using a regex to specify what to split on; default regex splits by whitespace. More...
 
std::string join (std::vector< std::string > const &strings, std::string const &delimiter)
 Concatenate a vector of tokens into a string. More...
 
bool stringStartsWith (std::string const &str, std::string const &prefix)
 Return true if str starts with prefix (including if both strings are equal) More...
 
std::string replaceWhitespace (std::string const &str, char rep='_')
 Replace white space characters in a string with underscore (default) or another character. More...
 
std::string strip (std::string const &str)
 Strip white space (including CR, LF, tabs, etc) from the end of a string. More...
 
std::string extractString (std::string const &str, std::string const &startsep, std::string const &endsep)
 Extract a portion of a string between two delimiters. More...
 
size_t replaceStringFirst (std::string &str, std::string const &from, std::string const &to)
 Replace first instance of 'from' with 'to'. More...
 
size_t replaceStringAll (std::string &str, std::string const &from, std::string const &to)
 Replace all instances of 'from' with 'to'. More...
 
std::string replaceAll (std::string const &str, std::string const &from, std::string const &to)
 Replace all instances of 'from' with 'to'. More...
 
std::string tolower (std::string const &str)
 Convert string to lowercase. More...
 
std::filesystem::path absolutePath (std::filesystem::path const &root, std::filesystem::path const &path)
 Compute an absolute path from two paths. More...
 
std::string sformat (char const *fmt,...) __attribute__((format(__printf__
 Create a string using printf style arguments. More...
 
template<typename T >
std::string T from_string (std::string const &str)
 Convert from string to a type. More...
 
template<typename T >
std::string to_string (T const &val)
 Convert from type to string. More...
 
template<typename dest_type , typename source_type >
dest_type clamped_convert (source_type source)
 Clamped numerical conversion. More...
 
void flushcache ()
 Flush the caches, may sometimes be useful when running the camera in turbo mode. More...
 
std::string system (std::string const &cmd, bool errtoo=true)
 Execute a command and grab stdout output to a string. More...
 
std::string secs2str (double secs)
 Report a duration given in seconds with variable units (ns, us, ms, or s), with precision of 2 decimal points. More...
 
std::string secs2str (std::vector< double > secs)
 Report avg+/-std duration given in seconds with variable units (ns, us, ms, or s), with 1 decimal point. More...
 
void secs2str (std::ostringstream &ss, double secs)
 Report a duration given in seconds with variable units (ns, us, ms, or s) More...
 
std::string num2str (double n)
 Report a number with variable multipliers (K, M, G, T, P, E, Z, Y), with precision of 2 decimal points. More...
 
void num2str (std::ostringstream &ss, double n)
 Report a number with variable multipliers (K, M, G, T, P, E, Z, Y) More...
 
std::string getFileString (char const *fname, int skip=0)
 Read one line from a file and return it as a string. More...
 

Variables

int logLevel = LOG_INFO
 Current log level. More...
 
int traceLevel = 0
 Current trace level. More...
 

Typedef Documentation

◆ OptGUIhelper

Definition at line 25 of file GUIhelper.H.

Enumeration Type Documentation

◆ EditorSaveAction

enum EditorSaveAction
related

Helper enum for actions to execute after saving a config file.

Definition at line 34 of file GUIeditor.H.

Function Documentation

◆ drawErrorImage()

void jevois::drawErrorImage ( std::string const &  errmsg,
jevois::RawImage videoerrimg 
)

Display an error message into a RawImage.

The error message should consist of a string where multiple lines may be separated by \n characters, such as the string returned by warnAndIgnoreException(). The message will be written in the image, which should be valid(). This is useful to display module exceptions in the video stream that is sent over USB.

Definition at line 300 of file Log.C.

References jevois::RawImage::clear(), jevois::rawimage::drawDisk(), jevois::rawimage::drawLine(), jevois::RawImage::fmt, jevois::rawimage::Font10x20, jevois::rawimage::Font14x26, jevois::rawimage::Font6x10, jevois::rawimage::Font7x13, jevois::RawImage::height, LERROR, split(), jevois::RawImage::valid(), whiteColor(), jevois::RawImage::width, and jevois::rawimage::writeText().

◆ getFanSpeed()

int jevois::getFanSpeed ( )

Get fan speed in percent, only meaningful on JeVois-Pro Platform, all others return 0.

Definition at line 153 of file SysInfo.C.

References getFileString().

Referenced by jevois::GUIhelper::drawSystem().

◆ getNumInstalledNPUs()

size_t jevois::getNumInstalledNPUs ( )

Get the number of JeVois-Pro NPUs present on this system.

Definition at line 127 of file SysInfo.C.

Referenced by jevois::GUIhelper::drawSystem(), and jevois::dnn::Pipeline::Pipeline().

◆ getNumInstalledSPUs()

size_t jevois::getNumInstalledSPUs ( )

Get the number of Hailo8 SPUs present on this system.

Definition at line 138 of file SysInfo.C.

References getFileString(), and to_string().

Referenced by jevois::GUIhelper::drawSystem(), and jevois::dnn::Pipeline::Pipeline().

◆ getNumInstalledTPUs()

size_t jevois::getNumInstalledTPUs ( )

Get the number of Coral TPUs present on this system.

Definition at line 87 of file SysInfo.C.

References getFileString(), system(), and to_string().

Referenced by jevois::GUIhelper::drawSystem(), and jevois::dnn::Pipeline::Pipeline().

◆ getNumInstalledVPUs()

size_t jevois::getNumInstalledVPUs ( )

Get the number of Myriad-X VPUs present on this system.

Definition at line 112 of file SysInfo.C.

References system().

Referenced by jevois::GUIhelper::drawSystem(), and jevois::dnn::Pipeline::Pipeline().

◆ logEnd()

void jevois::logEnd ( )

Terminate log service.

You must call this once you a ready to end a program, to stop the logger thread. Otherwise the ThreadPool will be stuck with one running thread and will never exit.

Definition at line 125 of file Log.C.

References logSetEngine().

Referenced by main().

◆ opengl_error()

std::string jevois::opengl_error ( int  err)
inline

Function to write OpenGL errors in clear witout requiring GLUT.

Definition at line 60 of file OpenGL.H.