tinkerforge 2.1.13 → 2.1.14

Sign up to get free protection for your applications and to get access to all the features.
Files changed (75) hide show
  1. data/lib/tinkerforge/brick_dc.rb +122 -34
  2. data/lib/tinkerforge/brick_imu.rb +135 -49
  3. data/lib/tinkerforge/brick_imu_v2.rb +137 -54
  4. data/lib/tinkerforge/brick_master.rb +206 -120
  5. data/lib/tinkerforge/brick_red.rb +64 -69
  6. data/lib/tinkerforge/brick_servo.rb +133 -44
  7. data/lib/tinkerforge/brick_silent_stepper.rb +151 -65
  8. data/lib/tinkerforge/brick_stepper.rb +139 -51
  9. data/lib/tinkerforge/bricklet_accelerometer.rb +17 -18
  10. data/lib/tinkerforge/bricklet_ambient_light.rb +16 -19
  11. data/lib/tinkerforge/bricklet_ambient_light_v2.rb +13 -14
  12. data/lib/tinkerforge/bricklet_analog_in.rb +20 -23
  13. data/lib/tinkerforge/bricklet_analog_in_v2.rb +18 -21
  14. data/lib/tinkerforge/bricklet_analog_out.rb +8 -7
  15. data/lib/tinkerforge/bricklet_analog_out_v2.rb +7 -6
  16. data/lib/tinkerforge/bricklet_barometer.rb +21 -24
  17. data/lib/tinkerforge/bricklet_can.rb +14 -14
  18. data/lib/tinkerforge/bricklet_co2.rb +11 -12
  19. data/lib/tinkerforge/bricklet_color.rb +22 -25
  20. data/lib/tinkerforge/bricklet_current12.rb +18 -22
  21. data/lib/tinkerforge/bricklet_current25.rb +18 -22
  22. data/lib/tinkerforge/bricklet_distance_ir.rb +18 -21
  23. data/lib/tinkerforge/bricklet_distance_us.rb +13 -14
  24. data/lib/tinkerforge/bricklet_dual_button.rb +8 -8
  25. data/lib/tinkerforge/bricklet_dual_relay.rb +9 -9
  26. data/lib/tinkerforge/bricklet_dust_detector.rb +13 -14
  27. data/lib/tinkerforge/bricklet_gps.rb +21 -25
  28. data/lib/tinkerforge/bricklet_gps_v2.rb +56 -41
  29. data/lib/tinkerforge/bricklet_hall_effect.rb +13 -13
  30. data/lib/tinkerforge/bricklet_humidity.rb +16 -19
  31. data/lib/tinkerforge/bricklet_industrial_analog_out.rb +13 -12
  32. data/lib/tinkerforge/bricklet_industrial_digital_in_4.rb +15 -15
  33. data/lib/tinkerforge/bricklet_industrial_digital_out_4.rb +12 -12
  34. data/lib/tinkerforge/bricklet_industrial_dual_0_20ma.rb +13 -14
  35. data/lib/tinkerforge/bricklet_industrial_dual_analog_in.rb +16 -17
  36. data/lib/tinkerforge/bricklet_industrial_quad_relay.rb +12 -12
  37. data/lib/tinkerforge/bricklet_io16.rb +18 -19
  38. data/lib/tinkerforge/bricklet_io4.rb +18 -19
  39. data/lib/tinkerforge/bricklet_joystick.rb +18 -23
  40. data/lib/tinkerforge/bricklet_laser_range_finder.rb +26 -29
  41. data/lib/tinkerforge/bricklet_lcd_16x2.rb +14 -15
  42. data/lib/tinkerforge/bricklet_lcd_20x4.rb +18 -19
  43. data/lib/tinkerforge/bricklet_led_strip.rb +20 -20
  44. data/lib/tinkerforge/bricklet_line.rb +11 -12
  45. data/lib/tinkerforge/bricklet_linear_poti.rb +16 -19
  46. data/lib/tinkerforge/bricklet_load_cell.rb +20 -21
  47. data/lib/tinkerforge/bricklet_moisture.rb +13 -14
  48. data/lib/tinkerforge/bricklet_motion_detector.rb +7 -8
  49. data/lib/tinkerforge/bricklet_multi_touch.rb +10 -10
  50. data/lib/tinkerforge/bricklet_nfc_rfid.rb +11 -11
  51. data/lib/tinkerforge/bricklet_oled_128x64.rb +10 -9
  52. data/lib/tinkerforge/bricklet_oled_64x48.rb +10 -9
  53. data/lib/tinkerforge/bricklet_piezo_buzzer.rb +6 -7
  54. data/lib/tinkerforge/bricklet_piezo_speaker.rb +7 -8
  55. data/lib/tinkerforge/bricklet_ptc.rb +23 -26
  56. data/lib/tinkerforge/bricklet_real_time_clock.rb +13 -14
  57. data/lib/tinkerforge/bricklet_remote_switch.rb +12 -12
  58. data/lib/tinkerforge/bricklet_rgb_led.rb +6 -5
  59. data/lib/tinkerforge/bricklet_rotary_encoder.rb +12 -15
  60. data/lib/tinkerforge/bricklet_rotary_poti.rb +16 -19
  61. data/lib/tinkerforge/bricklet_rs232.rb +12 -13
  62. data/lib/tinkerforge/bricklet_rs485.rb +1373 -0
  63. data/lib/tinkerforge/bricklet_segment_display_4x7.rb +8 -8
  64. data/lib/tinkerforge/bricklet_solid_state_relay.rb +8 -8
  65. data/lib/tinkerforge/bricklet_sound_intensity.rb +11 -12
  66. data/lib/tinkerforge/bricklet_temperature.rb +13 -14
  67. data/lib/tinkerforge/bricklet_temperature_ir.rb +18 -21
  68. data/lib/tinkerforge/bricklet_thermocouple.rb +14 -16
  69. data/lib/tinkerforge/bricklet_tilt.rb +8 -8
  70. data/lib/tinkerforge/bricklet_uv_light.rb +11 -12
  71. data/lib/tinkerforge/bricklet_voltage.rb +16 -19
  72. data/lib/tinkerforge/bricklet_voltage_current.rb +25 -30
  73. data/lib/tinkerforge/ip_connection.rb +207 -138
  74. data/lib/tinkerforge/version.rb +1 -1
  75. metadata +3 -2
