timex_datalink_client 0.5.0 → 0.6.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/timex_datalink_client/helpers/char_encoders.rb +2 -2
- data/lib/timex_datalink_client/protocol_1/eeprom/anniversary.rb +44 -0
- data/lib/timex_datalink_client/protocol_1/eeprom/appointment.rb +49 -0
- data/lib/timex_datalink_client/protocol_1/eeprom/list.rb +43 -0
- data/lib/timex_datalink_client/protocol_1/eeprom/phone_number.rb +56 -0
- data/lib/timex_datalink_client/protocol_1/end.rb +12 -2
- data/lib/timex_datalink_client/protocol_1/sync.rb +33 -3
- data/lib/timex_datalink_client/protocol_3/eeprom/anniversary.rb +44 -0
- data/lib/timex_datalink_client/protocol_3/eeprom/appointment.rb +49 -0
- data/lib/timex_datalink_client/protocol_3/eeprom/list.rb +43 -0
- data/lib/timex_datalink_client/protocol_3/eeprom/phone_number.rb +56 -0
- data/lib/timex_datalink_client/protocol_3/end.rb +12 -2
- data/lib/timex_datalink_client/protocol_3/sync.rb +33 -3
- data/lib/timex_datalink_client/protocol_9/alarm.rb +63 -0
- data/lib/timex_datalink_client/protocol_9/eeprom/chrono.rb +47 -0
- data/lib/timex_datalink_client/protocol_9/eeprom/phone_number.rb +74 -0
- data/lib/timex_datalink_client/protocol_9/eeprom.rb +85 -0
- data/lib/timex_datalink_client/protocol_9/end.rb +20 -0
- data/lib/timex_datalink_client/protocol_9/sound_options.rb +42 -0
- data/lib/timex_datalink_client/protocol_9/start.rb +20 -0
- data/lib/timex_datalink_client/protocol_9/sync.rb +40 -0
- data/lib/timex_datalink_client/protocol_9/time.rb +61 -0
- data/lib/timex_datalink_client/protocol_9/time_name.rb +46 -0
- data/lib/timex_datalink_client/protocol_9/timer.rb +54 -0
- data/lib/timex_datalink_client/version.rb +1 -1
- data/lib/timex_datalink_client.rb +25 -8
- metadata +22 -9
- data/lib/timex_datalink_client/eeprom/anniversary.rb +0 -42
- data/lib/timex_datalink_client/eeprom/appointment.rb +0 -47
- data/lib/timex_datalink_client/eeprom/list.rb +0 -41
- data/lib/timex_datalink_client/eeprom/phone_number.rb +0 -56
- data/lib/timex_datalink_client/end.rb +0 -18
- data/lib/timex_datalink_client/sync.rb +0 -37
@@ -1,41 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require "timex_datalink_client/helpers/char_encoders"
|
4
|
-
require "timex_datalink_client/helpers/length_packet_wrapper"
|
5
|
-
|
6
|
-
class TimexDatalinkClient
|
7
|
-
class Eeprom
|
8
|
-
class List
|
9
|
-
include Helpers::CharEncoders
|
10
|
-
prepend Helpers::LengthPacketWrapper
|
11
|
-
|
12
|
-
attr_accessor :list_entry, :priority
|
13
|
-
|
14
|
-
# Create a List instance.
|
15
|
-
#
|
16
|
-
# @param list_entry [String] List entry text.
|
17
|
-
# @param priority [Integer] List priority.
|
18
|
-
# @return [List] List instance.
|
19
|
-
def initialize(list_entry:, priority:)
|
20
|
-
@list_entry = list_entry
|
21
|
-
@priority = priority
|
22
|
-
end
|
23
|
-
|
24
|
-
# Compile a packet for a list.
|
25
|
-
#
|
26
|
-
# @return [Array<Integer>] Array of integers that represent bytes.
|
27
|
-
def packet
|
28
|
-
[
|
29
|
-
priority,
|
30
|
-
list_entry_characters
|
31
|
-
].flatten
|
32
|
-
end
|
33
|
-
|
34
|
-
private
|
35
|
-
|
36
|
-
def list_entry_characters
|
37
|
-
eeprom_chars_for(list_entry)
|
38
|
-
end
|
39
|
-
end
|
40
|
-
end
|
41
|
-
end
|
@@ -1,56 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require "timex_datalink_client/helpers/char_encoders"
|
4
|
-
require "timex_datalink_client/helpers/length_packet_wrapper"
|
5
|
-
|
6
|
-
class TimexDatalinkClient
|
7
|
-
class Eeprom
|
8
|
-
class PhoneNumber
|
9
|
-
include Helpers::CharEncoders
|
10
|
-
prepend Helpers::LengthPacketWrapper
|
11
|
-
|
12
|
-
PHONE_DIGITS = 12
|
13
|
-
|
14
|
-
attr_accessor :name, :number, :type
|
15
|
-
|
16
|
-
# Create a PhoneNumber instance.
|
17
|
-
#
|
18
|
-
# @param name [String] Name associated to phone number.
|
19
|
-
# @param number [String] Phone number text.
|
20
|
-
# @param type [String] Phone number type.
|
21
|
-
# @return [PhoneNumber] PhoneNumber instance.
|
22
|
-
def initialize(name:, number:, type: " ")
|
23
|
-
@name = name
|
24
|
-
@number = number
|
25
|
-
@type = type
|
26
|
-
end
|
27
|
-
|
28
|
-
# Compile a packet for a phone number.
|
29
|
-
#
|
30
|
-
# @return [Array<Integer>] Array of integers that represent bytes.
|
31
|
-
def packet
|
32
|
-
[
|
33
|
-
number_with_type_characters,
|
34
|
-
name_characters,
|
35
|
-
].flatten
|
36
|
-
end
|
37
|
-
|
38
|
-
private
|
39
|
-
|
40
|
-
def number_with_type_truncated
|
41
|
-
number_with_type = "#{number} #{type}"
|
42
|
-
padded_number_with_type = number_with_type.rjust(PHONE_DIGITS)
|
43
|
-
|
44
|
-
padded_number_with_type[0..PHONE_DIGITS - 1]
|
45
|
-
end
|
46
|
-
|
47
|
-
def number_with_type_characters
|
48
|
-
phone_chars_for(number_with_type_truncated)
|
49
|
-
end
|
50
|
-
|
51
|
-
def name_characters
|
52
|
-
eeprom_chars_for(name)
|
53
|
-
end
|
54
|
-
end
|
55
|
-
end
|
56
|
-
end
|
@@ -1,18 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require "timex_datalink_client/helpers/crc_packets_wrapper"
|
4
|
-
|
5
|
-
class TimexDatalinkClient
|
6
|
-
class End
|
7
|
-
prepend Helpers::CrcPacketsWrapper
|
8
|
-
|
9
|
-
CPACKET_SKIP = [0x21]
|
10
|
-
|
11
|
-
# Compile packets for data end command.
|
12
|
-
#
|
13
|
-
# @return [Array<Array<Integer>>] Two-dimensional array of integers that represent bytes.
|
14
|
-
def packets
|
15
|
-
[CPACKET_SKIP]
|
16
|
-
end
|
17
|
-
end
|
18
|
-
end
|
@@ -1,37 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
class TimexDatalinkClient
|
4
|
-
class Sync
|
5
|
-
SYNC_1_BYTE = [0x55]
|
6
|
-
SYNC_2_BYTE = [0xaa]
|
7
|
-
|
8
|
-
SYNC_2_LENGTH = 40
|
9
|
-
|
10
|
-
attr_accessor :length
|
11
|
-
|
12
|
-
# Create a Sync instance.
|
13
|
-
#
|
14
|
-
# @param length [Integer] Number of 0x55 sync bytes to use.
|
15
|
-
# @return [Sync] Sync instance.
|
16
|
-
def initialize(length: 300)
|
17
|
-
@length = length
|
18
|
-
end
|
19
|
-
|
20
|
-
# Compile packets for syncronization data.
|
21
|
-
#
|
22
|
-
# @return [Array<Array<Integer>>] Two-dimensional array of integers that represent bytes.
|
23
|
-
def packets
|
24
|
-
[render_sync_1 + render_sync_2]
|
25
|
-
end
|
26
|
-
|
27
|
-
private
|
28
|
-
|
29
|
-
def render_sync_1
|
30
|
-
SYNC_1_BYTE * length
|
31
|
-
end
|
32
|
-
|
33
|
-
def render_sync_2
|
34
|
-
SYNC_2_BYTE * SYNC_2_LENGTH
|
35
|
-
end
|
36
|
-
end
|
37
|
-
end
|