Class: Tinkerforge::BrickMaster

Inherits:
Device
  • Object
show all
Defined in:
lib/tinkerforge/brick_master.rb

Overview

Basis to build stacks and has 4 Bricklet ports

Constant Summary collapse

DEVICE_IDENTIFIER =

:nodoc:

13
DEVICE_DISPLAY_NAME =

:nodoc:

'Master Brick'
CALLBACK_STACK_CURRENT =

This callback is triggered periodically with the period that is set by BrickMaster#set_stack_current_callback_period. The parameter is the current of the sensor.

The CALLBACK_STACK_CURRENT callback is only triggered if the current has changed since the last triggering.

.. versionadded

2.0.5$nbsp;(Firmware)

59
CALLBACK_STACK_VOLTAGE =

This callback is triggered periodically with the period that is set by BrickMaster#set_stack_voltage_callback_period. The parameter is the voltage of the sensor.

The CALLBACK_STACK_VOLTAGE callback is only triggered if the voltage has changed since the last triggering.

.. versionadded

2.0.5$nbsp;(Firmware)

60
CALLBACK_USB_VOLTAGE =

This callback is triggered periodically with the period that is set by BrickMaster#set_usb_voltage_callback_period. The parameter is the USB voltage.

The CALLBACK_USB_VOLTAGE callback is only triggered if the USB voltage has changed since the last triggering.

Does not work with hardware version 2.1 or newer.

.. versionadded

2.0.5$nbsp;(Firmware)

61
CALLBACK_STACK_CURRENT_REACHED =

This callback is triggered when the threshold as set by BrickMaster#set_stack_current_callback_threshold is reached. The parameter is the stack current.

If the threshold keeps being reached, the callback is triggered periodically with the period as set by BrickMaster#set_debounce_period.

.. versionadded

2.0.5$nbsp;(Firmware)

62
CALLBACK_STACK_VOLTAGE_REACHED =

This callback is triggered when the threshold as set by BrickMaster#set_stack_voltage_callback_threshold is reached. The parameter is the stack voltage.

If the threshold keeps being reached, the callback is triggered periodically with the period as set by BrickMaster#set_debounce_period.

.. versionadded

2.0.5$nbsp;(Firmware)

63
CALLBACK_USB_VOLTAGE_REACHED =

This callback is triggered when the threshold as set by BrickMaster#set_usb_voltage_callback_threshold is reached. The parameter is the voltage of the sensor.

If the threshold keeps being reached, the callback is triggered periodically with the period as set by BrickMaster#set_debounce_period.

.. versionadded

2.0.5$nbsp;(Firmware)

64
FUNCTION_GET_STACK_VOLTAGE =

:nodoc:

1
FUNCTION_GET_STACK_CURRENT =

:nodoc:

2
FUNCTION_SET_EXTENSION_TYPE =

:nodoc:

3
FUNCTION_GET_EXTENSION_TYPE =

:nodoc:

4
FUNCTION_IS_CHIBI_PRESENT =

:nodoc:

5
FUNCTION_SET_CHIBI_ADDRESS =

:nodoc:

6
FUNCTION_GET_CHIBI_ADDRESS =

:nodoc:

7
FUNCTION_SET_CHIBI_MASTER_ADDRESS =

:nodoc:

8
FUNCTION_GET_CHIBI_MASTER_ADDRESS =

:nodoc:

9
FUNCTION_SET_CHIBI_SLAVE_ADDRESS =

:nodoc:

10
FUNCTION_GET_CHIBI_SLAVE_ADDRESS =

:nodoc:

11
FUNCTION_GET_CHIBI_SIGNAL_STRENGTH =

:nodoc:

12
FUNCTION_GET_CHIBI_ERROR_LOG =

:nodoc:

13
FUNCTION_SET_CHIBI_FREQUENCY =

:nodoc:

14
FUNCTION_GET_CHIBI_FREQUENCY =

:nodoc:

15
FUNCTION_SET_CHIBI_CHANNEL =

:nodoc:

16
FUNCTION_GET_CHIBI_CHANNEL =

:nodoc:

17
FUNCTION_IS_RS485_PRESENT =

:nodoc:

18
FUNCTION_SET_RS485_ADDRESS =

:nodoc:

19
FUNCTION_GET_RS485_ADDRESS =

:nodoc:

20
FUNCTION_SET_RS485_SLAVE_ADDRESS =

:nodoc:

21
FUNCTION_GET_RS485_SLAVE_ADDRESS =

:nodoc:

22
FUNCTION_GET_RS485_ERROR_LOG =

:nodoc:

23
FUNCTION_SET_RS485_CONFIGURATION =

:nodoc:

24
FUNCTION_GET_RS485_CONFIGURATION =

:nodoc:

25
FUNCTION_IS_WIFI_PRESENT =

:nodoc:

26
FUNCTION_SET_WIFI_CONFIGURATION =

:nodoc:

27
FUNCTION_GET_WIFI_CONFIGURATION =

:nodoc:

28
FUNCTION_SET_WIFI_ENCRYPTION =

:nodoc:

29
FUNCTION_GET_WIFI_ENCRYPTION =

:nodoc:

30
FUNCTION_GET_WIFI_STATUS =

:nodoc:

31
FUNCTION_REFRESH_WIFI_STATUS =

:nodoc:

32
FUNCTION_SET_WIFI_CERTIFICATE =

:nodoc:

33
FUNCTION_GET_WIFI_CERTIFICATE =

:nodoc:

34
FUNCTION_SET_WIFI_POWER_MODE =

:nodoc:

35
FUNCTION_GET_WIFI_POWER_MODE =

:nodoc:

36
FUNCTION_GET_WIFI_BUFFER_INFO =

:nodoc:

37
FUNCTION_SET_WIFI_REGULATORY_DOMAIN =

:nodoc:

38
FUNCTION_GET_WIFI_REGULATORY_DOMAIN =

:nodoc:

39
FUNCTION_GET_USB_VOLTAGE =

:nodoc:

40
FUNCTION_SET_LONG_WIFI_KEY =

:nodoc:

41
FUNCTION_GET_LONG_WIFI_KEY =

:nodoc:

42
FUNCTION_SET_WIFI_HOSTNAME =

:nodoc:

43
FUNCTION_GET_WIFI_HOSTNAME =

:nodoc:

44
FUNCTION_SET_STACK_CURRENT_CALLBACK_PERIOD =

:nodoc:

45
FUNCTION_GET_STACK_CURRENT_CALLBACK_PERIOD =

:nodoc:

46
FUNCTION_SET_STACK_VOLTAGE_CALLBACK_PERIOD =

:nodoc:

47
FUNCTION_GET_STACK_VOLTAGE_CALLBACK_PERIOD =

:nodoc:

48
FUNCTION_SET_USB_VOLTAGE_CALLBACK_PERIOD =

:nodoc:

49
FUNCTION_GET_USB_VOLTAGE_CALLBACK_PERIOD =

:nodoc:

50
FUNCTION_SET_STACK_CURRENT_CALLBACK_THRESHOLD =

:nodoc:

51
FUNCTION_GET_STACK_CURRENT_CALLBACK_THRESHOLD =

:nodoc:

52
FUNCTION_SET_STACK_VOLTAGE_CALLBACK_THRESHOLD =

:nodoc:

53
FUNCTION_GET_STACK_VOLTAGE_CALLBACK_THRESHOLD =

:nodoc:

54
FUNCTION_SET_USB_VOLTAGE_CALLBACK_THRESHOLD =

:nodoc:

55
FUNCTION_GET_USB_VOLTAGE_CALLBACK_THRESHOLD =

:nodoc:

56
FUNCTION_SET_DEBOUNCE_PERIOD =

:nodoc:

57
FUNCTION_GET_DEBOUNCE_PERIOD =

:nodoc:

58
FUNCTION_IS_ETHERNET_PRESENT =

:nodoc:

65
FUNCTION_SET_ETHERNET_CONFIGURATION =

:nodoc:

66
FUNCTION_GET_ETHERNET_CONFIGURATION =

:nodoc:

67
FUNCTION_GET_ETHERNET_STATUS =

:nodoc:

68
FUNCTION_SET_ETHERNET_HOSTNAME =

:nodoc:

69
FUNCTION_SET_ETHERNET_MAC_ADDRESS =

:nodoc:

70
FUNCTION_SET_ETHERNET_WEBSOCKET_CONFIGURATION =

:nodoc:

71
FUNCTION_GET_ETHERNET_WEBSOCKET_CONFIGURATION =

:nodoc:

72
FUNCTION_SET_ETHERNET_AUTHENTICATION_SECRET =

:nodoc:

73
FUNCTION_GET_ETHERNET_AUTHENTICATION_SECRET =

:nodoc:

74
FUNCTION_SET_WIFI_AUTHENTICATION_SECRET =

:nodoc:

75
FUNCTION_GET_WIFI_AUTHENTICATION_SECRET =

:nodoc:

76
FUNCTION_GET_CONNECTION_TYPE =

:nodoc:

77
FUNCTION_IS_WIFI2_PRESENT =

:nodoc:

78
FUNCTION_START_WIFI2_BOOTLOADER =

:nodoc:

79
FUNCTION_WRITE_WIFI2_SERIAL_PORT =

:nodoc:

80
FUNCTION_READ_WIFI2_SERIAL_PORT =

:nodoc:

81
FUNCTION_SET_WIFI2_AUTHENTICATION_SECRET =

:nodoc:

82
FUNCTION_GET_WIFI2_AUTHENTICATION_SECRET =

:nodoc:

83
FUNCTION_SET_WIFI2_CONFIGURATION =

:nodoc:

84
FUNCTION_GET_WIFI2_CONFIGURATION =

:nodoc:

85
FUNCTION_GET_WIFI2_STATUS =

:nodoc:

86
FUNCTION_SET_WIFI2_CLIENT_CONFIGURATION =

:nodoc:

87
FUNCTION_GET_WIFI2_CLIENT_CONFIGURATION =

:nodoc:

88
FUNCTION_SET_WIFI2_CLIENT_HOSTNAME =

:nodoc:

89
FUNCTION_GET_WIFI2_CLIENT_HOSTNAME =

:nodoc:

90
FUNCTION_SET_WIFI2_CLIENT_PASSWORD =

:nodoc:

91
FUNCTION_GET_WIFI2_CLIENT_PASSWORD =

:nodoc:

92
FUNCTION_SET_WIFI2_AP_CONFIGURATION =

:nodoc:

93
FUNCTION_GET_WIFI2_AP_CONFIGURATION =

:nodoc:

94
FUNCTION_SET_WIFI2_AP_PASSWORD =

:nodoc:

95
FUNCTION_GET_WIFI2_AP_PASSWORD =

:nodoc:

96
FUNCTION_SAVE_WIFI2_CONFIGURATION =

:nodoc:

97
FUNCTION_GET_WIFI2_FIRMWARE_VERSION =

:nodoc:

98
FUNCTION_ENABLE_WIFI2_STATUS_LED =

:nodoc:

99
FUNCTION_DISABLE_WIFI2_STATUS_LED =

:nodoc:

100
FUNCTION_IS_WIFI2_STATUS_LED_ENABLED =

:nodoc:

101
FUNCTION_SET_WIFI2_MESH_CONFIGURATION =

:nodoc:

102
FUNCTION_GET_WIFI2_MESH_CONFIGURATION =

:nodoc:

103
FUNCTION_SET_WIFI2_MESH_ROUTER_SSID =

:nodoc:

104
FUNCTION_GET_WIFI2_MESH_ROUTER_SSID =

:nodoc:

105
FUNCTION_SET_WIFI2_MESH_ROUTER_PASSWORD =

:nodoc:

106
FUNCTION_GET_WIFI2_MESH_ROUTER_PASSWORD =

:nodoc:

107
FUNCTION_GET_WIFI2_MESH_COMMON_STATUS =

:nodoc:

108
FUNCTION_GET_WIFI2_MESH_CLIENT_STATUS =

:nodoc:

109
FUNCTION_GET_WIFI2_MESH_AP_STATUS =

:nodoc:

110
FUNCTION_SET_BRICKLET_XMC_FLASH_CONFIG =

:nodoc:

111
FUNCTION_SET_BRICKLET_XMC_FLASH_DATA =

:nodoc:

112
FUNCTION_SET_BRICKLETS_ENABLED =

:nodoc:

113
FUNCTION_GET_BRICKLETS_ENABLED =

:nodoc:

114
FUNCTION_SET_SPITFP_BAUDRATE_CONFIG =

:nodoc:

231
FUNCTION_GET_SPITFP_BAUDRATE_CONFIG =

:nodoc:

232
FUNCTION_GET_SEND_TIMEOUT_COUNT =

:nodoc:

233
FUNCTION_SET_SPITFP_BAUDRATE =

:nodoc:

234
FUNCTION_GET_SPITFP_BAUDRATE =

:nodoc:

235
FUNCTION_GET_SPITFP_ERROR_COUNT =

:nodoc:

237
FUNCTION_ENABLE_STATUS_LED =

:nodoc:

238
FUNCTION_DISABLE_STATUS_LED =

:nodoc:

239
FUNCTION_IS_STATUS_LED_ENABLED =

:nodoc:

240
FUNCTION_GET_PROTOCOL1_BRICKLET_NAME =

:nodoc:

241
FUNCTION_GET_CHIP_TEMPERATURE =

:nodoc:

242
FUNCTION_RESET =

:nodoc:

243
FUNCTION_WRITE_BRICKLET_PLUGIN =

:nodoc:

246
FUNCTION_READ_BRICKLET_PLUGIN =

:nodoc:

247
FUNCTION_GET_IDENTITY =

:nodoc:

255
EXTENSION_TYPE_CHIBI =

:nodoc:

1
EXTENSION_TYPE_RS485 =

:nodoc:

2
EXTENSION_TYPE_WIFI =

:nodoc:

3
EXTENSION_TYPE_ETHERNET =

:nodoc:

4
EXTENSION_TYPE_WIFI2 =

:nodoc:

5
CHIBI_FREQUENCY_OQPSK_868_MHZ =

:nodoc:

0
CHIBI_FREQUENCY_OQPSK_915_MHZ =

:nodoc:

1
CHIBI_FREQUENCY_OQPSK_780_MHZ =

:nodoc:

2
CHIBI_FREQUENCY_BPSK40_915_MHZ =

:nodoc:

3
RS485_PARITY_NONE =

:nodoc:

'n'
RS485_PARITY_EVEN =

:nodoc:

'e'
RS485_PARITY_ODD =

:nodoc:

'o'
WIFI_CONNECTION_DHCP =

:nodoc:

0
WIFI_CONNECTION_STATIC_IP =

:nodoc:

1
WIFI_CONNECTION_ACCESS_POINT_DHCP =

:nodoc:

2
WIFI_CONNECTION_ACCESS_POINT_STATIC_IP =

:nodoc:

