tinkerforge 2.1.4 → 2.1.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. data/lib/tinkerforge/brick_dc.rb +42 -4
  2. data/lib/tinkerforge/brick_imu.rb +49 -11
  3. data/lib/tinkerforge/brick_imu_v2.rb +506 -0
  4. data/lib/tinkerforge/brick_master.rb +86 -46
  5. data/lib/tinkerforge/brick_red.rb +36 -5
  6. data/lib/tinkerforge/brick_servo.rb +53 -15
  7. data/lib/tinkerforge/brick_stepper.rb +43 -14
  8. data/lib/tinkerforge/bricklet_accelerometer.rb +229 -0
  9. data/lib/tinkerforge/bricklet_ambient_light.rb +10 -9
  10. data/lib/tinkerforge/bricklet_ambient_light_v2.rb +216 -0
  11. data/lib/tinkerforge/bricklet_analog_in.rb +13 -12
  12. data/lib/tinkerforge/bricklet_analog_in_v2.rb +259 -0
  13. data/lib/tinkerforge/bricklet_analog_out.rb +5 -4
  14. data/lib/tinkerforge/bricklet_analog_out_v2.rb +66 -0
  15. data/lib/tinkerforge/bricklet_barometer.rb +11 -9
  16. data/lib/tinkerforge/bricklet_color.rb +11 -9
  17. data/lib/tinkerforge/bricklet_current12.rb +5 -4
  18. data/lib/tinkerforge/bricklet_current25.rb +5 -4
  19. data/lib/tinkerforge/bricklet_distance_ir.rb +8 -7
  20. data/lib/tinkerforge/bricklet_distance_us.rb +9 -8
  21. data/lib/tinkerforge/bricklet_dual_button.rb +5 -4
  22. data/lib/tinkerforge/bricklet_dual_relay.rb +5 -4
  23. data/lib/tinkerforge/bricklet_dust_detector.rb +178 -0
  24. data/lib/tinkerforge/bricklet_gps.rb +6 -5
  25. data/lib/tinkerforge/bricklet_hall_effect.rb +5 -4
  26. data/lib/tinkerforge/bricklet_humidity.rb +8 -7
  27. data/lib/tinkerforge/bricklet_industrial_analog_out.rb +137 -0
  28. data/lib/tinkerforge/bricklet_industrial_digital_in_4.rb +8 -7
  29. data/lib/tinkerforge/bricklet_industrial_digital_out_4.rb +5 -4
  30. data/lib/tinkerforge/bricklet_industrial_dual_0_20ma.rb +6 -5
  31. data/lib/tinkerforge/bricklet_industrial_dual_analog_in.rb +209 -0
  32. data/lib/tinkerforge/bricklet_industrial_quad_relay.rb +5 -4
  33. data/lib/tinkerforge/bricklet_io16.rb +8 -7
  34. data/lib/tinkerforge/bricklet_io4.rb +8 -7
  35. data/lib/tinkerforge/bricklet_joystick.rb +5 -4
  36. data/lib/tinkerforge/bricklet_laser_range_finder.rb +324 -0
  37. data/lib/tinkerforge/bricklet_lcd_16x2.rb +7 -6
  38. data/lib/tinkerforge/bricklet_lcd_20x4.rb +11 -10
  39. data/lib/tinkerforge/bricklet_led_strip.rb +12 -10
  40. data/lib/tinkerforge/bricklet_line.rb +5 -4
  41. data/lib/tinkerforge/bricklet_linear_poti.rb +8 -7
  42. data/lib/tinkerforge/bricklet_load_cell.rb +261 -0
  43. data/lib/tinkerforge/bricklet_moisture.rb +6 -5
  44. data/lib/tinkerforge/bricklet_motion_detector.rb +5 -4
  45. data/lib/tinkerforge/bricklet_multi_touch.rb +5 -4
  46. data/lib/tinkerforge/bricklet_nfc_rfid.rb +38 -46
  47. data/lib/tinkerforge/bricklet_piezo_buzzer.rb +5 -4
  48. data/lib/tinkerforge/bricklet_piezo_speaker.rb +6 -5
  49. data/lib/tinkerforge/bricklet_ptc.rb +5 -4
  50. data/lib/tinkerforge/bricklet_remote_switch.rb +9 -8
  51. data/lib/tinkerforge/bricklet_rotary_encoder.rb +5 -4
  52. data/lib/tinkerforge/bricklet_rotary_poti.rb +5 -4
  53. data/lib/tinkerforge/bricklet_rs232.rb +183 -0
  54. data/lib/tinkerforge/bricklet_segment_display_4x7.rb +8 -5
  55. data/lib/tinkerforge/bricklet_solid_state_relay.rb +5 -4
  56. data/lib/tinkerforge/bricklet_sound_intensity.rb +6 -5
  57. data/lib/tinkerforge/bricklet_temperature.rb +7 -6
  58. data/lib/tinkerforge/bricklet_temperature_ir.rb +7 -6
  59. data/lib/tinkerforge/bricklet_tilt.rb +5 -4
  60. data/lib/tinkerforge/bricklet_voltage.rb +8 -7
  61. data/lib/tinkerforge/bricklet_voltage_current.rb +5 -4
  62. data/lib/tinkerforge/version.rb +1 -1
  63. metadata +13 -2