@@ -1,8 +1,8 @@
1
1
  # -*- ruby encoding: utf-8 -*-
2
2
  #############################################################
3
- # This file was automatically generated on 2017-05-11. #
3
+ # This file was automatically generated on 2017-07-27. #
4
4
  # #
5
- # Ruby Bindings Version 2.1.13 #
5
+ # Ruby Bindings Version 2.1.14 #
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 #
@@ -81,7 +81,12 @@ module Tinkerforge
81
81
  FUNCTION_ORIENTATION_CALCULATION_ON = 37 # :nodoc:
82
82
  FUNCTION_ORIENTATION_CALCULATION_OFF = 38 # :nodoc:
83
83
  FUNCTION_IS_ORIENTATION_CALCULATION_ON = 39 # :nodoc:
84
+ FUNCTION_SET_SPITFP_BAUDRATE_CONFIG = 231 # :nodoc:
85
+ FUNCTION_GET_SPITFP_BAUDRATE_CONFIG = 232 # :nodoc:
84
86
  FUNCTION_GET_SEND_TIMEOUT_COUNT = 233 # :nodoc:
87
+ FUNCTION_SET_SPITFP_BAUDRATE = 234 # :nodoc:
88
+ FUNCTION_GET_SPITFP_BAUDRATE = 235 # :nodoc:
89
+ FUNCTION_GET_SPITFP_ERROR_COUNT = 237 # :nodoc:
85
90
  FUNCTION_ENABLE_STATUS_LED = 238 # :nodoc:
86
91
  FUNCTION_DISABLE_STATUS_LED = 239 # :nodoc:
87
92
  FUNCTION_IS_STATUS_LED_ENABLED = 240 # :nodoc:
@@ -142,16 +147,15 @@ module Tinkerforge
142
147
  @response_expected[FUNCTION_GET_ORIENTATION_PERIOD] = RESPONSE_EXPECTED_ALWAYS_TRUE
143
148
  @response_expected[FUNCTION_SET_QUATERNION_PERIOD] = RESPONSE_EXPECTED_TRUE
144
149
  @response_expected[FUNCTION_GET_QUATERNION_PERIOD] = RESPONSE_EXPECTED_ALWAYS_TRUE
145
- @response_expected[CALLBACK_ACCELERATION] = RESPONSE_EXPECTED_ALWAYS_FALSE
146
- @response_expected[CALLBACK_MAGNETIC_FIELD] = RESPONSE_EXPECTED_ALWAYS_FALSE
147
- @response_expected[CALLBACK_ANGULAR_VELOCITY] = RESPONSE_EXPECTED_ALWAYS_FALSE
148
- @response_expected[CALLBACK_ALL_DATA] = RESPONSE_EXPECTED_ALWAYS_FALSE
149
- @response_expected[CALLBACK_ORIENTATION] = RESPONSE_EXPECTED_ALWAYS_FALSE
150
- @response_expected[CALLBACK_QUATERNION] = RESPONSE_EXPECTED_ALWAYS_FALSE
151
150
  @response_expected[FUNCTION_ORIENTATION_CALCULATION_ON] = RESPONSE_EXPECTED_FALSE
152
151
  @response_expected[FUNCTION_ORIENTATION_CALCULATION_OFF] = RESPONSE_EXPECTED_FALSE
153
152
  @response_expected[FUNCTION_IS_ORIENTATION_CALCULATION_ON] = RESPONSE_EXPECTED_ALWAYS_TRUE
153
+ @response_expected[FUNCTION_SET_SPITFP_BAUDRATE_CONFIG] = RESPONSE_EXPECTED_FALSE
154
+ @response_expected[FUNCTION_GET_SPITFP_BAUDRATE_CONFIG] = RESPONSE_EXPECTED_ALWAYS_TRUE
154
155
  @response_expected[FUNCTION_GET_SEND_TIMEOUT_COUNT] = RESPONSE_EXPECTED_ALWAYS_TRUE
156
+ @response_expected[FUNCTION_SET_SPITFP_BAUDRATE] = RESPONSE_EXPECTED_FALSE
157
+ @response_expected[FUNCTION_GET_SPITFP_BAUDRATE] = RESPONSE_EXPECTED_ALWAYS_TRUE
158
+ @response_expected[FUNCTION_GET_SPITFP_ERROR_COUNT] = RESPONSE_EXPECTED_ALWAYS_TRUE
155
159
  @response_expected[FUNCTION_ENABLE_STATUS_LED] = RESPONSE_EXPECTED_FALSE
156
160
  @response_expected[FUNCTION_DISABLE_STATUS_LED] = RESPONSE_EXPECTED_FALSE
157
161
  @response_expected[FUNCTION_IS_STATUS_LED_ENABLED] = RESPONSE_EXPECTED_ALWAYS_TRUE
@@ -166,6 +170,7 @@ module Tinkerforge
166
170
  @callback_formats[CALLBACK_ALL_DATA] = 's s s s s s s s s s'
167
171
  @callback_formats[CALLBACK_ORIENTATION] = 's s s'
168
172
  @callback_formats[CALLBACK_QUATERNION] = 'e e e e'
173
+
169
174
  end
170
175
 
171
176
  # Returns the calibrated acceleration from the accelerometer for the
@@ -175,7 +180,7 @@ module Tinkerforge
175
180
  # to use the CALLBACK_ACCELERATION callback and set the period with
176
181
  # BrickIMU#set_acceleration_period.
177
182
  def get_acceleration
178
- send_request(FUNCTION_GET_ACCELERATION, [], '', 6, 's s s')
183
+ send_request FUNCTION_GET_ACCELERATION, [], '', 6, 's s s'
179
184
  end
180
185
 
181
186
  # Returns the calibrated magnetic field from the magnetometer for the
@@ -185,7 +190,7 @@ module Tinkerforge
185
190
  # to use the CALLBACK_MAGNETIC_FIELD callback and set the period with
186
191
  # BrickIMU#set_magnetic_field_period.
187
192
  def get_magnetic_field
188
- send_request(FUNCTION_GET_MAGNETIC_FIELD, [], '', 6, 's s s')
193
+ send_request FUNCTION_GET_MAGNETIC_FIELD, [], '', 6, 's s s'
189
194
  end
190
195
 
191
196
  # Returns the calibrated angular velocity from the gyroscope for the
@@ -196,7 +201,7 @@ module Tinkerforge
196
201
  # to use the CALLBACK_ANGULAR_VELOCITY callback and set the period with
197
202
  # BrickIMU#set_angular_velocity_period.
198
203
  def get_angular_velocity
199
- send_request(FUNCTION_GET_ANGULAR_VELOCITY, [], '', 6, 's s s')
204
+ send_request FUNCTION_GET_ANGULAR_VELOCITY, [], '', 6, 's s s'
200
205
  end
201
206
 
202
207
  # Returns the data from BrickIMU#get_acceleration, BrickIMU#get_magnetic_field
@@ -208,7 +213,7 @@ module Tinkerforge
208
213
  # to use the CALLBACK_ALL_DATA callback and set the period with
209
214
  # BrickIMU#set_all_data_period.
210
215
  def get_all_data
211
- send_request(FUNCTION_GET_ALL_DATA, [], '', 20, 's s s s s s s s s s')
216
+ send_request FUNCTION_GET_ALL_DATA, [], '', 20, 's s s s s s s s s s'
212
217
  end
213
218
 
214
219
  # Returns the current orientation (roll, pitch, yaw) of the IMU Brick as Euler
@@ -224,7 +229,7 @@ module Tinkerforge
224
229
  # to use the CALLBACK_ORIENTATION callback and set the period with
225
230
  # BrickIMU#set_orientation_period.
226
231
  def get_orientation
227
- send_request(FUNCTION_GET_ORIENTATION, [], '', 6, 's s s')
232
+ send_request FUNCTION_GET_ORIENTATION, [], '', 6, 's s s'
228
233
  end
229
234
 
230
235
  # Returns the current orientation (x, y, z, w) of the IMU as
@@ -259,49 +264,49 @@ module Tinkerforge
259
264
  # to use the CALLBACK_QUATERNION callback and set the period with
260
265
  # BrickIMU#set_quaternion_period.
261
266
  def get_quaternion
262
- send_request(FUNCTION_GET_QUATERNION, [], '', 16, 'e e e e')
267
+ send_request FUNCTION_GET_QUATERNION, [], '', 16, 'e e e e'
263
268
  end
264
269
 
265
270
  # Returns the temperature of the IMU Brick. The temperature is given in
266
271
  # °C/100.
267
272
  def get_imu_temperature
268
- send_request(FUNCTION_GET_IMU_TEMPERATURE, [], '', 2, 's')
273
+ send_request FUNCTION_GET_IMU_TEMPERATURE, [], '', 2, 's'
269
274
  end
270
275
 
271
276
  # Turns the orientation and direction LEDs of the IMU Brick on.
272
277
  def leds_on
273
- send_request(FUNCTION_LEDS_ON, [], '', 0, '')
278
+ send_request FUNCTION_LEDS_ON, [], '', 0, ''
274
279
  end
275
280
 
276
281
  # Turns the orientation and direction LEDs of the IMU Brick off.
277
282
  def leds_off
278
- send_request(FUNCTION_LEDS_OFF, [], '', 0, '')
283
+ send_request FUNCTION_LEDS_OFF, [], '', 0, ''
279
284
  end
280
285
 
281
286
  # Returns *true* if the orientation and direction LEDs of the IMU Brick
282
287
  # are on, *false* otherwise.
283
288
  def are_leds_on
284
- send_request(FUNCTION_ARE_LEDS_ON, [], '', 1, '?')
289
+ send_request FUNCTION_ARE_LEDS_ON, [], '', 1, '?'
285
290
  end
286
291
 
287
292
  # Not implemented yet.
288
293
  def set_acceleration_range(range)
289
- send_request(FUNCTION_SET_ACCELERATION_RANGE, [range], 'C', 0, '')
294
+ send_request FUNCTION_SET_ACCELERATION_RANGE, [range], 'C', 0, ''
290
295
  end
291
296
 
292
297
  # Not implemented yet.
293
298
  def get_acceleration_range
294
- send_request(FUNCTION_GET_ACCELERATION_RANGE, [], '', 1, 'C')
299
+ send_request FUNCTION_GET_ACCELERATION_RANGE, [], '', 1, 'C'
295
300
  end
296
301
 
297
302
  # Not implemented yet.
298
303
  def set_magnetometer_range(range)
299
- send_request(FUNCTION_SET_MAGNETOMETER_RANGE, [range], 'C', 0, '')
304
+ send_request FUNCTION_SET_MAGNETOMETER_RANGE, [range], 'C', 0, ''
300
305
  end
301
306
 
302
307
  # Not implemented yet.
303
308
  def get_magnetometer_range
304
- send_request(FUNCTION_GET_MAGNETOMETER_RANGE, [], '', 1, 'C')
309
+ send_request FUNCTION_GET_MAGNETOMETER_RANGE, [], '', 1, 'C'
305
310
  end
306
311
 
307
312
  # Sets the convergence speed of the IMU Brick in °/s. The convergence speed
@@ -332,12 +337,12 @@ module Tinkerforge
332
337
  #
333
338
  # The default value is 30.
334
339
  def set_convergence_speed(speed)
335
- send_request(FUNCTION_SET_CONVERGENCE_SPEED, [speed], 'S', 0, '')
340
+ send_request FUNCTION_SET_CONVERGENCE_SPEED, [speed], 'S', 0, ''
336
341
  end
337
342
 
338
343
  # Returns the convergence speed as set by BrickIMU#set_convergence_speed.
339
344
  def get_convergence_speed
340
- send_request(FUNCTION_GET_CONVERGENCE_SPEED, [], '', 2, 'S')
345
+ send_request FUNCTION_GET_CONVERGENCE_SPEED, [], '', 2, 'S'
341
346
  end
342
347
 
343
348
  # There are several different types that can be calibrated:
@@ -373,12 +378,12 @@ module Tinkerforge
373
378
  # We highly recommend that you use the Brick Viewer to calibrate your
374
379
  # IMU Brick.
375
380
  def set_calibration(typ, data)
376
- send_request(FUNCTION_SET_CALIBRATION, [typ, data], 'C s10', 0, '')
381
+ send_request FUNCTION_SET_CALIBRATION, [typ, data], 'C s10', 0, ''
377
382
  end
378
383
 
379
384
  # Returns the calibration for a given type as set by BrickIMU#set_calibration.
380
385
  def get_calibration(typ)
381
- send_request(FUNCTION_GET_CALIBRATION, [typ], 'C', 20, 's10')
386
+ send_request FUNCTION_GET_CALIBRATION, [typ], 'C', 20, 's10'
382
387
  end
383
388
 
384
389
  # Sets the period in ms with which the CALLBACK_ACCELERATION callback is triggered
@@ -386,67 +391,67 @@ module Tinkerforge
386
391
  #
387
392
  # The default value is 0.
388
393
  def set_acceleration_period(period)
389
- send_request(FUNCTION_SET_ACCELERATION_PERIOD, [period], 'L', 0, '')
394
+ send_request FUNCTION_SET_ACCELERATION_PERIOD, [period], 'L', 0, ''
390
395
  end
391
396
 
392
397
  # Returns the period as set by BrickIMU#set_acceleration_period.
393
398
  def get_acceleration_period
394
- send_request(FUNCTION_GET_ACCELERATION_PERIOD, [], '', 4, 'L')
399
+ send_request FUNCTION_GET_ACCELERATION_PERIOD, [], '', 4, 'L'
395
400
  end
396
401
 
397
402
  # Sets the period in ms with which the CALLBACK_MAGNETIC_FIELD callback is
398
403
  # triggered periodically. A value of 0 turns the callback off.
399
404
  def set_magnetic_field_period(period)
400
- send_request(FUNCTION_SET_MAGNETIC_FIELD_PERIOD, [period], 'L', 0, '')
405
+ send_request FUNCTION_SET_MAGNETIC_FIELD_PERIOD, [period], 'L', 0, ''
401
406
  end
402
407
 
403
408
  # Returns the period as set by BrickIMU#set_magnetic_field_period.
404
409
  def get_magnetic_field_period
405
- send_request(FUNCTION_GET_MAGNETIC_FIELD_PERIOD, [], '', 4, 'L')
410
+ send_request FUNCTION_GET_MAGNETIC_FIELD_PERIOD, [], '', 4, 'L'
406
411
  end
407
412
 
408
413
  # Sets the period in ms with which the CALLBACK_ANGULAR_VELOCITY callback is
409
414
  # triggered periodically. A value of 0 turns the callback off.
410
415
  def set_angular_velocity_period(period)
411
- send_request(FUNCTION_SET_ANGULAR_VELOCITY_PERIOD, [period], 'L', 0, '')
416
+ send_request FUNCTION_SET_ANGULAR_VELOCITY_PERIOD, [period], 'L', 0, ''
412
417
  end
413
418
 
414
419
  # Returns the period as set by BrickIMU#set_angular_velocity_period.
415
420
  def get_angular_velocity_period
