class Nec::Projector

Included Modules

Defined in:

nec/np_series.cr

Constant Summary

COMMAND = {mute_picture: Bytes[2, 16, 0, 0, 0, 18], unmute_picture: Bytes[2, 17, 0, 0, 0, 19], mute_audio_cmd: Bytes[2, 18, 0, 0, 0, 20], unmute_audio_cmd: Bytes[2, 19, 0, 0, 0, 21], mute_onscreen: Bytes[2, 20, 0, 0, 0, 22], unmute_onscreen: Bytes[2, 21, 0, 0, 0, 23], freeze_picture: Bytes[1, 152, 0, 0, 1, 1], unfreeze_picture: Bytes[1, 152, 0, 0, 1, 2], "lamp?": Bytes[0, 129, 0, 0, 0, 129], "input?": Bytes[0, 133, 0, 0, 1, 2], "mute?": Bytes[0, 133, 0, 0, 1, 3], "error?": Bytes[0, 136, 0, 0, 0, 136], "model?": Bytes[0, 133, 0, 0, 1, 4], lamp_info: Bytes[3, 138, 0, 0, 0, 141], filter_info: Bytes[3, 138, 0, 0, 0, 141], projector_info: Bytes[3, 138, 0, 0, 0, 141], background_black: Bytes[3, 177, 0, 0, 2, 11, 1], background_blue: Bytes[3, 177, 0, 0, 2, 11, 0], background_logo: Bytes[3, 177, 0, 0, 2, 11, 2]}

Command Listing Second byte used to detect command type

ERROR_CODES = [{1 => "Lamp cover error", 2 => "Temperature error (Bimetal)", 8 => "Fan Error", 16 => "Fan Error", 32 => "Power Error", 64 => "Lamp Error", 128 => "Lamp has reached its end of life"}, {1 => "Lamp has been used beyond its limit", 2 => "Formatter error", 4 => "Lamp no.2 Error"}, {2 => "FPGA error", 4 => "Temperature error (Sensor)", 8 => "Lamp housing error", 16 => "Lamp data error", 32 => "Mirror cover error", 64 => "Lamp no.2 has reached its end of life", 128 => "Lamp no.2 has been used beyond its limit"}, {1 => "Lamp no.2 housing error", 2 => "Lamp no.2 data error", 4 => "High temperature due to dust pile-up", 8 => "A foreign object sensor error"}]

Provide all the error info required

INPUT_MAP = {1 => {1 => Input::VGA, 2 => Input::Composite, 3 => Input::SVideo, 6 => Input::HDMI, 7 => Input::Viewer, 33 => Input::HDMI, 34 => Input::DisplayPort}, 2 => {1 => Input::RGBHV, 4 => Input::Component2, 6 => Input::HDMI2, 7 => Input::LAN, 33 => Input::HDMI2}, 3 => {4 => Input::Component}}

NEC has different values for the input status when compared to input selection

Class Method Summary

Instance Method Summary

Class Method Detail

def self.driver_interface : String #

Instance Method Detail

def background_black(**options) #

[View source]
def background_blue(**options) #

[View source]
def background_logo(**options) #

[View source]
def connected #

[View source]
def disconnected #

[View source]
def do_poll #

[View source]
def error?(**options) #

[View source]
def filter_info(**options) #

[View source]
def freeze_picture(**options) #

[View source]
def input?(**options) #

[View source]
def lamp?(**options) #

[View source]
def lamp_info(**options) #

[View source]
def model?(**options) #

[View source]
def mute(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo) #

Mutes both audio/video


[View source]
def mute?(**options) #

[View source]
def mute_audio_cmd(**options) #

[View source]
def mute_onscreen(**options) #

[View source]
def mute_picture(**options) #

[View source]
def on_load #

[View source]
def on_update #

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

[View source]
def power?(**options) : Bool #

[View source]
def projector_info(**options) #

[View source]
def received(data, task) #

[View source]
def switch_audio(input : Audio) #

[View source]
def switch_to(input : Input) #
Description copied from module PlaceOS::Driver::Interface::InputSelection(Nec::Projector::Input)

Switches all outputs to the requested input Special case switch_to 0 should mute all the outputs, if supported


[View source]
def unfreeze_picture(**options) #

[View source]
def unmute_audio_cmd(**options) #

[View source]
def unmute_onscreen(**options) #

[View source]
def unmute_picture(**options) #

[View source]
def volume(vol : Int32 | Float64) #

[View source]
def volume_down #

[View source]
def volume_up #

[View source]