tinkerforge 2.1.13 → 2.1.14

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 (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 #
@@ -245,9 +245,6 @@ module Tinkerforge
245
245
  @response_expected[FUNCTION_GET_FILE_POSITION] = RESPONSE_EXPECTED_ALWAYS_TRUE
246
246
  @response_expected[FUNCTION_SET_FILE_EVENTS] = RESPONSE_EXPECTED_ALWAYS_TRUE
247
247
  @response_expected[FUNCTION_GET_FILE_EVENTS] = RESPONSE_EXPECTED_ALWAYS_TRUE
248
- @response_expected[CALLBACK_ASYNC_FILE_READ] = RESPONSE_EXPECTED_ALWAYS_FALSE
249
- @response_expected[CALLBACK_ASYNC_FILE_WRITE] = RESPONSE_EXPECTED_ALWAYS_FALSE
250
- @response_expected[CALLBACK_FILE_EVENTS_OCCURRED] = RESPONSE_EXPECTED_ALWAYS_FALSE
251
248
  @response_expected[FUNCTION_OPEN_DIRECTORY] = RESPONSE_EXPECTED_ALWAYS_TRUE
252
249
  @response_expected[FUNCTION_GET_DIRECTORY_NAME] = RESPONSE_EXPECTED_ALWAYS_TRUE
253
250
  @response_expected[FUNCTION_GET_NEXT_DIRECTORY_ENTRY] = RESPONSE_EXPECTED_ALWAYS_TRUE
@@ -260,7 +257,6 @@ module Tinkerforge
260
257
  @response_expected[FUNCTION_GET_PROCESS_IDENTITY] = RESPONSE_EXPECTED_ALWAYS_TRUE
261
258
  @response_expected[FUNCTION_GET_PROCESS_STDIO] = RESPONSE_EXPECTED_ALWAYS_TRUE
262
259
  @response_expected[FUNCTION_GET_PROCESS_STATE] = RESPONSE_EXPECTED_ALWAYS_TRUE
263
- @response_expected[CALLBACK_PROCESS_STATE_CHANGED] = RESPONSE_EXPECTED_ALWAYS_FALSE
264
260
  @response_expected[FUNCTION_GET_PROGRAMS] = RESPONSE_EXPECTED_ALWAYS_TRUE
265
261
  @response_expected[FUNCTION_DEFINE_PROGRAM] = RESPONSE_EXPECTED_ALWAYS_TRUE
266
262
  @response_expected[FUNCTION_PURGE_PROGRAM] = RESPONSE_EXPECTED_ALWAYS_TRUE
@@ -280,8 +276,6 @@ module Tinkerforge
280
276
  @response_expected[FUNCTION_SET_CUSTOM_PROGRAM_OPTION_VALUE] = RESPONSE_EXPECTED_ALWAYS_TRUE
281
277
  @response_expected[FUNCTION_GET_CUSTOM_PROGRAM_OPTION_VALUE] = RESPONSE_EXPECTED_ALWAYS_TRUE
282
278
  @response_expected[FUNCTION_REMOVE_CUSTOM_PROGRAM_OPTION] = RESPONSE_EXPECTED_ALWAYS_TRUE
283
- @response_expected[CALLBACK_PROGRAM_SCHEDULER_STATE_CHANGED] = RESPONSE_EXPECTED_ALWAYS_FALSE
284
- @response_expected[CALLBACK_PROGRAM_PROCESS_SPAWNED] = RESPONSE_EXPECTED_ALWAYS_FALSE
285
279
  @response_expected[FUNCTION_GET_IDENTITY] = RESPONSE_EXPECTED_ALWAYS_TRUE
286
280
 
287
281
  @callback_formats[CALLBACK_ASYNC_FILE_READ] = 'S C C60 C'
@@ -290,37 +284,38 @@ module Tinkerforge
290
284
  @callback_formats[CALLBACK_PROCESS_STATE_CHANGED] = 'S C Q C'
291
285
  @callback_formats[CALLBACK_PROGRAM_SCHEDULER_STATE_CHANGED] = 'S'
292
286
  @callback_formats[CALLBACK_PROGRAM_PROCESS_SPAWNED] = 'S'
287
+
293
288
  end
294
289
 
295
290
  #
296
291
  def create_session(lifetime)
297
- send_request(FUNCTION_CREATE_SESSION, [lifetime], 'L', 3, 'C S')
292
+ send_request FUNCTION_CREATE_SESSION, [lifetime], 'L', 3, 'C S'
298
293
  end
299
294
 
300
295
  #
301
296
  def expire_session(session_id)
302
- send_request(FUNCTION_EXPIRE_SESSION, [session_id], 'S', 1, 'C')
297
+ send_request FUNCTION_EXPIRE_SESSION, [session_id], 'S', 1, 'C'
303
298
  end
304
299
 
305
300
  #
306
301
  def expire_session_unchecked(session_id)
307
- send_request(FUNCTION_EXPIRE_SESSION_UNCHECKED, [session_id], 'S', 0, '')
302
+ send_request FUNCTION_EXPIRE_SESSION_UNCHECKED, [session_id], 'S', 0, ''
308
303
  end
309
304
 
310
305
  #
311
306
  def keep_session_alive(session_id, lifetime)
312
- send_request(FUNCTION_KEEP_SESSION_ALIVE, [session_id, lifetime], 'S L', 1, 'C')
307
+ send_request FUNCTION_KEEP_SESSION_ALIVE, [session_id, lifetime], 'S L', 1, 'C'
313
308
  end
314
309
 
315
310
  # Decreases the reference count of an object by one and returns the resulting
316
311
  # error code. If the reference count reaches zero the object gets destroyed.
317
312
  def release_object(object_id, session_id)
318
- send_request(FUNCTION_RELEASE_OBJECT, [object_id, session_id], 'S S', 1, 'C')
313
+ send_request FUNCTION_RELEASE_OBJECT, [object_id, session_id], 'S S', 1, 'C'
319
314
  end
320
315
 
321
316
  #
322
317
  def release_object_unchecked(object_id, session_id)
323
- send_request(FUNCTION_RELEASE_OBJECT_UNCHECKED, [object_id, session_id], 'S S', 0, '')
318
+ send_request FUNCTION_RELEASE_OBJECT_UNCHECKED, [object_id, session_id], 'S S', 0, ''
324
319
  end
325
320
 
326
321
  # Allocates a new string object, reserves ``length_to_reserve`` bytes memory
@@ -329,31 +324,31 @@ module Tinkerforge
329
324
  #
330
325
  # Returns the object ID of the new string object and the resulting error code.
331
326
  def allocate_string(length_to_reserve, buffer, session_id)
332
- send_request(FUNCTION_ALLOCATE_STRING, [length_to_reserve, buffer, session_id], 'L Z58 S', 3, 'C S')
327
+ send_request FUNCTION_ALLOCATE_STRING, [length_to_reserve, buffer, session_id], 'L Z58 S', 3, 'C S'
333
328
  end
334
329
 
335
330
  # Truncates a string object to ``length`` bytes and returns the resulting
336
331
  # error code.
337
332
  def truncate_string(string_id, length)
338
- send_request(FUNCTION_TRUNCATE_STRING, [string_id, length], 'S L', 1, 'C')
333
+ send_request FUNCTION_TRUNCATE_STRING, [string_id, length], 'S L', 1, 'C'
339
334
  end
340
335
 
341
336
  # Returns the length of a string object in bytes and the resulting error code.
342
337
  def get_string_length(string_id)
343
- send_request(FUNCTION_GET_STRING_LENGTH, [string_id], 'S', 5, 'C L')
338
+ send_request FUNCTION_GET_STRING_LENGTH, [string_id], 'S', 5, 'C L'
344
339
  end
345
340
 
346
341
  # Sets a chunk of up to 58 bytes in a string object beginning at ``offset``.
347
342
  #
348
343
  # Returns the resulting error code.
349
344
  def set_string_chunk(string_id, offset, buffer)
350
- send_request(FUNCTION_SET_STRING_CHUNK, [string_id, offset, buffer], 'S L Z58', 1, 'C')
345
+ send_request FUNCTION_SET_STRING_CHUNK, [string_id, offset, buffer], 'S L Z58', 1, 'C'
351
346
  end
352
347
 
353
348
  # Returns a chunk up to 63 bytes from a string object beginning at ``offset`` and
354
349
  # returns the resulting error code.
355
350
  def get_string_chunk(string_id, offset)
356
- send_request(FUNCTION_GET_STRING_CHUNK, [string_id, offset], 'S L', 64, 'C Z63')
351
+ send_request FUNCTION_GET_STRING_CHUNK, [string_id, offset], 'S L', 64, 'C Z63'
357
352
  end
358
353
 
359
354
  # Allocates a new list object and reserves memory for ``length_to_reserve``
@@ -365,12 +360,12 @@ module Tinkerforge
365
360
  # When a list object gets destroyed then the reference count of each object in
366
361
  # the list object is decreased by one.
367
362
  def allocate_list(length_to_reserve, session_id)
368
- send_request(FUNCTION_ALLOCATE_LIST, [length_to_reserve, session_id], 'S S', 3, 'C S')
363
+ send_request FUNCTION_ALLOCATE_LIST, [length_to_reserve, session_id], 'S S', 3, 'C S'
369
364
  end
370
365
 
371
366
  # Returns the length of a list object in items and the resulting error code.
372
367
  def get_list_length(list_id)
373
- send_request(FUNCTION_GET_LIST_LENGTH, [list_id], 'S', 3, 'C S')
368
+ send_request FUNCTION_GET_LIST_LENGTH, [list_id], 'S', 3, 'C S'
374
369
  end
375
370
 
376
371
  # Returns the object ID and type of the object stored at ``index`` in a list
@@ -385,7 +380,7 @@ module Tinkerforge
385
380
  # * Process = 4
386
381
  # * Program = 5
387
382
  def get_list_item(list_id, index, session_id)
388
- send_request(FUNCTION_GET_LIST_ITEM, [list_id, index, session_id], 'S S S', 4, 'C S C')
383
+ send_request FUNCTION_GET_LIST_ITEM, [list_id, index, session_id], 'S S S', 4, 'C S C'
389
384
  end
390
385
 
391
386
  # Appends an object to a list object and increases the reference count of the
@@ -393,7 +388,7 @@ module Tinkerforge
393
388
  #
394
389
  # Returns the resulting error code.
395
390
  def append_to_list(list_id, item_object_id)
396
- send_request(FUNCTION_APPEND_TO_LIST, [list_id, item_object_id], 'S S', 1, 'C')
391
+ send_request FUNCTION_APPEND_TO_LIST, [list_id, item_object_id], 'S S', 1, 'C'
397
392
  end
398
393
 
399
394
  # Removes the object stored at ``index`` from a list object and decreases the
@@ -401,7 +396,7 @@ module Tinkerforge
401
396
  #
402
397
  # Returns the resulting error code.
403
398
  def remove_from_list(list_id, index)
404
- send_request(FUNCTION_REMOVE_FROM_LIST, [list_id, index], 'S S', 1, 'C')
399
+ send_request FUNCTION_REMOVE_FROM_LIST, [list_id, index], 'S S', 1, 'C'
405
400
  end
406
401
 
407
402
  # Opens an existing file or creates a new file and allocates a new file object
@@ -446,7 +441,7 @@ module Tinkerforge
446
441
  #
447
442
  # Returns the object ID of the new file object and the resulting error code.
448
443
  def open_file(name_string_id, flags, permissions, uid, gid, session_id)
449
- send_request(FUNCTION_OPEN_FILE, [name_string_id, flags, permissions, uid, gid, session_id], 'S L S L L S', 3, 'C S')
444
+ send_request FUNCTION_OPEN_FILE, [name_string_id, flags, permissions, uid, gid, session_id], 'S L S L L S', 3, 'C S'
450
445
  end
451
446
 
452
447
  # Creates a new pipe and allocates a new file object for it.
@@ -462,7 +457,7 @@ module Tinkerforge
462
457
  #
463
458
  # Returns the object ID of the new file object and the resulting error code.
464
459
  def create_pipe(flags, length, session_id)
465
- send_request(FUNCTION_CREATE_PIPE, [flags, length, session_id], 'L Q S', 3, 'C S')
460
+ send_request FUNCTION_CREATE_PIPE, [flags, length, session_id], 'L Q S', 3, 'C S'
466
461
  end
467
462
 
468
463
  # Returns various information about a file and the resulting error code.
@@ -489,7 +484,7 @@ module Tinkerforge
489
484
  #
490
485
  # FIXME: everything except flags and length is invalid if file type is *Pipe*
491
486
  def get_file_info(file_id, session_id)
492
- send_request(FUNCTION_GET_FILE_INFO, [file_id, session_id], 'S S', 50, 'C C S L S L L Q Q Q Q')
487
+ send_request FUNCTION_GET_FILE_INFO, [file_id, session_id], 'S S', 50, 'C C S L S L L Q Q Q Q'
493
488
  end
494
489
 
495
490
  # Reads up to 62 bytes from a file object.
@@ -505,7 +500,7 @@ module Tinkerforge
505
500
  # flag or by BrickRED#create_pipe without the *NonBlockingRead* flag then the
506
501
  # error code *NotSupported* is returned.
507
502
  def read_file(file_id, length_to_read)
508
- send_request(FUNCTION_READ_FILE, [file_id, length_to_read], 'S C', 64, 'C C62 C')
503
+ send_request FUNCTION_READ_FILE, [file_id, length_to_read], 'S C', 64, 'C C62 C'
509
504
  end
510
505
 
511
506
  # Reads up to 2\ :sup:`63`\ - 1 bytes from a file object asynchronously.
@@ -521,7 +516,7 @@ module Tinkerforge
521
516
  # flag or by BrickRED#create_pipe without the *NonBlockingRead* flag then the error
522
517
  # code *NotSupported* is reported via the CALLBACK_ASYNC_FILE_READ callback.
523
518
  def read_file_async(file_id, length_to_read)
524
- send_request(FUNCTION_READ_FILE_ASYNC, [file_id, length_to_read], 'S Q', 0, '')
519
+ send_request FUNCTION_READ_FILE_ASYNC, [file_id, length_to_read], 'S Q', 0, ''
525
520
  end
526
521
 
527
522
  # Aborts a BrickRED#read_file_async operation in progress.
@@ -530,7 +525,7 @@ module Tinkerforge
530
525
  #
531
526
  # On success the CALLBACK_ASYNC_FILE_READ callback will report *OperationAborted*.
532
527
  def abort_async_file_read(file_id)
533
- send_request(FUNCTION_ABORT_ASYNC_FILE_READ, [file_id], 'S', 1, 'C')
528
+ send_request FUNCTION_ABORT_ASYNC_FILE_READ, [file_id], 'S', 1, 'C'
534
529
  end
535
530
 
536
531
  # Writes up to 61 bytes to a file object.
@@ -541,7 +536,7 @@ module Tinkerforge
541
536
  # flag or by BrickRED#create_pipe without the *NonBlockingWrite* flag then the
542
537
  # error code *NotSupported* is returned.
543
538
  def write_file(file_id, buffer, length_to_write)
544
- send_request(FUNCTION_WRITE_FILE, [file_id, buffer, length_to_write], 'S C61 C', 2, 'C C')
539
+ send_request FUNCTION_WRITE_FILE, [file_id, buffer, length_to_write], 'S C61 C', 2, 'C C'
545
540
  end
546
541
 
547
542
  # Writes up to 61 bytes to a file object.
@@ -553,7 +548,7 @@ module Tinkerforge
553
548
  # flag or by BrickRED#create_pipe without the *NonBlockingWrite* flag then the
554
549
  # write operation will fail silently.
555
550
  def write_file_unchecked(file_id, buffer, length_to_write)
556
- send_request(FUNCTION_WRITE_FILE_UNCHECKED, [file_id, buffer, length_to_write], 'S C61 C', 0, '')
551
+ send_request FUNCTION_WRITE_FILE_UNCHECKED, [file_id, buffer, length_to_write], 'S C61 C', 0, ''
557
552
  end
558
553
 
559
554
  # Writes up to 61 bytes to a file object.
@@ -565,7 +560,7 @@ module Tinkerforge
565
560
  # flag or by BrickRED#create_pipe without the *NonBlockingWrite* flag then the
566
561
  # error code *NotSupported* is reported via the CALLBACK_ASYNC_FILE_WRITE callback.
567
562
  def write_file_async(file_id, buffer, length_to_write)
568
- send_request(FUNCTION_WRITE_FILE_ASYNC, [file_id, buffer, length_to_write], 'S C61 C', 0, '')
563
+ send_request FUNCTION_WRITE_FILE_ASYNC, [file_id, buffer, length_to_write], 'S C61 C', 0, ''
569
564
  end
570
565
 
571
566
  # Set the current seek position of a file object in bytes relative to ``origin``.
@@ -581,7 +576,7 @@ module Tinkerforge
581
576
  # If the file object was created by BrickRED#create_pipe then it has no seek
582
577
  # position and the error code *InvalidSeek* is returned.
583
578
  def set_file_position(file_id, offset, origin)
584
- send_request(FUNCTION_SET_FILE_POSITION, [file_id, offset, origin], 'S q C', 9, 'C Q')
579
+ send_request FUNCTION_SET_FILE_POSITION, [file_id, offset, origin], 'S q C', 9, 'C Q'
585
580
  end
586
581
 
587
582
  # Returns the current seek position of a file object in bytes and returns the
@@ -590,17 +585,17 @@ module Tinkerforge
590
585
  # If the file object was created by BrickRED#create_pipe then it has no seek
591
586
  # position and the error code *InvalidSeek* is returned.
592
587
  def get_file_position(file_id)
593
- send_request(FUNCTION_GET_FILE_POSITION, [file_id], 'S', 9, 'C Q')
588
+ send_request FUNCTION_GET_FILE_POSITION, [file_id], 'S', 9, 'C Q'
594
589
  end
595
590
 
596
591
  #
597
592
  def set_file_events(file_id, events)
598
- send_request(FUNCTION_SET_FILE_EVENTS, [file_id, events], 'S S', 1, 'C')
593
+ send_request FUNCTION_SET_FILE_EVENTS, [file_id, events], 'S S', 1, 'C'
599
594
  end
600
595
 
601
596
  #
602
597
  def get_file_events(file_id)
603
- send_request(FUNCTION_GET_FILE_EVENTS, [file_id], 'S', 3, 'C S')
598
+ send_request FUNCTION_GET_FILE_EVENTS, [file_id], 'S', 3, 'C S'
604
599
  end
605
600
 
606
601
  # Opens an existing directory and allocates a new directory object for it.
@@ -614,13 +609,13 @@ module Tinkerforge
614
609
  #
615
610
  # Returns the object ID of the new directory object and the resulting error code.
616
611
  def open_directory(name_string_id, session_id)
617
- send_request(FUNCTION_OPEN_DIRECTORY, [name_string_id, session_id], 'S S', 3, 'C S')
612
+ send_request FUNCTION_OPEN_DIRECTORY, [name_string_id, session_id], 'S S', 3, 'C S'
618
613
  end
619
614
 
620
615
  # Returns the name of a directory object, as passed to BrickRED#open_directory, and
621
616
  # the resulting error code.
622
617
  def get_directory_name(directory_id, session_id)
623
- send_request(FUNCTION_GET_DIRECTORY_NAME, [directory_id, session_id], 'S S', 3, 'C S')
618
+ send_request FUNCTION_GET_DIRECTORY_NAME, [directory_id, session_id], 'S S', 3, 'C S'
624
619
  end
625
620
 
626
621
  # Returns the next entry in a directory object and the resulting error code.
@@ -639,27 +634,27 @@ module Tinkerforge
639
634
  # * Symlink = 6
640
635
  # * Socket = 7
641
636
  def get_next_directory_entry(directory_id, session_id)
642
- send_request(FUNCTION_GET_NEXT_DIRECTORY_ENTRY, [directory_id, session_id], 'S S', 4, 'C S C')
637
+ send_request FUNCTION_GET_NEXT_DIRECTORY_ENTRY, [directory_id, session_id], 'S S', 4, 'C S C'
643
638
  end
644
639
 
645
640
  # Rewinds a directory object and returns the resulting error code.
646
641
  def rewind_directory(directory_id)
647
- send_request(FUNCTION_REWIND_DIRECTORY, [directory_id], 'S', 1, 'C')
642
+ send_request FUNCTION_REWIND_DIRECTORY, [directory_id], 'S', 1, 'C'
648
643
  end
649
644
 
650
645
  # FIXME: name has to be absolute
651
646
  def create_directory(name_string_id, flags, permissions, uid, gid)
652
- send_request(FUNCTION_CREATE_DIRECTORY, [name_string_id, flags, permissions, uid, gid], 'S L S L L', 1, 'C')
647
+ send_request FUNCTION_CREATE_DIRECTORY, [name_string_id, flags, permissions, uid, gid], 'S L S L L', 1, 'C'
653
648
  end
654
649
 
655
650
  #
656
651
  def get_processes(session_id)
657
- send_request(FUNCTION_GET_PROCESSES, [session_id], 'S', 3, 'C S')
652
+ send_request FUNCTION_GET_PROCESSES, [session_id], 'S', 3, 'C S'
658
653
  end
659
654
 
660
655
  #
661
656
  def spawn_process(executable_string_id, arguments_list_id, environment_list_id, working_directory_string_id, uid, gid, stdin_file_id, stdout_file_id, stderr_file_id, session_id)
662
- send_request(FUNCTION_SPAWN_PROCESS, [executable_string_id, arguments_list_id, environment_list_id, working_directory_string_id, uid, gid, stdin_file_id, stdout_file_id, stderr_file_id, session_id], 'S S S S L L S S S S', 3, 'C S')
657
+ send_request FUNCTION_SPAWN_PROCESS, [executable_string_id, arguments_list_id, environment_list_id, working_directory_string_id, uid, gid, stdin_file_id, stdout_file_id, stderr_file_id, session_id], 'S S S S L L S S S S', 3, 'C S'
663
658
  end
664
659
 
665
660
  # Sends a UNIX signal to a process object and returns the resulting error code.
@@ -676,14 +671,14 @@ module Tinkerforge
676
671
  # * Continue = 18
677
672
  # * Stop = 19
678
673
  def kill_process(process_id, signal)
679
- send_request(FUNCTION_KILL_PROCESS, [process_id, signal], 'S C', 1, 'C')
674
+ send_request FUNCTION_KILL_PROCESS, [process_id, signal], 'S C', 1, 'C'
680
675
  end
681
676
 
682
677
  # Returns the executable, arguments, environment and working directory used to
683
678
  # spawn a process object, as passed to BrickRED#spawn_process, and the resulting
684
679
  # error code.
685
680
  def get_process_command(process_id, session_id)
686
- send_request(FUNCTION_GET_PROCESS_COMMAND, [process_id, session_id], 'S S', 9, 'C S S S S')
681
+ send_request FUNCTION_GET_PROCESS_COMMAND, [process_id, session_id], 'S S', 9, 'C S S S S'
687
682
  end
688
683
 
689
684
  # Returns the process ID and the user and group ID used to spawn a process object,
@@ -692,13 +687,13 @@ module Tinkerforge
692
687
  # The process ID is only valid if the state is *Running* or *Stopped*, see
693
688
  # BrickRED#get_process_state.
694
689
  def get_process_identity(process_id)
695
- send_request(FUNCTION_GET_PROCESS_IDENTITY, [process_id], 'S', 13, 'C L L L')
690
+ send_request FUNCTION_GET_PROCESS_IDENTITY, [process_id], 'S', 13, 'C L L L'
696
691
  end
697
692
 
698
693
  # Returns the stdin, stdout and stderr files used to spawn a process object, as
699
694
  # passed to BrickRED#spawn_process, and the resulting error code.
700
695
  def get_process_stdio(process_id, session_id)
701
- send_request(FUNCTION_GET_PROCESS_STDIO, [process_id, session_id], 'S S', 7, 'C S S S')
696
+ send_request FUNCTION_GET_PROCESS_STDIO, [process_id, session_id], 'S S', 7, 'C S S S'
702
697
  end
703
698
 
704
699
  # Returns the current state, timestamp and exit code of a process object, and
@@ -733,102 +728,102 @@ module Tinkerforge
733
728
  # The *CannotExecute* error can be caused by the executable being opened for
734
729
  # writing.
735
730
  def get_process_state(process_id)
736
- send_request(FUNCTION_GET_PROCESS_STATE, [process_id], 'S', 11, 'C C Q C')
731
+ send_request FUNCTION_GET_PROCESS_STATE, [process_id], 'S', 11, 'C C Q C'
737
732
  end
738
733
 
739
734
  #
740
735
  def get_programs(session_id)
741
- send_request(FUNCTION_GET_PROGRAMS, [session_id], 'S', 3, 'C S')
736
+ send_request FUNCTION_GET_PROGRAMS, [session_id], 'S', 3, 'C S'
742
737
  end
743
738
 
744
739
  #
745
740
  def define_program(identifier_string_id, session_id)
746
- send_request(FUNCTION_DEFINE_PROGRAM, [identifier_string_id, session_id], 'S S', 3, 'C S')
741
+ send_request FUNCTION_DEFINE_PROGRAM, [identifier_string_id, session_id], 'S S', 3, 'C S'
747
742
  end
748
743
 
749
744
  #
750
745
  def purge_program(program_id, cookie)
751
- send_request(FUNCTION_PURGE_PROGRAM, [program_id, cookie], 'S L', 1, 'C')
746
+ send_request FUNCTION_PURGE_PROGRAM, [program_id, cookie], 'S L', 1, 'C'
752
747
  end
753
748
 
754
749
  #
755
750
  def get_program_identifier(program_id, session_id)
756
- send_request(FUNCTION_GET_PROGRAM_IDENTIFIER, [program_id, session_id], 'S S', 3, 'C S')
751
+ send_request FUNCTION_GET_PROGRAM_IDENTIFIER, [program_id, session_id], 'S S', 3, 'C S'
757
752
  end
758
753
 
759
754
  # FIXME: root directory is absolute: <home>/programs/<identifier>
760
755
  def get_program_root_directory(program_id, session_id)
761
- send_request(FUNCTION_GET_PROGRAM_ROOT_DIRECTORY, [program_id, session_id], 'S S', 3, 'C S')
756
+ send_request FUNCTION_GET_PROGRAM_ROOT_DIRECTORY, [program_id, session_id], 'S S', 3, 'C S'
762
757
  end
763
758
 
764
759
  # FIXME: working directory is relative to <home>/programs/<identifier>/bin
765
760
  def set_program_command(program_id, executable_string_id, arguments_list_id, environment_list_id, working_directory_string_id)
766
- send_request(FUNCTION_SET_PROGRAM_COMMAND, [program_id, executable_string_id, arguments_list_id, environment_list_id, working_directory_string_id], 'S S S S S', 1, 'C')
761
+ send_request FUNCTION_SET_PROGRAM_COMMAND, [program_id, executable_string_id, arguments_list_id, environment_list_id, working_directory_string_id], 'S S S S S', 1, 'C'
767
762
  end
768
763
 
769
764
  # FIXME: working directory is relative to <home>/programs/<identifier>/bin
770
765
  def get_program_command(program_id, session_id)
771
- send_request(FUNCTION_GET_PROGRAM_COMMAND, [program_id, session_id], 'S S', 9, 'C S S S S')
766
+ send_request FUNCTION_GET_PROGRAM_COMMAND, [program_id, session_id], 'S S', 9, 'C S S S S'
772
767
  end
773
768
 
774
769
  # FIXME: stdio file names are relative to <home>/programs/<identifier>/bin
775
770
  def set_program_stdio_redirection(program_id, stdin_redirection, stdin_file_name_string_id, stdout_redirection, stdout_file_name_string_id, stderr_redirection, stderr_file_name_string_id)
776
- send_request(FUNCTION_SET_PROGRAM_STDIO_REDIRECTION, [program_id, stdin_redirection, stdin_file_name_string_id, stdout_redirection, stdout_file_name_string_id, stderr_redirection, stderr_file_name_string_id], 'S C S C S C S', 1, 'C')
771
+ send_request FUNCTION_SET_PROGRAM_STDIO_REDIRECTION, [program_id, stdin_redirection, stdin_file_name_string_id, stdout_redirection, stdout_file_name_string_id, stderr_redirection, stderr_file_name_string_id], 'S C S C S C S', 1, 'C'
777
772
  end
778
773
 
779
774
  # FIXME: stdio file names are relative to <home>/programs/<identifier>/bin
780
775
  def get_program_stdio_redirection(program_id, session_id)
781
- send_request(FUNCTION_GET_PROGRAM_STDIO_REDIRECTION, [program_id, session_id], 'S S', 10, 'C C S C S C S')
776
+ send_request FUNCTION_GET_PROGRAM_STDIO_REDIRECTION, [program_id, session_id], 'S S', 10, 'C C S C S C S'
782
777
  end
783
778
 
784
779
  #
785
780
  def set_program_schedule(program_id, start_mode, continue_after_error, start_interval, start_fields_string_id)
786
- send_request(FUNCTION_SET_PROGRAM_SCHEDULE, [program_id, start_mode, continue_after_error, start_interval, start_fields_string_id], 'S C ? L S', 1, 'C')
781
+ send_request FUNCTION_SET_PROGRAM_SCHEDULE, [program_id, start_mode, continue_after_error, start_interval, start_fields_string_id], 'S C ? L S', 1, 'C'
787
782
  end
788
783
 
789
784
  #
790
785
  def get_program_schedule(program_id, session_id)
791
- send_request(FUNCTION_GET_PROGRAM_SCHEDULE, [program_id, session_id], 'S S', 9, 'C C ? L S')
786
+ send_request FUNCTION_GET_PROGRAM_SCHEDULE, [program_id, session_id], 'S S', 9, 'C C ? L S'
792
787
  end
793
788
 
794
789
  # FIXME: message is currently valid in error-occurred state only
795
790
  def get_program_scheduler_state(program_id, session_id)
796
- send_request(FUNCTION_GET_PROGRAM_SCHEDULER_STATE, [program_id, session_id], 'S S', 12, 'C C Q S')
791
+ send_request FUNCTION_GET_PROGRAM_SCHEDULER_STATE, [program_id, session_id], 'S S', 12, 'C C Q S'
797
792
  end
798
793
 
799
794
  #
800
795
  def continue_program_schedule(program_id)
801
- send_request(FUNCTION_CONTINUE_PROGRAM_SCHEDULE, [program_id], 'S', 1, 'C')
796
+ send_request FUNCTION_CONTINUE_PROGRAM_SCHEDULE, [program_id], 'S', 1, 'C'
802
797
  end
803
798
 
804
799
  #
805
800
  def start_program(program_id)
806
- send_request(FUNCTION_START_PROGRAM, [program_id], 'S', 1, 'C')
801
+ send_request FUNCTION_START_PROGRAM, [program_id], 'S', 1, 'C'
807
802
  end
808
803
 
809
804
  #
810
805
  def get_last_spawned_program_process(program_id, session_id)
811
- send_request(FUNCTION_GET_LAST_SPAWNED_PROGRAM_PROCESS, [program_id, session_id], 'S S', 11, 'C S Q')
806
+ send_request FUNCTION_GET_LAST_SPAWNED_PROGRAM_PROCESS, [program_id, session_id], 'S S', 11, 'C S Q'
812
807
  end
813
808
 
814
809
  #
815
810
  def get_custom_program_option_names(program_id, session_id)
816
- send_request(FUNCTION_GET_CUSTOM_PROGRAM_OPTION_NAMES, [program_id, session_id], 'S S', 3, 'C S')
811
+ send_request FUNCTION_GET_CUSTOM_PROGRAM_OPTION_NAMES, [program_id, session_id], 'S S', 3, 'C S'
817
812
  end
818
813
 
819
814
  #
820
815
  def set_custom_program_option_value(program_id, name_string_id, value_string_id)
821
- send_request(FUNCTION_SET_CUSTOM_PROGRAM_OPTION_VALUE, [program_id, name_string_id, value_string_id], 'S S S', 1, 'C')
816
+ send_request FUNCTION_SET_CUSTOM_PROGRAM_OPTION_VALUE, [program_id, name_string_id, value_string_id], 'S S S', 1, 'C'
822
817
  end
823
818
 
824
819
  #
825
820
  def get_custom_program_option_value(program_id, name_string_id, session_id)
826
- send_request(FUNCTION_GET_CUSTOM_PROGRAM_OPTION_VALUE, [program_id, name_string_id, session_id], 'S S S', 3, 'C S')
821
+ send_request FUNCTION_GET_CUSTOM_PROGRAM_OPTION_VALUE, [program_id, name_string_id, session_id], 'S S S', 3, 'C S'
827
822
  end
828
823
 
829
824
  #
830
825
  def remove_custom_program_option(program_id, name_string_id)
831
- send_request(FUNCTION_REMOVE_CUSTOM_PROGRAM_OPTION, [program_id, name_string_id], 'S S', 1, 'C')
826
+ send_request FUNCTION_REMOVE_CUSTOM_PROGRAM_OPTION, [program_id, name_string_id], 'S S', 1, 'C'
832
827
  end
833
828
 
834
829
  # Returns the UID, the UID where the Brick is connected to,
@@ -840,7 +835,7 @@ module Tinkerforge
840
835
  # The device identifier numbers can be found :ref:`here <device_identifier>`.
841
836
  # |device_identifier_constant|
842
837
  def get_identity
843
- send_request(FUNCTION_GET_IDENTITY, [], '', 25, 'Z8 Z8 k C3 C3 S')
838
+ send_request FUNCTION_GET_IDENTITY, [], '', 25, 'Z8 Z8 k C3 C3 S'
844
839
  end
845
840
 
846
841
  # Registers a callback with ID <tt>id</tt> to the block <tt>block</tt>.