tinkerforge 2.1.10 → 2.1.11

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 (71) hide show
  1. data/lib/tinkerforge/brick_dc.rb +2 -2
  2. data/lib/tinkerforge/brick_imu.rb +2 -2
  3. data/lib/tinkerforge/brick_imu_v2.rb +90 -3
  4. data/lib/tinkerforge/brick_master.rb +183 -22
  5. data/lib/tinkerforge/brick_red.rb +2 -2
  6. data/lib/tinkerforge/brick_servo.rb +2 -2
  7. data/lib/tinkerforge/brick_stepper.rb +2 -2
  8. data/lib/tinkerforge/bricklet_accelerometer.rb +2 -2
  9. data/lib/tinkerforge/bricklet_ambient_light.rb +2 -2
  10. data/lib/tinkerforge/bricklet_ambient_light_v2.rb +2 -2
  11. data/lib/tinkerforge/bricklet_analog_in.rb +2 -2
  12. data/lib/tinkerforge/bricklet_analog_in_v2.rb +2 -2
  13. data/lib/tinkerforge/bricklet_analog_out.rb +2 -2
  14. data/lib/tinkerforge/bricklet_analog_out_v2.rb +2 -2
  15. data/lib/tinkerforge/bricklet_barometer.rb +2 -2
  16. data/lib/tinkerforge/bricklet_can.rb +2 -2
  17. data/lib/tinkerforge/bricklet_co2.rb +2 -2
  18. data/lib/tinkerforge/bricklet_color.rb +2 -2
  19. data/lib/tinkerforge/bricklet_current12.rb +2 -2
  20. data/lib/tinkerforge/bricklet_current25.rb +2 -2
  21. data/lib/tinkerforge/bricklet_distance_ir.rb +2 -2
  22. data/lib/tinkerforge/bricklet_distance_us.rb +2 -2
  23. data/lib/tinkerforge/bricklet_dual_button.rb +2 -2
  24. data/lib/tinkerforge/bricklet_dual_relay.rb +2 -2
  25. data/lib/tinkerforge/bricklet_dust_detector.rb +2 -2
  26. data/lib/tinkerforge/bricklet_gps.rb +2 -2
  27. data/lib/tinkerforge/bricklet_hall_effect.rb +2 -2
  28. data/lib/tinkerforge/bricklet_humidity.rb +2 -2
  29. data/lib/tinkerforge/bricklet_industrial_analog_out.rb +2 -2
  30. data/lib/tinkerforge/bricklet_industrial_digital_in_4.rb +2 -2
  31. data/lib/tinkerforge/bricklet_industrial_digital_out_4.rb +2 -2
  32. data/lib/tinkerforge/bricklet_industrial_dual_0_20ma.rb +2 -2
  33. data/lib/tinkerforge/bricklet_industrial_dual_analog_in.rb +2 -2
  34. data/lib/tinkerforge/bricklet_industrial_quad_relay.rb +2 -2
  35. data/lib/tinkerforge/bricklet_io16.rb +2 -2
  36. data/lib/tinkerforge/bricklet_io4.rb +2 -2
  37. data/lib/tinkerforge/bricklet_joystick.rb +2 -2
  38. data/lib/tinkerforge/bricklet_laser_range_finder.rb +2 -2
  39. data/lib/tinkerforge/bricklet_lcd_16x2.rb +2 -2
  40. data/lib/tinkerforge/bricklet_lcd_20x4.rb +2 -2
  41. data/lib/tinkerforge/bricklet_led_strip.rb +2 -2
  42. data/lib/tinkerforge/bricklet_line.rb +2 -2
  43. data/lib/tinkerforge/bricklet_linear_poti.rb +2 -2
  44. data/lib/tinkerforge/bricklet_load_cell.rb +2 -2
  45. data/lib/tinkerforge/bricklet_moisture.rb +2 -2
  46. data/lib/tinkerforge/bricklet_motion_detector.rb +28 -2
  47. data/lib/tinkerforge/bricklet_multi_touch.rb +2 -2
  48. data/lib/tinkerforge/bricklet_nfc_rfid.rb +2 -2
  49. data/lib/tinkerforge/bricklet_oled_128x64.rb +2 -2
  50. data/lib/tinkerforge/bricklet_oled_64x48.rb +2 -2
  51. data/lib/tinkerforge/bricklet_piezo_buzzer.rb +2 -2
  52. data/lib/tinkerforge/bricklet_piezo_speaker.rb +2 -2
  53. data/lib/tinkerforge/bricklet_ptc.rb +2 -2
  54. data/lib/tinkerforge/bricklet_real_time_clock.rb +2 -2
  55. data/lib/tinkerforge/bricklet_remote_switch.rb +2 -2
  56. data/lib/tinkerforge/bricklet_rgb_led.rb +3 -3
  57. data/lib/tinkerforge/bricklet_rotary_encoder.rb +2 -2
  58. data/lib/tinkerforge/bricklet_rotary_poti.rb +2 -2
  59. data/lib/tinkerforge/bricklet_rs232.rb +3 -3
  60. data/lib/tinkerforge/bricklet_segment_display_4x7.rb +2 -2
  61. data/lib/tinkerforge/bricklet_solid_state_relay.rb +2 -2
  62. data/lib/tinkerforge/bricklet_sound_intensity.rb +2 -2
  63. data/lib/tinkerforge/bricklet_temperature.rb +2 -2
  64. data/lib/tinkerforge/bricklet_temperature_ir.rb +2 -2
  65. data/lib/tinkerforge/bricklet_thermocouple.rb +3 -3
  66. data/lib/tinkerforge/bricklet_tilt.rb +2 -2
  67. data/lib/tinkerforge/bricklet_uv_light.rb +2 -2
  68. data/lib/tinkerforge/bricklet_voltage.rb +2 -2
  69. data/lib/tinkerforge/bricklet_voltage_current.rb +2 -2
  70. data/lib/tinkerforge/version.rb +1 -1
  71. metadata +2 -2