416
- send_request(FUNCTION_GET_ANGULAR_VELOCITY_PERIOD, [], '', 4, 'L')
421
+ send_request FUNCTION_GET_ANGULAR_VELOCITY_PERIOD, [], '', 4, 'L'
417
422
  end
418
423
 
419
424
  # Sets the period in ms with which the CALLBACK_ALL_DATA callback is triggered
420
425
  # periodically. A value of 0 turns the callback off.
421
426
  def set_all_data_period(period)
422
- send_request(FUNCTION_SET_ALL_DATA_PERIOD, [period], 'L', 0, '')
427
+ send_request FUNCTION_SET_ALL_DATA_PERIOD, [period], 'L', 0, ''
423
428
  end
424
429
 
425
430
  # Returns the period as set by BrickIMU#set_all_data_period.
426
431
  def get_all_data_period
427
- send_request(FUNCTION_GET_ALL_DATA_PERIOD, [], '', 4, 'L')
432
+ send_request FUNCTION_GET_ALL_DATA_PERIOD, [], '', 4, 'L'
428
433
  end
429
434
 
430
435
  # Sets the period in ms with which the CALLBACK_ORIENTATION callback is triggered
431
436
  # periodically. A value of 0 turns the callback off.
432
437
  def set_orientation_period(period)
433
- send_request(FUNCTION_SET_ORIENTATION_PERIOD, [period], 'L', 0, '')
438
+ send_request FUNCTION_SET_ORIENTATION_PERIOD, [period], 'L', 0, ''
434
439
  end
435
440
 
436
441
  # Returns the period as set by BrickIMU#set_orientation_period.
437
442
  def get_orientation_period
438
- send_request(FUNCTION_GET_ORIENTATION_PERIOD, [], '', 4, 'L')
443
+ send_request FUNCTION_GET_ORIENTATION_PERIOD, [], '', 4, 'L'
439
444
  end
440
445
 
441
446
  # Sets the period in ms with which the CALLBACK_QUATERNION callback is triggered
442
447
  # periodically. A value of 0 turns the callback off.
443
448
  def set_quaternion_period(period)
444
- send_request(FUNCTION_SET_QUATERNION_PERIOD, [period], 'L', 0, '')
449
+ send_request FUNCTION_SET_QUATERNION_PERIOD, [period], 'L', 0, ''
445
450
  end
446
451
 
447
452
  # Returns the period as set by BrickIMU#set_quaternion_period.
448
453
  def get_quaternion_period
449
- send_request(FUNCTION_GET_QUATERNION_PERIOD, [], '', 4, 'L')
454
+ send_request FUNCTION_GET_QUATERNION_PERIOD, [], '', 4, 'L'
450
455
  end
451
456
 
452
457
  # Turns the orientation calculation of the IMU Brick on.
@@ -455,7 +460,7 @@ module Tinkerforge
455
460
  #
456
461
  # .. versionadded:: 2.0.2$nbsp;(Firmware)
457
462
  def orientation_calculation_on
458
- send_request(FUNCTION_ORIENTATION_CALCULATION_ON, [], '', 0, '')
463
+ send_request FUNCTION_ORIENTATION_CALCULATION_ON, [], '', 0, ''
459
464
  end
460
465
 
461
466
  # Turns the orientation calculation of the IMU Brick off.
@@ -472,7 +477,7 @@ module Tinkerforge
472
477
  #
473
478
  # .. versionadded:: 2.0.2$nbsp;(Firmware)
474
479
  def orientation_calculation_off
475
- send_request(FUNCTION_ORIENTATION_CALCULATION_OFF, [], '', 0, '')
480
+ send_request FUNCTION_ORIENTATION_CALCULATION_OFF, [], '', 0, ''
476
481
  end
477
482
 
478
483
  # Returns *true* if the orientation calculation of the IMU Brick
@@ -480,7 +485,42 @@ module Tinkerforge
480
485
  #
481
486
  # .. versionadded:: 2.0.2$nbsp;(Firmware)
482
487
  def is_orientation_calculation_on