@@ -1,18 +1,19 @@
1
1
  # -*- ruby encoding: utf-8 -*-
2
2
  #############################################################
3
- # This file was automatically generated on 2014-12-10. #
3
+ # This file was automatically generated on 2015-11-17. #
4
4
  # #
5
- # Bindings Version 2.1.4 #
5
+ # Bindings Version 2.1.6 #
6
6
  # #
7
7
  # If you have a bugfix for this file and want to commit it, #
8
8
  # please fix the bug in the generator. You can find a link #
9
- # to the generator git on tinkerforge.com #
9
+ # to the generators git repository on tinkerforge.com #
10
10
  #############################################################
11
11
 
12
12
  module Tinkerforge
13
- # Device for sensing Moisture
13
+ # Measures soil moisture
14
14
  class BrickletMoisture < Device
15
15
  DEVICE_IDENTIFIER = 232 # :nodoc:
16
+ DEVICE_DISPLAY_NAME = 'Moisture Bricklet' # :nodoc:
16
17
 
17
18
  # This callback is triggered periodically with the period that is set by
18
19
  # BrickletMoisture#set_moisture_callback_period. The parameter is the moisture value
@@ -140,7 +141,7 @@ module Tinkerforge
140
141
  send_request(FUNCTION_GET_DEBOUNCE_PERIOD, [], '', 4, 'L')
141
142
  end
142
143
 
143
- # Sets the length of a `moving averaging <http://en.wikipedia.org/wiki/Moving_average>`__
144
+ # Sets the length of a `moving averaging <https://en.wikipedia.org/wiki/Moving_average>`__
144
145
  # for the moisture value.
145
146
  #
146
147
  # Setting the length to 0 will turn the averaging completely off. With less
@@ -1,18 +1,19 @@
1
1
  # -*- ruby encoding: utf-8 -*-
2
2
  #############################################################
3
- # This file was automatically generated on 2014-12-10. #
3
+ # This file was automatically generated on 2015-11-17. #
4
4
  # #
5
- # Bindings Version 2.1.4 #
5
+ # Bindings Version 2.1.6 #
6
6
  # #
7
7
  # If you have a bugfix for this file and want to commit it, #
8
8
  # please fix the bug in the generator. You can find a link #
9
- # to the generator git on tinkerforge.com #
9
+ # to the generators git repository on tinkerforge.com #
10
10
  #############################################################
11
11
 
12
12
  module Tinkerforge
13
- # Device that reads out PIR motion detector
13
+ # Passive infrared (PIR) motion sensor, 7m range
14
14
  class BrickletMotionDetector < Device
15
15
  DEVICE_IDENTIFIER = 233 # :nodoc:
16
+ DEVICE_DISPLAY_NAME = 'Motion Detector Bricklet' # :nodoc:
16
17
 
17
18
  # This callback is called after a motion was detected.
18
19
  CALLBACK_MOTION_DETECTED = 2
@@ -1,18 +1,19 @@
1
1
  # -*- ruby encoding: utf-8 -*-
2
2
  #############################################################
3
- # This file was automatically generated on 2014-12-10. #
3
+ # This file was automatically generated on 2015-11-17. #
4
4
  # #
5
- # Bindings Version 2.1.4 #
5
+ # Bindings Version 2.1.6 #
6
6
  # #
7
7
  # If you have a bugfix for this file and want to commit it, #
8
8
  # please fix the bug in the generator. You can find a link #
9
- # to the generator git on tinkerforge.com #
9
+ # to the generators git repository on tinkerforge.com #
10
10
  #############################################################
11
11
 
12
12
  module Tinkerforge
13
- # Device with 12 touch sensors
13
+ # Capacitive touch sensor for 12 electrodes
14
14
  class BrickletMultiTouch < Device
15
15
  DEVICE_IDENTIFIER = 234 # :nodoc:
16
+ DEVICE_DISPLAY_NAME = 'Multi Touch Bricklet' # :nodoc:
16
17
 
17
18
  # Returns the current touch state, see BrickletMultiTouch#get_touch_state for
18
19
  # information about the state.
@@ -1,18 +1,19 @@
1
1
  # -*- ruby encoding: utf-8 -*-
2
2
  #############################################################
3
- # This file was automatically generated on 2014-12-10. #
3
+ # This file was automatically generated on 2015-11-17. #
4
4
  # #