@@ -1,8 +1,8 @@
1
1
  # -*- ruby encoding: utf-8 -*-
2
2
  #############################################################
3
- # This file was automatically generated on 2016-09-08. #
3
+ # This file was automatically generated on 2017-01-25. #
4
4
  # #
5
- # Ruby Bindings Version 2.1.10 #
5
+ # Ruby Bindings Version 2.1.11 #
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 #
@@ -1,8 +1,8 @@
1
1
  # -*- ruby encoding: utf-8 -*-
2
2
  #############################################################
3
- # This file was automatically generated on 2016-09-08. #
3
+ # This file was automatically generated on 2017-01-25. #
4
4
  # #
5
- # Ruby Bindings Version 2.1.10 #
5
+ # Ruby Bindings Version 2.1.11 #
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 #
@@ -1,8 +1,8 @@
1
1
  # -*- ruby encoding: utf-8 -*-
2
2
  #############################################################
3
- # This file was automatically generated on 2016-09-08. #
3
+ # This file was automatically generated on 2017-01-25. #
4
4
  # #
5
- # Ruby Bindings Version 2.1.10 #
5
+ # Ruby Bindings Version 2.1.11 #
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 #
@@ -91,6 +91,10 @@ module Tinkerforge
91
91
  FUNCTION_GET_QUATERNION_PERIOD = 29 # :nodoc:
92
92
  FUNCTION_SET_ALL_DATA_PERIOD = 30 # :nodoc:
93
93
  FUNCTION_GET_ALL_DATA_PERIOD = 31 # :nodoc:
94
+ FUNCTION_SET_SENSOR_CONFIGURATION = 41 # :nodoc:
95
+ FUNCTION_GET_SENSOR_CONFIGURATION = 42 # :nodoc:
96
+ FUNCTION_SET_SENSOR_FUSION_MODE = 43 # :nodoc:
97
+ FUNCTION_GET_SENSOR_FUSION_MODE = 44 # :nodoc:
94
98
  FUNCTION_ENABLE_STATUS_LED = 238 # :nodoc:
95
99
  FUNCTION_DISABLE_STATUS_LED = 239 # :nodoc:
96
100
  FUNCTION_IS_STATUS_LED_ENABLED = 240 # :nodoc:
@@ -99,13 +103,48 @@ module Tinkerforge
99
103
  FUNCTION_RESET = 243 # :nodoc:
100
104
  FUNCTION_GET_IDENTITY = 255 # :nodoc:
101
105
 
