|
Fawkes API
Fawkes Development Version
|
Visca control protocol implementation over a serial line. More...
#include <>>
Public Member Functions | |
| ViscaControl (bool blocking=true) | |
| Constructor. | |
| void | open (const char *port) |
| Open serial port. | |
| void | close () |
| Close port. | |
| void | set_address (unsigned int num_cameras) |
| Set addresses of cameras. | |
| void | clear () |
| Clear. | |
| void | send () |
| Send outbound queue. | |
| void | recv (unsigned int max_wait_ms=10) |
| Receive data. | |
| void | recv_ack (unsigned int *socket=NULL) |
| Receive ACK packet. | |
| void | send_with_reply () |
| Send and wait for reply, blocking. | |
| void | send_nonblocking (unsigned int *socket=NULL) |
| Send non-blocking. | |
| void | cancel_command (unsigned int socket) |
| Cancel a running command. | |
| bool | data_available () |
| Check data availability. | |
| void | process () |
| Process incoming data. | |
| void | resetPanTilt () |
| Reset pan/tilt. | |
| void | startGetPanTilt () |
| Query for pan/tilt but do not wait until finished This will send an inquire to the camera that asks for pan/tilt values but it does not wait for the data! A later call to getPanTilt will then block and wait until the results arrive. | |
| void | setPanTilt (int pan, int tilt) |
| Set pan tilt. | |
| void | getPanTilt (int *pan, int *tilt) |
| Get pan and tilt values. | |
| void | setPanTiltLimit (int pan_left, int pan_right, int tilt_up, int tilt_down) |
| Set pan tilt limit. | |
| void | resetPanTiltLimit () |
| Reset pan/tilt limit. | |
| void | resetZoom () |
| Reset zoom. | |
| void | setZoom (unsigned int zoom) |
| Set zoom. | |
| void | getZoom (unsigned int *zoom) |
| Get zoom. | |
| void | setZoomSpeedTele (unsigned int speed) |
| Set zoom speed in tele. | |
| void | setZoomSpeedWide (unsigned int speed) |
| Set zoom speed in wide angle. | |
| void | setZoomDigitalEnabled (bool enabled) |
| Enable or disable digital zoome. | |
| void | resetEffect () |
| Reset effects. | |
| void | applyEffect (unsigned char effect) |
| Apply effect. | |
| void | applyEffectPastel () |
| Apply pastel effect. | |
| void | applyEffectNegArt () |
| Apply negative art effect. | |
| void | applyEffectSepia () |
| Apply sepia effect. | |
| void | applyEffectBnW () |
| Apply B/W effect. | |
| void | applyEffectSolarize () |
| Apply solarize effect. | |
| void | applyEffectMosaic () |
| Apply mosaic effect. | |
| void | applyEffectSlim () |
| Apply slim effect. | |
| void | applyEffectStretch () |
| Apply stretch effect. | |
| unsigned int | getWhiteBalanceMode () |
| Get white balance mode. | |
Static Public Attributes | |
| static const unsigned int | VISCA_WHITEBLANCE_AUTO = VISCA_WB_AUTO |
| Automatic white balance. | |
| static const unsigned int | VISCA_WHITEBALANCE_INDOOR = VISCA_WB_INDOOR |
| Indoor white balance preset. | |
| static const unsigned int | VISCA_WHITEBALANCE_OUTDOOR = VISCA_WB_OUTDOOR |
| Outdoor white balance preset. | |
| static const unsigned int | VISCA_WHITEBALANCE_ONE_PUSH = VISCA_WB_ONE_PUSH |
| One push white balance preset. | |
| static const unsigned int | VISCA_WHITEBALANCE_ATW = VISCA_WB_ATW |
| ATW white balance preset. | |
| static const unsigned int | VISCA_WHITEBALANCE_MANUAL = VISCA_WB_MANUAL |
| Manual white balance. | |
| firevision::ViscaControl::ViscaControl | ( | bool | blocking = true | ) |
| void firevision::ViscaControl::applyEffect | ( | unsigned char | filter | ) |
Apply effect.
| filter | filter |
Definition at line 976 of file visca.cpp.
References fawkes::Exception::append(), and send_with_reply().
Referenced by applyEffectBnW(), applyEffectMosaic(), applyEffectNegArt(), applyEffectPastel(), applyEffectSepia(), applyEffectSlim(), applyEffectSolarize(), applyEffectStretch(), and resetEffect().
| void firevision::ViscaControl::applyEffectBnW | ( | ) |
Apply B/W effect.
Definition at line 1047 of file visca.cpp.
References fawkes::Exception::append(), and applyEffect().
| void firevision::ViscaControl::applyEffectMosaic | ( | ) |
Apply mosaic effect.
Definition at line 1073 of file visca.cpp.
References fawkes::Exception::append(), and applyEffect().
| void firevision::ViscaControl::applyEffectNegArt | ( | ) |
Apply negative art effect.
Definition at line 1021 of file visca.cpp.
References fawkes::Exception::append(), and applyEffect().
| void firevision::ViscaControl::applyEffectPastel | ( | ) |
Apply pastel effect.
Definition at line 1008 of file visca.cpp.
References fawkes::Exception::append(), and applyEffect().
| void firevision::ViscaControl::applyEffectSepia | ( | ) |
Apply sepia effect.
Definition at line 1034 of file visca.cpp.
References fawkes::Exception::append(), and applyEffect().
| void firevision::ViscaControl::applyEffectSlim | ( | ) |
Apply slim effect.
Definition at line 1086 of file visca.cpp.
References fawkes::Exception::append(), and applyEffect().
| void firevision::ViscaControl::applyEffectSolarize | ( | ) |
Apply solarize effect.
Definition at line 1060 of file visca.cpp.
References fawkes::Exception::append(), and applyEffect().
| void firevision::ViscaControl::applyEffectStretch | ( | ) |
Apply stretch effect.
Definition at line 1099 of file visca.cpp.
References fawkes::Exception::append(), and applyEffect().
| void firevision::ViscaControl::cancel_command | ( | unsigned int | socket | ) |
Cancel a running command.
| socket | socket that the command was send on |
Definition at line 482 of file visca.cpp.
References fawkes::Exception::append(), and send_with_reply().
| void firevision::ViscaControl::clear | ( | ) |
Clear.
Definition at line 227 of file visca.cpp.
References fawkes::Exception::append(), recv(), and send().
| void firevision::ViscaControl::close | ( | ) |
| bool firevision::ViscaControl::data_available | ( | ) |
| void firevision::ViscaControl::getPanTilt | ( | int * | pan, |
| int * | tilt | ||
| ) |
Get pan and tilt values.
If you used startGetPanTilt() to initiate the query the result is received and returned, otherwise a request is sent and the method blocks until the answer has been received.
| pan | contains pan upon return |
| tilt | contains tilt upon return |
Definition at line 615 of file visca.cpp.
References recv(), send(), and send_with_reply().
| unsigned int firevision::ViscaControl::getWhiteBalanceMode | ( | ) |
Get white balance mode.
Definition at line 1114 of file visca.cpp.
References fawkes::Exception::append(), recv(), and send_with_reply().
| void firevision::ViscaControl::getZoom | ( | unsigned int * | zoom | ) |
Get zoom.
| zoom | contains zoom upon return. |
Definition at line 916 of file visca.cpp.
References fawkes::Exception::append(), and send_with_reply().
| void firevision::ViscaControl::open | ( | const char * | port | ) |
| void firevision::ViscaControl::process | ( | ) |
Process incoming data.
Definition at line 508 of file visca.cpp.
References data_available(), and recv().
| void firevision::ViscaControl::recv | ( | unsigned int | max_wait_ms = 10 | ) |
Receive data.
| max_wait_ms | maximum wait time in miliseconds |
Definition at line 288 of file visca.cpp.
References fawkes::Exception::append().
Referenced by clear(), getPanTilt(), getWhiteBalanceMode(), process(), send_with_reply(), and set_address().
| void firevision::ViscaControl::recv_ack | ( | unsigned int * | socket = NULL | ) |
Receive ACK packet.
| socket | contains the socket that the ACK was received on upon return |
Definition at line 325 of file visca.cpp.
References fawkes::Exception::append().
Referenced by send_nonblocking().
| void firevision::ViscaControl::resetEffect | ( | ) |
Reset effects.
Definition at line 995 of file visca.cpp.
References fawkes::Exception::append(), and applyEffect().
| void firevision::ViscaControl::resetPanTilt | ( | ) |
Reset pan/tilt.
Definition at line 805 of file visca.cpp.
References fawkes::Exception::append(), and send_with_reply().
| void firevision::ViscaControl::resetPanTiltLimit | ( | ) |
Reset pan/tilt limit.
Definition at line 723 of file visca.cpp.
References fawkes::Exception::append(), and send_with_reply().
| void firevision::ViscaControl::resetZoom | ( | ) |
Reset zoom.
Definition at line 823 of file visca.cpp.
References fawkes::Exception::append(), and send_with_reply().
| void firevision::ViscaControl::send | ( | ) |
Send outbound queue.
Definition at line 248 of file visca.cpp.
Referenced by clear(), getPanTilt(), send_nonblocking(), send_with_reply(), set_address(), and startGetPanTilt().
| void firevision::ViscaControl::send_nonblocking | ( | unsigned int * | socket = NULL | ) |
Send non-blocking.
Does a non-blocking send.
| socket | the socket that was used to send the request. |
Definition at line 360 of file visca.cpp.
References fawkes::Exception::append(), recv_ack(), and send().
Referenced by setPanTilt().
| void firevision::ViscaControl::send_with_reply | ( | ) |
Send and wait for reply, blocking.
Definition at line 375 of file visca.cpp.
References fawkes::Exception::append(), recv(), and send().
Referenced by applyEffect(), cancel_command(), getPanTilt(), getWhiteBalanceMode(), getZoom(), resetPanTilt(), resetPanTiltLimit(), resetZoom(), setPanTilt(), setPanTiltLimit(), setZoom(), setZoomDigitalEnabled(), setZoomSpeedTele(), and setZoomSpeedWide().
| void firevision::ViscaControl::set_address | ( | unsigned int | num_cameras | ) |
Set addresses of cameras.
| num_cameras | number of cameras on bus |
Definition at line 205 of file visca.cpp.
References fawkes::Exception::append(), recv(), and send().
| void firevision::ViscaControl::setPanTilt | ( | int | pan, |
| int | tilt | ||
| ) |
Set pan tilt.
| pan | pan |
| tilt | tilt |
Definition at line 530 of file visca.cpp.
References fawkes::Exception::append(), send_nonblocking(), and send_with_reply().
| void firevision::ViscaControl::setPanTiltLimit | ( | int | pan_left, |
| int | pan_right, | ||
| int | tilt_up, | ||
| int | tilt_down | ||
| ) |
Set pan tilt limit.
| pan_left | most left pan value |
| pan_right | most right pan value |
| tilt_up | most up tilt value |
| tilt_down | most down tilt value |
Definition at line 760 of file visca.cpp.
References fawkes::Exception::append(), and send_with_reply().
| void firevision::ViscaControl::setZoom | ( | unsigned int | zoom | ) |
Set zoom.
| zoom | zoom value |
Definition at line 890 of file visca.cpp.
References fawkes::Exception::append(), and send_with_reply().
| void firevision::ViscaControl::setZoomDigitalEnabled | ( | bool | enabled | ) |
Enable or disable digital zoome.
| enabled | true to enable digital zoom, false to disable |
Definition at line 951 of file visca.cpp.
References fawkes::Exception::append(), and send_with_reply().
| void firevision::ViscaControl::setZoomSpeedTele | ( | unsigned int | speed | ) |
Set zoom speed in tele.
| speed | speed |
Definition at line 844 of file visca.cpp.
References fawkes::Exception::append(), and send_with_reply().
| void firevision::ViscaControl::setZoomSpeedWide | ( | unsigned int | speed | ) |
Set zoom speed in wide angle.
| speed | speed |
Definition at line 867 of file visca.cpp.
References fawkes::Exception::append(), and send_with_reply().
| void firevision::ViscaControl::startGetPanTilt | ( | ) |
Query for pan/tilt but do not wait until finished This will send an inquire to the camera that asks for pan/tilt values but it does not wait for the data! A later call to getPanTilt will then block and wait until the results arrive.
Initiate a pan/tilt request, but do not wait for the reply.
Not that you can not run another inquire (get*) method until this call has finished! You will get VISCA_E_INQRUNNING as error message.
Definition at line 586 of file visca.cpp.
References fawkes::Exception::append(), and send().
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |