Tekkotsu Homepage
Demos
Overview
Downloads
Dev. Resources
Reference
Credits

ProjectInterface Namespace Reference

A collection of the global variables which should be set by a project to use the Tekkotsu framework. More...

Functions

void noSendCommandErr (const std::string &cmd)
 default implementation used for sendCommand (just displays a warning and ignores the call)
bool displayException (const char *file, int line, const char *message, const std::exception *ex)
 Displays information about an exception on serr, provides a default value for uncaughtException.
color_index defLookupColorIndexByName (const std::string &name)
 default implementation assigned to lookupColorIndexByName(); checks that defSegmentedColorGenerator is non-NULL and returns getColorIndex on it
color_index defLookupColorIndexByRgb (const rgb rgbval)
 default value initially assigned to lookupColorIndexByRgb(); checks that defSegmentedColorGenerator is non-NULL and returns getColorIndex on it
rgb defLookupColorRGB (color_index cindex)
 default implementation assigned to lookupColorRGB(); checks that defSegmentedColorGenerator is non-NULL and returns getColorRGB on it
const char * defLookupColorName (color_index cindex)
 default implementation assigned to lookupColorName(); checks that defSegmentedColorGenerator is non-NULL and returns getColorName on it
unsigned int defLookupNumColors ()
 default value initially assigned to lookupNumColors(); checks that defSegmentedColorGenerator is non-NULL and returns getNumColors on it
BehaviorBasestartupBehavior ()
 REQUIRED: you must define a behavior which will be started when the boot is complete.
color_index getColorIndex (const std::string &name)
 Returns the index corresponding to a color of specified name by calling lookupColorIndexByName().
color_index getColorIndex (const rgb rgbval)
 Returns the index corresponding to an rgb value by calling lookupColorIndexByRgb().
rgb getColorRGB (const std::string &name)
 Returns rgb value corresponding to a color of specified name by calling lookupColorRGB(lookupColorIndexByName()).
rgb getColorRGB (color_index cindex)
 Returns rgb value corresponding to a color of specified name by calling lookupColorRGB().
const char * getColorName (color_index cindex)
 Returns color name corresponding to specified color index by calling lookupColorName().
const char * getColorName (const rgb rgbval)
 Returns color name corresponding to specified rgb value by calling lookupColorName().
unsigned int getNumColors ()
 Returns the number of colors, obtained from defSegmentedColorGenerator.

Variables

MotionPtr< EmergencyStopMCestopInstance
MotionPtr< EmergencyStopMC > & estop = estopInstance
 The active emergency stop motion command, used by various behaviors and controls to test whether they are in control.
void(* sendCommand )(const std::string &cmd) = noSendCommandErr
 sends a command to the project, allows GUI elements of the framework to send commands to the hardware abstraction layer
bool(* uncaughtException )(const char *file, int line, const char *message, const std::exception *ex) = &displayException
 The exception handler for exceptions which have fallen through to base Tekkotsu functions.
color_index(* lookupColorIndexByName )(const std::string &name) = &defLookupColorIndexByName
 allows you to override how colors are defined -- by default, this will be set to a function which passes the call to defSegmentedColorGenerator
color_index(* lookupColorIndexByRgb )(const rgb rgbval) = &defLookupColorIndexByRgb
 returns color index for color with specified "representitive" RGB color
rgb(* lookupColorRGB )(color_index cindex) = &defLookupColorRGB
 allows you to override how colors are defined -- by default, this will be set to a function which passes the call to defSegmentedColorGenerator
const char *(* lookupColorName )(color_index cindex) = &defLookupColorName
 allows you to override how colors are defined -- by default, this will be set to a function which passes the call to defSegmentedColorGenerator
unsigned int(* lookupNumColors )() = &defLookupNumColors
 returns the number of indexed colors which are currently defined
Vision Setup

A collection of the various stages of vision processing. None of these are absolutely required, but are needed to run included demo behaviors and TekkotsuMon modules

FilterBankGeneratordefRawCameraGenerator = NULL
 pointer to generator