106
+ MAGNETOMETER_RATE_2HZ = 0 # :nodoc:
107
+ MAGNETOMETER_RATE_6HZ = 1 # :nodoc:
108
+ MAGNETOMETER_RATE_8HZ = 2 # :nodoc:
109
+ MAGNETOMETER_RATE_10HZ = 3 # :nodoc:
110
+ MAGNETOMETER_RATE_15HZ = 4 # :nodoc:
111
+ MAGNETOMETER_RATE_20HZ = 5 # :nodoc:
112
+ MAGNETOMETER_RATE_25HZ = 6 # :nodoc:
113
+ MAGNETOMETER_RATE_30HZ = 7 # :nodoc:
114
+ GYROSCOPE_RANGE_2000DPS = 0 # :nodoc:
115
+ GYROSCOPE_RANGE_1000DPS = 1 # :nodoc:
116
+ GYROSCOPE_RANGE_500DPS = 2 # :nodoc:
117
+ GYROSCOPE_RANGE_250DPS = 3 # :nodoc:
118
+ GYROSCOPE_RANGE_125DPS = 4 # :nodoc:
119
+ GYROSCOPE_BANDWIDTH_523HZ = 0 # :nodoc:
120
+ GYROSCOPE_BANDWIDTH_230HZ = 1 # :nodoc:
121
+ GYROSCOPE_BANDWIDTH_116HZ = 2 # :nodoc:
122
+ GYROSCOPE_BANDWIDTH_47HZ = 3 # :nodoc:
123
+ GYROSCOPE_BANDWIDTH_23HZ = 4 # :nodoc:
124
+ GYROSCOPE_BANDWIDTH_12HZ = 5 # :nodoc:
125
+ GYROSCOPE_BANDWIDTH_64HZ = 6 # :nodoc:
126
+ GYROSCOPE_BANDWIDTH_32HZ = 7 # :nodoc:
127
+ ACCELEROMETER_RANGE_2G = 0 # :nodoc:
128
+ ACCELEROMETER_RANGE_4G = 1 # :nodoc:
129
+ ACCELEROMETER_RANGE_8G = 2 # :nodoc:
130
+ ACCELEROMETER_RANGE_16G = 3 # :nodoc:
131
+ ACCELEROMETER_BANDWIDTH_7_81HZ = 0 # :nodoc:
132
+ ACCELEROMETER_BANDWIDTH_15_63HZ = 1 # :nodoc:
133
+ ACCELEROMETER_BANDWIDTH_31_25HZ = 2 # :nodoc:
134
+ ACCELEROMETER_BANDWIDTH_62_5HZ = 3 # :nodoc:
135
+ ACCELEROMETER_BANDWIDTH_125HZ = 4 # :nodoc:
136
+ ACCELEROMETER_BANDWIDTH_250HZ = 5 # :nodoc:
137
+ ACCELEROMETER_BANDWIDTH_500HZ = 6 # :nodoc:
138
+ ACCELEROMETER_BANDWIDTH_1000HZ = 7 # :nodoc:
139
+ SENSOR_FUSION_OFF = 0 # :nodoc:
140
+ SENSOR_FUSION_ON = 1 # :nodoc:
102
141
 
103
142
  # Creates an object with the unique device ID <tt>uid</tt> and adds it to
104
143
  # the IP Connection <tt>ipcon</tt>.
105
144
  def initialize(uid, ipcon)
106
145
  super uid, ipcon
107
146
 
108
- @api_version = [2, 0, 0]
147
+ @api_version = [2, 0, 1]
109
148
 
110
149
  @response_expected[FUNCTION_GET_ACCELERATION] = RESPONSE_EXPECTED_ALWAYS_TRUE
111
150
  @response_expected[FUNCTION_GET_MAGNETIC_FIELD] = RESPONSE_EXPECTED_ALWAYS_TRUE
@@ -147,6 +186,10 @@ module Tinkerforge
147
186
  @response_expected[CALLBACK_ORIENTATION] = RESPONSE_EXPECTED_ALWAYS_FALSE
148
187
  @response_expected[CALLBACK_QUATERNION] = RESPONSE_EXPECTED_ALWAYS_FALSE
149
188
  @response_expected[CALLBACK_ALL_DATA] = RESPONSE_EXPECTED_ALWAYS_FALSE
189
+ @response_expected[FUNCTION_SET_SENSOR_CONFIGURATION] = RESPONSE_EXPECTED_FALSE
190
+ @response_expected[FUNCTION_GET_SENSOR_CONFIGURATION] = RESPONSE_EXPECTED_ALWAYS_TRUE
191
+ @response_expected[FUNCTION_SET_SENSOR_FUSION_MODE] = RESPONSE_EXPECTED_FALSE
192
+ @response_expected[FUNCTION_GET_SENSOR_FUSION_MODE] = RESPONSE_EXPECTED_ALWAYS_TRUE
150
193
  @response_expected[FUNCTION_ENABLE_STATUS_LED] = RESPONSE_EXPECTED_FALSE
151
194
  @response_expected[FUNCTION_DISABLE_STATUS_LED] = RESPONSE_EXPECTED_FALSE
152
195
  @response_expected[FUNCTION_IS_STATUS_LED_ENABLED] = RESPONSE_EXPECTED_ALWAYS_TRUE
@@ -431,6 +474,50 @@ module Tinkerforge
431
474
  send_request(FUNCTION_GET_ALL_DATA_PERIOD, [], '', 4, 'L')
432
475
  end
433
476
 