5
- # Bindings Version 2.1.4 #
5
+ # Bindings Version 2.1.6 #
6
6
  # #
7
7
  # If you have a bugfix for this file and want to commit it, #
8
8
  # please fix the bug in the generator. You can find a link #
9
- # to the generator git on tinkerforge.com #
9
+ # to the generators git repository on tinkerforge.com #
10
10
  #############################################################
11
11
 
12
12
  module Tinkerforge
13
- # Device that can read and write NFC and RFID tags
13
+ # Reads and writes NFC and RFID tags
14
14
  class BrickletNFCRFID < Device
15
15
  DEVICE_IDENTIFIER = 246 # :nodoc:
16
+ DEVICE_DISPLAY_NAME = 'NFC/RFID Bricklet' # :nodoc:
16
17
 
17
18
  # This callback is called if the state of the NFC/RFID Bricklet changes.
18
19
  # See BrickletNFCRFID#get_state for more information about the possible states.
@@ -75,9 +76,9 @@ module Tinkerforge
75
76
  #
76
77
  # Current the following tag types are supported:
77
78
  #
78
- # * Mifare Classic (``tag_type`` = 0)
79
- # * NFC Forum Type 1 (``tag_type`` = 1)
80
- # * NFC Forum Type 2 (``tag_type`` = 2)
79
+ # * Mifare Classic
80
+ # * NFC Forum Type 1
81
+ # * NFC Forum Type 2
81
82
  #
82
83
  # After you call BrickletNFCRFID#request_tag_id the NFC/RFID Bricklet will try to read
83
84
  # the tag ID from the tag. After this process is done the state will change.
@@ -107,9 +108,10 @@ module Tinkerforge
107
108
  #
108
109
  # To get the tag ID of a tag the approach is as follows:
109
110
  #
110
- # * Call BrickletNFCRFID#request_tag_id
111
- # * Wait for state to change to *RequestTagIDReady* (see BrickletNFCRFID#get_state or CALLBACK_STATE_CHANGED)
112
- # * Call BrickletNFCRFID#get_tag_id
111
+ # 1. Call BrickletNFCRFID#request_tag_id
112
+ # 2. Wait for state to change to *RequestTagIDReady* (see BrickletNFCRFID#get_state or
113
+ # CALLBACK_STATE_CHANGED)
114
+ # 3. Call BrickletNFCRFID#get_tag_id
113
115
  def get_tag_id
114
116
  send_request(FUNCTION_GET_TAG_ID, [], '', 9, 'C C C7')
115
117
  end
@@ -128,24 +130,6 @@ module Tinkerforge
128
130
  # didn't. If the request worked you can get the page by calling BrickletNFCRFID#get_page.
129
131
  #
130
132
  # The same approach is used analogously for the other API functions.
131
- #
132
- # Possible states are:
133
- #
134
- # * Initialization = 0
135
- # * Idle = 128
136
- # * Error = 192
137
- # * RequestTagID = 2
138
- # * RequestTagIDReady = 130
139
- # * RequestTagIDError = 194
140
- # * AuthenticatingMifareClassicPage = 3
141
- # * AuthenticatingMifareClassicPageReady = 131
142
- # * AuthenticatingMifareClassicPageError = 195
143
- # * WritePage = 4
144
- # * WritePageReady = 132
145
- # * WritePageError = 196
146
- # * RequestPage = 5
147
- # * RequestPageReady = 133
148
- # * RequestPageError = 197
149
133
  def get_state
150
134
  send_request(FUNCTION_GET_STATE, [], '', 2, 'C ?')
151
135
  end
@@ -159,13 +143,15 @@ module Tinkerforge
159
143
  #
160
144
  # The approach to read or write a Mifare Classic page is as follows:
161
145
  #
162
- # * Call BrickletNFCRFID#request_tag_id
163
- # * Wait for state to change to *RequestTagIDReady* (see BrickletNFCRFID#get_state
164
- # or CALLBACK_STATE_CHANGED)
165
- # * Call BrickletNFCRFID#get_tag_id and check if tag ID is correct
166
- # * Call BrickletNFCRFID#authenticate_mifare_classic_page with page and key for the page
167
- # * Wait for state to change to *AuthenticatingMifareClassicPageReady*
168
- # * Call BrickletNFCRFID#request_page or :func`WritePage` to read/write page
146
+ # 1. Call BrickletNFCRFID#request_tag_id
147
+ # 2. Wait for state to change to *RequestTagIDReady* (see BrickletNFCRFID#get_state
148
+ # or CALLBACK_STATE_CHANGED)
149
+ # 3. If looking for a specific tag then call BrickletNFCRFID#get_tag_id and check if the
150
+ # expected tag was found, if it was not found got back to step 1
151
+ # 4. Call BrickletNFCRFID#authenticate_mifare_classic_page with page and key for the page
152
+ # 5. Wait for state to change to *AuthenticatingMifareClassicPageReady* (see
153
+ # BrickletNFCRFID#get_state or CALLBACK_STATE_CHANGED)
154
+ # 6. Call BrickletNFCRFID#request_page or BrickletNFCRFID#write_page to read/write page
169
155
  def authenticate_mifare_classic_page(page, key_number, key)