3
WIFI_CONNECTION_AD_HOC_DHCP =

:nodoc:

4
WIFI_CONNECTION_AD_HOC_STATIC_IP =

:nodoc:

5
WIFI_ENCRYPTION_WPA_WPA2 =

:nodoc:

0
WIFI_ENCRYPTION_WPA_ENTERPRISE =

:nodoc:

1
WIFI_ENCRYPTION_WEP =

:nodoc:

2
WIFI_ENCRYPTION_NO_ENCRYPTION =

:nodoc:

3
WIFI_EAP_OPTION_OUTER_AUTH_EAP_FAST =

:nodoc:

0
WIFI_EAP_OPTION_OUTER_AUTH_EAP_TLS =

:nodoc:

1
WIFI_EAP_OPTION_OUTER_AUTH_EAP_TTLS =

:nodoc:

2
WIFI_EAP_OPTION_OUTER_AUTH_EAP_PEAP =

:nodoc:

3
WIFI_EAP_OPTION_INNER_AUTH_EAP_MSCHAP =

:nodoc:

0
WIFI_EAP_OPTION_INNER_AUTH_EAP_GTC =

:nodoc:

4
WIFI_EAP_OPTION_CERT_TYPE_CA_CERT =

:nodoc:

0
WIFI_EAP_OPTION_CERT_TYPE_CLIENT_CERT =

:nodoc:

8
WIFI_EAP_OPTION_CERT_TYPE_PRIVATE_KEY =

:nodoc:

16
WIFI_STATE_DISASSOCIATED =

:nodoc:

0
WIFI_STATE_ASSOCIATED =

:nodoc:

1
WIFI_STATE_ASSOCIATING =

:nodoc:

2
WIFI_STATE_ERROR =

:nodoc:

3
WIFI_STATE_NOT_INITIALIZED_YET =

:nodoc:

255
WIFI_POWER_MODE_FULL_SPEED =

:nodoc:

0
WIFI_POWER_MODE_LOW_POWER =

:nodoc:

1
WIFI_DOMAIN_CHANNEL_1TO11 =

:nodoc:

0
WIFI_DOMAIN_CHANNEL_1TO13 =

:nodoc:

1
WIFI_DOMAIN_CHANNEL_1TO14 =

:nodoc:

2
THRESHOLD_OPTION_OFF =

:nodoc:

'x'
THRESHOLD_OPTION_OUTSIDE =

:nodoc:

'o'
THRESHOLD_OPTION_INSIDE =

:nodoc:

'i'
THRESHOLD_OPTION_SMALLER =

:nodoc:

'<'
THRESHOLD_OPTION_GREATER =

:nodoc:

'>'
ETHERNET_CONNECTION_DHCP =

:nodoc:

0
ETHERNET_CONNECTION_STATIC_IP =

:nodoc:

1
CONNECTION_TYPE_NONE =

:nodoc:

0
CONNECTION_TYPE_USB =

:nodoc:

1
CONNECTION_TYPE_SPI_STACK =

:nodoc:

2
CONNECTION_TYPE_CHIBI =

:nodoc:

3
CONNECTION_TYPE_RS485 =

:nodoc:

4
CONNECTION_TYPE_WIFI =

:nodoc:

5
CONNECTION_TYPE_ETHERNET =

:nodoc:

6
CONNECTION_TYPE_WIFI2 =

:nodoc:

7
WIFI2_PHY_MODE_B =

:nodoc:

0
WIFI2_PHY_MODE_G =

:nodoc:

1
WIFI2_PHY_MODE_N =

:nodoc:

2
WIFI2_CLIENT_STATUS_IDLE =

:nodoc:

0
WIFI2_CLIENT_STATUS_CONNECTING =

:nodoc:

1
WIFI2_CLIENT_STATUS_WRONG_PASSWORD =

:nodoc:

2
WIFI2_CLIENT_STATUS_NO_AP_FOUND =

:nodoc:

3
WIFI2_CLIENT_STATUS_CONNECT_FAILED =

:nodoc:

4
WIFI2_CLIENT_STATUS_GOT_IP =

:nodoc:

5
WIFI2_CLIENT_STATUS_UNKNOWN =

:nodoc:

255
WIFI2_AP_ENCRYPTION_OPEN =

:nodoc:

0
WIFI2_AP_ENCRYPTION_WEP =

:nodoc:

1
WIFI2_AP_ENCRYPTION_WPA_PSK =

:nodoc:

2
WIFI2_AP_ENCRYPTION_WPA2_PSK =

:nodoc:

3
WIFI2_AP_ENCRYPTION_WPA_WPA2_PSK =

:nodoc:

4
WIFI2_MESH_STATUS_DISABLED =

:nodoc:

0
WIFI2_MESH_STATUS_WIFI_CONNECTING =

:nodoc:

1
WIFI2_MESH_STATUS_GOT_IP =

:nodoc:

2
WIFI2_MESH_STATUS_MESH_LOCAL =

:nodoc:

3
WIFI2_MESH_STATUS_MESH_ONLINE =

:nodoc:

4
WIFI2_MESH_STATUS_AP_AVAILABLE =

:nodoc:

5
WIFI2_MESH_STATUS_AP_SETUP =

:nodoc:

6
WIFI2_MESH_STATUS_LEAF_AVAILABLE =

:nodoc:

7
COMMUNICATION_METHOD_NONE =

:nodoc:

0
COMMUNICATION_METHOD_USB =

:nodoc:

1
COMMUNICATION_METHOD_SPI_STACK =

:nodoc:

2
COMMUNICATION_METHOD_CHIBI =

:nodoc:

3
COMMUNICATION_METHOD_RS485 =

:nodoc:

4
COMMUNICATION_METHOD_WIFI =

:nodoc:

5
COMMUNICATION_METHOD_ETHERNET =

:nodoc:

6
COMMUNICATION_METHOD_WIFI_V2 =

:nodoc:

7

Constants inherited from Device

Device::DEVICE_IDENTIFIER_CHECK_MATCH, Device::DEVICE_IDENTIFIER_CHECK_MISMATCH, Device::DEVICE_IDENTIFIER_CHECK_PENDING, Device::RESPONSE_EXPECTED_ALWAYS_TRUE, Device::RESPONSE_EXPECTED_FALSE, Device::RESPONSE_EXPECTED_INVALID_FUNCTION_ID, Device::RESPONSE_EXPECTED_TRUE

Instance Attribute Summary

Attributes inherited from Device

#callback_formats, #expected_response_function_id, #expected_response_sequence_number, #high_level_callbacks, #registered_callbacks, #replaced, #uid

Instance Method Summary collapse

Methods inherited from Device

#check_validity, #dequeue_response, #enqueue_response, #get_api_version, #get_response_expected, #send_request, #set_response_expected, #set_response_expected_all

Constructor Details

#initialize(uid, ipcon) ⇒ BrickMaster

Creates an object with the unique device ID uid and adds it to the IP Connection ipcon.



296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
# File 'lib/tinkerforge/brick_master.rb', line 296