477
+ # Sets the available sensor configuration for the Magnetometer, Gyroscope and
478
+ # Accelerometer. The Accelerometer Range is user selectable in all fusion modes,
479
+ # all other configurations are auto-controlled in fusion mode.
480
+ #
481
+ # The default values are:
482
+ #
483
+ # * Magnetometer Rate 20Hz
484
+ # * Gyroscope Range 2000°/s
485
+ # * Gyroscope Bandwidth 32Hz
486
+ # * Accelerometer Range +/-4G
487
+ # * Accelerometer Bandwidth 62.5Hz
488
+ #
489
+ #
490
+ # .. versionadded:: 2.0.5$nbsp;(Firmware)
491
+ def set_sensor_configuration(magnetometer_rate, gyroscope_range, gyroscope_bandwidth, accelerometer_range, accelerometer_bandwidth)
492
+ send_request(FUNCTION_SET_SENSOR_CONFIGURATION, [magnetometer_rate, gyroscope_range, gyroscope_bandwidth, accelerometer_range, accelerometer_bandwidth], 'C C C C C', 0, '')
493
+ end
494
+
495
+ # Returns the sensor configuration as set by BrickIMUV2#set_sensor_configuration.
496
+ #
497
+ # .. versionadded:: 2.0.5$nbsp;(Firmware)
498
+ def get_sensor_configuration
499
+ send_request(FUNCTION_GET_SENSOR_CONFIGURATION, [], '', 5, 'C C C C C')
500
+ end
501
+
502
+ # If the fusion mode is turned off, the functions
503
+ # BrickIMUV2#get_acceleration, BrickIMUV2#get_magnetic_field and BrickIMUV2#get_angular_velocity
504
+ # return uncalibrated and uncompensated sensor data. All other sensor data getters
505
+ # return no data.
506
+ #
507
+ # By default sensor fusion is on.
508
+ #
509
+ # .. versionadded:: 2.0.5$nbsp;(Firmware)
510
+ def set_sensor_fusion_mode(mode)
511
+ send_request(FUNCTION_SET_SENSOR_FUSION_MODE, [mode], 'C', 0, '')
512
+ end
513
+
514
+ # Returns the sensor fusion mode as set by BrickIMUV2#set_sensor_fusion_mode.
515
+ #
516
+ # .. versionadded:: 2.0.5$nbsp;(Firmware)
517
+ def get_sensor_fusion_mode
518
+ send_request(FUNCTION_GET_SENSOR_FUSION_MODE, [], '', 1, 'C')
519
+ end
520
+
434
521
  # Enables the status LED.
435
522
  #
436
523
  # The status LED is the blue LED next to the USB connector. If enabled is is
@@ -1,8 +1,8 @@
1
1
  # -*- ruby encoding: utf-8 -*-
2
2
  #############################################################
3
- # This file was automatically generated on 2016-09-08. #
3
+ # This file was automatically generated on 2017-01-25. #
4
4
  # #
5
- # Ruby Bindings Version 2.1.10 #
5
+ # Ruby Bindings Version 2.1.11 #
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 #
@@ -172,6 +172,15 @@ module Tinkerforge
172
172
  FUNCTION_ENABLE_WIFI2_STATUS_LED = 99 # :nodoc:
173
173
  FUNCTION_DISABLE_WIFI2_STATUS_LED = 100 # :nodoc:
174
174
  FUNCTION_IS_WIFI2_STATUS_LED_ENABLED = 101 # :nodoc:
175
+ FUNCTION_SET_WIFI2_MESH_CONFIGURATION = 102 # :nodoc:
176
+ FUNCTION_GET_WIFI2_MESH_CONFIGURATION = 103 # :nodoc:
177
+ FUNCTION_SET_WIFI2_MESH_ROUTER_SSID = 104 # :nodoc:
178
+ FUNCTION_GET_WIFI2_MESH_ROUTER_SSID = 105 # :nodoc:
179
+ FUNCTION_SET_WIFI2_MESH_ROUTER_PASSWORD = 106 # :nodoc:
180
+ FUNCTION_GET_WIFI2_MESH_ROUTER_PASSWORD = 107 # :nodoc:
181
+ FUNCTION_GET_WIFI2_MESH_COMMON_STATUS = 108 # :nodoc:
182
+ FUNCTION_GET_WIFI2_MESH_CLIENT_STATUS = 109 # :nodoc:
183
+ FUNCTION_GET_WIFI2_MESH_AP_STATUS = 110 # :nodoc:
175
184
  FUNCTION_ENABLE_STATUS_LED = 238 # :nodoc:
176
185
  FUNCTION_DISABLE_STATUS_LED = 239 # :nodoc:
177
186
  FUNCTION_IS_STATUS_LED_ENABLED = 240 # :nodoc:
@@ -251,6 +260,14 @@ module Tinkerforge
251
260
  WIFI2_AP_ENCRYPTION_WPA_PSK = 2 # :nodoc:
252
261
  WIFI2_AP_ENCRYPTION_WPA2_PSK = 3 # :nodoc:
253
262
  WIFI2_AP_ENCRYPTION_WPA_WPA2_PSK = 4 # :nodoc:
263
+ WIFI2_MESH_STATUS_DISABLED = 0 # :nodoc:
264
+ WIFI2_MESH_STATUS_WIFI_CONNECTING = 1 # :nodoc:
265
+ WIFI2_MESH_STATUS_GOT_IP = 2 # :nodoc:
266
+ WIFI2_MESH_STATUS_MESH_LOCAL = 3 # :nodoc:
267
+ WIFI2_MESH_STATUS_MESH_ONLINE = 4 # :nodoc:
268
+ WIFI2_MESH_STATUS_AP_AVAILABLE = 5 # :nodoc:
269
+ WIFI2_MESH_STATUS_AP_SETUP = 6 # :nodoc:
270
+ WIFI2_MESH_STATUS_LEAF_AVAILABLE = 7 # :nodoc:
254
271
 