FilterBankGeneratordefRawDepthGenerator = NULL
 pointer to generator
FilterBankGeneratordefInterleavedYUVGenerator = NULL
 pointer to generator
JPEGGeneratordefColorJPEGGenerator = NULL
 pointer to generator
JPEGGeneratordefGrayscaleJPEGGenerator = NULL
 pointer to generator
PNGGeneratordefColorPNGGenerator = NULL
 pointer to generator
PNGGeneratordefGrayscalePNGGenerator = NULL
 pointer to generator
SegmentedColorGeneratordefSegmentedColorGenerator = NULL
 pointer to generator
RLEGeneratordefRLEGenerator = NULL
 pointer to generator
RegionGeneratordefRegionGenerator = NULL
 pointer to generator
Vision SIDs

Default source IDs for the various generators; These are given default values, but you can reassign them if you like.

unsigned int visRawCameraSID = 0
 source id for vision events from the corresponding pipeline stage or object detector
unsigned int visRawDepthSID = 1
 source id for vision events from the corresponding pipeline stage or object detector
unsigned int visInterleaveSID = 0
 source id for vision events from the corresponding pipeline stage or object detector
unsigned int visColorJPEGSID = 0
 source id for vision events from the corresponding pipeline stage or object detector
unsigned int visGrayscaleJPEGSID = 1
 source id for vision events from the corresponding pipeline stage or object detector
unsigned int visColorPNGSID = 0
 source id for vision events from the corresponding pipeline stage or object detector
unsigned int visGrayscalePNGSID = 1
 source id for vision events from the corresponding pipeline stage or object detector
unsigned int visSegmentSID = 0
 source id for vision events from the corresponding pipeline stage or object detector
unsigned int visRLESID = 0
 source id for vision events from the corresponding pipeline stage or object detector
unsigned int visRegionSID = 0
 source id for vision events from the corresponding pipeline stage or object detector
unsigned int visPinkBallSID = 0
 source id for vision events from the corresponding pipeline stage or object detector
unsigned int visBlueBallSID = 1
 source id for vision events from the corresponding pipeline stage or object detector
unsigned int visGreenBallSID = 2
 source id for vision events from the corresponding pipeline stage or object detector
unsigned int visYellowBallSID = 3
 source id for vision events from the corresponding pipeline stage or object detector
unsigned int visOrangeSID = 4
 source id for vision events from the corresponding pipeline stage or object detector
unsigned int visHandSID = visOrangeSID
 synonym for visOrangeSID
Layer Resolutions

Allows you to request a particular layer abstractly - this isn't used by the framework, just a suggestion for clarity

unsigned int doubleLayer = 5
 ERS-2xx: 352*288; ERS-7 416*320 (requires non-trivial computation).
unsigned int fullLayer = 4
 ERS-2xx: 176*144; ERS-7 208*160.
unsigned int halfLayer = 3
 ERS-2xx: 88*72; ERS-7 104*80.
unsigned int quarterLayer = 2
 ERS-2xx: 44*36; ERS-7 52*40.
unsigned int eighthLayer = 1
 ERS-2xx: 22*18; ERS-7 26*20 (simply a bigger interleave referencing quarterLayer).
unsigned int sixteenthLayer = 0
 ERS-2xx: 11*9; ERS-7 13*10 (simply a bigger interleave referencing quarterLayer).

Detailed Description

A collection of the global variables which should be set by a project to use the Tekkotsu framework.

This namespace hold a few variables needed for initialization of the framework, but mainly declares variables which are used by demo behaviors. Although the variables are declared here, and some default values provided, it is up to your project to define the actual values used for your own project. This provides a way to reassign conflicts between values provided by the framework vs. those you might wish to add to your project.

Currently, all required members are references (so they can't be set to NULL and you'll get errors if you leave them out) and all optional settings are pointers so you can ignore them if you want.

The "optional" variables are used by demo behaviors, and thus if you remove all of the demo behaviors, you won't need to define the corresponding interface values here.

