FvAqtVisionThreads Class Reference
Aquisition-dependant threads. More...
#include <apps/base/aqt_vision_threads.h>
Public Member Functions | |
| FvAqtVisionThreads (fawkes::Clock *clock) | |
| Constructor. | |
| ~FvAqtVisionThreads () | |
| Destructor. | |
| void | add_waiting_thread (fawkes::Thread *thread) |
| Add a thread in waiting state. | |
| void | remove_thread (fawkes::Thread *thread) |
| Remove a thread. | |
| void | remove_waiting_thread (fawkes::Thread *thread) |
| Remove waiting thread. | |
| void | set_thread_running (fawkes::Thread *thread) |
| Mark the thread as running. | |
| bool | empty () |
| Check if there is no thread at all. | |
| float | empty_time () |
| Get the empty time. | |
| bool | has_cyclic_thread () |
| Check if there is at least one cyclic thread. | |
| void | wakeup_and_wait_cyclic_threads () |
| Wakeup and wait for all cyclic threads. | |
| void | set_prepfin_hold (bool hold) |
| Set prepfin hold fo cyclic threads. | |
| bool | has_waiting_thread (fawkes::Thread *t) |
| Check if the given waiting thread is registered. | |
Friends | |
| class | FvBaseThread |
| class | FvAquisitionThread |
Detailed Description
Aquisition-dependant threads.This class is used for managing the vision threads that depend on a given aquisition thread. Used internally in base vision.
Definition at line 34 of file aqt_vision_threads.h.
Constructor & Destructor Documentation
| FvAqtVisionThreads::FvAqtVisionThreads | ( | fawkes::Clock * | clock | ) |
Constructor.
- Parameters:
-
clock Clock for timeout handling, system time is used only.
Definition at line 44 of file aqt_vision_threads.cpp.
References fawkes::Clock::get_systime().
| FvAqtVisionThreads::~FvAqtVisionThreads | ( | ) |
Member Function Documentation
| void FvAqtVisionThreads::add_waiting_thread | ( | fawkes::Thread * | thread | ) |
Add a thread in waiting state.
The thread is marked as dependant but it is otherwise ignored.
- Parameters:
-
thread thread to add for access to the YUV422_PLANAR image.
Definition at line 79 of file aqt_vision_threads.cpp.
References fawkes::ThreadList::push_back_locked().
Referenced by FvBaseThread::register_for_camera().
| bool FvAqtVisionThreads::empty | ( | ) |
Check if there is no thread at all.
- Returns:
- true if there is no thread in any of the internal running or waiting lists, false otherwise
Definition at line 167 of file aqt_vision_threads.cpp.
Referenced by remove_thread(), and remove_waiting_thread().
| float FvAqtVisionThreads::empty_time | ( | ) |
Get the empty time.
- Returns:
- the time in seconds since the last thread has been removed.
Definition at line 179 of file aqt_vision_threads.cpp.
References fawkes::Clock::elapsed().
| bool FvAqtVisionThreads::has_cyclic_thread | ( | ) |
Check if there is at least one cyclic thread.
- Returns:
- true if there is at least one cyclic thread, false otherwise.
Definition at line 145 of file aqt_vision_threads.cpp.
Referenced by wakeup_and_wait_cyclic_threads().
| bool FvAqtVisionThreads::has_waiting_thread | ( | fawkes::Thread * | t | ) |
Check if the given waiting thread is registered.
- Parameters:
-
t thread to check for
- Returns:
- true if the given thread is marked as waiting, false otherwise
Definition at line 156 of file aqt_vision_threads.cpp.
| void FvAqtVisionThreads::remove_thread | ( | fawkes::Thread * | thread | ) |
Remove a thread.
The thread is removed from all internal structures.
- Parameters:
-
thread thread to remove
Definition at line 110 of file aqt_vision_threads.cpp.
References empty(), fawkes::Clock::get_systime(), and fawkes::ThreadList::remove_locked().
| void FvAqtVisionThreads::remove_waiting_thread | ( | fawkes::Thread * | thread | ) |
Remove waiting thread.
- Parameters:
-
thread thread to remove from waiting structures.
Definition at line 132 of file aqt_vision_threads.cpp.
References empty(), fawkes::Clock::get_systime(), and fawkes::ThreadList::remove_locked().
| void FvAqtVisionThreads::set_prepfin_hold | ( | bool | hold | ) |
Set prepfin hold fo cyclic threads.
Sets prepfin hold for cyclice threads and rolls back if it cannot be set for any of the threads.
- Parameters:
-
hold prepfin hold value
- Exceptions:
-
Exception thrown if setting fails
- See also:
- Thread::set_prepfin_hold()
ThreadList::set_prepfin_hold()
Definition at line 205 of file aqt_vision_threads.cpp.
References fawkes::ThreadList::set_prepfin_hold().
Referenced by FvAcquisitionThread::set_vt_prepfin_hold().
| void FvAqtVisionThreads::set_thread_running | ( | fawkes::Thread * | thread | ) |
Mark the thread as running.
- Parameters:
-
thread thread to mark as running
Definition at line 89 of file aqt_vision_threads.cpp.
References fawkes::ThreadList::push_back_locked(), fawkes::ThreadList::remove_locked(), and fawkes::VisionAspect::vision_thread_mode().
| void FvAqtVisionThreads::wakeup_and_wait_cyclic_threads | ( | ) |
Wakeup and wait for all cyclic threads.
Definition at line 187 of file aqt_vision_threads.cpp.
References has_cyclic_thread(), fawkes::Barrier::wait(), and fawkes::ThreadList::wakeup().
Referenced by FvAcquisitionThread::loop().
The documentation for this class was generated from the following files:
- src/firevision/apps/base/aqt_vision_threads.h
- src/firevision/apps/base/aqt_vision_threads.cpp

