JeVoisBase
1.22
JeVois Smart Embedded Machine Vision Toolkit Base Modules
|
|
This is a burn test: run the quad-core saliency demo while also loading up CPU, GPU and NEON in the background. More...
Public Member Functions | |
BurnTest (std::string const &instance) | |
Constructor. | |
void | postInit () override |
Set our GPU program after we are fully constructed and our Component path has been set. | |
void | postUninit () override |
Kill our external processes on uninit. | |
virtual | ~BurnTest () |
Virtual destructor for safe inheritance. | |
virtual void | process (jevois::InputFrame &&inframe, jevois::OutputFrame &&outframe) override |
Processing function. | |
Public Member Functions inherited from jevois::Module | |
Module (std::string const &instance) | |
virtual | ~Module () |
virtual void | process (InputFrame &&inframe) |
virtual void | process (InputFrame &&inframe, GUIhelper &helper) |
virtual void | sendSerial (std::string const &str) |
virtual void | parseSerial (std::string const &str, std::shared_ptr< UserInterface > s) |
virtual void | supportedCommands (std::ostream &os) |
Public Member Functions inherited from jevois::Component | |
Component (std::string const &instance) | |
virtual | ~Component () |
std::shared_ptr< Comp > | addSubComponent (std::string const &instance, Args &&...args) |
void | removeSubComponent (std::shared_ptr< Comp > &component) |
void | removeSubComponent (std::string const &instance, bool warnIfNotFound=true) |
std::shared_ptr< Comp > | getSubComponent (std::string const &instance) const |
bool | isTopLevel () const |
bool | initialized () const |
std::string const & | className () const |
std::string const & | instanceName () const |
std::vector< std::string > | setParamVal (std::string const ¶mdescriptor, T const &val) |
void | setParamValUnique (std::string const ¶mdescriptor, T const &val) |
std::vector< std::pair< std::string, T > > | getParamVal (std::string const ¶mdescriptor) const |
T | getParamValUnique (std::string const ¶mdescriptor) const |
std::vector< std::string > | setParamString (std::string const ¶mdescriptor, std::string const &val) |
void | setParamStringUnique (std::string const ¶mdescriptor, std::string const &val) |
std::vector< std::pair< std::string, std::string > > | getParamString (std::string const ¶mdescriptor) const |
std::string | getParamStringUnique (std::string const ¶mdescriptor) const |
void | freezeParam (std::string const ¶mdescriptor, bool doit) |
void | freezeAllParams (bool doit) |
std::string | descriptor () const |
void | setParamsFromFile (std::string const &filename) |
std::istream & | setParamsFromStream (std::istream &is, std::string const &absfile) |
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="") |
void | foreachParam (std::function< void(std::string const &compname, ParameterBase *p)> func, std::string const &cname="") |
std::shared_ptr< DynamicParameter< T > > | addDynamicParameter (std::string const &name, std::string const &description, T const &defaultValue, ParameterCategory const &category) |
std::shared_ptr< DynamicParameter< T > > | addDynamicParameter (std::string const &name, std::string const &description, T const &defaultValue, ValidValuesSpec< T > const &validValuesSpec, ParameterCategory const &category) |
void | setDynamicParameterCallback (std::string const &name, std::function< void(T const &)> cb, bool callnow=true) |
void | removeDynamicParameter (std::string const &name, bool throw_if_not_found=true) |
void | setPath (std::string const &path) |
std::filesystem::path | absolutePath (std::filesystem::path const &path="") |
std::shared_ptr< Comp > | addSubComponent (std::string const &instance, Args &&...args) |
void | removeSubComponent (std::shared_ptr< Comp > &component) |
void | removeSubComponent (std::string const &instance, bool warnIfNotFound=true) |
std::shared_ptr< Comp > | getSubComponent (std::string const &instance) const |
bool | isTopLevel () const |
bool | initialized () const |
std::string const & | className () const |
std::string const & | instanceName () const |
std::vector< std::string > | setParamVal (std::string const ¶mdescriptor, T const &val) |
void | setParamValUnique (std::string const ¶mdescriptor, T const &val) |
std::vector< std::pair< std::string, T > > | getParamVal (std::string const ¶mdescriptor) const |
T | getParamValUnique (std::string const ¶mdescriptor) const |
std::vector< std::string > | setParamString (std::string const ¶mdescriptor, std::string const &val) |
void | setParamStringUnique (std::string const ¶mdescriptor, std::string const &val) |
std::vector< std::pair< std::string, std::string > > | getParamString (std::string const ¶mdescriptor) const |
std::string | getParamStringUnique (std::string const ¶mdescriptor) const |
void | freezeParam (std::string const ¶mdescriptor, bool doit) |
void | freezeAllParams (bool doit) |
std::string | descriptor () const |
void | setParamsFromFile (std::string const &filename) |
std::istream & | setParamsFromStream (std::istream &is, std::string const &absfile) |
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="") |
void | foreachParam (std::function< void(std::string const &compname, ParameterBase *p)> func, std::string const &cname="") |
std::shared_ptr< DynamicParameter< T > > | addDynamicParameter (std::string const &name, std::string const &description, T const &defaultValue, ParameterCategory const &category) |
std::shared_ptr< DynamicParameter< T > > | addDynamicParameter (std::string const &name, std::string const &description, T const &defaultValue, ValidValuesSpec< T > const &validValuesSpec, ParameterCategory const &category) |
void | setDynamicParameterCallback (std::string const &name, std::function< void(T const &)> cb, bool callnow=true) |
void | removeDynamicParameter (std::string const &name, bool throw_if_not_found=true) |
void | setPath (std::string const &path) |
std::filesystem::path | absolutePath (std::filesystem::path const &path="") |
Public Member Functions inherited from jevois::ParameterRegistry | |
virtual | ~ParameterRegistry () |
Protected Attributes | |
std::shared_ptr< Saliency > | itsSaliency |
std::shared_ptr< Kalman2D > | itsKF |
jevois::Timer | itsTimer |
std::future< void > | itsGPUfut |
std::shared_ptr< FilterGPU > | itsFilter |
cv::Mat | itsGrayImg |
std::future< void > | itsNEONfut |
cv::Mat | itsRGBAimg |
std::atomic< bool > | itsRunning |
Additional Inherited Members | |
Protected Member Functions inherited from jevois::Component | |
virtual void | preInit () |
virtual void | preUninit () |
virtual void | preInit () |
virtual void | preUninit () |
Protected Member Functions inherited from jevois::ParameterRegistry | |
void | addParameter (ParameterBase *const param) |
void | removeParameter (ParameterBase *const param) |
void | callbackInitCall () |
This is a burn test: run the quad-core saliency demo while also loading up CPU, GPU and NEON in the background.
This burn test exercises all aspects of your JeVois smart camera to the maximum, namely:
This burn test is useful to test JeVois hardware for any malfunction. It should run forever without crashing on JeVois hardware. Demo display layout and markings are the same as for the DemoSaliency module.
This burn test is one of the tests that every JeVois camera produced is tested with at the factory, before the unit is shipped out.
Select the burntest video mode (note that it is 640x300 @ 10fps, while the default MicroSD card also includes a mode with 640x300 @ 60fps that runs the DemoSaliency module instead). You need to activate it (remove the leading # sign) in JEVOIS:/config/videomappings.cfg as it is disabled by default. Observe the CPU temperature at the bottom of the live video window. If it ever reaches 75C (which it should not under normal conditions given the high power fan on the JeVois smart camera), the CPU frequency shown next to the temperature will drop down below 1344 MHz, and will then come back up as the CPU temperature drops below 75C.
Connect your JeVois camera to your host computer through a USB Tester device that measures voltage, current, and power. You should reach about 3.7 Watts under the burn test, which is the maximum we have ever been able to achieve with a JeVois unit.
Definition at line 88 of file BurnTest.C.
|
inline |
Constructor.
Definition at line 92 of file BurnTest.C.
References itsFilter, itsKF, and itsSaliency.
|
inlinevirtual |
Virtual destructor for safe inheritance.
Definition at line 121 of file BurnTest.C.
|
inlineoverridevirtual |
Set our GPU program after we are fully constructed and our Component path has been set.
Reimplemented from jevois::Component.
Definition at line 101 of file BurnTest.C.
References itsFilter, and itsRunning.
|
inlineoverridevirtual |
Kill our external processes on uninit.
Reimplemented from jevois::Component.
Definition at line 110 of file BurnTest.C.
References itsGPUfut, itsNEONfut, and itsRunning.
|
inlineoverridevirtual |
Processing function.
Reimplemented from jevois::Module.
Definition at line 124 of file BurnTest.C.
References jevois::async(), jevois::rawimage::convertToCvGray(), jevois::rawimage::convertToCvRGBA(), jevois::rawimage::drawCircle(), jevois::rawimage::drawFilledRect(), drawGist(), drawMap(), jevois::rawimage::drawRect(), h, jevois::RawImage::height, itsFilter, itsGPUfut, itsGrayImg, itsKF, itsNEONfut, itsRGBAimg, itsRunning, itsSaliency, itsTimer, jevois::yuyv::LightGreen, jevois::rawimage::paste(), jevois::RawImage::require(), jevois::Timer::start(), jevois::Timer::stop(), jevois::yuyv::White, jevois::RawImage::width, and jevois::rawimage::writeText().
|
protected |
Definition at line 291 of file BurnTest.C.
Referenced by BurnTest(), postInit(), and process().
|
protected |
Definition at line 290 of file BurnTest.C.
Referenced by postUninit(), and process().
|
protected |
Definition at line 292 of file BurnTest.C.
Referenced by process().
|
protected |
Definition at line 288 of file BurnTest.C.
Referenced by BurnTest(), and process().
|
protected |
Definition at line 293 of file BurnTest.C.
Referenced by postUninit(), and process().
|
protected |
Definition at line 294 of file BurnTest.C.
Referenced by process().
|
protected |
Definition at line 295 of file BurnTest.C.
Referenced by postInit(), postUninit(), and process().
|
protected |
Definition at line 287 of file BurnTest.C.
Referenced by BurnTest(), and process().
|
protected |
Definition at line 289 of file BurnTest.C.
Referenced by process().