Class: Kiss::KissSerial

Inherits:
KissAbstract show all
Defined in:
lib/kiss/kiss_serial.rb

Constant Summary collapse

DEFAULT_READ_BYTES =
1000
SERIAL_READ_TIMEOUT =
-1

Instance Method Summary collapse

Methods inherited from KissAbstract

#read, #write

Instance Method Details

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



72
73
74
75
76
77
78
79
80
81
82
83
84
# File 'lib/kiss/kiss_serial.rb', line 72

def close(*args, **kwargs)
    super

    if @exit_kiss
        write_interface(MODE_END)
    end

    if @serial == nil or @serial.closed?
        raise 'Attempting to close before the class has been started.'
    else
        @serial.close
    end
end

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



49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
# File 'lib/kiss/kiss_serial.rb', line 49

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

    @serial = SerialPort.new(@com_port, @baud, @byte_size, @stop_bits, @parity)
    @serial.read_timeout = SERIAL_READ_TIMEOUT

    if mode_init
        write_interface(mode_init)
        @exit_kiss = true
    else
        @exit_kiss = false
    end

    # Previous verious defaulted to Xastir-friendly configs. Unfortunately
    # those don't work with Bluetooth TNCs, so we're reverting to None.
    if kwargs
        kwargs.each do |name, value|
            write_setting(name, value)
        end
    end
end