23 #ifndef _FIREVISION_APPS_BASE_ACQUISITION_THREAD_H_
24 #define _FIREVISION_APPS_BASE_ACQUISITION_THREAD_H_
26 #include <aspect/blackboard.h>
27 #include <aspect/logging.h>
28 #include <blackboard/interface_listener.h>
29 #include <core/threading/thread.h>
30 #include <fvcams/shmem.h>
31 #include <fvutils/color/colorspaces.h>
40 class SwitchInterface;
41 #ifdef FVBASE_TIMETRACKER
45 namespace firevision {
46 class SharedMemoryImageBuffer;
112 firevision::colorspace_t colorspace_;
114 unsigned int height_;
118 std::map<firevision::colorspace_t, firevision::SharedMemoryImageBuffer *> shm_;
119 std::map<firevision::colorspace_t, firevision::SharedMemoryImageBuffer *>::iterator shmit_;
123 #ifdef FVBASE_TIMETRACKER
125 unsigned int loop_count_;
126 unsigned int ttc_capture_;
127 unsigned int ttc_lock_;
128 unsigned int ttc_convert_;
129 unsigned int ttc_unlock_;
130 unsigned int ttc_dispose_;
FireVision base application acquisition thread.
firevision::Camera * get_camera()
Get the Camera of this acquisition thread.
FvAcquisitionThread(const char *id, firevision::Camera *camera, fawkes::Logger *logger, fawkes::Clock *clock)
Constructor.
virtual ~FvAcquisitionThread()
Destructor.
virtual void finalize()
Finalize the thread.
void set_aqtmode(AqtMode mode)
Set acquisition thread mode.
FvAqtVisionThreads * vision_threads
Vision threads assigned to this acquisition thread.
virtual void loop()
Code to execute in the thread.
void set_enabled(bool enabled)
Enable or disable image retrieval.
AqtMode aqtmode()
Get acquisition thread mode.
virtual void run()
Stub to see name in backtrace for easier debugging.
void set_vt_prepfin_hold(bool hold)
Set prepfin hold status for vision threads.
virtual void init()
Initialize the thread.
AqtMode
Acquisition thread mode.
@ AqtContinuous
continuous mode, use if there are only continuous threads for this acquisition thread.
@ AqtCyclic
cyclic mode, use if there is at least one cyclic thread for this acquisition thread.
fawkes::Thread * raw_subscriber_thread
Vision thread registered for raw camera access on this camera.
firevision::Camera * camera_instance(firevision::colorspace_t cspace, bool deep_copy)
Get a camera instance.
Aquisition-dependant threads.
Thread aspect to access to BlackBoard.
BlackBoard interface listener.
This is supposed to be the central clock in Fawkes.
Base class for all Fawkes BlackBoard interfaces.
Thread aspect to log output.
Logger * logger
This is the Logger member used to access the logger.
Base class for all messages passed through interfaces in Fawkes BlackBoard.
Mutex mutual exclusion lock.
SwitchInterface Fawkes BlackBoard Interface.
Thread class encapsulation of pthreads.
Wait until a given condition holds.
Camera interface for image aquiring devices in FireVision.
Fawkes library namespace.