def initialize(uid, ipcon)
  super uid, ipcon, DEVICE_IDENTIFIER, DEVICE_DISPLAY_NAME

  @api_version = [2, 0, 10]

  @response_expected[FUNCTION_GET_STACK_VOLTAGE] = RESPONSE_EXPECTED_ALWAYS_TRUE
  @response_expected[FUNCTION_GET_STACK_CURRENT] = RESPONSE_EXPECTED_ALWAYS_TRUE
  @response_expected[FUNCTION_SET_EXTENSION_TYPE] = RESPONSE_EXPECTED_FALSE
  @response_expected[FUNCTION_GET_EXTENSION_TYPE] = RESPONSE_EXPECTED_ALWAYS_TRUE
  @response_expected[FUNCTION_IS_CHIBI_PRESENT] = RESPONSE_EXPECTED_ALWAYS_TRUE
  @response_expected[FUNCTION_SET_CHIBI_ADDRESS] = RESPONSE_EXPECTED_FALSE
  @response_expected[FUNCTION_GET_CHIBI_ADDRESS] = RESPONSE_EXPECTED_ALWAYS_TRUE
  @response_expected[FUNCTION_SET_CHIBI_MASTER_ADDRESS] = RESPONSE_EXPECTED_FALSE
  @response_expected[FUNCTION_GET_CHIBI_MASTER_ADDRESS] = RESPONSE_EXPECTED_ALWAYS_TRUE
  @response_expected[FUNCTION_SET_CHIBI_SLAVE_ADDRESS] = RESPONSE_EXPECTED_FALSE
  @response_expected[FUNCTION_GET_CHIBI_SLAVE_ADDRESS] = RESPONSE_EXPECTED_ALWAYS_TRUE
  @response_expected[FUNCTION_GET_CHIBI_SIGNAL_STRENGTH] = RESPONSE_EXPECTED_ALWAYS_TRUE
  @response_expected[FUNCTION_GET_CHIBI_ERROR_LOG] = RESPONSE_EXPECTED_ALWAYS_TRUE
  @response_expected[FUNCTION_SET_CHIBI_FREQUENCY] = RESPONSE_EXPECTED_FALSE
  @response_expected[FUNCTION_GET_CHIBI_FREQUENCY] = RESPONSE_EXPECTED_ALWAYS_TRUE
  @response_expected[FUNCTION_SET_CHIBI_CHANNEL] = RESPONSE_EXPECTED_FALSE
  @response_expected[FUNCTION_GET_CHIBI_CHANNEL] = RESPONSE_EXPECTED_ALWAYS_TRUE
  @response_expected[FUNCTION_IS_RS485_PRESENT] = RESPONSE_EXPECTED_ALWAYS_TRUE
  @response_expected[FUNCTION_SET_RS485_ADDRESS] = RESPONSE_EXPECTED_FALSE
  @response_expected[FUNCTION_GET_RS485_ADDRESS] = RESPONSE_EXPECTED_ALWAYS_TRUE
  @response_expected[FUNCTION_SET_RS485_SLAVE_ADDRESS] = RESPONSE_EXPECTED_FALSE
  @response_expected[FUNCTION_GET_RS485_SLAVE_ADDRESS] = RESPONSE_EXPECTED_ALWAYS_TRUE
  @response_expected[FUNCTION_GET_RS485_ERROR_LOG] = RESPONSE_EXPECTED_ALWAYS_TRUE
  @response_expected[FUNCTION_SET_RS485_CONFIGURATION] = RESPONSE_EXPECTED_FALSE
  @response_expected[FUNCTION_GET_RS485_CONFIGURATION] = RESPONSE_EXPECTED_ALWAYS_TRUE
  @response_expected[FUNCTION_IS_WIFI_PRESENT] = RESPONSE_EXPECTED_ALWAYS_TRUE
  @response_expected[FUNCTION_SET_WIFI_CONFIGURATION] = RESPONSE_EXPECTED_FALSE
  @response_expected[FUNCTION_GET_WIFI_CONFIGURATION] = RESPONSE_EXPECTED_ALWAYS_TRUE
  @response_expected[FUNCTION_SET_WIFI_ENCRYPTION] = RESPONSE_EXPECTED_FALSE
  @response_expected[FUNCTION_GET_WIFI_ENCRYPTION] = RESPONSE_EXPECTED_ALWAYS_TRUE
  @response_expected[FUNCTION_GET_WIFI_STATUS] = RESPONSE_EXPECTED_ALWAYS_TRUE
  @response_expected[FUNCTION_REFRESH_WIFI_STATUS] = RESPONSE_EXPECTED_FALSE
  @response_expected[FUNCTION_SET_WIFI_CERTIFICATE] = RESPONSE_EXPECTED_FALSE
  @response_expected[FUNCTION_GET_WIFI_CERTIFICATE] = RESPONSE_EXPECTED_ALWAYS_TRUE
  @response_expected[FUNCTION_SET_WIFI_POWER_MODE] = RESPONSE_EXPECTED_FALSE
  @response_expected[FUNCTION_GET_WIFI_POWER_MODE] = RESPONSE_EXPECTED_ALWAYS_TRUE
  @response_expected[FUNCTION_GET_WIFI_BUFFER_INFO] = RESPONSE_EXPECTED_ALWAYS_TRUE
  @response_expected[FUNCTION_SET_WIFI_REGULATORY_DOMAIN] = RESPONSE_EXPECTED_FALSE
  @response_expected[FUNCTION_GET_WIFI_REGULATORY_DOMAIN] = RESPONSE_EXPECTED_ALWAYS_TRUE
  @response_expected[FUNCTION_GET_USB_VOLTAGE] = RESPONSE_EXPECTED_ALWAYS_TRUE
  @response_expected[FUNCTION_SET_LONG_WIFI_KEY] = RESPONSE_EXPECTED_FALSE
  @response_expected[FUNCTION_GET_LONG_WIFI_KEY] = RESPONSE_EXPECTED_ALWAYS_TRUE
  @response_expected[FUNCTION_SET_WIFI_HOSTNAME] = RESPONSE_EXPECTED_FALSE
  @response_expected[FUNCTION_GET_WIFI_HOSTNAME] = RESPONSE_EXPECTED_ALWAYS_TRUE
  @response_expected[FUNCTION_SET_STACK_CURRENT_CALLBACK_PERIOD] = RESPONSE_EXPECTED_TRUE
  @response_expected[FUNCTION_GET_STACK_CURRENT_CALLBACK_PERIOD] = RESPONSE_EXPECTED_ALWAYS_TRUE
  @response_expected[FUNCTION_SET_STACK_VOLTAGE_CALLBACK_PERIOD] = RESPONSE_EXPECTED_TRUE
  @response_expected[FUNCTION_GET_STACK_VOLTAGE_CALLBACK_PERIOD] = RESPONSE_EXPECTED_ALWAYS_TRUE
  @response_expected[FUNCTION_SET_USB_VOLTAGE_CALLBACK_PERIOD] = RESPONSE_EXPECTED_TRUE
  @response_expected[FUNCTION_GET_USB_VOLTAGE_CALLBACK_PERIOD] = RESPONSE_EXPECTED_ALWAYS_TRUE
  @response_expected[FUNCTION_SET_STACK_CURRENT_CALLBACK_THRESHOLD] = RESPONSE_EXPECTED_TRUE
  @response_expected[FUNCTION_GET_STACK_CURRENT_CALLBACK_THRESHOLD] = RESPONSE_EXPECTED_ALWAYS_TRUE
  @response_expected[FUNCTION_SET_STACK_VOLTAGE_CALLBACK_THRESHOLD] = RESPONSE_EXPECTED_TRUE
  @response_expected[FUNCTION_GET_STACK_VOLTAGE_CALLBACK_THRESHOLD] = RESPONSE_EXPECTED_ALWAYS_TRUE
  @response_expected[FUNCTION_SET_USB_VOLTAGE_CALLBACK_THRESHOLD] = RESPONSE_EXPECTED_TRUE
  @response_expected[FUNCTION_GET_USB_VOLTAGE_CALLBACK_THRESHOLD] = RESPONSE_EXPECTED_ALWAYS_TRUE
  @response_expected[FUNCTION_SET_DEBOUNCE_PERIOD] = RESPONSE_EXPECTED_TRUE
  @response_expected[FUNCTION_GET_DEBOUNCE_PERIOD] = RESPONSE_EXPECTED_ALWAYS_TRUE
  @response_expected[FUNCTION_IS_ETHERNET_PRESENT] = RESPONSE_EXPECTED_ALWAYS_TRUE
  @response_expected[FUNCTION_SET_ETHERNET_CONFIGURATION] = RESPONSE_EXPECTED_FALSE
  @response_expected[FUNCTION_GET_ETHERNET_CONFIGURATION] = RESPONSE_EXPECTED_ALWAYS_TRUE
  @response_expected[FUNCTION_GET_ETHERNET_STATUS] = RESPONSE_EXPECTED_ALWAYS_TRUE
  @response_expected[FUNCTION_SET_ETHERNET_HOSTNAME] = RESPONSE_EXPECTED_FALSE
  @response_expected[FUNCTION_SET_ETHERNET_MAC_ADDRESS] = RESPONSE_EXPECTED_FALSE
  @response_expected[FUNCTION_SET_ETHERNET_WEBSOCKET_CONFIGURATION] = RESPONSE_EXPECTED_FALSE
  @response_expected[FUNCTION_GET_ETHERNET_WEBSOCKET_CONFIGURATION] = RESPONSE_EXPECTED_ALWAYS_TRUE
  @response_expected[FUNCTION_SET_ETHERNET_AUTHENTICATION_SECRET] = RESPONSE_EXPECTED_FALSE
  @response_expected[FUNCTION_GET_ETHERNET_AUTHENTICATION_SECRET] = RESPONSE_EXPECTED_ALWAYS_TRUE
  @response_expected[FUNCTION_SET_WIFI_AUTHENTICATION_SECRET] = RESPONSE_EXPECTED_FALSE
  @response_expected[FUNCTION_GET_WIFI_AUTHENTICATION_SECRET] = RESPONSE_EXPECTED_ALWAYS_TRUE
  @response_expected[FUNCTION_GET_CONNECTION_TYPE] = RESPONSE_EXPECTED_ALWAYS_TRUE
  @response_expected[FUNCTION_IS_WIFI2_PRESENT] = RESPONSE_EXPECTED_ALWAYS_TRUE
  @response_expected[FUNCTION_START_WIFI2_BOOTLOADER] = RESPONSE_EXPECTED_ALWAYS_TRUE
  @response_expected[FUNCTION_WRITE_WIFI2_SERIAL_PORT] = RESPONSE_EXPECTED_ALWAYS_TRUE
  @response_expected[FUNCTION_READ_WIFI2_SERIAL_PORT] = RESPONSE_EXPECTED_ALWAYS_TRUE
  @response_expected[FUNCTION_SET_WIFI2_AUTHENTICATION_SECRET] = RESPONSE_EXPECTED_FALSE
  @response_expected[FUNCTION_GET_WIFI2_AUTHENTICATION_SECRET] = RESPONSE_EXPECTED_ALWAYS_TRUE
  @response_expected[FUNCTION_SET_WIFI2_CONFIGURATION] = RESPONSE_EXPECTED_FALSE
  @response_expected[FUNCTION_GET_WIFI2_CONFIGURATION] = RESPONSE_EXPECTED_ALWAYS_TRUE
  @response_expected[FUNCTION_GET_WIFI2_STATUS] = RESPONSE_EXPECTED_ALWAYS_TRUE
  @response_expected[FUNCTION_SET_WIFI2_CLIENT_CONFIGURATION] = RESPONSE_EXPECTED_FALSE
  @response_expected[FUNCTION_GET_WIFI2_CLIENT_CONFIGURATION] = RESPONSE_EXPECTED_ALWAYS_TRUE
  @response_expected[FUNCTION_SET_WIFI2_CLIENT_HOSTNAME] = RESPONSE_EXPECTED_FALSE
  @response_expected[FUNCTION_GET_WIFI2_CLIENT_HOSTNAME] = RESPONSE_EXPECTED_ALWAYS_TRUE
  @response_expected[FUNCTION_SET_WIFI2_CLIENT_PASSWORD] = RESPONSE_EXPECTED_FALSE
  @response_expected[FUNCTION_GET_WIFI2_CLIENT_PASSWORD] = RESPONSE_EXPECTED_ALWAYS_TRUE
  @response_expected[FUNCTION_SET_WIFI2_AP_CONFIGURATION] = RESPONSE_EXPECTED_FALSE
  @response_expected[FUNCTION_GET_WIFI2_AP_CONFIGURATION] = RESPONSE_EXPECTED_ALWAYS_TRUE
  @response_expected[FUNCTION_SET_WIFI2_AP_PASSWORD] = RESPONSE_EXPECTED_FALSE
  @response_expected[FUNCTION_GET_WIFI2_AP_PASSWORD] = RESPONSE_EXPECTED_ALWAYS_TRUE
  @response_expected[FUNCTION_SAVE_WIFI2_CONFIGURATION] = RESPONSE_EXPECTED_ALWAYS_TRUE
  @response_expected[FUNCTION_GET_WIFI2_FIRMWARE_VERSION] = RESPONSE_EXPECTED_ALWAYS_TRUE
  @response_expected[FUNCTION_ENABLE_WIFI2_STATUS_LED] = RESPONSE_EXPECTED_FALSE
  @response_expected[FUNCTION_DISABLE_WIFI2_STATUS_LED] = RESPONSE_EXPECTED_FALSE
  @response_expected[FUNCTION_IS_WIFI2_STATUS_LED_ENABLED] = RESPONSE_EXPECTED_ALWAYS_TRUE
  @response_expected[FUNCTION_SET_WIFI2_MESH_CONFIGURATION] = RESPONSE_EXPECTED_FALSE
  @response_expected[FUNCTION_GET_WIFI2_MESH_CONFIGURATION] = RESPONSE_EXPECTED_ALWAYS_TRUE
  @response_expected[FUNCTION_SET_WIFI2_MESH_ROUTER_SSID] = RESPONSE_EXPECTED_FALSE
  @response_expected[FUNCTION_GET_WIFI2_MESH_ROUTER_SSID] = RESPONSE_EXPECTED_ALWAYS_TRUE
  @response_expected[FUNCTION_SET_WIFI2_MESH_ROUTER_PASSWORD] = RESPONSE_EXPECTED_FALSE
  @response_expected[FUNCTION_GET_WIFI2_MESH_ROUTER_PASSWORD] = RESPONSE_EXPECTED_ALWAYS_TRUE
  @response_expected[FUNCTION_GET_WIFI2_MESH_COMMON_STATUS] = RESPONSE_EXPECTED_ALWAYS_TRUE
  @response_expected[FUNCTION_GET_WIFI2_MESH_CLIENT_STATUS] = RESPONSE_EXPECTED_ALWAYS_TRUE
  @response_expected[FUNCTION_GET_WIFI2_MESH_AP_STATUS] = RESPONSE_EXPECTED_ALWAYS_TRUE
  @response_expected[FUNCTION_SET_BRICKLET_XMC_FLASH_CONFIG] = RESPONSE_EXPECTED_ALWAYS_TRUE
  @response_expected[FUNCTION_SET_BRICKLET_XMC_FLASH_DATA] = RESPONSE_EXPECTED_ALWAYS_TRUE
  @response_expected[FUNCTION_SET_BRICKLETS_ENABLED] = RESPONSE_EXPECTED_FALSE
  @response_expected[FUNCTION_GET_BRICKLETS_ENABLED] = RESPONSE_EXPECTED_ALWAYS_TRUE
  @response_expected[FUNCTION_SET_SPITFP_BAUDRATE_CONFIG] = RESPONSE_EXPECTED_FALSE
  @response_expected[FUNCTION_GET_SPITFP_BAUDRATE_CONFIG] = RESPONSE_EXPECTED_ALWAYS_TRUE
  @response_expected[FUNCTION_GET_SEND_TIMEOUT_COUNT] = RESPONSE_EXPECTED_ALWAYS_TRUE
  @response_expected[FUNCTION_SET_SPITFP_BAUDRATE] = RESPONSE_EXPECTED_FALSE
  @response_expected[FUNCTION_GET_SPITFP_BAUDRATE] = RESPONSE_EXPECTED_ALWAYS_TRUE
  @response_expected[FUNCTION_GET_SPITFP_ERROR_COUNT] = RESPONSE_EXPECTED_ALWAYS_TRUE
  @response_expected[FUNCTION_ENABLE_STATUS_LED] = RESPONSE_EXPECTED_FALSE
  @response_expected[FUNCTION_DISABLE_STATUS_LED] = RESPONSE_EXPECTED_FALSE
  @response_expected[FUNCTION_IS_STATUS_LED_ENABLED] = RESPONSE_EXPECTED_ALWAYS_TRUE
  @response_expected[FUNCTION_GET_PROTOCOL1_BRICKLET_NAME] = RESPONSE_EXPECTED_ALWAYS_TRUE
  @response_expected[FUNCTION_GET_CHIP_TEMPERATURE] = RESPONSE_EXPECTED_ALWAYS_TRUE
  @response_expected[FUNCTION_RESET] = RESPONSE_EXPECTED_FALSE
  @response_expected[FUNCTION_WRITE_BRICKLET_PLUGIN] = RESPONSE_EXPECTED_FALSE
  @response_expected[FUNCTION_READ_BRICKLET_PLUGIN] = RESPONSE_EXPECTED_ALWAYS_TRUE
  @response_expected[FUNCTION_GET_IDENTITY] = RESPONSE_EXPECTED_ALWAYS_TRUE

  @callback_formats[CALLBACK_STACK_CURRENT] = [10, 'S']
  @callback_formats[CALLBACK_STACK_VOLTAGE] = [10, 'S']
  @callback_formats[CALLBACK_USB_VOLTAGE] = [10, 'S']
  @callback_formats[CALLBACK_STACK_CURRENT_REACHED] = [10, 'S']
  @callback_formats[CALLBACK_STACK_VOLTAGE_REACHED] = [10, 'S']
  @callback_formats[CALLBACK_USB_VOLTAGE_REACHED] = [10, 'S']

  @ipcon.add_device self
end

Instance Method Details

#disable_status_ledObject

Disables the status LED.

The status LED is the blue LED next to the USB connector. If enabled is is on and it flickers if data is transfered. If disabled it is always off.

The default state is enabled.

.. versionadded

2.3.2$nbsp;(Firmware)



2063
2064
2065
2066
2067
# File 'lib/tinkerforge/brick_master.rb', line 2063

def disable_status_led
  check_validity

  send_request FUNCTION_DISABLE_STATUS_LED, [], '', 8, ''
end

#disable_wifi2_status_ledObject

Turns the green status LED of the WIFI Extension 2.0 off.

.. versionadded

2.4.0$nbsp;(Firmware)



1726
1727
1728
1729
1730
# File 'lib/tinkerforge/brick_master.rb', line 1726

def disable_wifi2_status_led
  check_validity

  send_request FUNCTION_DISABLE_WIFI2_STATUS_LED, [], '', 8, ''
end

#enable_status_ledObject

Enables the status LED.

The status LED is the blue LED next to the USB connector. If enabled is is on and it flickers if data is transfered. If disabled it is always off.

The default state is enabled.

.. versionadded

2.3.2$nbsp;(Firmware)



2049
2050
2051
2052
2053
# File 'lib/tinkerforge/brick_master.rb', line 2049

def enable_status_led
  check_validity

  send_request FUNCTION_ENABLE_STATUS_LED, [], '', 8, ''
end

#enable_wifi2_status_ledObject

Turns the green status LED of the WIFI Extension 2.0 on.

.. versionadded

2.4.0$nbsp;(Firmware)



1717
1718
1719
1720
1721
# File 'lib/tinkerforge/brick_master.rb', line 1717

def enable_wifi2_status_led
  check_validity

  send_request FUNCTION_ENABLE_WIFI2_STATUS_LED, [], '', 8, ''
end

#get_bricklets_enabledObject

Returns true if the Bricklets are enabled, false otherwise.

.. versionadded

2.5.0$nbsp;(Firmware)



1937
1938
1939
1940
1941
# File 'lib/tinkerforge/brick_master.rb', line 1937

def get_bricklets_enabled
  check_validity

  send_request FUNCTION_GET_BRICKLETS_ENABLED, [], '', 9, '?'
end

#get_chibi_addressObject

Returns the address as set by BrickMaster#set_chibi_address.



508
509
510
511
512
# File 'lib/tinkerforge/brick_master.rb', line 508

def get_chibi_address
  check_validity

  send_request FUNCTION_GET_CHIBI_ADDRESS, [], '', 9, 'C'
end

#get_chibi_channelObject

Returns the channel as set by BrickMaster#set_chibi_channel.



625
626
627
628
629
# File 'lib/tinkerforge/brick_master.rb', line 625

def get_chibi_channel
  check_validity

  send_request FUNCTION_GET_CHIBI_CHANNEL, [], '', 9, 'C'
end

#get_chibi_error_logObject

Returns underrun, CRC error, no ACK and overflow error counts of the Chibi communication. If these errors start rising, it is likely that either the distance between two Chibi stacks is becoming too big or there are interferences.



574
575
576
577
578
# File 'lib/tinkerforge/brick_master.rb', line 574

def get_chibi_error_log
  check_validity

  send_request FUNCTION_GET_CHIBI_ERROR_LOG, [], '', 16, 'S S S S'
end

#get_chibi_frequencyObject

Returns the frequency value as set by BrickMaster#set_chibi_frequency.



599
600
601
602
603
# File 'lib/tinkerforge/brick_master.rb', line 599

def get_chibi_frequency
  check_validity

  send_request FUNCTION_GET_CHIBI_FREQUENCY, [], '', 9, 'C'
end

#get_chibi_master_addressObject

Returns the address as set by BrickMaster#set_chibi_master_address.



527
528
529
530
531
# File 'lib/tinkerforge/brick_master.rb', line 527

def get_chibi_master_address
  check_validity

  send_request FUNCTION_GET_CHIBI_MASTER_ADDRESS, [], '', 9, 'C'
end

#get_chibi_signal_strengthObject

Returns the signal strength in dBm. The signal strength updates every time a packet is received.



564
565
566
567
568
# File 'lib/tinkerforge/brick_master.rb', line 564

def get_chibi_signal_strength
  check_validity

  send_request FUNCTION_GET_CHIBI_SIGNAL_STRENGTH, [], '', 9, 'C'
end

#get_chibi_slave_address(num) ⇒ Object

Returns the slave address for a given num as set by BrickMaster#set_chibi_slave_address.



556
557
558
559
560
# File 'lib/tinkerforge/brick_master.rb', line 556