255
272
  # Creates an object with the unique device ID <tt>uid</tt> and adds it to
256
273
  # the IP Connection <tt>ipcon</tt>.
@@ -360,6 +377,15 @@ module Tinkerforge
360
377
  @response_expected[FUNCTION_ENABLE_WIFI2_STATUS_LED] = RESPONSE_EXPECTED_FALSE
361
378
  @response_expected[FUNCTION_DISABLE_WIFI2_STATUS_LED] = RESPONSE_EXPECTED_FALSE
362
379
  @response_expected[FUNCTION_IS_WIFI2_STATUS_LED_ENABLED] = RESPONSE_EXPECTED_ALWAYS_TRUE
380
+ @response_expected[FUNCTION_SET_WIFI2_MESH_CONFIGURATION] = RESPONSE_EXPECTED_FALSE
381
+ @response_expected[FUNCTION_GET_WIFI2_MESH_CONFIGURATION] = RESPONSE_EXPECTED_ALWAYS_TRUE
382
+ @response_expected[FUNCTION_SET_WIFI2_MESH_ROUTER_SSID] = RESPONSE_EXPECTED_FALSE
383
+ @response_expected[FUNCTION_GET_WIFI2_MESH_ROUTER_SSID] = RESPONSE_EXPECTED_ALWAYS_TRUE
384
+ @response_expected[FUNCTION_SET_WIFI2_MESH_ROUTER_PASSWORD] = RESPONSE_EXPECTED_FALSE
385
+ @response_expected[FUNCTION_GET_WIFI2_MESH_ROUTER_PASSWORD] = RESPONSE_EXPECTED_ALWAYS_TRUE
386
+ @response_expected[FUNCTION_GET_WIFI2_MESH_COMMON_STATUS] = RESPONSE_EXPECTED_ALWAYS_TRUE
387
+ @response_expected[FUNCTION_GET_WIFI2_MESH_CLIENT_STATUS] = RESPONSE_EXPECTED_ALWAYS_TRUE
388
+ @response_expected[FUNCTION_GET_WIFI2_MESH_AP_STATUS] = RESPONSE_EXPECTED_ALWAYS_TRUE
363
389
  @response_expected[FUNCTION_ENABLE_STATUS_LED] = RESPONSE_EXPECTED_FALSE
364
390
  @response_expected[FUNCTION_DISABLE_STATUS_LED] = RESPONSE_EXPECTED_FALSE
365
391
  @response_expected[FUNCTION_IS_STATUS_LED_ENABLED] = RESPONSE_EXPECTED_ALWAYS_TRUE
@@ -858,7 +884,7 @@ module Tinkerforge
858
884
  send_request(FUNCTION_SET_STACK_CURRENT_CALLBACK_PERIOD, [period], 'L', 0, '')
859
885
  end
860
886
 
861
- # Returns the period as set by :func:`SetCurrentCallbackPeriod`.
887
+ # Returns the period as set by BrickMaster#set_stack_current_callback_period.
862
888
  #
863
889
  # .. versionadded:: 2.0.5$nbsp;(Firmware)
864
890
  def get_stack_current_callback_period
@@ -931,7 +957,7 @@ module Tinkerforge
931
957
  send_request(FUNCTION_GET_STACK_CURRENT_CALLBACK_THRESHOLD, [], '', 5, 'k S S')
932
958
  end
933
959
 
934
- # Sets the thresholds for the :func:`StackStackVoltageReached` callback.
960
+ # Sets the thresholds for the CALLBACK_STACK_VOLTAGE_REACHED callback.
935
961
  #
936
962
  # The following options are possible:
937
963
  #
@@ -1240,7 +1266,7 @@ module Tinkerforge
1240
1266
  # BrickMaster#save_wifi2_configuration function has to be called and the Master Brick
1241
1267
  # has to be restarted afterwards.
1242
1268
  #
1243
- # It is recommended to use the Brick Viewer to set the WIFI authentication secret.
1269
+ # It is recommended to use the Brick Viewer to configure the WIFI Extension 2.0.
1244
1270
  #
1245
1271
  # .. versionadded:: 2.4.0$nbsp;(Firmware)
1246
1272
  def set_wifi2_authentication_secret(secret)
@@ -1269,13 +1295,21 @@ module Tinkerforge
1269
1295
  # The ``phy_mode`` parameter sets the specific wireless network mode to be used.
1270
1296
  # Possible values are B, G and N. The default value is G.
1271
1297
  #
1272
- # The ``sleep_mode`` and ``website`` parameters are currently unused.
1298
+ # The ``sleep_mode`` parameter is currently unused.
1299
+ #
1300
+ # The ``website`` parameter is used to enable or disable the web interface of
1301
+ # the WIFI Extension 2.0, which is available from firmware version 2.0.1. Note
1302
+ # that, for firmware version 2.0.3 and older, to disable the the web interface
1303
+ # the ``website_port`` parameter must be set to 1 and greater than 1 to enable
1304
+ # the web interface. For firmware version 2.0.4 and later, setting this parameter
1305
+ # to 1 will enable the web interface and setting it to 0 will disable the web
1306
+ # interface.
1273
1307
  #