If you want to add new ID values for your project, create a new 'globals.h' or some such in your project -- you don't need to add them here since this file is shared by all projects which use the framework, you shouldn't need to modify it for each project.


Function Documentation

color_index ProjectInterface::defLookupColorIndexByName ( const std::string &  name  ) 

default implementation assigned to lookupColorIndexByName(); checks that defSegmentedColorGenerator is non-NULL and returns getColorIndex on it

Definition at line 38 of file ProjectInterface.cc.

color_index ProjectInterface::defLookupColorIndexByRgb ( const rgb  rgbval  ) 

default value initially assigned to lookupColorIndexByRgb(); checks that defSegmentedColorGenerator is non-NULL and returns getColorIndex on it

Definition at line 46 of file ProjectInterface.cc.

const char* ProjectInterface::defLookupColorName ( color_index  cindex  ) 

default implementation assigned to lookupColorName(); checks that defSegmentedColorGenerator is non-NULL and returns getColorName on it

Definition at line 63 of file ProjectInterface.cc.

rgb ProjectInterface::defLookupColorRGB ( color_index  cindex  ) 

default implementation assigned to lookupColorRGB(); checks that defSegmentedColorGenerator is non-NULL and returns getColorRGB on it

Definition at line 55 of file ProjectInterface.cc.

unsigned int ProjectInterface::defLookupNumColors (  ) 

default value initially assigned to lookupNumColors(); checks that defSegmentedColorGenerator is non-NULL and returns getNumColors on it

Definition at line 71 of file ProjectInterface.cc.

bool ProjectInterface::displayException ( const char *  file,
int  line,
const char *  message,
const std::exception *  ex 
)

Displays information about an exception on serr, provides a default value for uncaughtException.

You can call this directly from your own code any time you would like an exception error message.

Parameters:
file The file where the exception was caught (usually just pass __FILE__), or NULL
line The line number where the exception was caught (usually just pass __LINE__), if file is NULL, line is ignored
message An addition message, or NULL
ex The exception which was caught, or NULL if it is was not a std::exception subclass
Returns:
true, indicating the exception was handled adequately
color_index ProjectInterface::getColorIndex ( const rgb  rgbval  ) 

Returns the index corresponding to an rgb value by calling lookupColorIndexByRgb().

Definition at line 103 of file ProjectInterface.h.

const char* ProjectInterface::getColorName ( const rgb  rgbval  ) 

Returns color name corresponding to specified rgb value by calling lookupColorName().

As per SegmentedColorGenerator::getColorName(), if index is not valid, return NULL

Definition at line 117 of file ProjectInterface.h.

const char* ProjectInterface::getColorName ( color_index  cindex  ) 
rgb ProjectInterface::getColorRGB ( color_index  cindex  ) 

Returns rgb value corresponding to a color of specified name by calling lookupColorRGB().

As per SegmentedColorGenerator::getColorRGB(), if index is not valid, return black (rgb())

Definition at line 109 of file ProjectInterface.h.

rgb ProjectInterface::getColorRGB ( const std::string &  name  ) 

Returns rgb value corresponding to a color of specified name by calling lookupColorRGB(lookupColorIndexByName()).

As per SegmentedColorGenerator::getColorRGB(), if name is not valid, return black (rgb())

Definition at line 106 of file ProjectInterface.h.

Referenced by LGmixin::uploadSketch().

unsigned int ProjectInterface::getNumColors (  ) 

Returns the number of colors, obtained from defSegmentedColorGenerator.

Definition at line 121 of file ProjectInterface.h.

Referenced by LGmixin::uploadSketch(), and DualCoding::MapBuilderRequest::validateColors().

void ProjectInterface::noSendCommandErr ( const std::string &  cmd  ) 

default implementation used for sendCommand (just displays a warning and ignores the call)

Definition at line 9 of file ProjectInterface.cc.

BehaviorBase& ProjectInterface::startupBehavior (  ) 

REQUIRED: you must define a behavior which will be started when the boot is complete.

This is similar in idea to the Linux init process - it should do some basic initialization and then launch any other behavior you would like to run at boot. To avoid static initialization ordering issues, this is a function which will be called after environment setup is complete, which should then return a behavior to use as the startup behavior. This behavior should not be reference counted, and probably makes most sense to implement as a static local variable of the function. (Each call should return the same behavior)


Variable Documentation

pointer to generator

Definition at line 86 of file ProjectInterface.cc.

Referenced by CameraBehavior::doEvent(), and LogNode::postStart().

pointer to generator

Definition at line 85 of file ProjectInterface.cc.

Referenced by CameraBehavior::doEvent().

pointer to generator

Definition at line 87 of file ProjectInterface.cc.

Referenced by CameraBehavior::doEvent().

pointer to generator

Definition at line 83 of file ProjectInterface.cc.

Referenced by CameraBehavior::doEvent().

pointer to generator

Definition at line 82 of file ProjectInterface.cc.

pointer to generator

Definition at line 89 of file ProjectInterface.cc.

ERS-2xx: 352*288; ERS-7 416*320 (requires non-trivial computation).

Definition at line 120 of file ProjectInterface.cc.

Referenced by CameraBehavior::doEvent().

ERS-2xx: 22*18; ERS-7 26*20 (simply a bigger interleave referencing quarterLayer).

Definition at line 124 of file ProjectInterface.cc.

The active emergency stop motion command, used by various behaviors and controls to test whether they are in control.

Definition at line 6 of file ProjectInterface.cc.

Referenced by PostureEditor::isEStopped(), EStopController::runCommand(), RunSequenceControl< SequenceSize >::selectedFile(), and LoadPostureControl::selectedFile().

unsigned int ProjectInterface::halfLayer = 3

ERS-2xx: 88*72; ERS-7 104*80.

Definition at line 122 of file ProjectInterface.cc.

Referenced by RawImage::loadFromRawY().

color_index(* ProjectInterface::lookupColorIndexByName)(const std::string &name) = &defLookupColorIndexByName

allows you to override how colors are defined -- by default, this will be set to a function which passes the call to defSegmentedColorGenerator

As per SegmentedColorGenerator::getColorIndex(), if name is not valid, return -1U

Definition at line 43 of file ProjectInterface.cc.

Referenced by getColorIndex(), and getColorRGB().

color_index(* ProjectInterface::lookupColorIndexByRgb)(const rgb rgbval) = &defLookupColorIndexByRgb

returns color index for color with specified "representitive" RGB color

allows you to override how colors are defined -- by default, this will be set to a function which passes the call to defSegmentedColorGenerator

Definition at line 52 of file ProjectInterface.cc.

Referenced by getColorIndex().

const char *(* ProjectInterface::lookupColorName)(color_index cindex) = &defLookupColorName

allows you to override how colors are defined -- by default, this will be set to a function which passes the call to defSegmentedColorGenerator

As per SegmentedColorGenerator::getColorRGB(), if index is not valid, return color 0

Definition at line 68 of file ProjectInterface.cc.

Referenced by getColorName().

rgb(* ProjectInterface::lookupColorRGB)(color_index cindex) = &defLookupColorRGB

allows you to override how colors are defined -- by default, this will be set to a function which passes the call to defSegmentedColorGenerator

As per SegmentedColorGenerator::getColorRGB(), if index is not valid, return black (rgb())

Definition at line 60 of file ProjectInterface.cc.

Referenced by getColorRGB().

unsigned int(* ProjectInterface::lookupNumColors)() = &defLookupNumColors

returns the number of indexed colors which are currently defined

Definition at line 77 of file ProjectInterface.cc.

Referenced by getNumColors().

ERS-2xx: 44*36; ERS-7 52*40.

Definition at line 123 of file ProjectInterface.cc.

void(* ProjectInterface::sendCommand)(const std::string &cmd) = noSendCommandErr

sends a command to the project, allows GUI elements of the framework to send commands to the hardware abstraction layer

