class Sony::Camera::VISCA

Included Modules

Defined in:

sony/camera/visca.cr

Class Method Summary

Instance Method Summary

Class Method Detail

def self.driver_interface : String #

Instance Method Detail

def connected #

clear the interface


[View source]
def encode_position(value : UInt16) : String #

[View source]
def home #

[View source]
def joystick(pan_speed : Float64, tilt_speed : Float64, index : Int32 | String = 0) #
Description copied from module PlaceOS::Driver::Interface::Camera

Most cameras support sending a move speed, the interface should expect a percentage


[View source]
def move(position : MoveablePosition, index : Int32 | String = 0) #

moves at 50% of max speed


[View source]
def on_load #

we want to tokenize the stream, ensure we only process a single packet at a time and that we have the complete message


[View source]
def on_update #

[View source]
def pan_pos : UInt16 #

[View source]
def pantilt(pan : UInt16, tilt : UInt16, speed : UInt8) #

moves to an absolute position


[View source]
def pantilt? #

[View source]
def power(state : Bool) #

[View source]
def power? #

[View source]
def recall(position : String, index : Int32 | String = 0) #
Description copied from module PlaceOS::Driver::Interface::Camera

Most cameras support presets (either as a feature or via manual positioning)


[View source]
def received(data, task, sequence : UInt32 | Nil = nil) : Nil #

process incoming data, tokenised so we know each data packet is exactly one message


[View source]
def remove_position(name : String, index : Int32 | String = 0) #

[View source]
def reset_sequence_number(directly : Bool = false) #

[View source]
def save_position(name : String, index : Int32 | String = 0) #

[View source]
def send_cmd(bytes : String) #

[View source]
def send_inq(bytes : String) #

[View source]
def stop(index : Int32 | String = 0, emergency : Bool = false) #

[View source]
def tilt_pos : UInt16 #

[View source]
def zoom(direction : ZoomDirection, index : Int32 | String = 0) #
Description copied from module PlaceOS::Driver::Interface::Zoomable

As zoom is typically discreet we manually implement the analogue version Simple enough to overwrite this as required


[View source]
def zoom? #

[View source]
def zoom_raw : UInt16 #

[View source]
def zoom_to(position : Float64, auto_focus : Bool = true, index : Int32 | String = 0) #

Zooms to an absolute position


[View source]