483
- send_request(FUNCTION_IS_ORIENTATION_CALCULATION_ON, [], '', 1, '?')
488
+ send_request FUNCTION_IS_ORIENTATION_CALCULATION_ON, [], '', 1, '?'
489
+ end
490
+
491
+ # The SPITF protocol can be used with a dynamic baudrate. If the dynamic baudrate is
492
+ # enabled, the Brick will try to adapt the baudrate for the communication
493
+ # between Bricks and Bricklets according to the amount of data that is transferred.
494
+ #
495
+ # The baudrate will be increased exponetially if lots of data is send/receieved and
496
+ # decreased linearly if little data is send/received.
497
+ #
498
+ # This lowers the baudrate in applications where little data is transferred (e.g.
499
+ # a weather station) and increases the robustness. If there is lots of data to transfer
500
+ # (e.g. Thermal Imaging Bricklet) it automatically increases the baudrate as needed.
501
+ #
502
+ # In cases where some data has to transferred as fast as possible every few seconds
503
+ # (e.g. RS485 Bricklet with a high baudrate but small payload) you may want to turn
504
+ # the dynamic baudrate off to get the highest possible performance.
505
+ #
506
+ # The maximum value of the baudrate can be set per port with the function
507
+ # BrickIMU#set_spitfp_baudrate. If the dynamic baudrate is disabled, the baudrate
508
+ # as set by BrickIMU#set_spitfp_baudrate will be used statically.
509
+ #
510
+ # The minimum dynamic baudrate has a value range of 400000 to 2000000 baud.
511
+ #
512
+ # By default dynamic baudrate is enabled and the minimum dynamic baudrate is 400000.
513
+ #
514
+ # .. versionadded:: 2.3.5$nbsp;(Firmware)
515
+ def set_spitfp_baudrate_config(enable_dynamic_baudrate, minimum_dynamic_baudrate)
516
+ send_request FUNCTION_SET_SPITFP_BAUDRATE_CONFIG, [enable_dynamic_baudrate, minimum_dynamic_baudrate], '? L', 0, ''
517
+ end
518
+
519
+ # Returns the baudrate config, see BrickIMU#set_spitfp_baudrate_config.
520
+ #
521
+ # .. versionadded:: 2.3.5$nbsp;(Firmware)
522
+ def get_spitfp_baudrate_config
523
+ send_request FUNCTION_GET_SPITFP_BAUDRATE_CONFIG, [], '', 5, '? L'
484
524
  end
485
525
 
486
526
  # Returns the timeout count for the different communication methods.
@@ -492,7 +532,53 @@ module Tinkerforge
492
532
  #
493
533
  # .. versionadded:: 2.3.3$nbsp;(Firmware)
494
534
  def get_send_timeout_count(communication_method)
495
- send_request(FUNCTION_GET_SEND_TIMEOUT_COUNT, [communication_method], 'C', 4, 'L')
535
+ send_request FUNCTION_GET_SEND_TIMEOUT_COUNT, [communication_method], 'C', 4, 'L'
536
+ end
537
+
538
+ # Sets the baudrate for a specific Bricklet port ('a' - 'd'). The
539
+ # baudrate can be in the range 400000 to 2000000.
540
+ #
541
+ # If you want to increase the throughput of Bricklets you can increase
542
+ # the baudrate. If you get a high error count because of high
543
+ # interference (see BrickIMU#get_spitfp_error_count) you can decrease the
544
+ # baudrate.
545
+ #
546
+ # If the dynamic baudrate feature is enabled, the baudrate set by this
547
+ # function corresponds to the maximum baudrate (see BrickIMU#set_spitfp_baudrate_config).
548
+ #
549
+ # Regulatory testing is done with the default baudrate. If CE compatability
550
+ # or similar is necessary in you applications we recommend to not change
551
+ # the baudrate.
552
+ #
553
+ # The default baudrate for all ports is 1400000.
554
+ #
555
+ # .. versionadded:: 2.3.3$nbsp;(Firmware)
556
+ def set_spitfp_baudrate(bricklet_port, baudrate)
557
+ send_request FUNCTION_SET_SPITFP_BAUDRATE, [bricklet_port, baudrate], 'k L', 0, ''
558
+ end
559
+
560
+ # Returns the baudrate for a given Bricklet port, see BrickIMU#set_spitfp_baudrate.
561
+ #
562
+ # .. versionadded:: 2.3.3$nbsp;(Firmware)
563
+ def get_spitfp_baudrate(bricklet_port)
564
+ send_request FUNCTION_GET_SPITFP_BAUDRATE, [bricklet_port], 'k', 4, 'L'
565
+ end
566
+
567
+ # Returns the error count for the communication between Brick and Bricklet.
568
+ #
569
+ # The errors are divided into
570
+ #
571
+ # * ACK checksum errors,
572
+ # * message checksum errors,
573
+ # * frameing errors and
574
+ # * overflow errors.
575
+ #
576
+ # The errors counts are for errors that occur on the Brick side. All
577
+ # Bricklets have a similar function that returns the errors on the Bricklet side.
578
+ #
579
+ # .. versionadded:: 2.3.3$nbsp;(Firmware)
580
+ def get_spitfp_error_count(bricklet_port)
581
+ send_request FUNCTION_GET_SPITFP_ERROR_COUNT, [bricklet_port], 'k', 16, 'L L L L'
496
582
  end