def get_chibi_slave_address(num)
  check_validity

  send_request FUNCTION_GET_CHIBI_SLAVE_ADDRESS, [num], 'C', 9, 'C'
end

#get_chip_temperatureObject

Returns the temperature as measured inside the microcontroller. The value returned is not the ambient temperature!

The temperature is only proportional to the real temperature and it has an accuracy of ±15%. Practically it is only useful as an indicator for temperature changes.



2095
2096
2097
2098
2099
# File 'lib/tinkerforge/brick_master.rb', line 2095

def get_chip_temperature
  check_validity

  send_request FUNCTION_GET_CHIP_TEMPERATURE, [], '', 10, 's'
end

#get_connection_typeObject

Returns the type of the connection over which this function was called.

.. versionadded

2.4.0$nbsp;(Firmware)



1364
1365
1366
1367
1368
# File 'lib/tinkerforge/brick_master.rb', line 1364

def get_connection_type
  check_validity

  send_request FUNCTION_GET_CONNECTION_TYPE, [], '', 9, 'C'
end

#get_debounce_periodObject

Returns the debounce period as set by BrickMaster#set_debounce_period.

.. versionadded

2.0.5$nbsp;(Firmware)



1175
1176
1177
1178
1179
# File 'lib/tinkerforge/brick_master.rb', line 1175

def get_debounce_period
  check_validity

  send_request FUNCTION_GET_DEBOUNCE_PERIOD, [], '', 12, 'L'
end

#get_ethernet_authentication_secretObject

Returns the authentication secret as set by BrickMaster#set_ethernet_authentication_secret.

.. versionadded

2.2.0$nbsp;(Firmware)



1325
1326
1327
1328
1329
# File 'lib/tinkerforge/brick_master.rb', line 1325

def get_ethernet_authentication_secret
  check_validity

  send_request FUNCTION_GET_ETHERNET_AUTHENTICATION_SECRET, [], '', 72, 'Z64'
end

#get_ethernet_configurationObject

Returns the configuration as set by BrickMaster#set_ethernet_configuration.

.. versionadded

2.1.0$nbsp;(Firmware)



1222
1223
1224
1225
1226
# File 'lib/tinkerforge/brick_master.rb', line 1222

def get_ethernet_configuration
  check_validity

  send_request FUNCTION_GET_ETHERNET_CONFIGURATION, [], '', 23, 'C C4 C4 C4 S'
end

#get_ethernet_statusObject

Returns the status of the Ethernet Extension.

“mac_address“, “ip“, “subnet_mask“ and “gateway“ are given as an array. The first element of the array is the least significant byte of the address.

“rx_count“ and “tx_count“ are the number of bytes that have been received/send since last restart.

“hostname“ is the currently used hostname.

.. versionadded

2.1.0$nbsp;(Firmware)



1239
1240
1241
1242
1243
# File 'lib/tinkerforge/brick_master.rb', line 1239

def get_ethernet_status
  check_validity

  send_request FUNCTION_GET_ETHERNET_STATUS, [], '', 66, 'C6 C4 C4 C4 L L Z32'
end

#get_ethernet_websocket_configurationObject

Returns the configuration as set by BrickMaster#set_ethernet_configuration.

.. versionadded

2.2.0$nbsp;(Firmware)



1295
1296
1297
1298
1299
# File 'lib/tinkerforge/brick_master.rb', line 1295

def get_ethernet_websocket_configuration
  check_validity

  send_request FUNCTION_GET_ETHERNET_WEBSOCKET_CONFIGURATION, [], '', 11, 'C S'
end

#get_extension_type(extension) ⇒ Object

Returns the type for a given extension as set by BrickMaster#set_extension_type.



482
483
484
485
486
# File 'lib/tinkerforge/brick_master.rb', line 482

def get_extension_type(extension)
  check_validity

  send_request FUNCTION_GET_EXTENSION_TYPE, [extension], 'C', 12, 'L'
end

#get_identityObject

Returns the UID, the UID where the Brick is connected to, the position, the hardware and firmware version as well as the device identifier.

The position is the position in the stack from ‘0’ (bottom) to ‘8’ (top).