170
156
  send_request(FUNCTION_AUTHENTICATE_MIFARE_CLASSIC_PAGE, [page, key_number, key], 'S C C6', 0, '')
171
157
  end
@@ -179,11 +165,14 @@ module Tinkerforge
179
165
  #
180
166
  # The general approach for writing to a tag is as follows:
181
167
  #
182
- # * Call BrickletNFCRFID#request_tag_id
183
- # * Wait for state to change to *RequestTagIDReady* (see BrickletNFCRFID#get_state or CALLBACK_STATE_CHANGED)
184
- # * Call BrickletNFCRFID#get_tag_id and check if tag ID is correct
185
- # * Call BrickletNFCRFID#write_page with page number and data
186
- # * Wait for state to change to *WritePageReady*
168
+ # 1. Call BrickletNFCRFID#request_tag_id
169
+ # 2. Wait for state to change to *RequestTagIDReady* (see BrickletNFCRFID#get_state or
170
+ # CALLBACK_STATE_CHANGED)
171
+ # 3. If looking for a specific tag then call BrickletNFCRFID#get_tag_id and check if the
172
+ # expected tag was found, if it was not found got back to step 1
173
+ # 4. Call BrickletNFCRFID#write_page with page number and data
174
+ # 5. Wait for state to change to *WritePageReady* (see BrickletNFCRFID#get_state or
175
+ # CALLBACK_STATE_CHANGED)
187
176
  #
188
177
  # If you use a Mifare Classic tag you have to authenticate a page before you
189
178
  # can write to it. See BrickletNFCRFID#authenticate_mifare_classic_page.
@@ -202,12 +191,15 @@ module Tinkerforge
202
191
  #
203
192
  # The general approach for reading a tag is as follows:
204
193
  #
205
- # * Call BrickletNFCRFID#request_tag_id
206
- # * Wait for state to change to *RequestTagIDReady* (see BrickletNFCRFID#get_state or CALLBACK_STATE_CHANGED)
207
- # * Call BrickletNFCRFID#get_tag_id and check if tag ID is correct
208
- # * Call BrickletNFCRFID#request_page with page number
209
- # * Wait for state to change to *RequestPageReady*
210
- # * Call BrickletNFCRFID#get_page to retrieve the page from the buffer
194
+ # 1. Call BrickletNFCRFID#request_tag_id
195
+ # 2. Wait for state to change to *RequestTagIDReady* (see BrickletNFCRFID#get_state
196
+ # or CALLBACK_STATE_CHANGED)
197
+ # 3. If looking for a specific tag then call BrickletNFCRFID#get_tag_id and check if the
198
+ # expected tag was found, if it was not found got back to step 1
199
+ # 4. Call BrickletNFCRFID#request_page with page number
200
+ # 5. Wait for state to change to *RequestPageReady* (see BrickletNFCRFID#get_state
201
+ # or CALLBACK_STATE_CHANGED)
202
+ # 6. Call BrickletNFCRFID#get_page to retrieve the page from the buffer
211
203
  #
212
204
  # If you use a Mifare Classic tag you have to authenticate a page before you
213
205
  # can read it. See BrickletNFCRFID#authenticate_mifare_classic_page.
@@ -1,18 +1,19 @@
1
1
  # -*- ruby encoding: utf-8 -*-
2
2
  #############################################################
3
- # This file was automatically generated on 2014-12-10. #
3
+ # This file was automatically generated on 2015-11-17. #
4
4
  # #
5
- # Bindings Version 2.1.4 #
5
+ # Bindings Version 2.1.6 #
6
6
  # #
7
7
  # If you have a bugfix for this file and want to commit it, #
8
8
  # please fix the bug in the generator. You can find a link #
9
- # to the generator git on tinkerforge.com #
9
+ # to the generators git repository on tinkerforge.com #
10
10
  #############################################################
11
11
 
12
12
  module Tinkerforge
13
- # Device for controlling a piezo buzzer
13
+ # Creates 1kHz beep
14
14
  class BrickletPiezoBuzzer < Device
15
15
  DEVICE_IDENTIFIER = 214 # :nodoc:
16
+ DEVICE_DISPLAY_NAME = 'Piezo Buzzer Bricklet' # :nodoc:
16
17
 
17
18
  # This callback is triggered if a beep set by BrickletPiezoBuzzer#beep is finished
18
19
  CALLBACK_BEEP_FINISHED = 3
@@ -1,18 +1,19 @@
1
1
  # -*- ruby encoding: utf-8 -*-
2
2
  #############################################################