497
583
 
498
584
  # Enables the status LED.
@@ -504,7 +590,7 @@ module Tinkerforge
504
590
  #
505
591
  # .. versionadded:: 2.3.1$nbsp;(Firmware)
506
592
  def enable_status_led
507
- send_request(FUNCTION_ENABLE_STATUS_LED, [], '', 0, '')
593
+ send_request FUNCTION_ENABLE_STATUS_LED, [], '', 0, ''
508
594
  end
509
595
 
510
596
  # Disables the status LED.
@@ -516,14 +602,14 @@ module Tinkerforge
516
602
  #
517
603
  # .. versionadded:: 2.3.1$nbsp;(Firmware)
518
604
  def disable_status_led
519
- send_request(FUNCTION_DISABLE_STATUS_LED, [], '', 0, '')
605
+ send_request FUNCTION_DISABLE_STATUS_LED, [], '', 0, ''
520
606
  end
521
607
 
522
608
  # Returns *true* if the status LED is enabled, *false* otherwise.
523
609
  #
524
610
  # .. versionadded:: 2.3.1$nbsp;(Firmware)
525
611
  def is_status_led_enabled
526
- send_request(FUNCTION_IS_STATUS_LED_ENABLED, [], '', 1, '?')
612
+ send_request FUNCTION_IS_STATUS_LED_ENABLED, [], '', 1, '?'
527
613
  end
528
614
 
529
615
  # Returns the firmware and protocol version and the name of the Bricklet for a
@@ -532,7 +618,7 @@ module Tinkerforge
532
618
  # This functions sole purpose is to allow automatic flashing of v1.x.y Bricklet
533
619
  # plugins.
534
620
  def get_protocol1_bricklet_name(port)
535
- send_request(FUNCTION_GET_PROTOCOL1_BRICKLET_NAME, [port], 'k', 44, 'C C3 Z40')
621
+ send_request FUNCTION_GET_PROTOCOL1_BRICKLET_NAME, [port], 'k', 44, 'C C3 Z40'
536
622
  end
537
623
 
538
624
  # Returns the temperature in °C/10 as measured inside the microcontroller. The
@@ -542,7 +628,7 @@ module Tinkerforge
542
628
  # accuracy of +-15%. Practically it is only useful as an indicator for
543
629
  # temperature changes.
544
630
  def get_chip_temperature
545
- send_request(FUNCTION_GET_CHIP_TEMPERATURE, [], '', 2, 's')
631
+ send_request FUNCTION_GET_CHIP_TEMPERATURE, [], '', 2, 's'
546
632
  end
547
633
 
548
634
  # Calling this function will reset the Brick. Calling this function
@@ -552,7 +638,7 @@ module Tinkerforge
552
638
  # calling functions on the existing ones will result in
553
639
  # undefined behavior!
554
640
  def reset
555
- send_request(FUNCTION_RESET, [], '', 0, '')
641
+ send_request FUNCTION_RESET, [], '', 0, ''
556
642
  end
557
643
 
558
644
  # Returns the UID, the UID where the Brick is connected to,
@@ -564,7 +650,7 @@ module Tinkerforge
564
650
  # The device identifier numbers can be found :ref:`here <device_identifier>`.
565
651
  # |device_identifier_constant|
566
652
  def get_identity
567
- send_request(FUNCTION_GET_IDENTITY, [], '', 25, 'Z8 Z8 k C3 C3 S')
653
+ send_request FUNCTION_GET_IDENTITY, [], '', 25, 'Z8 Z8 k C3 C3 S'
568
654
  end
569
655
 
570
656
  # Registers a callback with ID <tt>id</tt> to the block <tt>block</tt>.