The device identifier numbers can be found :ref:‘here <device_identifier>`. |device_identifier_constant|



2143
2144
2145
# File 'lib/tinkerforge/brick_master.rb', line 2143

def get_identity
  send_request FUNCTION_GET_IDENTITY, [], '', 33, 'Z8 Z8 k C3 C3 S'
end

#get_long_wifi_keyObject

Returns the encryption key as set by BrickMaster#set_long_wifi_key.

.. note

Since Master Brick firmware version 2.4.4 the key is not returned anymore.

.. versionadded

2.0.2$nbsp;(Firmware)



972
973
974
975
976
# File 'lib/tinkerforge/brick_master.rb', line 972

def get_long_wifi_key
  check_validity

  send_request FUNCTION_GET_LONG_WIFI_KEY, [], '', 72, 'Z64'
end

#get_protocol1_bricklet_name(port) ⇒ Object

Returns the firmware and protocol version and the name of the Bricklet for a given port.

This functions sole purpose is to allow automatic flashing of v1.x.y Bricklet plugins.



2083
2084
2085
2086
2087
# File 'lib/tinkerforge/brick_master.rb', line 2083

def get_protocol1_bricklet_name(port)
  check_validity

  send_request FUNCTION_GET_PROTOCOL1_BRICKLET_NAME, [port], 'k', 52, 'C C3 Z40'
end

#get_rs485_addressObject

Returns the address as set by BrickMaster#set_rs485_address.



654
655
656
657
658
# File 'lib/tinkerforge/brick_master.rb', line 654

def get_rs485_address
  check_validity

  send_request FUNCTION_GET_RS485_ADDRESS, [], '', 9, 'C'
end

#get_rs485_configurationObject

Returns the configuration as set by BrickMaster#set_rs485_configuration.



717
718
719
720
721
# File 'lib/tinkerforge/brick_master.rb', line 717

def get_rs485_configuration
  check_validity

  send_request FUNCTION_GET_RS485_CONFIGURATION, [], '', 14, 'L k C'
end

#get_rs485_error_logObject

Returns CRC error counts of the RS485 communication. If this counter starts rising, it is likely that the distance between the RS485 nodes is too big or there is some kind of interference.



693
694
695
696
697
# File 'lib/tinkerforge/brick_master.rb', line 693

def get_rs485_error_log
  check_validity

  send_request FUNCTION_GET_RS485_ERROR_LOG, [], '', 10, 'S'
end

#get_rs485_slave_address(num) ⇒ Object

Returns the slave address for a given “num“ as set by BrickMaster#set_rs485_slave_address.



683
684
685
686
687
# File 'lib/tinkerforge/brick_master.rb', line 683

def get_rs485_slave_address(num)
  check_validity

  send_request FUNCTION_GET_RS485_SLAVE_ADDRESS, [num], 'C', 9, 'C'
end

#get_send_timeout_count(communication_method) ⇒ Object

Returns the timeout count for the different communication methods.

The methods 0-2 are available for all Bricks, 3-7 only for Master Bricks.

This function is mostly used for debugging during development, in normal operation the counters should nearly always stay at 0.

.. versionadded

2.4.3$nbsp;(Firmware)



1986
1987
1988
1989
1990
# File 'lib/tinkerforge/brick_master.rb', line 1986

def get_send_timeout_count(communication_method)
  check_validity

  send_request FUNCTION_GET_SEND_TIMEOUT_COUNT, [communication_method], 'C', 12, 'L'
end

#get_spitfp_baudrate(bricklet_port) ⇒ Object

Returns the baudrate for a given Bricklet port, see BrickMaster#set_spitfp_baudrate.

.. versionadded

2.4.3$nbsp;(Firmware)



2016
2017
2018
2019
2020
# File 'lib/tinkerforge/brick_master.rb', line 2016

def get_spitfp_baudrate(bricklet_port)
  check_validity

  send_request FUNCTION_GET_SPITFP_BAUDRATE, [bricklet_port], 'k', 12, 'L'
end

#get_spitfp_baudrate_configObject

Returns the baudrate config, see BrickMaster#set_spitfp_baudrate_config.

.. versionadded

2.4.6$nbsp;(Firmware)



1972
1973
1974
1975
1976
# File 'lib/tinkerforge/brick_master.rb', line 1972

def get_spitfp_baudrate_config
  check_validity

  send_request FUNCTION_GET_SPITFP_BAUDRATE_CONFIG, [], '', 13, '? L'
end

#get_spitfp_error_count(bricklet_port) ⇒ Object

Returns the error count for the communication between Brick and Bricklet.

The errors are divided into

  • ACK checksum errors,

  • message checksum errors,

  • framing errors and

  • overflow errors.

The errors counts are for errors that occur on the Brick side. All Bricklets have a similar function that returns the errors on the Bricklet side.

.. versionadded

2.4.3$nbsp;(Firmware)



2035
2036
2037
2038
2039
# File 'lib/tinkerforge/brick_master.rb', line 2035

def get_spitfp_error_count(bricklet_port)
  check_validity

  send_request FUNCTION_GET_SPITFP_ERROR_COUNT, [bricklet_port], 'k', 24, 'L L L L'
end

#get_stack_currentObject

Returns the stack current. The stack current is the current that is drawn via the stack, i.e. it is given by a Step-Down or Step-Up Power Supply.

.. note

It is not possible to measure the current drawn via PoE or USB with this function.



453
454
455
456
457
# File 'lib/tinkerforge/brick_master.rb', line 453

def get_stack_current
  check_validity

  send_request FUNCTION_GET_STACK_CURRENT, [], '', 10, 'S'
end

#get_stack_current_callback_periodObject

Returns the period as set by BrickMaster#set_stack_current_callback_period.

.. versionadded

2.0.5$nbsp;(Firmware)



1017
1018
1019
1020
1021
# File 'lib/tinkerforge/brick_master.rb', line 1017

def get_stack_current_callback_period
  check_validity

  send_request FUNCTION_GET_STACK_CURRENT_CALLBACK_PERIOD, [], '', 12, 'L'
end

#get_stack_current_callback_thresholdObject

Returns the threshold as set by BrickMaster#set_stack_current_callback_threshold.

.. versionadded

2.0.5$nbsp;(Firmware)



1089
1090
1091
1092
1093
# File 'lib/tinkerforge/brick_master.rb', line 1089

def get_stack_current_callback_threshold
  check_validity

  send_request FUNCTION_GET_STACK_CURRENT_CALLBACK_THRESHOLD, [], '', 13, 'k S S'
end

#get_stack_voltageObject

Returns the stack voltage. The stack voltage is the voltage that is supplied via the stack, i.e. it is given by a Step-Down or Step-Up Power Supply.

.. note

It is not possible to measure voltages supplied per PoE or USB with this function.



441
442
443
444
445
# File 'lib/tinkerforge/brick_master.rb', line 441

def get_stack_voltage
  check_validity

  send_request FUNCTION_GET_STACK_VOLTAGE, [], '', 10, 'S'
end

#get_stack_voltage_callback_periodObject

Returns the period as set by BrickMaster#set_stack_voltage_callback_period.

.. versionadded

2.0.5$nbsp;(Firmware)



1039
1040
1041
1042
1043
# File 'lib/tinkerforge/brick_master.rb', line 1039

def get_stack_voltage_callback_period
  check_validity

  send_request FUNCTION_GET_STACK_VOLTAGE_CALLBACK_PERIOD, [], '', 12, 'L'
end

#get_stack_voltage_callback_thresholdObject

Returns the threshold as set by BrickMaster#set_stack_voltage_callback_threshold.

.. versionadded

2.0.5$nbsp;(Firmware)



1117
1118
1119
1120
1121
# File 'lib/tinkerforge/brick_master.rb', line 1117

def get_stack_voltage_callback_threshold
  check_validity

  send_request FUNCTION_GET_STACK_VOLTAGE_CALLBACK_THRESHOLD, [], '', 13, 'k S S'
end

#get_usb_voltageObject

Returns the USB voltage. Does not work with hardware version 2.1 or newer.



945
946
947
948
949
# File 'lib/tinkerforge/brick_master.rb', line 945

def get_usb_voltage
  check_validity

  send_request FUNCTION_GET_USB_VOLTAGE, [], '', 10, 'S'
end

#get_usb_voltage_callback_periodObject

Returns the period as set by BrickMaster#set_usb_voltage_callback_period.

.. versionadded

2.0.5$nbsp;(Firmware)



1061
1062
1063
1064
1065
# File 'lib/tinkerforge/brick_master.rb', line 1061

def get_usb_voltage_callback_period
  check_validity

  send_request FUNCTION_GET_USB_VOLTAGE_CALLBACK_PERIOD, [], '', 12, 'L'
end

#get_usb_voltage_callback_thresholdObject

Returns the threshold as set by BrickMaster#set_usb_voltage_callback_threshold.

.. versionadded

2.0.5$nbsp;(Firmware)



1145
1146
1147
1148
1149
# File 'lib/tinkerforge/brick_master.rb', line 1145

def get_usb_voltage_callback_threshold
  check_validity

  send_request FUNCTION_GET_USB_VOLTAGE_CALLBACK_THRESHOLD, [], '', 13, 'k S S'
end

#get_wifi2_ap_configurationObject

Returns the access point configuration as set by BrickMaster#set_wifi2_ap_configuration.

.. versionadded

2.4.0$nbsp;(Firmware)



1656
1657
1658
1659
1660
# File 'lib/tinkerforge/brick_master.rb', line 1656

def get_wifi2_ap_configuration
  check_validity

  send_request FUNCTION_GET_WIFI2_AP_CONFIGURATION, [], '', 62, '? Z32 C4 C4 C4 C ? C C6'
end

#get_wifi2_ap_passwordObject

Returns the access point password as set by BrickMaster#set_wifi2_ap_password.

.. note

Since WIFI Extension 2.0 firmware version 2.1.3 the password is not returned anymore.

.. versionadded

2.4.0$nbsp;(Firmware)



1685
1686
1687
1688
1689
# File 'lib/tinkerforge/brick_master.rb', line 1685

def get_wifi2_ap_password
  check_validity

  send_request FUNCTION_GET_WIFI2_AP_PASSWORD, [], '', 72, 'Z64'
end

#get_wifi2_authentication_secretObject

Returns the WIFI authentication secret as set by BrickMaster#set_wifi2_authentication_secret.

.. versionadded

2.4.0$nbsp;(Firmware)



1456
1457
1458
1459
1460
# File 'lib/tinkerforge/brick_master.rb', line 1456

def get_wifi2_authentication_secret
  check_validity

  send_request FUNCTION_GET_WIFI2_AUTHENTICATION_SECRET, [], '', 72, 'Z64'
end

#get_wifi2_client_configurationObject

Returns the client configuration as set by BrickMaster#set_wifi2_client_configuration.

.. versionadded

2.4.0$nbsp;(Firmware)



1555
1556
1557
1558
1559
# File 'lib/tinkerforge/brick_master.rb', line 1555

def get_wifi2_client_configuration
  check_validity

  send_request FUNCTION_GET_WIFI2_CLIENT_CONFIGURATION, [], '', 65, '? Z32 C4 C4 C4 C6 C6'
end

#get_wifi2_client_hostnameObject

Returns the client hostname as set by BrickMaster#set_wifi2_client_hostname.

.. versionadded

2.4.0$nbsp;(Firmware)



1581
1582
1583
1584
1585
# File 'lib/tinkerforge/brick_master.rb', line 1581

def get_wifi2_client_hostname
  check_validity

  send_request FUNCTION_GET_WIFI2_CLIENT_HOSTNAME, [], '', 40, 'Z32'
end

#get_wifi2_client_passwordObject

Returns the client password as set by BrickMaster#set_wifi2_client_password.

.. note

Since WIFI Extension 2.0 firmware version 2.1.3 the password is not returned anymore.

.. versionadded

2.4.0$nbsp;(Firmware)



1609
1610
1611
1612
1613
# File 'lib/tinkerforge/brick_master.rb', line 1609

def get_wifi2_client_password
  check_validity

  send_request FUNCTION_GET_WIFI2_CLIENT_PASSWORD, [], '', 72, 'Z64'
end

#get_wifi2_configurationObject

Returns the general configuration as set by BrickMaster#set_wifi2_configuration.

.. versionadded

2.4.0$nbsp;(Firmware)



1502
1503
1504
1505
1506
# File 'lib/tinkerforge/brick_master.rb', line 1502

def get_wifi2_configuration
  check_validity

  send_request FUNCTION_GET_WIFI2_CONFIGURATION, [], '', 17, 'S S S C C C'
end

#get_wifi2_firmware_versionObject

Returns the current version of the WIFI Extension 2.0 firmware.

.. versionadded

2.4.0$nbsp;(Firmware)



1708
1709
1710
1711
1712
# File 'lib/tinkerforge/brick_master.rb', line 1708

def get_wifi2_firmware_version
  check_validity

  send_request FUNCTION_GET_WIFI2_FIRMWARE_VERSION, [], '', 11, 'C3'
end

#get_wifi2_mesh_ap_statusObject

Requires WIFI Extension 2.0 firmware 2.1.0.

Returns the mesh AP status of the WIFI Extension 2.0.

.. versionadded

2.4.2$nbsp;(Firmware)



1880
1881
1882
1883
1884
# File 'lib/tinkerforge/brick_master.rb', line 1880

def get_wifi2_mesh_ap_status
  check_validity

  send_request FUNCTION_GET_WIFI2_MESH_AP_STATUS, [], '', 58, 'Z32 C4 C4 C4 C6'
end

#get_wifi2_mesh_client_statusObject

Requires WIFI Extension 2.0 firmware 2.1.0.

Returns the mesh client status of the WIFI Extension 2.0.

.. versionadded

2.4.2$nbsp;(Firmware)



1869
1870
1871
1872
1873
# File 'lib/tinkerforge/brick_master.rb', line 1869

def get_wifi2_mesh_client_status
  check_validity

  send_request FUNCTION_GET_WIFI2_MESH_CLIENT_STATUS, [], '', 58, 'Z32 C4 C4 C4 C6'
end

#get_wifi2_mesh_common_statusObject

Requires WIFI Extension 2.0 firmware 2.1.0.

Returns the common mesh status of the WIFI Extension 2.0.

.. versionadded

2.4.2$nbsp;(Firmware)



1858
1859
1860
1861
1862
# File 'lib/tinkerforge/brick_master.rb', line 1858

def get_wifi2_mesh_common_status
  check_validity

  send_request FUNCTION_GET_WIFI2_MESH_COMMON_STATUS, [], '', 21, 'C ? ? S L L'
end

#get_wifi2_mesh_configurationObject

Requires WIFI Extension 2.0 firmware 2.1.0.

Returns the mesh configuration as set by BrickMaster#set_wifi2_mesh_configuration.

.. versionadded

2.4.2$nbsp;(Firmware)



1785
1786
1787
1788
1789
# File 'lib/tinkerforge/brick_master.rb', line 1785

def get_wifi2_mesh_configuration
  check_validity

  send_request FUNCTION_GET_WIFI2_MESH_CONFIGURATION, [], '', 55, '? C4 C4 C4 C6 C6 Z16 C4 S'
end

#get_wifi2_mesh_router_passwordObject

Requires WIFI Extension 2.0 firmware 2.1.0.

Returns the mesh router password as set by BrickMaster#set_wifi2_mesh_router_password.

.. versionadded

2.4.2$nbsp;(Firmware)



1847
1848
1849
1850
1851
# File 'lib/tinkerforge/brick_master.rb', line 1847

def get_wifi2_mesh_router_password
  check_validity

  send_request FUNCTION_GET_WIFI2_MESH_ROUTER_PASSWORD, [], '', 72, 'Z64'
end

#get_wifi2_mesh_router_ssidObject

Requires WIFI Extension 2.0 firmware 2.1.0.

Returns the mesh router SSID as set by BrickMaster#set_wifi2_mesh_router_ssid.

.. versionadded

2.4.2$nbsp;(Firmware)



1818
1819
1820
1821
1822
# File 'lib/tinkerforge/brick_master.rb', line 1818

def get_wifi2_mesh_router_ssid
  check_validity

  send_request FUNCTION_GET_WIFI2_MESH_ROUTER_SSID, [], '', 40, 'Z32'
end

#get_wifi2_statusObject

Returns the client and access point status of the WIFI Extension 2.0.

.. versionadded

2.4.0$nbsp;(Firmware)



1511
1512
1513
1514
1515
# File 'lib/tinkerforge/brick_master.rb', line 1511

def get_wifi2_status
  check_validity

  send_request FUNCTION_GET_WIFI2_STATUS, [], '', 65, '? C C4 C4 C4 C6 L L c ? C4 C4 C4 C6 L L C'
end

#get_wifi_authentication_secretObject

Returns the authentication secret as set by BrickMaster#set_wifi_authentication_secret.

.. versionadded

2.2.0$nbsp;(Firmware)



1355
1356
1357
1358
1359
# File 'lib/tinkerforge/brick_master.rb', line 1355

def get_wifi_authentication_secret
  check_validity

  send_request FUNCTION_GET_WIFI_AUTHENTICATION_SECRET, [], '', 72, 'Z64'
end

#get_wifi_buffer_infoObject

Returns informations about the Wi-Fi receive buffer. The Wi-Fi receive buffer has a max size of 1500 byte and if data is transfered too fast, it might overflow.

The return values are the number of overflows, the low watermark (i.e. the smallest number of bytes that were free in the buffer) and the bytes that are currently used.

You should always try to keep the buffer empty, otherwise you will have a permanent latency. A good rule of thumb is, that you can transfer 1000 messages per second without problems.

Try to not send more then 50 messages at a time without any kind of break between them.



918
919
920
921
922
# File 'lib/tinkerforge/brick_master.rb', line 918

def get_wifi_buffer_info
  check_validity

  send_request FUNCTION_GET_WIFI_BUFFER_INFO, [], '', 16, 'L S S'
end

#get_wifi_certificate(index) ⇒ Object

Returns the certificate for a given index as set by BrickMaster#set_wifi_certificate.



879
880
881
882
883
# File 'lib/tinkerforge/brick_master.rb', line 879

def get_wifi_certificate(index)
  check_validity

  send_request FUNCTION_GET_WIFI_CERTIFICATE, [index], 'S', 41, 'C32 C'
end

#get_wifi_configurationObject

Returns the configuration as set by BrickMaster#set_wifi_configuration.



762
763
764
765
766
# File 'lib/tinkerforge/brick_master.rb', line 762

def get_wifi_configuration
  check_validity

  send_request FUNCTION_GET_WIFI_CONFIGURATION, [], '', 55, 'Z32 C C4 C4 C4 S'
end

#get_wifi_encryptionObject

Returns the encryption as set by BrickMaster#set_wifi_encryption.

.. note

Since Master Brick Firmware version 2.4.4 the key is not returned anymore.



817
818
819
820
821
# File 'lib/tinkerforge/brick_master.rb', line 817

def get_wifi_encryption
  check_validity

  send_request FUNCTION_GET_WIFI_ENCRYPTION, [], '', 67, 'C Z50 C C S S S'
end

#get_wifi_hostnameObject

Returns the hostname as set by BrickMaster#set_wifi_hostname.

An empty String means, that the default hostname is used.

.. versionadded

2.0.5$nbsp;(Firmware)



995
996
997
998
999
# File 'lib/tinkerforge/brick_master.rb', line 995

def get_wifi_hostname
  check_validity

  send_request FUNCTION_GET_WIFI_HOSTNAME, [], '', 24, 'Z16'
end

#get_wifi_power_modeObject

Returns the power mode as set by BrickMaster#set_wifi_power_mode.



898
899
900
901
902
# File 'lib/tinkerforge/brick_master.rb', line 898

def get_wifi_power_mode
  check_validity

  send_request FUNCTION_GET_WIFI_POWER_MODE, [], '', 9, 'C'
end

#get_wifi_regulatory_domainObject

Returns the regulatory domain as set by BrickMaster#set_wifi_regulatory_domain.



938
939
940
941
942
# File 'lib/tinkerforge/brick_master.rb', line 938

def get_wifi_regulatory_domain
  check_validity

  send_request FUNCTION_GET_WIFI_REGULATORY_DOMAIN, [], '', 9, 'C'
end

#get_wifi_statusObject

Returns the status of the WIFI Extension. The “state“ is updated automatically, all of the other parameters are updated on startup and every time BrickMaster#refresh_wifi_status is called.

Possible states are:

"State", "Description"

"0", "Disassociated"
"1", "Associated"
"2", "Associating"
"3", "Error"
"255", "Not initialized yet"


836
837
838
839
840
# File 'lib/tinkerforge/brick_master.rb', line 836

def get_wifi_status
  check_validity

  send_request FUNCTION_GET_WIFI_STATUS, [], '', 44, 'C6 C6 C s C4 C4 C4 L L C'
end

#is_chibi_presentObject

Returns true if the Master Brick is at position 0 in the stack and a Chibi Extension is available.



490
491
492
493
494
# File 'lib/tinkerforge/brick_master.rb', line 490

def is_chibi_present
  check_validity

  send_request FUNCTION_IS_CHIBI_PRESENT, [], '', 9, '?'
end

#is_ethernet_presentObject

Returns true if the Master Brick is at position 0 in the stack and an Ethernet Extension is available.

.. versionadded

2.1.0$nbsp;(Firmware)



1185
1186
1187
1188
1189
# File 'lib/tinkerforge/brick_master.rb', line 1185

def is_ethernet_present
  check_validity

  send_request FUNCTION_IS_ETHERNET_PRESENT, [], '', 9, '?'
end

#is_rs485_presentObject

Returns true if the Master Brick is at position 0 in the stack and a RS485 Extension is available.



633
634
635
636
637
# File 'lib/tinkerforge/brick_master.rb', line 633

def is_rs485_present
  check_validity

  send_request FUNCTION_IS_RS485_PRESENT, [], '', 9, '?'
end

#is_status_led_enabledObject

Returns true if the status LED is enabled, false otherwise.

.. versionadded

2.3.2$nbsp;(Firmware)



2072
2073
2074
2075
2076
# File 'lib/tinkerforge/brick_master.rb', line 2072

def is_status_led_enabled
  check_validity

  send_request FUNCTION_IS_STATUS_LED_ENABLED, [], '', 9, '?'
end

#is_wifi2_presentObject

Returns true if the Master Brick is at position 0 in the stack and a WIFI Extension 2.0 is available.

.. versionadded

2.4.0$nbsp;(Firmware)



1374
1375
1376
1377
1378
# File 'lib/tinkerforge/brick_master.rb', line 1374

def is_wifi2_present
  check_validity

  send_request FUNCTION_IS_WIFI2_PRESENT, [], '', 9, '?'
end

#is_wifi2_status_led_enabledObject

Returns true if the green status LED of the WIFI Extension 2.0 is turned on.

.. versionadded

2.4.0$nbsp;(Firmware)



1735
1736
1737
1738
1739
# File 'lib/tinkerforge/brick_master.rb', line 1735

def is_wifi2_status_led_enabled
  check_validity

  send_request FUNCTION_IS_WIFI2_STATUS_LED_ENABLED, [], '', 9, '?'
end

#is_wifi_presentObject

Returns true if the Master Brick is at position 0 in the stack and a WIFI Extension is available.



725
726
727
728
729
# File 'lib/tinkerforge/brick_master.rb', line 725

def is_wifi_present
  check_validity

  send_request FUNCTION_IS_WIFI_PRESENT, [], '', 9, '?'
end

#read_bricklet_plugin(port, offset) ⇒ Object

Reads 32 bytes of firmware from the bricklet attached at the given port. The bytes are read starting at the position offset * 32.

This function is used by Brick Viewer during flashing. It should not be necessary to call it in a normal user program.



2129
2130
2131
2132
2133
# File 'lib/tinkerforge/brick_master.rb', line 2129

def read_bricklet_plugin(port, offset)
  check_validity

  send_request FUNCTION_READ_BRICKLET_PLUGIN, [port, offset], 'k C', 40, 'C32'
end

#read_wifi2_serial_port(length) ⇒ Object

Reads up to 60 bytes (number of bytes to be read specified by “length“) from the serial port of the bootloader of the WIFI Extension 2.0. Returns the number of actually read bytes.

Before this function can be used the bootloader has to be started using the BrickMaster#start_wifi2_bootloader function.

It is recommended to use the Brick Viewer to update the firmware of the WIFI Extension 2.0.

.. versionadded

2.4.0$nbsp;(Firmware)



1426
1427
1428
1429
1430
# File 'lib/tinkerforge/brick_master.rb', line 1426

def read_wifi2_serial_port(length)
  check_validity

  send_request FUNCTION_READ_WIFI2_SERIAL_PORT, [length], 'C', 69, 'C60 C'
end

#refresh_wifi_statusObject

Refreshes the Wi-Fi status (see BrickMaster#get_wifi_status). To read the status of the Wi-Fi module, the Master Brick has to change from data mode to command mode and back. This transaction and the readout itself is unfortunately time consuming. This means, that it might take some ms until the stack with attached WIFI Extension reacts again after this function is called.



848
849
850
851
852
# File 'lib/tinkerforge/brick_master.rb', line 848

def refresh_wifi_status
  check_validity

  send_request FUNCTION_REFRESH_WIFI_STATUS, [], '', 8, ''
end

#register_callback(id, &block) ⇒ Object

Registers a callback with ID id to the block block.



2148
2149
2150
2151
# File 'lib/tinkerforge/brick_master.rb', line 2148

def register_callback(id, &block)
  callback = block
  @registered_callbacks[id] = callback
end

#resetObject

Calling this function will reset the Brick. Calling this function on a Brick inside of a stack will reset the whole stack.

After a reset you have to create new device objects, calling functions on the existing ones will result in undefined behavior!



2107
2108
2109
2110
2111
# File 'lib/tinkerforge/brick_master.rb', line 2107

def reset
  check_validity

  send_request FUNCTION_RESET, [], '', 8, ''
end

#save_wifi2_configurationObject

All configuration functions for the WIFI Extension 2.0 do not change the values permanently. After configuration this function has to be called to permanently store the values.

The values are stored in the EEPROM and only applied on startup. That means you have to restart the Master Brick after configuration.

.. versionadded

2.4.0$nbsp;(Firmware)



1699
1700
1701
1702
1703
# File 'lib/tinkerforge/brick_master.rb', line 1699

def save_wifi2_configuration
  check_validity

  send_request FUNCTION_SAVE_WIFI2_CONFIGURATION, [], '', 9, 'C'
end

#set_bricklet_xmc_flash_config(config, parameter1, parameter2, data) ⇒ Object

This function is for internal use to flash the initial bootstrapper and bootloader to the Bricklets.

If you need to flash a boostrapper/bootloader (for exmaple because you made your own Bricklet from scratch) please take a look at our open source flash and test tool at ‘github.com/Tinkerforge/flash-test <github.com/Tinkerforge/flash-test>`__

