class CresIP::Register
Attributes
header[R]
payload[R]
Public Class Methods
new(header = PacketHeader.new, payload = "\x02")
click to toggle source
# File lib/cresip/register.rb, line 17 def initialize(header = PacketHeader.new, payload = "\x02") @header = header @payload = payload if @header.type == nil @header.packet_type = PacketTypes[:register] end end
Public Instance Methods
reg_success?()
click to toggle source
# File lib/cresip/register.rb, line 36 def reg_success? @header.type == :register_success && @payload.length == 4 end
register(ipid = 5, type = 0x0a)
click to toggle source
# File lib/cresip/register.rb, line 51 def register(ipid = 5, type = 0x0a) # IPID Range: 0x03..0xFE head = PacketHeader.new # I think 0x0A is a switcher register response # and 0x01 is touch screen head.packet_type = type payload = if type == 0x0a # 0a000a00 ipid a342400200000000 "\x00#{ipid.chr}\xa3\x42\x40\x02\x00\x00\x00\x00" else # 0100077F00000100 ipid 40 "\x7F\x00\x00\x01\x00#{ipid.chr}\x40" end Register.new(head, payload) end
registering?()
click to toggle source
# File lib/cresip/register.rb, line 32 def registering? @header.type == :register_response end
respond(success = true)
click to toggle source
# File lib/cresip/register.rb, line 40 def respond(success = true) head = PacketHeader.new head.packet_type = PacketTypes[:register_success] if success Register.new(head, "\x00\x00\x00\x03") else Register.new(head, "\xff\xff\x02") end end
to_binary_s()
click to toggle source
# File lib/cresip/register.rb, line 68 def to_binary_s @header.packet_size = @payload.bytesize "#{@header.to_binary_s}#{@payload}" end
type()
click to toggle source
# File lib/cresip/register.rb, line 28 def type @header.type end