Module: Flic::Protocol::Events

Defined in:
lib/flic/protocol/events.rb,
lib/flic/protocol/events/event.rb,
lib/flic/protocol/events/ping_response.rb,
lib/flic/protocol/events/button_up_or_down.rb,
lib/flic/protocol/events/get_info_response.rb,
lib/flic/protocol/events/new_verified_button.rb,
lib/flic/protocol/events/advertisement_packet.rb,
lib/flic/protocol/events/button_click_or_hold.rb,
lib/flic/protocol/events/scan_wizard_completed.rb,
lib/flic/protocol/events/get_button_uuid_response.rb,
lib/flic/protocol/events/connection_status_changed.rb,
lib/flic/protocol/events/connection_channel_removed.rb,
lib/flic/protocol/events/no_space_for_new_connection.rb,
lib/flic/protocol/events/got_space_for_new_connection.rb,
lib/flic/protocol/events/scan_wizard_button_connected.rb,
lib/flic/protocol/events/button_single_or_double_click.rb,
lib/flic/protocol/events/scan_wizard_found_public_button.rb,
lib/flic/protocol/events/scan_wizard_found_private_button.rb,
lib/flic/protocol/events/bluetooth_controller_state_change.rb,
lib/flic/protocol/events/create_connection_channel_response.rb,
lib/flic/protocol/events/button_single_or_double_click_or_hold.rb

Overview

A namespace module for all of the event classes

Defined Under Namespace

Classes: AdvertisementPacket, BluetoothControllerStateChange, ButtonClickOrHold, ButtonSingleOrDoubleClick, ButtonSingleOrDoubleClickOrHold, ButtonUpOrDown, ConnectionChannelRemoved, ConnectionStatusChanged, CreateConnectionChannelResponse, Event, GetButtonUuidResponse, GetInfoResponse, GotSpaceForNewConnection, NewVerifiedButton, NoSpaceForNewConnection, PingResponse, ScanWizardButtonConnected, ScanWizardCompleted, ScanWizardFoundPrivateButton, ScanWizardFoundPublicButton

Constant Summary collapse

EVENT_CLASS_OPCODE =
{
    Events::AdvertisementPacket                     => 0x00,
    Events::CreateConnectionChannelResponse         => 0x01,
    Events::ConnectionStatusChanged                 => 0x02,
    Events::ConnectionChannelRemoved                => 0x03,
    Events::ButtonUpOrDown                          => 0x04,
    Events::ButtonClickOrHold                       => 0x05,
    Events::ButtonSingleOrDoubleClick               => 0x06,
    Events::ButtonSingleOrDoubleClickOrHold         => 0x07,
    Events::NewVerifiedButton                       => 0x08,
    Events::GetInfoResponse                         => 0x09,
    Events::NoSpaceForNewConnection                 => 0x0A,
    Events::GotSpaceForNewConnection                => 0x0B,
    Events::BluetoothControllerStateChange          => 0x0C,
    Events::PingResponse                            => 0x0D,
    Events::GetButtonUuidResponse                   => 0x0E,
    Events::ScanWizardFoundPrivateButton            => 0x0F,
    Events::ScanWizardFoundPublicButton             => 0x10,
    Events::ScanWizardButtonConnected               => 0x11,
    Events::ScanWizardCompleted                     => 0x12
}.freeze
OPCODE_EVENT_CLASS =
EVENT_CLASS_OPCODE.invert.freeze

Class Method Summary collapse

Class Method Details

.event_class_for_opcode(opcode) ⇒ Class

Finds the event class for a given opcode

Parameters:

  • opcode (Integer)

Returns:

  • (Class)


55
56
57
# File 'lib/flic/protocol/events.rb', line 55

def self.event_class_for_opcode(opcode)
  OPCODE_EVENT_CLASS[opcode]
end

.opcode_for_event_class(event_class) ⇒ Integer

Finds the opcode for a given event class

Parameters:

  • event_class (Class)

Returns:

  • (Integer)


62
63
64
# File 'lib/flic/protocol/events.rb', line 62

def self.opcode_for_event_class(event_class)
  EVENT_CLASS_OPCODE[event_class]
end