Class: Kiss::KissAbstract

Inherits:
Object
  • Object
show all
Defined in:
lib/kiss/kiss_abstract.rb

Direct Known Subclasses

KissMock, KissSerial

Instance Method Summary collapse

Instance Method Details

#close(*args, **kwargs) ⇒ Object



123
124
# File 'lib/kiss/kiss_abstract.rb', line 123

def close(*args, **kwargs)
end

#connect(mode_init = nil, *args, **kwargs) ⇒ Object



119
120
# File 'lib/kiss/kiss_abstract.rb', line 119

def connect(mode_init=nil, *args, **kwargs)
end

#read(*args, **kwargs) ⇒ Object



127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
# File 'lib/kiss/kiss_abstract.rb', line 127

def read(*args, **kwargs)
    @lock.synchronize do
        if @frame_buffer.length == 0
            fill_buffer
        end

        if @frame_buffer.length > 0
            return_frame = @frame_buffer[0]
            @frame_buffer.shift
            return return_frame
        else
            return nil
        end
    end
end

#write(frame_bytes, port = 0, *args, **kwargs) ⇒ Object



144
145
146
147
148
149
150
151
# File 'lib/kiss/kiss_abstract.rb', line 144

def write(frame_bytes, port=0, *args, **kwargs)
    @lock.synchronize do
        kiss_packet = [FEND] + [KissAbstract.command_byte_combine(port, DATA_FRAME)] +
            KissAbstract.escape_special_codes(frame_bytes) + [FEND]

        write_interface(kiss_packet)
    end
end