Don’t use this function directly.

.. versionadded

2.5.0$nbsp;(Firmware)



1897
1898
1899
1900
1901
# File 'lib/tinkerforge/brick_master.rb', line 1897

def set_bricklet_xmc_flash_config(config, parameter1, parameter2, data)
  check_validity

  send_request FUNCTION_SET_BRICKLET_XMC_FLASH_CONFIG, [config, parameter1, parameter2, data], 'L L L C52', 72, 'L C60'
end

#set_bricklet_xmc_flash_data(data) ⇒ Object

This function is for internal use to flash the initial bootstrapper and bootloader to the Bricklets.

If you need to flash a boostrapper/bootloader (for exmaple because you made your own Bricklet from scratch) please take a look at our open source flash and test tool at ‘github.com/Tinkerforge/flash-test <github.com/Tinkerforge/flash-test>`__

Don’t use this function directly.

.. versionadded

2.5.0$nbsp;(Firmware)



1914
1915
1916
1917
1918
# File 'lib/tinkerforge/brick_master.rb', line 1914

def set_bricklet_xmc_flash_data(data)
  check_validity

  send_request FUNCTION_SET_BRICKLET_XMC_FLASH_DATA, [data], 'C64', 12, 'L'
end

#set_bricklets_enabled(bricklets_enabled) ⇒ Object

This function is only available in Master Brick hardware version >= 3.0.

Enables/disables all four Bricklets if set to true/false.

If you disable the Bricklets the power supply to the Bricklets will be disconnected. The Bricklets will lose all configurations if disabled.

.. versionadded

2.5.0$nbsp;(Firmware)



1928
1929
1930
1931
1932
# File 'lib/tinkerforge/brick_master.rb', line 1928

def set_bricklets_enabled(bricklets_enabled)
  check_validity

  send_request FUNCTION_SET_BRICKLETS_ENABLED, [bricklets_enabled], '?', 8, ''
end

#set_chibi_address(address) ⇒ Object

Sets the address belonging to the Chibi Extension.

It is possible to set the address with the Brick Viewer and it will be saved in the EEPROM of the Chibi Extension, it does not have to be set on every startup.



501
502
503
504
505
# File 'lib/tinkerforge/brick_master.rb', line 501

def set_chibi_address(address)
  check_validity

  send_request FUNCTION_SET_CHIBI_ADDRESS, [address], 'C', 8, ''
end

#set_chibi_channel(channel) ⇒ Object

Sets the channel used by the Chibi Extension. Possible channels are different for different frequencies:

"Frequency", "Possible Channels"

"OQPSK 868MHz (Europe)", "0"
"OQPSK 915MHz (US)",     "1, 2, 3, 4, 5, 6, 7, 8, 9, 10"
"OQPSK 780MHz (China)",  "0, 1, 2, 3"
"BPSK40 915MHz",         "1, 2, 3, 4, 5, 6, 7, 8, 9, 10"

It is possible to set the channel with the Brick Viewer and it will be saved in the EEPROM of the Chibi Extension, it does not have to be set on every startup.



618
619
620
621
622
# File 'lib/tinkerforge/brick_master.rb', line 618

def set_chibi_channel(channel)
  check_validity

  send_request FUNCTION_SET_CHIBI_CHANNEL, [channel], 'C', 8, ''
end

#set_chibi_frequency(frequency) ⇒ Object

Sets the Chibi frequency range for the Chibi Extension. Possible values are:

"Type", "Description"

"0",    "OQPSK 868MHz (Europe)"
"1",    "OQPSK 915MHz (US)"
"2",    "OQPSK 780MHz (China)"
"3",    "BPSK40 915MHz"

It is possible to set the frequency with the Brick Viewer and it will be saved in the EEPROM of the Chibi Extension, it does not have to be set on every startup.



592
593
594
595
596
# File 'lib/tinkerforge/brick_master.rb', line 592

def set_chibi_frequency(frequency)
  check_validity

  send_request FUNCTION_SET_CHIBI_FREQUENCY, [frequency], 'C', 8, ''
end

#set_chibi_master_address(address) ⇒ Object

Sets the address of the Chibi Master. This address is used if the Chibi Extension is used as slave (i.e. it does not have a USB connection).

It is possible to set the address with the Brick Viewer and it will be saved in the EEPROM of the Chibi Extension, it does not have to be set on every startup.



520
521
522
523
524
# File 'lib/tinkerforge/brick_master.rb', line 520

def set_chibi_master_address(address)
  check_validity

  send_request FUNCTION_SET_CHIBI_MASTER_ADDRESS, [address], 'C', 8, ''
end

#set_chibi_slave_address(num, address) ⇒ Object

Sets up to 254 slave addresses. 0 has a special meaning, it is used as list terminator and not allowed as normal slave address. The address numeration (via num parameter) has to be used ascending from 0. For example: If you use the Chibi Extension in Master mode (i.e. the stack has an USB connection) and you want to talk to three other Chibi stacks with the slave addresses 17, 23, and 42, you should call with “(0, 17)“, “(1, 23)“, “(2, 42)“ and “(3, 0)“. The last call with “(3, 0)“ is a list terminator and indicates that the Chibi slave address list contains 3 addresses in this case.

It is possible to set the addresses with the Brick Viewer, that will take care of correct address numeration and list termination.

The slave addresses will be saved in the EEPROM of the Chibi Extension, they don’t have to be set on every startup.



548
549
550
551
552
# File 'lib/tinkerforge/brick_master.rb', line 548

def set_chibi_slave_address(num, address)
  check_validity

  send_request FUNCTION_SET_CHIBI_SLAVE_ADDRESS, [num, address], 'C C', 8, ''
end

#set_debounce_period(debounce) ⇒ Object

Sets the period with which the threshold callbacks

  • CALLBACK_STACK_CURRENT_REACHED,

  • CALLBACK_STACK_VOLTAGE_REACHED,

  • CALLBACK_USB_VOLTAGE_REACHED

are triggered, if the thresholds

  • BrickMaster#set_stack_current_callback_threshold,

  • BrickMaster#set_stack_voltage_callback_threshold,

  • BrickMaster#set_usb_voltage_callback_threshold

keep being reached.

.. versionadded

2.0.5$nbsp;(Firmware)



1166
1167
1168
1169
1170
# File 'lib/tinkerforge/brick_master.rb', line 1166

def set_debounce_period(debounce)
  check_validity

  send_request FUNCTION_SET_DEBOUNCE_PERIOD, [debounce], 'L', 8, ''
end

#set_ethernet_authentication_secret(secret) ⇒ Object

Sets the Ethernet authentication secret. The secret can be a string of up to 64 characters. An empty string disables the authentication.

See the :ref:‘authentication tutorial <tutorial_authentication>` for more information.

The secret is stored in the EEPROM and only applied on startup. That means you have to restart the Master Brick after configuration.

It is recommended to use the Brick Viewer to set the Ethernet authentication secret.

The default value is an empty string (authentication disabled).

.. versionadded

2.2.0$nbsp;(Firmware)



1315
1316
1317
1318
1319
# File 'lib/tinkerforge/brick_master.rb', line 1315

def set_ethernet_authentication_secret(secret)
  check_validity

  send_request FUNCTION_SET_ETHERNET_AUTHENTICATION_SECRET, [secret], 'Z64', 8, ''
end

#set_ethernet_configuration(connection, ip, subnet_mask, gateway, port) ⇒ Object

Sets the configuration of the Ethernet Extension. Possible values for “connection“ are:

"Value", "Description"

"0", "DHCP"
"1", "Static IP"

If you set “connection“ to static IP options then you have to supply “ip“, “subnet_mask“ and “gateway“ as an array of size 4 (first element of the array is the least significant byte of the address). If “connection“ is set to the DHCP options then “ip“, “subnet_mask“ and “gateway“ are ignored, you can set them to 0.

The last parameter is the port that your program will connect to.

The values are stored in the EEPROM and only applied on startup. That means you have to restart the Master Brick after configuration.

It is recommended to use the Brick Viewer to set the Ethernet configuration.

.. versionadded

2.1.0$nbsp;(Firmware)



1213
1214
1215
1216
1217
# File 'lib/tinkerforge/brick_master.rb', line 1213

def set_ethernet_configuration(connection, ip, subnet_mask, gateway, port)
  check_validity

  send_request FUNCTION_SET_ETHERNET_CONFIGURATION, [connection, ip, subnet_mask, gateway, port], 'C C4 C4 C4 S', 8, ''
end

#set_ethernet_hostname(hostname) ⇒ Object

Sets the hostname of the Ethernet Extension. The hostname will be displayed by access points as the hostname in the DHCP clients table.

Setting an empty String will restore the default hostname.

The current hostname can be discovered with BrickMaster#get_ethernet_status.

.. versionadded

2.1.0$nbsp;(Firmware)



1253
1254
1255
1256
1257
# File 'lib/tinkerforge/brick_master.rb', line 1253

def set_ethernet_hostname(hostname)
  check_validity

  send_request FUNCTION_SET_ETHERNET_HOSTNAME, [hostname], 'Z32', 8, ''
end

#set_ethernet_mac_address(mac_address) ⇒ Object

Sets the MAC address of the Ethernet Extension. The Ethernet Extension should come configured with a valid MAC address, that is also written on a sticker of the extension itself.

The MAC address can be read out again with BrickMaster#get_ethernet_status.

.. versionadded

2.1.0$nbsp;(Firmware)



1266
1267
1268
1269
1270
# File 'lib/tinkerforge/brick_master.rb', line 1266

def set_ethernet_mac_address(mac_address)
  check_validity

  send_request FUNCTION_SET_ETHERNET_MAC_ADDRESS, [mac_address], 'C6', 8, ''
end

#set_ethernet_websocket_configuration(sockets, port) ⇒ Object

Sets the Ethernet WebSocket configuration. The first parameter sets the number of socket connections that are reserved for WebSockets. The range is 0-7. The connections are shared with the plain sockets. Example: If you set the connections to 3, there will be 3 WebSocket and 4 plain socket connections available.

The second parameter is the port for the WebSocket connections. The port can not be the same as the port for the plain socket connections.

The values are stored in the EEPROM and only applied on startup. That means you have to restart the Master Brick after configuration.

It is recommended to use the Brick Viewer to set the Ethernet configuration.

.. versionadded

2.2.0$nbsp;(Firmware)



1286
1287
1288
1289
1290
# File 'lib/tinkerforge/brick_master.rb', line 1286

def set_ethernet_websocket_configuration(sockets, port)
  check_validity

  send_request FUNCTION_SET_ETHERNET_WEBSOCKET_CONFIGURATION, [sockets, port], 'C S', 8, ''
end

#set_extension_type(extension, exttype) ⇒ Object

Writes the extension type to the EEPROM of a specified extension. The extension is either 0 or 1 (0 is the lower one, 1 is the upper one, if only one extension is present use 0).

Possible extension types:

"Type", "Description"

"1",    "Chibi"
"2",    "RS485"
"3",    "WIFI"
"4",    "Ethernet"
"5",    "WIFI 2.0"

The extension type is already set when bought and it can be set with the Brick Viewer, it is unlikely that you need this function.



475
476
477
478
479
# File 'lib/tinkerforge/brick_master.rb', line 475

def set_extension_type(extension, exttype)
  check_validity

  send_request FUNCTION_SET_EXTENSION_TYPE, [extension, exttype], 'C L', 8, ''
end

#set_long_wifi_key(key) ⇒ Object

Sets a long Wi-Fi key (up to 63 chars, at least 8 chars) for WPA encryption. This key will be used if the key in BrickMaster#set_wifi_encryption is set to “-”. In the old protocol, a payload of size 63 was not possible, so the maximum key length was 50 chars.

With the new protocol this is possible, since we didn’t want to break API, this function was added additionally.

.. versionadded

2.0.2$nbsp;(Firmware)



960
961
962
963
964
# File 'lib/tinkerforge/brick_master.rb', line 960

def set_long_wifi_key(key)
  check_validity

  send_request FUNCTION_SET_LONG_WIFI_KEY, [key], 'Z64', 8, ''
end

#set_rs485_address(address) ⇒ Object

Sets the address (0-255) belonging to the RS485 Extension.

Set to 0 if the RS485 Extension should be the RS485 Master (i.e. connected to a PC via USB).

It is possible to set the address with the Brick Viewer and it will be saved in the EEPROM of the RS485 Extension, it does not have to be set on every startup.



647
648
649
650
651
# File 'lib/tinkerforge/brick_master.rb', line 647

def set_rs485_address(address)
  check_validity

  send_request FUNCTION_SET_RS485_ADDRESS, [address], 'C', 8, ''
end

#set_rs485_configuration(speed, parity, stopbits) ⇒ Object

Sets the configuration of the RS485 Extension. The Master Brick will try to match the given baud rate as exactly as possible. The maximum recommended baud rate is 2000000 (2MBd). Possible values for parity are ‘n’ (none), ‘e’ (even) and ‘o’ (odd).

If your RS485 is unstable (lost messages etc.), the first thing you should try is to decrease the speed. On very large bus (e.g. 1km), you probably should use a value in the range of 100000 (100kBd).

The values are stored in the EEPROM and only applied on startup. That means you have to restart the Master Brick after configuration.



710
711
712
713
714
# File 'lib/tinkerforge/brick_master.rb', line 710

def set_rs485_configuration(speed, parity, stopbits)
  check_validity

  send_request FUNCTION_SET_RS485_CONFIGURATION, [speed, parity, stopbits], 'L k C', 8, ''