Generally commands are assumed to be for the Tekkostu HAL command line, and otherwise this will be left NULL.

Definition at line 12 of file ProjectInterface.cc.

Referenced by ShutdownControl::doSelect(), and Controller::takeLine().

ERS-2xx: 11*9; ERS-7 13*10 (simply a bigger interleave referencing quarterLayer).

Definition at line 125 of file ProjectInterface.cc.

bool(* ProjectInterface::uncaughtException)(const char *file, int line, const char *message, const std::exception *ex) = &displayException

The exception handler for exceptions which have fallen through to base Tekkotsu functions.

You can override this to install your own handler by assigning a new function. This defaults to displayException(), which does not call abort() (which would otherwise be the default if the exception fell through).

Parameters:
file The file where the exception was caught (usually just pass __FILE__), or NULL
line The line number where the exception was caught (usually just pass __LINE__), if file is NULL, line is ignored
message An addition message, or NULL
ex The exception which was caught, or NULL if it is was not a std::exception subclass
Returns:
true if the exception was handled, false if the exception should be rethrown

Definition at line 35 of file ProjectInterface.cc.

Referenced by MotionManager::doAddMotion(), MotionManager::getOutputs(), Wireless::pollProcess(), IPCEventTranslator::post(), EventRouter::PostingStatus::process(), MotionManager::processMsg(), EventRouter::processTimers(), MotionManager::receivedMsg(), and MotionManager::removeMotion().

source id for vision events from the corresponding pipeline stage or object detector

Definition at line 112 of file ProjectInterface.cc.

source id for vision events from the corresponding pipeline stage or object detector

Definition at line 99 of file ProjectInterface.cc.

Referenced by RawCam::doStart(), DepthCam::doStart(), and LogNode::postStart().

source id for vision events from the corresponding pipeline stage or object detector

Definition at line 102 of file ProjectInterface.cc.

Referenced by LogNode::postStart().

source id for vision events from the corresponding pipeline stage or object detector

Definition at line 100 of file ProjectInterface.cc.

Referenced by RawCam::doStart(), and DepthCam::doStart().

source id for vision events from the corresponding pipeline stage or object detector

Definition at line 103 of file ProjectInterface.cc.

source id for vision events from the corresponding pipeline stage or object detector

Definition at line 113 of file ProjectInterface.cc.

synonym for visOrangeSID

Definition at line 116 of file ProjectInterface.cc.

source id for vision events from the corresponding pipeline stage or object detector

Definition at line 97 of file ProjectInterface.cc.

source id for vision events from the corresponding pipeline stage or object detector

Definition at line 115 of file ProjectInterface.cc.

source id for vision events from the corresponding pipeline stage or object detector

Definition at line 111 of file ProjectInterface.cc.

source id for vision events from the corresponding pipeline stage or object detector

Definition at line 94 of file ProjectInterface.cc.

Referenced by RawCam::doStart().

source id for vision events from the corresponding pipeline stage or object detector

Definition at line 95 of file ProjectInterface.cc.

Referenced by DepthCam::doStart().

source id for vision events from the corresponding pipeline stage or object detector

Definition at line 109 of file ProjectInterface.cc.

Referenced by RegionCam::doStart(), DualCoding::Lookout::processPointAtEvent(), DualCoding::Lookout::processSearchEvent(), DualCoding::Lookout::setupSearch(), and DualCoding::Lookout::setupTrack().

unsigned int ProjectInterface::visRLESID = 0

source id for vision events from the corresponding pipeline stage or object detector

Definition at line 107 of file ProjectInterface.cc.

Referenced by SegCam::doStart().

source id for vision events from the corresponding pipeline stage or object detector

Definition at line 105 of file ProjectInterface.cc.

Referenced by SegCam::doStart(), and DualCoding::Lookout::processScanEvent().

source id for vision events from the corresponding pipeline stage or object detector

Definition at line 114 of file ProjectInterface.cc.


Tekkotsu v5.1CVS
Generated Mon May 9 04:59:25 2016 by Doxygen 1.6.3