3
- # This file was automatically generated on 2014-12-10. #
3
+ # This file was automatically generated on 2015-11-17. #
4
4
  # #
5
- # Bindings Version 2.1.4 #
5
+ # Bindings Version 2.1.6 #
6
6
  # #
7
7
  # If you have a bugfix for this file and want to commit it, #
8
8
  # please fix the bug in the generator. You can find a link #
9
- # to the generator git on tinkerforge.com #
9
+ # to the generators git repository on tinkerforge.com #
10
10
  #############################################################
11
11
 
12
12
  module Tinkerforge
13
- # Device for controlling a piezo buzzer with configurable frequencies
13
+ # Creates beep with configurable frequency
14
14
  class BrickletPiezoSpeaker < Device
15
15
  DEVICE_IDENTIFIER = 242 # :nodoc:
16
+ DEVICE_DISPLAY_NAME = 'Piezo Speaker Bricklet' # :nodoc:
16
17
 
17
18
  # This callback is triggered if a beep set by BrickletPiezoSpeaker#beep is finished
18
19
  CALLBACK_BEEP_FINISHED = 4
@@ -52,7 +53,7 @@ module Tinkerforge
52
53
  # the piezo buzzer will beep for one second with a frequency of
53
54
  # approximately 2 kHz.
54
55
  #
55
- # .. versionchanged:: 2.0.2~(Plugin)
56
+ # .. versionchanged:: 2.0.2$nbsp;(Plugin)
56
57
  # A duration of 0 stops the current beep if any, the frequency parameter is
57
58
  # ignored. A duration of 4294967295 results in an infinite beep.
58
59
  #
@@ -1,18 +1,19 @@
1
1
  # -*- ruby encoding: utf-8 -*-
2
2
  #############################################################
3
- # This file was automatically generated on 2014-12-10. #
3
+ # This file was automatically generated on 2015-11-17. #
4
4
  # #
5
- # Bindings Version 2.1.4 #
5
+ # Bindings Version 2.1.6 #
6
6
  # #
7
7
  # If you have a bugfix for this file and want to commit it, #
8
8
  # please fix the bug in the generator. You can find a link #
9
- # to the generator git on tinkerforge.com #
9
+ # to the generators git repository on tinkerforge.com #
10
10
  #############################################################
11
11
 
12
12
  module Tinkerforge
13
- # Device for reading temperatures from Pt100 or Pt1000 sensors
13
+ # Reads temperatures from Pt100 und Pt1000 sensors
14
14
  class BrickletPTC < Device
15
15
  DEVICE_IDENTIFIER = 226 # :nodoc:
16
+ DEVICE_DISPLAY_NAME = 'PTC Bricklet' # :nodoc:
16
17
 
17
18
  # This callback is triggered periodically with the period that is set by
18
19
  # BrickletPTC#set_temperature_callback_period. The parameter is the temperature
@@ -1,18 +1,19 @@
1
1
  # -*- ruby encoding: utf-8 -*-
2
2
  #############################################################
3
- # This file was automatically generated on 2014-12-10. #
3
+ # This file was automatically generated on 2015-11-17. #
4
4
  # #
5
- # Bindings Version 2.1.4 #
5
+ # Bindings Version 2.1.6 #
6
6
  # #
7
7
  # If you have a bugfix for this file and want to commit it, #
8
8
  # please fix the bug in the generator. You can find a link #
9
- # to the generator git on tinkerforge.com #
9
+ # to the generators git repository on tinkerforge.com #
10
10
  #############################################################
11
11
 
12
12
  module Tinkerforge
13
- # Device that controls mains switches remotely
13
+ # Controls remote mains switches
14
14
  class BrickletRemoteSwitch < Device
15
15
  DEVICE_IDENTIFIER = 235 # :nodoc:
16
+ DEVICE_DISPLAY_NAME = 'Remote Switch Bricklet' # :nodoc:
16
17
 
17
18
  # This callback is called whenever the switching state changes
18
19
  # from busy to ready, see BrickletRemoteSwitch#get_switching_state.
@@ -94,7 +95,7 @@ module Tinkerforge
94
95
  # A detailed description on how you can figure out the house and receiver code
95
96
  # can be found :ref:`here <remote_switch_bricklet_type_a_house_and_receiver_code>`.
96
97
  #
97
- # .. versionadded:: 2.0.1~(Plugin)
98
+ # .. versionadded:: 2.0.1$nbsp;(Plugin)
98
99
  def switch_socket_a(house_code, receiver_code, switch_to)
99
100
  send_request(FUNCTION_SWITCH_SOCKET_A, [house_code, receiver_code, switch_to], 'C C C', 0, '')
100
101
  end
@@ -109,7 +110,7 @@ module Tinkerforge
109
110
  # A detailed description on how you can teach a socket the address and unit can
110
111
  # be found :ref:`here <remote_switch_bricklet_type_b_address_and_unit>`.