end

#set_rs485_slave_address(num, address) ⇒ Object

Sets up to 255 slave addresses. Valid addresses are in range 1-255. 0 has a special meaning, it is used as list terminator and not allowed as normal slave address. The address numeration (via “num“ parameter) has to be used ascending from 0. For example: If you use the RS485 Extension in Master mode (i.e. the stack has an USB connection) and you want to talk to three other RS485 stacks with the addresses 17, 23, and 42, you should call with “(0, 17)“, “(1, 23)“, “(2, 42)“ and “(3, 0)“. The last call with “(3, 0)“ is a list terminator and indicates that the RS485 slave address list contains 3 addresses in this case.

It is possible to set the addresses with the Brick Viewer, that will take care of correct address numeration and list termination.

The slave addresses will be saved in the EEPROM of the Chibi Extension, they don’t have to be set on every startup.



675
676
677
678
679
# File 'lib/tinkerforge/brick_master.rb', line 675

def set_rs485_slave_address(num, address)
  check_validity

  send_request FUNCTION_SET_RS485_SLAVE_ADDRESS, [num, address], 'C C', 8, ''
end

#set_spitfp_baudrate(bricklet_port, baudrate) ⇒ Object

Sets the baudrate for a specific Bricklet port.

If you want to increase the throughput of Bricklets you can increase the baudrate. If you get a high error count because of high interference (see BrickMaster#get_spitfp_error_count) you can decrease the baudrate.

If the dynamic baudrate feature is enabled, the baudrate set by this function corresponds to the maximum baudrate (see BrickMaster#set_spitfp_baudrate_config).

Regulatory testing is done with the default baudrate. If CE compatibility or similar is necessary in your applications we recommend to not change the baudrate.

.. versionadded

2.4.3$nbsp;(Firmware)



2007
2008
2009
2010
2011
# File 'lib/tinkerforge/brick_master.rb', line 2007

def set_spitfp_baudrate(bricklet_port, baudrate)
  check_validity

  send_request FUNCTION_SET_SPITFP_BAUDRATE, [bricklet_port, baudrate], 'k L', 8, ''
end

#set_spitfp_baudrate_config(enable_dynamic_baudrate, minimum_dynamic_baudrate) ⇒ Object

The SPITF protocol can be used with a dynamic baudrate. If the dynamic baudrate is enabled, the Brick will try to adapt the baudrate for the communication between Bricks and Bricklets according to the amount of data that is transferred.

The baudrate will be increased exponentially if lots of data is sent/received and decreased linearly if little data is sent/received.

This lowers the baudrate in applications where little data is transferred (e.g. a weather station) and increases the robustness. If there is lots of data to transfer (e.g. Thermal Imaging Bricklet) it automatically increases the baudrate as needed.

In cases where some data has to transferred as fast as possible every few seconds (e.g. RS485 Bricklet with a high baudrate but small payload) you may want to turn the dynamic baudrate off to get the highest possible performance.

The maximum value of the baudrate can be set per port with the function BrickMaster#set_spitfp_baudrate. If the dynamic baudrate is disabled, the baudrate as set by BrickMaster#set_spitfp_baudrate will be used statically.

.. versionadded

2.4.6$nbsp;(Firmware)



1963
1964
1965
1966
1967
# File 'lib/tinkerforge/brick_master.rb', line 1963

def set_spitfp_baudrate_config(enable_dynamic_baudrate, minimum_dynamic_baudrate)
  check_validity

  send_request FUNCTION_SET_SPITFP_BAUDRATE_CONFIG, [enable_dynamic_baudrate, minimum_dynamic_baudrate], '? L', 8, ''
end

#set_stack_current_callback_period(period) ⇒ Object

Sets the period with which the CALLBACK_STACK_CURRENT callback is triggered periodically. A value of 0 turns the callback off.

The CALLBACK_STACK_CURRENT callback is only triggered if the current has changed since the last triggering.

.. versionadded

2.0.5$nbsp;(Firmware)



1008
1009
1010
1011
1012
# File 'lib/tinkerforge/brick_master.rb', line 1008

def set_stack_current_callback_period(period)
  check_validity

  send_request FUNCTION_SET_STACK_CURRENT_CALLBACK_PERIOD, [period], 'L', 8, ''
end

#set_stack_current_callback_threshold(option, min, max) ⇒ Object

Sets the thresholds for the CALLBACK_STACK_CURRENT_REACHED callback.

The following options are possible:

"Option", "Description"

"'x'",    "Callback is turned off"
"'o'",    "Callback is triggered when the current is *outside* the min and max values"
"'i'",    "Callback is triggered when the current is *inside* the min and max values"
"'<'",    "Callback is triggered when the current is smaller than the min value (max is ignored)"
"'>'",    "Callback is triggered when the current is greater than the min value (max is ignored)"
.. versionadded

2.0.5$nbsp;(Firmware)



1080
1081
1082
1083
1084
# File 'lib/tinkerforge/brick_master.rb', line 1080

def set_stack_current_callback_threshold(option, min, max)
  check_validity

  send_request FUNCTION_SET_STACK_CURRENT_CALLBACK_THRESHOLD, [option, min, max], 'k S S', 8, ''
end

#set_stack_voltage_callback_period(period) ⇒ Object

Sets the period with which the CALLBACK_STACK_VOLTAGE callback is triggered periodically. A value of 0 turns the callback off.

The CALLBACK_STACK_VOLTAGE callback is only triggered if the voltage has changed since the last triggering.

.. versionadded

2.0.5$nbsp;(Firmware)



1030
1031
1032
1033
1034
# File 'lib/tinkerforge/brick_master.rb', line 1030

def set_stack_voltage_callback_period(period)
  check_validity

  send_request FUNCTION_SET_STACK_VOLTAGE_CALLBACK_PERIOD, [period], 'L', 8, ''
end

#set_stack_voltage_callback_threshold(option, min, max) ⇒ Object

Sets the thresholds for the CALLBACK_STACK_VOLTAGE_REACHED callback.

The following options are possible:

"Option", "Description"

"'x'",    "Callback is turned off"
"'o'",    "Callback is triggered when the voltage is *outside* the min and max values"
"'i'",    "Callback is triggered when the voltage is *inside* the min and max values"
"'<'",    "Callback is triggered when the voltage is smaller than the min value (max is ignored)"
"'>'",    "Callback is triggered when the voltage is greater than the min value (max is ignored)"
.. versionadded

2.0.5$nbsp;(Firmware)



1108
1109
1110
1111
1112
# File 'lib/tinkerforge/brick_master.rb', line 1108

def set_stack_voltage_callback_threshold(option, min, max)
  check_validity

  send_request FUNCTION_SET_STACK_VOLTAGE_CALLBACK_THRESHOLD, [option, min, max], 'k S S', 8, ''
end

#set_usb_voltage_callback_period(period) ⇒ Object

Sets the period with which the CALLBACK_USB_VOLTAGE callback is triggered periodically. A value of 0 turns the callback off.

The CALLBACK_USB_VOLTAGE callback is only triggered if the voltage has changed since the last triggering.

.. versionadded

2.0.5$nbsp;(Firmware)



1052
1053
1054
1055
1056
# File 'lib/tinkerforge/brick_master.rb', line 1052

def set_usb_voltage_callback_period(period)
  check_validity

  send_request FUNCTION_SET_USB_VOLTAGE_CALLBACK_PERIOD, [period], 'L', 8, ''
end

#set_usb_voltage_callback_threshold(option, min, max) ⇒ Object

Sets the thresholds for the CALLBACK_USB_VOLTAGE_REACHED callback.

The following options are possible:

"Option", "Description"

"'x'",    "Callback is turned off"
"'o'",    "Callback is triggered when the voltage is *outside* the min and max values"
"'i'",    "Callback is triggered when the voltage is *inside* the min and max values"
"'<'",    "Callback is triggered when the voltage is smaller than the min value (max is ignored)"
"'>'",    "Callback is triggered when the voltage is greater than the min value (max is ignored)"
.. versionadded

2.0.5$nbsp;(Firmware)



1136
1137
1138
1139
1140
# File 'lib/tinkerforge/brick_master.rb', line 1136

def set_usb_voltage_callback_threshold(option, min, max)
  check_validity

  send_request FUNCTION_SET_USB_VOLTAGE_CALLBACK_THRESHOLD, [option, min, max], 'k S S', 8, ''
end

#set_wifi2_ap_configuration(enable, ssid, ip, subnet_mask, gateway, encryption, hidden, channel, mac_address) ⇒ Object

Sets the access point specific configuration of the WIFI Extension 2.0.

The “enable“ parameter enables or disables the access point part of the WIFI Extension 2.0.

The “ssid“ parameter sets the SSID (up to 32 characters) of the access point.

If the “ip“ parameter is set to all zero then “subnet_mask“ and “gateway“ parameters are also set to all zero and DHCP is used for IP address configuration. Otherwise those three parameters can be used to configure a static IP address. The default configuration is DHCP.

The “encryption“ parameter sets the encryption mode to be used. Possible values are Open (no encryption), WEP or WPA/WPA2 PSK. Use the BrickMaster#set_wifi2_ap_password function to set the encryption password.

The “hidden“ parameter makes the access point hide or show its SSID.

The “channel“ parameter sets the channel (1 to 13) of the access point.

If the “mac_address“ parameter is set to all zero then the factory MAC address is used. Otherwise this parameter can be used to set a custom MAC address.

To apply configuration changes to the WIFI Extension 2.0 the BrickMaster#save_wifi2_configuration function has to be called and the Master Brick has to be restarted afterwards.

It is recommended to use the Brick Viewer to configure the WIFI Extension 2.0.

.. versionadded

2.4.0$nbsp;(Firmware)



1647
1648
1649
1650
1651
# File 'lib/tinkerforge/brick_master.rb', line 1647

def set_wifi2_ap_configuration(enable, ssid, ip, subnet_mask, gateway, encryption, hidden, channel, mac_address)
  check_validity

  send_request FUNCTION_SET_WIFI2_AP_CONFIGURATION, [enable, ssid, ip, subnet_mask, gateway, encryption, hidden, channel, mac_address], '? Z32 C4 C4 C4 C ? C C6', 8, ''
end

#set_wifi2_ap_password(password) ⇒ Object

Sets the access point password (at least 8 and up to 63 chars) for the configured encryption mode, see BrickMaster#set_wifi2_ap_configuration.

To apply configuration changes to the WIFI Extension 2.0 the BrickMaster#save_wifi2_configuration function has to be called and the Master Brick has to be restarted afterwards.

It is recommended to use the Brick Viewer to configure the WIFI Extension 2.0.

.. versionadded

2.4.0$nbsp;(Firmware)



1672
1673
1674
1675
1676
# File 'lib/tinkerforge/brick_master.rb', line 1672

def set_wifi2_ap_password(password)
  check_validity

  send_request FUNCTION_SET_WIFI2_AP_PASSWORD, [password], 'Z64', 8, ''
end

#set_wifi2_authentication_secret(secret) ⇒ Object

Sets the WIFI authentication secret. The secret can be a string of up to 64 characters. An empty string disables the authentication. The default value is an empty string (authentication disabled).

See the :ref:‘authentication tutorial <tutorial_authentication>` for more information.

To apply configuration changes to the WIFI Extension 2.0 the BrickMaster#save_wifi2_configuration function has to be called and the Master Brick has to be restarted afterwards.

It is recommended to use the Brick Viewer to configure the WIFI Extension 2.0.

.. versionadded

2.4.0$nbsp;(Firmware)



1446
1447
1448
1449
1450
# File 'lib/tinkerforge/brick_master.rb', line 1446

def set_wifi2_authentication_secret(secret)
  check_validity

  send_request FUNCTION_SET_WIFI2_AUTHENTICATION_SECRET, [secret], 'Z64', 8, ''
end

#set_wifi2_client_configuration(enable, ssid, ip, subnet_mask, gateway, mac_address, bssid) ⇒ Object

Sets the client specific configuration of the WIFI Extension 2.0.

The “enable“ parameter enables or disables the client part of the WIFI Extension 2.0.

The “ssid“ parameter sets the SSID (up to 32 characters) of the access point to connect to.

If the “ip“ parameter is set to all zero then “subnet_mask“ and “gateway“ parameters are also set to all zero and DHCP is used for IP address configuration. Otherwise those three parameters can be used to configure a static IP address. The default configuration is DHCP.

If the “mac_address“ parameter is set to all zero then the factory MAC address is used. Otherwise this parameter can be used to set a custom MAC address.

If the “bssid“ parameter is set to all zero then WIFI Extension 2.0 will connect to any access point that matches the configured SSID. Otherwise this parameter can be used to make the WIFI Extension 2.0 only connect to an access point if SSID and BSSID match.

To apply configuration changes to the WIFI Extension 2.0 the BrickMaster#save_wifi2_configuration function has to be called and the Master Brick has to be restarted afterwards.

It is recommended to use the Brick Viewer to configure the WIFI Extension 2.0.

.. versionadded

2.4.0$nbsp;(Firmware)



1546
1547
1548
1549
1550
# File 'lib/tinkerforge/brick_master.rb', line 1546

def set_wifi2_client_configuration(enable, ssid, ip, subnet_mask, gateway, mac_address, bssid)
  check_validity

  send_request FUNCTION_SET_WIFI2_CLIENT_CONFIGURATION, [enable, ssid, ip, subnet_mask, gateway, mac_address, bssid], '? Z32 C4 C4 C4 C6 C6', 8, ''
end

#set_wifi2_client_hostname(hostname) ⇒ Object

Sets the client hostname (up to 32 characters) of the WIFI Extension 2.0. The hostname will be displayed by access points as the hostname in the DHCP clients table.

To apply configuration changes to the WIFI Extension 2.0 the BrickMaster#save_wifi2_configuration function has to be called and the Master Brick has to be restarted afterwards.

It is recommended to use the Brick Viewer to configure the WIFI Extension 2.0.

.. versionadded

2.4.0$nbsp;(Firmware)



1572
1573
1574
1575
1576
# File 'lib/tinkerforge/brick_master.rb', line 1572

def set_wifi2_client_hostname(hostname)
  check_validity

  send_request FUNCTION_SET_WIFI2_CLIENT_HOSTNAME, [hostname], 'Z32', 8, ''
end

#set_wifi2_client_password(password) ⇒ Object

Sets the client password (up to 63 chars) for WPA/WPA2 encryption.

To apply configuration changes to the WIFI Extension 2.0 the BrickMaster#save_wifi2_configuration function has to be called and the Master Brick has to be restarted afterwards.

It is recommended to use the Brick Viewer to configure the WIFI Extension 2.0.

.. versionadded

2.4.0$nbsp;(Firmware)



1596
1597
1598
1599
1600
# File 'lib/tinkerforge/brick_master.rb', line 1596

def set_wifi2_client_password(password)
  check_validity

  send_request FUNCTION_SET_WIFI2_CLIENT_PASSWORD, [password], 'Z64', 8, ''
end

#set_wifi2_configuration(port, websocket_port, website_port, phy_mode, sleep_mode, website) ⇒ Object

Sets the general configuration of the WIFI Extension 2.0.

The “port“ parameter sets the port number that your programm will connect to.

The “websocket_port“ parameter sets the WebSocket port number that your JavaScript programm will connect to.

The “website_port“ parameter sets the port number for the website of the WIFI Extension 2.0.

The “phy_mode“ parameter sets the specific wireless network mode to be used. Possible values are B, G and N.

The “sleep_mode“ parameter is currently unused.

The “website“ parameter is used to enable or disable the web interface of the WIFI Extension 2.0, which is available from firmware version 2.0.1. Note that, for firmware version 2.0.3 and older, to disable the the web interface the “website_port“ parameter must be set to 1 and greater than 1 to enable the web interface. For firmware version 2.0.4 and later, setting this parameter to 1 will enable the web interface and setting it to 0 will disable the web interface.

To apply configuration changes to the WIFI Extension 2.0 the BrickMaster#save_wifi2_configuration function has to be called and the Master Brick has to be restarted afterwards.

It is recommended to use the Brick Viewer to configure the WIFI Extension 2.0.

.. versionadded

2.4.0$nbsp;(Firmware)



1493
1494
1495
1496
1497
# File 'lib/tinkerforge/brick_master.rb', line 1493

def set_wifi2_configuration(port, websocket_port, website_port, phy_mode, sleep_mode, website)
  check_validity

  send_request FUNCTION_SET_WIFI2_CONFIGURATION, [port, websocket_port, website_port, phy_mode, sleep_mode, website], 'S S S C C C', 8, ''
end

#set_wifi2_mesh_configuration(enable, root_ip, root_subnet_mask, root_gateway, router_bssid, group_id, group_ssid_prefix, gateway_ip, gateway_port) ⇒ Object

Requires WIFI Extension 2.0 firmware 2.1.0.

Sets the mesh specific configuration of the WIFI Extension 2.0.

The “enable“ parameter enables or disables the mesh part of the WIFI Extension 2.0. The mesh part cannot be enabled together with the client and access-point part.

If the “root_ip“ parameter is set to all zero then “root_subnet_mask“ and “root_gateway“ parameters are also set to all zero and DHCP is used for IP address configuration. Otherwise those three parameters can be used to configure a static IP address. The default configuration is DHCP.

If the “router_bssid“ parameter is set to all zero then the information is taken from Wi-Fi scan when connecting the SSID as set by BrickMaster#set_wifi2_mesh_router_ssid. This only works if the the SSID is not hidden. In case the router has hidden SSID this parameter must be specified, otherwise the node will not be able to reach the mesh router.

The “group_id“ and the “group_ssid_prefix“ parameters identifies a particular mesh network and nodes configured with same “group_id“ and the “group_ssid_prefix“ are considered to be in the same mesh network.

The “gateway_ip“ and the “gateway_port“ parameters specifies the location of the brickd that supports mesh feature.

To apply configuration changes to the WIFI Extension 2.0 the BrickMaster#save_wifi2_configuration function has to be called and the Master Brick has to be restarted afterwards.

It is recommended to use the Brick Viewer to configure the WIFI Extension 2.0.

.. versionadded

2.4.2$nbsp;(Firmware)



1774
1775
1776
1777
1778
# File 'lib/tinkerforge/brick_master.rb', line 1774

def set_wifi2_mesh_configuration(enable, root_ip, root_subnet_mask, root_gateway, router_bssid, group_id, group_ssid_prefix, gateway_ip, gateway_port)
  check_validity

  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', 8, ''
end

#set_wifi2_mesh_router_password(password) ⇒ Object

Requires WIFI Extension 2.0 firmware 2.1.0.

Sets the mesh router password (up to 64 characters) for WPA/WPA2 encryption. The password will be used to connect to the mesh router.

To apply configuration changes to the WIFI Extension 2.0 the BrickMaster#save_wifi2_configuration function has to be called and the Master Brick has to be restarted afterwards.

It is recommended to use the Brick Viewer to configure the WIFI Extension 2.0.

.. versionadded

2.4.2$nbsp;(Firmware)



1836
1837
1838
1839
1840
# File 'lib/tinkerforge/brick_master.rb', line 1836

def set_wifi2_mesh_router_password(password)
  check_validity

  send_request FUNCTION_SET_WIFI2_MESH_ROUTER_PASSWORD, [password], 'Z64', 8, ''
end

#set_wifi2_mesh_router_ssid(ssid) ⇒ Object

Requires WIFI Extension 2.0 firmware 2.1.0.

Sets the mesh router SSID of the WIFI Extension 2.0. It is used to specify the mesh router to connect to.

Note that even though in the argument of this function a 32 characters long SSID is allowed, in practice valid SSID should have a maximum of 31 characters. This is due to a bug in the mesh library that we use in the firmware of the extension.

To apply configuration changes to the WIFI Extension 2.0 the BrickMaster#save_wifi2_configuration function has to be called and the Master Brick has to be restarted afterwards.

It is recommended to use the Brick Viewer to configure the WIFI Extension 2.0.

.. versionadded

2.4.2$nbsp;(Firmware)



1807
1808
1809
1810
1811
# File 'lib/tinkerforge/brick_master.rb', line 1807

def set_wifi2_mesh_router_ssid(ssid)
  check_validity

  send_request FUNCTION_SET_WIFI2_MESH_ROUTER_SSID, [ssid], 'Z32', 8, ''
end

#set_wifi_authentication_secret(secret) ⇒ Object

Sets the WIFI authentication secret. The secret can be a string of up to 64 characters. An empty string disables the authentication.

See the :ref:‘authentication tutorial <tutorial_authentication>` for more information.

The secret is stored in the EEPROM and only applied on startup. That means you have to restart the Master Brick after configuration.

It is recommended to use the Brick Viewer to set the WIFI authentication secret.

The default value is an empty string (authentication disabled).

.. versionadded

2.2.0$nbsp;(Firmware)



1345
1346
1347
1348
1349
# File 'lib/tinkerforge/brick_master.rb', line 1345

def set_wifi_authentication_secret(secret)
  check_validity

  send_request FUNCTION_SET_WIFI_AUTHENTICATION_SECRET, [secret], 'Z64', 8, ''
end

#set_wifi_certificate(index, data, data_length) ⇒ Object

This function is used to set the certificate as well as password and username for WPA Enterprise. To set the username use index 0xFFFF, to set the password use index 0xFFFE. The max length of username and password is 32.

The certificate is written in chunks of size 32 and the index is used as the index of the chunk. “data_length“ should nearly always be 32. Only the last chunk can have a length that is not equal to 32.

The starting index of the CA Certificate is 0, of the Client Certificate 10000 and for the Private Key 20000. Maximum sizes are 1312, 1312 and 4320 byte respectively.

The values are stored in the EEPROM and only applied on startup. That means you have to restart the Master Brick after uploading the certificate.

It is recommended to use the Brick Viewer to set the certificate, username and password.



872
873
874
875
876
# File 'lib/tinkerforge/brick_master.rb', line 872

def set_wifi_certificate(index, data, data_length)
  check_validity

  send_request FUNCTION_SET_WIFI_CERTIFICATE, [index, data, data_length], 'S C32 C', 8, ''
end

#set_wifi_configuration(ssid, connection, ip, subnet_mask, gateway, port) ⇒ Object

Sets the configuration of the WIFI Extension. The “ssid“ can have a max length of 32 characters. Possible values for “connection“ are:

"Value", "Description"

"0", "DHCP"
"1", "Static IP"
"2", "Access Point: DHCP"
"3", "Access Point: Static IP"
"4", "Ad Hoc: DHCP"
"5", "Ad Hoc: Static IP"

If you set “connection“ to one of the static IP options then you have to supply “ip“, “subnet_mask“ and “gateway“ as an array of size 4 (first element of the array is the least significant byte of the address). If “connection“ is set to one of the DHCP options then “ip“, “subnet_mask“ and “gateway“ are ignored, you can set them to 0.

The last parameter is the port that your program will connect to.

The values are stored in the EEPROM and only applied on startup. That means you have to restart the Master Brick after configuration.

It is recommended to use the Brick Viewer to set the WIFI configuration.



755
756
757
758
759
# File 'lib/tinkerforge/brick_master.rb', line 755

def set_wifi_configuration(ssid, connection, ip, subnet_mask, gateway, port)
  check_validity

  send_request FUNCTION_SET_WIFI_CONFIGURATION, [ssid, connection, ip, subnet_mask, gateway, port], 'Z32 C C4 C4 C4 S', 8, ''
end

#set_wifi_encryption(encryption, key, key_index, eap_options, ca_certificate_length, client_certificate_length, private_key_length) ⇒ Object

Sets the encryption of the WIFI Extension. The first parameter is the type of the encryption. Possible values are:

"Value", "Description"

"0", "WPA/WPA2"
"1", "WPA Enterprise (EAP-FAST, EAP-TLS, EAP-TTLS, PEAP)"
"2", "WEP"
"3", "No Encryption"

The “key“ has a max length of 50 characters and is used if “encryption“ is set to 0 or 2 (WPA/WPA2 or WEP). Otherwise the value is ignored.

For WPA/WPA2 the key has to be at least 8 characters long. If you want to set a key with more than 50 characters, see BrickMaster#set_long_wifi_key.

For WEP the key has to be either 10 or 26 hexadecimal digits long. It is possible to set the WEP “key_index“ (1-4). If you don’t know your “key_index“, it is likely 1.

If you choose WPA Enterprise as encryption, you have to set “eap_options“ and the length of the certificates (for other encryption types these parameters are ignored). The certificates themselves can be set with BrickMaster#set_wifi_certificate. “eap_options“ consist of the outer authentication (bits 1-2), inner authentication (bit 3) and certificate type (bits 4-5):

"Option", "Bits", "Description"

"outer authentication", "1-2", "0=EAP-FAST, 1=EAP-TLS, 2=EAP-TTLS, 3=EAP-PEAP"
"inner authentication", "3", "0=EAP-MSCHAP, 1=EAP-GTC"
"certificate type", "4-5", "0=CA Certificate, 1=Client Certificate, 2=Private Key"

Example for EAP-TTLS + EAP-GTC + Private Key: “option = 2 | (1 << 2) | (2 << 3)“.

The values are stored in the EEPROM and only applied on startup. That means you have to restart the Master Brick after configuration.

It is recommended to use the Brick Viewer to set the Wi-Fi encryption.



807
808
809
810
811
# File 'lib/tinkerforge/brick_master.rb', line 807

def set_wifi_encryption(encryption, key, key_index, eap_options, ca_certificate_length, client_certificate_length, private_key_length)
  check_validity

  send_request FUNCTION_SET_WIFI_ENCRYPTION, [encryption, key, key_index, eap_options, ca_certificate_length, client_certificate_length, private_key_length], 'C Z50 C C S S S', 8, ''
end

#set_wifi_hostname(hostname) ⇒ Object

Sets the hostname of the WIFI Extension. The hostname will be displayed by access points as the hostname in the DHCP clients table.

Setting an empty String will restore the default hostname.

.. versionadded

2.0.5$nbsp;(Firmware)



984
985
986
987
988
# File 'lib/tinkerforge/brick_master.rb', line 984

def set_wifi_hostname(hostname)
  check_validity

  send_request FUNCTION_SET_WIFI_HOSTNAME, [hostname], 'Z16', 8, ''
end

#set_wifi_power_mode(mode) ⇒ Object

Sets the power mode of the WIFI Extension. Possible modes are:

"Mode", "Description"

"0", "Full Speed (high power consumption, high throughput)"
"1", "Low Power (low power consumption, low throughput)"


891
892
893
894
895
# File 'lib/tinkerforge/brick_master.rb', line 891

def set_wifi_power_mode(mode)
  check_validity

  send_request FUNCTION_SET_WIFI_POWER_MODE, [mode], 'C', 8, ''
end

#set_wifi_regulatory_domain(domain) ⇒ Object

Sets the regulatory domain of the WIFI Extension. Possible domains are:

"Domain", "Description"

"0", "FCC: Channel 1-11 (N/S America, Australia, New Zealand)"
"1", "ETSI: Channel 1-13 (Europe, Middle East, Africa)"
"2", "TELEC: Channel 1-14 (Japan)"


931
932
933
934
935
# File 'lib/tinkerforge/brick_master.rb', line 931

def set_wifi_regulatory_domain(domain)
  check_validity

  send_request FUNCTION_SET_WIFI_REGULATORY_DOMAIN, [domain], 'C', 8, ''
end

#start_wifi2_bootloaderObject

Starts the bootloader of the WIFI Extension 2.0. Returns 0 on success. Afterwards the BrickMaster#write_wifi2_serial_port and BrickMaster#read_wifi2_serial_port functions can be used to communicate with the bootloader to flash a new firmware.

The bootloader should only be started over a USB connection. It cannot be started over a WIFI2 connection, see the BrickMaster#get_connection_type function.

It is recommended to use the Brick Viewer to update the firmware of the WIFI Extension 2.0.

.. versionadded

2.4.0$nbsp;(Firmware)



1392
1393
1394
1395
1396
# File 'lib/tinkerforge/brick_master.rb', line 1392

def start_wifi2_bootloader
  check_validity

  send_request FUNCTION_START_WIFI2_BOOTLOADER, [], '', 9, 'c'
end

#write_bricklet_plugin(port, offset, chunk) ⇒ Object

Writes 32 bytes of firmware to the bricklet attached at the given port. The bytes are written to the position offset * 32.

This function is used by Brick Viewer during flashing. It should not be necessary to call it in a normal user program.



2118
2119
2120
2121
2122
# File 'lib/tinkerforge/brick_master.rb', line 2118

def write_bricklet_plugin(port, offset, chunk)
  check_validity

  send_request FUNCTION_WRITE_BRICKLET_PLUGIN, [port, offset, chunk], 'k C C32', 8, ''
end

#write_wifi2_serial_port(data, length) ⇒ Object

Writes up to 60 bytes (number of bytes to be written specified by “length“) to the serial port of the bootloader of the WIFI Extension 2.0. Returns 0 on success.

Before this function can be used the bootloader has to be started using the BrickMaster#start_wifi2_bootloader function.

It is recommended to use the Brick Viewer to update the firmware of the WIFI Extension 2.0.

.. versionadded

2.4.0$nbsp;(Firmware)



1409
1410
1411
1412
1413
# File 'lib/tinkerforge/brick_master.rb', line 1409

def write_wifi2_serial_port(data, length)
  check_validity

  send_request FUNCTION_WRITE_WIFI2_SERIAL_PORT, [data, length], 'C60 C', 9, 'c'
end