1274
1308
  # To apply configuration changes to the WIFI Extension 2.0 the
1275
1309
  # BrickMaster#save_wifi2_configuration function has to be called and the Master Brick
1276
1310
  # has to be restarted afterwards.
1277
1311
  #
1278
- # It is recommended to use the Brick Viewer to set the Ethernet configuration.
1312
+ # It is recommended to use the Brick Viewer to configure the WIFI Extension 2.0.
1279
1313
  #
1280
1314
  # .. versionadded:: 2.4.0$nbsp;(Firmware)
1281
1315
  def set_wifi2_configuration(port, websocket_port, website_port, phy_mode, sleep_mode, website)
@@ -1298,16 +1332,16 @@ module Tinkerforge
1298
1332
 
1299
1333
  # Sets the client specific configuration of the WIFI Extension 2.0.
1300
1334
  #
1301
- # The ``enable`` parameter enables or disables the client part fo the
1335
+ # The ``enable`` parameter enables or disables the client part of the
1302
1336
  # WIFI Extension 2.0. The default value is *true*.
1303
1337
  #
1304
1338
  # The ``ssid`` parameter sets the SSID (up to 32 characters) of the access point
1305
1339
  # to connect to.
1306
1340
  #
1307
- # If the ``ip``, ``subnet_mask`` and ``gateway`` parameters are set to all zero
1308
- # then DHCP is used for IP address configuration. Otherwise those three
1309
- # parameters can be used to configure a static IP address. The default
1310
- # configuration is DHCP.
1341
+ # If the ``ip`` parameter is set to all zero then ``subnet_mask`` and ``gateway``
1342
+ # parameters are also set to all zero and DHCP is used for IP address configuration.
1343
+ # Otherwise those three parameters can be used to configure a static IP address.
1344
+ # The default configuration is DHCP.
1311
1345
  #
1312
1346
  # If the ``mac_address`` parameter is set to all zero then the factory MAC
1313
1347
  # address is used. Otherwise this parameter can be used to set a custom MAC
@@ -1322,7 +1356,7 @@ module Tinkerforge
1322
1356
  # BrickMaster#save_wifi2_configuration function has to be called and the Master Brick
1323
1357
  # has to be restarted afterwards.
1324
1358
  #
1325
- # It is recommended to use the Brick Viewer to set the client configuration.
1359
+ # It is recommended to use the Brick Viewer to configure the WIFI Extension 2.0.
1326
1360
  #
1327
1361
  # .. versionadded:: 2.4.0$nbsp;(Firmware)
1328
1362
  def set_wifi2_client_configuration(enable, ssid, ip, subnet_mask, gateway, mac_address, bssid)
@@ -1344,7 +1378,7 @@ module Tinkerforge
1344
1378
  # BrickMaster#save_wifi2_configuration function has to be called and the Master Brick
1345
1379
  # has to be restarted afterwards.
1346
1380
  #
1347
- # It is recommended to use the Brick Viewer to set the client hostname.
1381
+ # It is recommended to use the Brick Viewer to configure the WIFI Extension 2.0.
1348
1382
  #
1349
1383
  # .. versionadded:: 2.4.0$nbsp;(Firmware)
1350
1384
  def set_wifi2_client_hostname(hostname)
@@ -1364,7 +1398,7 @@ module Tinkerforge
1364
1398
  # BrickMaster#save_wifi2_configuration function has to be called and the Master Brick
1365
1399
  # has to be restarted afterwards.
1366
1400
  #
1367
- # It is recommended to use the Brick Viewer to set the client password.
1401
+ # It is recommended to use the Brick Viewer to configure the WIFI Extension 2.0.
1368
1402
  #
1369
1403
  # .. versionadded:: 2.4.0$nbsp;(Firmware)
1370
1404
  def set_wifi2_client_password(password)
@@ -1380,15 +1414,15 @@ module Tinkerforge
1380
1414
 
1381
1415
  # Sets the access point specific configuration of the WIFI Extension 2.0.
1382
1416
  #
1383
- # The ``enable`` parameter enables or disables the access point part fo the
1417
+ # The ``enable`` parameter enables or disables the access point part of the
1384
1418
  # WIFI Extension 2.0. The default value is true.
1385
1419
  #
1386
1420
  # The ``ssid`` parameter sets the SSID (up to 32 characters) of the access point.
1387
1421
  #
1388
- # If the ``ip``, ``subnet_mask`` and ``gateway`` parameters are set to all zero
1389
- # then a DHCP server is enabled. Otherwise those three parameters can be used to
1390
- # configure a static IP address for the access point. The default configuration
1391
- # is DHCP.
1422
+ # If the ``ip`` parameter is set to all zero then ``subnet_mask`` and ``gateway``
1423
+ # parameters are also set to all zero and DHCP is used for IP address configuration.
1424
+ # Otherwise those three parameters can be used to configure a static IP address.
1425
+ # The default configuration is DHCP.
1392
1426
  #