111
112
  #
112
- # .. versionadded:: 2.0.1~(Plugin)
113
+ # .. versionadded:: 2.0.1$nbsp;(Plugin)
113
114
  def switch_socket_b(address, unit, switch_to)
114
115
  send_request(FUNCTION_SWITCH_SOCKET_B, [address, unit, switch_to], 'L C C', 0, '')
115
116
  end
@@ -123,7 +124,7 @@ module Tinkerforge
123
124
  # A detailed description on how you can teach a dimmer the address and unit can
124
125
  # be found :ref:`here <remote_switch_bricklet_type_b_address_and_unit>`.
125
126
  #
126
- # .. versionadded:: 2.0.1~(Plugin)
127
+ # .. versionadded:: 2.0.1$nbsp;(Plugin)
127
128
  def dim_socket_b(address, unit, dim_value)
128
129
  send_request(FUNCTION_DIM_SOCKET_B, [address, unit, dim_value], 'L C C', 0, '')
129
130
  end
@@ -137,7 +138,7 @@ module Tinkerforge
137
138
  # A detailed description on how you can figure out the system and device code
138
139
  # can be found :ref:`here <remote_switch_bricklet_type_c_system_and_device_code>`.
139
140
  #
140
- # .. versionadded:: 2.0.1~(Plugin)
141
+ # .. versionadded:: 2.0.1$nbsp;(Plugin)
141
142
  def switch_socket_c(system_code, device_code, switch_to)
142
143
  send_request(FUNCTION_SWITCH_SOCKET_C, [system_code, device_code, switch_to], 'k C C', 0, '')
143
144
  end
@@ -1,18 +1,19 @@
1
1
  # -*- ruby encoding: utf-8 -*-
2
2
  #############################################################
3
- # This file was automatically generated on 2014-12-10. #
3
+ # This file was automatically generated on 2015-11-17. #
4
4
  # #
5
- # Bindings Version 2.1.4 #
5
+ # Bindings Version 2.1.6 #
6
6
  # #
7
7
  # If you have a bugfix for this file and want to commit it, #
8
8
  # please fix the bug in the generator. You can find a link #
9
- # to the generator git on tinkerforge.com #
9
+ # to the generators git repository on tinkerforge.com #
10
10
  #############################################################
11
11
 
12
12
  module Tinkerforge
13
- # Device for sensing Rotary Encoder input
13
+ # 360° rotary encoder with push-button
14
14
  class BrickletRotaryEncoder < Device
15
15
  DEVICE_IDENTIFIER = 236 # :nodoc:
16
+ DEVICE_DISPLAY_NAME = 'Rotary Encoder Bricklet' # :nodoc:
16
17
 
17
18
  # This callback is triggered periodically with the period that is set by
18
19
  # BrickletRotaryEncoder#set_count_callback_period. The parameter is the count of
@@ -1,18 +1,19 @@
1
1
  # -*- ruby encoding: utf-8 -*-
2
2
  #############################################################
3
- # This file was automatically generated on 2014-12-10. #
3
+ # This file was automatically generated on 2015-11-17. #
4
4
  # #
5
- # Bindings Version 2.1.4 #
5
+ # Bindings Version 2.1.6 #
6
6
  # #
7
7
  # If you have a bugfix for this file and want to commit it, #
8
8
  # please fix the bug in the generator. You can find a link #
9
- # to the generator git on tinkerforge.com #
9
+ # to the generators git repository on tinkerforge.com #
10
10
  #############################################################
11
11
 
12
12
  module Tinkerforge
13
- # Device for sensing Rotary Potentiometer input
13
+ # 300° rotary potentiometer
14
14
  class BrickletRotaryPoti < Device
15
15
  DEVICE_IDENTIFIER = 215 # :nodoc:
16
+ DEVICE_DISPLAY_NAME = 'Rotary Poti Bricklet' # :nodoc:
16
17
 
17
18
  # This callback is triggered periodically with the period that is set by
18
19
  # BrickletRotaryPoti#set_position_callback_period. The parameter is the position of the
