Class: TimexDatalinkClient

Inherits:
Object
  • Object
show all
Defined in:
lib/timex_datalink_client.rb,
lib/timex_datalink_client/version.rb,
lib/timex_datalink_client/protocol_1/end.rb,
lib/timex_datalink_client/protocol_3/end.rb,
lib/timex_datalink_client/protocol_4/end.rb,
lib/timex_datalink_client/protocol_9/end.rb,
lib/timex_datalink_client/protocol_1/sync.rb,
lib/timex_datalink_client/protocol_1/time.rb,
lib/timex_datalink_client/protocol_3/sync.rb,
lib/timex_datalink_client/protocol_3/time.rb,
lib/timex_datalink_client/protocol_4/sync.rb,
lib/timex_datalink_client/protocol_4/time.rb,
lib/timex_datalink_client/protocol_9/sync.rb,
lib/timex_datalink_client/protocol_9/time.rb,
lib/timex_datalink_client/notebook_adapter.rb,
lib/timex_datalink_client/protocol_1/alarm.rb,
lib/timex_datalink_client/protocol_1/start.rb,
lib/timex_datalink_client/protocol_3/alarm.rb,
lib/timex_datalink_client/protocol_3/start.rb,
lib/timex_datalink_client/protocol_4/alarm.rb,
lib/timex_datalink_client/protocol_4/start.rb,
lib/timex_datalink_client/protocol_9/alarm.rb,
lib/timex_datalink_client/protocol_9/start.rb,
lib/timex_datalink_client/protocol_9/timer.rb,
lib/timex_datalink_client/protocol_1/eeprom.rb,
lib/timex_datalink_client/protocol_3/eeprom.rb,
lib/timex_datalink_client/protocol_4/eeprom.rb,
lib/timex_datalink_client/protocol_9/eeprom.rb,
lib/timex_datalink_client/protocol_1/time_name.rb,
lib/timex_datalink_client/protocol_3/wrist_app.rb,
lib/timex_datalink_client/protocol_4/wrist_app.rb,
lib/timex_datalink_client/protocol_9/time_name.rb,
lib/timex_datalink_client/helpers/char_encoders.rb,
lib/timex_datalink_client/protocol_1/eeprom/list.rb,
lib/timex_datalink_client/protocol_3/eeprom/list.rb,
lib/timex_datalink_client/protocol_3/sound_theme.rb,
lib/timex_datalink_client/protocol_4/eeprom/list.rb,
lib/timex_datalink_client/protocol_4/sound_theme.rb,
lib/timex_datalink_client/protocol_3/sound_options.rb,
lib/timex_datalink_client/protocol_4/sound_options.rb,
lib/timex_datalink_client/protocol_9/eeprom/chrono.rb,
lib/timex_datalink_client/protocol_9/sound_options.rb,
lib/timex_datalink_client/helpers/cpacket_paginator.rb,
lib/timex_datalink_client/helpers/crc_packets_wrapper.rb,
lib/timex_datalink_client/helpers/length_packet_wrapper.rb,
lib/timex_datalink_client/protocol_1/eeprom/anniversary.rb,
lib/timex_datalink_client/protocol_1/eeprom/appointment.rb,
lib/timex_datalink_client/protocol_3/eeprom/anniversary.rb,
lib/timex_datalink_client/protocol_3/eeprom/appointment.rb,
lib/timex_datalink_client/protocol_4/eeprom/anniversary.rb,
lib/timex_datalink_client/protocol_4/eeprom/appointment.rb,
lib/timex_datalink_client/protocol_1/eeprom/phone_number.rb,
lib/timex_datalink_client/protocol_3/eeprom/phone_number.rb,
lib/timex_datalink_client/protocol_4/eeprom/phone_number.rb,
lib/timex_datalink_client/protocol_9/eeprom/phone_number.rb

Defined Under Namespace

Classes: Helpers, NotebookAdapter, Protocol1, Protocol3, Protocol4, Protocol9

Constant Summary collapse

VERSION =
"0.7.0"

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(serial_device:, models: [], byte_sleep: nil, packet_sleep: nil, verbose: false) ⇒ TimexDatalinkClient

Create a TimexDatalinkClient instance.

Parameters:



75
76
77
78
79
80
81
# File 'lib/timex_datalink_client.rb', line 75

def initialize(serial_device:, models: [], byte_sleep: nil, packet_sleep: nil, verbose: false)
  @serial_device = serial_device
  @models = models
  @byte_sleep = byte_sleep
  @packet_sleep = packet_sleep
  @verbose = verbose
end

Instance Attribute Details

#byte_sleepObject

Returns the value of attribute byte_sleep.



59
60
61
# File 'lib/timex_datalink_client.rb', line 59

def byte_sleep
  @byte_sleep
end

#modelsObject

Returns the value of attribute models.



59
60
61
# File 'lib/timex_datalink_client.rb', line 59

def models
  @models
end

#packet_sleepObject

Returns the value of attribute packet_sleep.



59
60
61
# File 'lib/timex_datalink_client.rb', line 59

def packet_sleep
  @packet_sleep
end

#serial_deviceObject

Returns the value of attribute serial_device.



59
60
61
# File 'lib/timex_datalink_client.rb', line 59

def serial_device
  @serial_device
end

#verboseObject

Returns the value of attribute verbose.



59
60
61
# File 'lib/timex_datalink_client.rb', line 59

def verbose
  @verbose
end

Instance Method Details

#packetsArray<Array<Integer>>

Compile packets for all models.

Returns:

  • (Array<Array<Integer>>)

    Two-dimensional array of integers that represent bytes.



93
94
95
# File 'lib/timex_datalink_client.rb', line 93

def packets
  models.map(&:packets).flatten(1)
end

#writevoid

This method returns an undefined value.

Write data for all models to serial device.



86
87
88
# File 'lib/timex_datalink_client.rb', line 86

def write
  notebook_adapter.write(packets)
end