1393
1427
  # The ``encryption`` parameter sets the encryption mode to be used. Possible
1394
1428
  # values are Open (no encryption), WEP or WPA/WPA2 PSK. The default value is
@@ -1409,7 +1443,7 @@ module Tinkerforge
1409
1443
  # BrickMaster#save_wifi2_configuration function has to be called and the Master Brick
1410
1444
  # has to be restarted afterwards.
1411
1445
  #
1412
- # It is recommended to use the Brick Viewer to set the access point configuration.
1446
+ # It is recommended to use the Brick Viewer to configure the WIFI Extension 2.0.
1413
1447
  #
1414
1448
  # .. versionadded:: 2.4.0$nbsp;(Firmware)
1415
1449
  def set_wifi2_ap_configuration(enable, ssid, ip, subnet_mask, gateway, encryption, hidden, channel, mac_address)
@@ -1430,7 +1464,7 @@ module Tinkerforge
1430
1464
  # BrickMaster#save_wifi2_configuration function has to be called and the Master Brick
1431
1465
  # has to be restarted afterwards.
1432
1466
  #
1433
- # It is recommended to use the Brick Viewer to set the access point password.
1467
+ # It is recommended to use the Brick Viewer to configure the WIFI Extension 2.0.
1434
1468
  #
1435
1469
  # .. versionadded:: 2.4.0$nbsp;(Firmware)
1436
1470
  def set_wifi2_ap_password(password)
@@ -1484,6 +1518,133 @@ module Tinkerforge
1484
1518
  send_request(FUNCTION_IS_WIFI2_STATUS_LED_ENABLED, [], '', 1, '?')
1485
1519
  end
1486
1520
 