@@ -0,0 +1,183 @@
1
+ # -*- ruby encoding: utf-8 -*-
2
+ #############################################################
3
+ # This file was automatically generated on 2015-11-17. #
4
+ # #
5
+ # Bindings Version 2.1.6 #
6
+ # #
7
+ # If you have a bugfix for this file and want to commit it, #
8
+ # please fix the bug in the generator. You can find a link #
9
+ # to the generators git repository on tinkerforge.com #
10
+ #############################################################
11
+
12
+ module Tinkerforge
13
+ # Communicates with RS232 devices
14
+ class BrickletRS232 < Device
15
+ DEVICE_IDENTIFIER = 254 # :nodoc:
16
+ DEVICE_DISPLAY_NAME = 'RS232 Bricklet' # :nodoc:
17
+
18
+ # This callback is called if new data is available. The message has
19
+ # a maximum size of 60 characters. The actual length of the message
20
+ # is given in addition.
21
+ #
22
+ # To enable this callback, use BrickletRS232#enable_read_callback.
23
+ CALLBACK_READ_CALLBACK = 8
24
+
25
+ # This callback is called if an error occurs.
26
+ # Possible errors are overrun, parity or framing error.
27
+ #
28
+ # .. versionadded:: 2.0.1$nbsp;(Plugin)
29
+ CALLBACK_ERROR_CALLBACK = 9
30
+
31
+ FUNCTION_WRITE = 1 # :nodoc:
32
+ FUNCTION_READ = 2 # :nodoc:
33
+ FUNCTION_ENABLE_READ_CALLBACK = 3 # :nodoc:
34
+ FUNCTION_DISABLE_READ_CALLBACK = 4 # :nodoc:
35
+ FUNCTION_IS_READ_CALLBACK_ENABLED = 5 # :nodoc:
36
+ FUNCTION_SET_CONFIGURATION = 6 # :nodoc:
37
+ FUNCTION_GET_CONFIGURATION = 7 # :nodoc:
38
+ FUNCTION_SET_BREAK_CONDITION = 10 # :nodoc:
39
+ FUNCTION_GET_IDENTITY = 255 # :nodoc:
40
+
41
+ BAUDRATE_300 = 0 # :nodoc:
42
+ BAUDRATE_600 = 1 # :nodoc:
43
+ BAUDRATE_1200 = 2 # :nodoc:
44
+ BAUDRATE_2400 = 3 # :nodoc:
45
+ BAUDRATE_4800 = 4 # :nodoc:
46
+ BAUDRATE_9600 = 5 # :nodoc:
47
+ BAUDRATE_14400 = 6 # :nodoc:
48
+ BAUDRATE_19200 = 7 # :nodoc:
49
+ BAUDRATE_28800 = 8 # :nodoc:
50
+ BAUDRATE_38400 = 9 # :nodoc:
51
+ BAUDRATE_57600 = 10 # :nodoc:
52
+ BAUDRATE_115200 = 11 # :nodoc:
53
+ BAUDRATE_230400 = 12 # :nodoc:
54
+ PARITY_NONE = 0 # :nodoc:
55
+ PARITY_ODD = 1 # :nodoc:
56
+ PARITY_EVEN = 2 # :nodoc:
57
+ PARITY_FORCED_PARITY_1 = 3 # :nodoc:
58
+ PARITY_FORCED_PARITY_0 = 4 # :nodoc:
59
+ STOPBITS_1 = 1 # :nodoc:
60
+ STOPBITS_2 = 2 # :nodoc:
61
+ WORDLENGTH_5 = 5 # :nodoc:
62
+ WORDLENGTH_6 = 6 # :nodoc:
63
+ WORDLENGTH_7 = 7 # :nodoc:
64
+ WORDLENGTH_8 = 8 # :nodoc:
65
+ HARDWARE_FLOWCONTROL_OFF = 0 # :nodoc:
66
+ HARDWARE_FLOWCONTROL_ON = 1 # :nodoc:
67
+ SOFTWARE_FLOWCONTROL_OFF = 0 # :nodoc:
68
+ SOFTWARE_FLOWCONTROL_ON = 1 # :nodoc:
69
+ ERROR_OVERRUN = 1 # :nodoc:
70
+ ERROR_PARITY = 2 # :nodoc:
71
+ ERROR_FRAMING = 4 # :nodoc:
72
+
73
+ # Creates an object with the unique device ID <tt>uid</tt> and adds it to
74
+ # the IP Connection <tt>ipcon</tt>.
75
+ def initialize(uid, ipcon)
76
+ super uid, ipcon
77
+
78
+ @api_version = [2, 0, 2]
79
+
80
+ @response_expected[FUNCTION_WRITE] = RESPONSE_EXPECTED_ALWAYS_TRUE
81
+ @response_expected[FUNCTION_READ] = RESPONSE_EXPECTED_ALWAYS_TRUE
82
+ @response_expected[FUNCTION_ENABLE_READ_CALLBACK] = RESPONSE_EXPECTED_TRUE
83
+ @response_expected[FUNCTION_DISABLE_READ_CALLBACK] = RESPONSE_EXPECTED_TRUE
84
+ @response_expected[FUNCTION_IS_READ_CALLBACK_ENABLED] = RESPONSE_EXPECTED_ALWAYS_TRUE
85
+ @response_expected[FUNCTION_SET_CONFIGURATION] = RESPONSE_EXPECTED_FALSE
86
+ @response_expected[FUNCTION_GET_CONFIGURATION] = RESPONSE_EXPECTED_ALWAYS_TRUE
87
+ @response_expected[CALLBACK_READ_CALLBACK] = RESPONSE_EXPECTED_ALWAYS_FALSE
88
+ @response_expected[CALLBACK_ERROR_CALLBACK] = RESPONSE_EXPECTED_ALWAYS_FALSE
89
+ @response_expected[FUNCTION_SET_BREAK_CONDITION] = RESPONSE_EXPECTED_FALSE
90
+ @response_expected[FUNCTION_GET_IDENTITY] = RESPONSE_EXPECTED_ALWAYS_TRUE
91
+
92
+ @callback_formats[CALLBACK_READ_CALLBACK] = 'k60 C'
93
+ @callback_formats[CALLBACK_ERROR_CALLBACK] = 'C'
94
+ end
95
+
96
+ # Writes a string of up to 60 characters to the RS232 interface. The string
97
+ # can be binary data, ASCII or similar is not necessary.
98
+ #
99
+ # The length of the string has to be given as an additional parameter.
100
+ #
101
+ # The return value is the number of bytes that could be written.
102
+ #
103
+ # See :func:`SetConfigurations` for configuration possibilities
104
+ # regarding baudrate, parity and so on.
105
+ def write(message, length)
106
+ send_request(FUNCTION_WRITE, [message, length], 'k60 C', 1, 'C')
107
+ end
108
+
109
+ # Returns the currently buffered message. The maximum length
110
+ # of message is 60. If the length is given as 0, there was no
111
+ # new data available.
112
+ #
113
+ # Instead of polling with this function, you can also use
114
+ # callbacks. See BrickletRS232#enable_read_callback and CALLBACK_READ_CALLBACK.
115
+ def read
116
+ send_request(FUNCTION_READ, [], '', 61, 'k60 C')
117
+ end
118
+
119
+ # Enables the CALLBACK_READ_CALLBACK.
120
+ #
121
+ # By default the callback is disabled.
122
+ def enable_read_callback
123
+ send_request(FUNCTION_ENABLE_READ_CALLBACK, [], '', 0, '')
124
+ end
125
+
126
+ # Disables the CALLBACK_READ_CALLBACK.
127
+ #
128
+ # By default the callback is disabled.
129
+ def disable_read_callback
130
+ send_request(FUNCTION_DISABLE_READ_CALLBACK, [], '', 0, '')
131
+ end
132
+
133
+ # Returns *true* if the CALLBACK_READ_CALLBACK is enabled,
134
+ # *false* otherwise.
135
+ def is_read_callback_enabled
136
+ send_request(FUNCTION_IS_READ_CALLBACK_ENABLED, [], '', 1, '?')
137
+ end
138
+
139
+ # Sets the configuration for the RS232 communication. Available options:
140
+ #
141
+ # * Baudrate between 300 and 230400 baud.
142
+ # * Parity of none, odd, even or forced parity.
143
+ # * Stopbits can be 1 or 2.
144
+ # * Word length of 5 to 8.
145
+ # * Hard-/Software flow control can each be on or off.
146
+ #
147
+ # The default is: 115200 baud, parity none, 1 stop bit, word length 8, hard-/software flow control off.
148
+ def set_configuration(baudrate, parity, stopbits, wordlength, hardware_flowcontrol, software_flowcontrol)
149
+ send_request(FUNCTION_SET_CONFIGURATION, [baudrate, parity, stopbits, wordlength, hardware_flowcontrol, software_flowcontrol], 'C C C C C C', 0, '')
150
+ end
151
+
152
+ # Returns the configuration as set by BrickletRS232#set_configuration.
153
+ def get_configuration
154
+ send_request(FUNCTION_GET_CONFIGURATION, [], '', 6, 'C C C C C C')
155
+ end
156
+
157
+ # Sets a break condition (the TX output is forced to a logic 0 state).
158
+ # The parameter sets the hold-time of the break condition (in ms).
159
+ #
160
+ # .. versionadded:: 2.0.2$nbsp;(Plugin)
161
+ def set_break_condition(break_time)
162
+ send_request(FUNCTION_SET_BREAK_CONDITION, [break_time], 'S', 0, '')
163
+ end
164
+
165
+ # Returns the UID, the UID where the Bricklet is connected to,
166
+ # the position, the hardware and firmware version as well as the
167
+ # device identifier.
168
+ #
169
+ # The position can be 'a', 'b', 'c' or 'd'.
170
+ #
171
+ # The device identifier numbers can be found :ref:`here <device_identifier>`.
172
+ # |device_identifier_constant|
173
+ def get_identity
174
+ send_request(FUNCTION_GET_IDENTITY, [], '', 25, 'Z8 Z8 k C3 C3 S')
175
+ end
176
+
177
+ # Registers a callback with ID <tt>id</tt> to the block <tt>block</tt>.
178
+ def register_callback(id, &block)
179
+ callback = block
180
+ @registered_callbacks[id] = callback
181
+ end
182
+ end
183
+ end