1521
+ # Requires WIFI Extension 2.0 firmware 2.1.0.
1522
+ #
1523
+ # Sets the mesh specific configuration of the WIFI Extension 2.0.
1524
+ #
1525
+ # The ``enable`` parameter enables or disables the mesh part of the
1526
+ # WIFI Extension 2.0. The default value is *false*. The mesh part cannot be
1527
+ # enabled together with the client and access-point part.
1528
+ #
1529
+ # If the ``root_ip`` parameter is set to all zero then ``root_subnet_mask``
1530
+ # and ``root_gateway`` parameters are also set to all zero and DHCP is used for
1531
+ # IP address configuration. Otherwise those three parameters can be used to
1532
+ # configure a static IP address. The default configuration is DHCP.
1533
+ #
1534
+ # If the ``router_bssid`` parameter is set to all zero then the information is
1535
+ # taken from Wi-Fi scan when connecting the SSID as set by
1536
+ # BrickMaster#set_wifi2_mesh_router_ssid. This only works if the the SSID is not hidden.
1537
+ # In case the router has hidden SSID this parameter must be specified, otherwise
1538
+ # the node will not be able to reach the mesh router.
1539
+ #
1540
+ # The ``group_id`` and the ``group_ssid_prefix`` parameters identifies a
1541
+ # particular mesh network and nodes configured with same ``group_id`` and the
1542
+ # ``group_ssid_prefix`` are considered to be in the same mesh network.
1543
+ #
1544
+ # The ``gateway_ip`` and the ``gateway_port`` parameters specifies the location
1545
+ # of the brickd that supports mesh feature.
1546
+ #
1547
+ # To apply configuration changes to the WIFI Extension 2.0 the
1548
+ # BrickMaster#save_wifi2_configuration function has to be called and the Master Brick
1549
+ # has to be restarted afterwards.
1550
+ #
1551
+ # It is recommended to use the Brick Viewer to configure the WIFI Extension 2.0.
1552
+ #
1553
+ # .. versionadded:: 2.4.2$nbsp;(Firmware)
1554
+ def set_wifi2_mesh_configuration(enable, root_ip, root_subnet_mask, root_gateway, router_bssid, group_id, group_ssid_prefix, gateway_ip, gateway_port)
1555
+ send_request(FUNCTION_SET_WIFI2_MESH_CONFIGURATION, [enable, root_ip, root_subnet_mask, root_gateway, router_bssid, group_id, group_ssid_prefix, gateway_ip, gateway_port], '? C4 C4 C4 C6 C6 Z16 C4 S', 0, '')
1556
+ end
1557
+
1558
+ # Requires WIFI Extension 2.0 firmware 2.1.0.
1559
+ #
1560
+ # Returns the mesh configuration as set by BrickMaster#set_wifi2_mesh_configuration.
1561
+ #
1562
+ # .. versionadded:: 2.4.2$nbsp;(Firmware)
1563
+ def get_wifi2_mesh_configuration
1564
+ send_request(FUNCTION_GET_WIFI2_MESH_CONFIGURATION, [], '', 47, '? C4 C4 C4 C6 C6 Z16 C4 S')
1565
+ end
1566
+
1567
+ # Requires WIFI Extension 2.0 firmware 2.1.0.
1568
+ #
1569
+ # Sets the mesh router SSID of the WIFI Extension 2.0.
1570
+ # It is used to specify the mesh router to connect to.
1571
+ #
1572
+ # Note that even though in the argument of this function a 32 characters long SSID
1573
+ # is allowed, in practice valid SSID should have a maximum of 31 characters. This
1574
+ # is due to a bug in the mesh library that we use in the firmware of the extension.
1575
+ #
1576
+ # To apply configuration changes to the WIFI Extension 2.0 the
1577
+ # BrickMaster#save_wifi2_configuration function has to be called and the Master Brick
1578
+ # has to be restarted afterwards.
1579
+ #
1580
+ # It is recommended to use the Brick Viewer to configure the WIFI Extension 2.0.
1581
+ #
1582
+ # .. versionadded:: 2.4.2$nbsp;(Firmware)
1583
+ def set_wifi2_mesh_router_ssid(ssid)
1584
+ send_request(FUNCTION_SET_WIFI2_MESH_ROUTER_SSID, [ssid], 'Z32', 0, '')
1585
+ end
1586
+
1587
+ # Requires WIFI Extension 2.0 firmware 2.1.0.
1588
+ #
1589
+ # Returns the mesh router SSID as set by BrickMaster#set_wifi2_mesh_router_ssid.
1590
+ #
1591
+ # .. versionadded:: 2.4.2$nbsp;(Firmware)
1592
+ def get_wifi2_mesh_router_ssid
1593
+ send_request(FUNCTION_GET_WIFI2_MESH_ROUTER_SSID, [], '', 32, 'Z32')
1594
+ end
1595
+
1596
+ # Requires WIFI Extension 2.0 firmware 2.1.0.
1597
+ #
1598
+ # Sets the mesh router password (up to 64 characters) for WPA/WPA2 encryption.
1599
+ # The password will be used to connect to the mesh router.
1600
+ #
1601
+ # To apply configuration changes to the WIFI Extension 2.0 the
1602
+ # BrickMaster#save_wifi2_configuration function has to be called and the Master Brick
1603
+ # has to be restarted afterwards.
1604
+ #
1605
+ # It is recommended to use the Brick Viewer to configure the WIFI Extension 2.0.
1606
+ #
1607
+ # .. versionadded:: 2.4.2$nbsp;(Firmware)
1608
+ def set_wifi2_mesh_router_password(password)
1609
+ send_request(FUNCTION_SET_WIFI2_MESH_ROUTER_PASSWORD, [password], 'Z64', 0, '')
1610
+ end
1611
+
1612
+ # Requires WIFI Extension 2.0 firmware 2.1.0.
1613
+ #
1614
+ # Returns the mesh router password as set by BrickMaster#set_wifi2_mesh_router_password.
1615
+ #
1616
+ # .. versionadded:: 2.4.2$nbsp;(Firmware)
1617
+ def get_wifi2_mesh_router_password
1618
+ send_request(FUNCTION_GET_WIFI2_MESH_ROUTER_PASSWORD, [], '', 64, 'Z64')
1619
+ end
1620
+
1621
+ # Requires WIFI Extension 2.0 firmware 2.1.0.
1622
+ #
1623
+ # Returns the common mesh status of the WIFI Extension 2.0.
1624
+ #
1625
+ # .. versionadded:: 2.4.2$nbsp;(Firmware)
1626
+ def get_wifi2_mesh_common_status
1627
+ send_request(FUNCTION_GET_WIFI2_MESH_COMMON_STATUS, [], '', 13, 'C ? ? S L L')
1628
+ end
1629
+
1630
+ # Requires WIFI Extension 2.0 firmware 2.1.0.
1631
+ #
1632
+ # Returns the mesh client status of the WIFI Extension 2.0.
1633
+ #
1634
+ # .. versionadded:: 2.4.2$nbsp;(Firmware)
1635
+ def get_wifi2_mesh_client_status
1636
+ send_request(FUNCTION_GET_WIFI2_MESH_CLIENT_STATUS, [], '', 50, 'Z32 C4 C4 C4 C6')
1637
+ end
1638
+
1639
+ # Requires WIFI Extension 2.0 firmware 2.1.0.
1640
+ #
1641
+ # Returns the mesh AP status of the WIFI Extension 2.0.
1642
+ #
1643
+ # .. versionadded:: 2.4.2$nbsp;(Firmware)
1644
+ def get_wifi2_mesh_ap_status
1645
+ send_request(FUNCTION_GET_WIFI2_MESH_AP_STATUS, [], '', 50, 'Z32 C4 C4 C4 C6')
1646
+ end
1647
+
1487
1648
  # Enables the status LED.
1488
1649
  #
1489
1650
  # The status LED is the blue LED next to the USB connector. If enabled is is