You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardexpand all lines: README.md
+4-4
Original file line number
Diff line number
Diff line change
@@ -3,7 +3,7 @@
3
3
4
4
*The Benewake TFMini-Plus is a unique product, and it is not an enhanced version of the Benewake TFMini. It has its own command and data structures. This library is not compatible with the TFMini product.*
5
5
6
-
Since hardware version 1.3.5 and firmware version 1.9.0, the TFMini-Plus can be configured to use the **I2C** (two-wire) protocol for its communication interface. The command to configure the device for **I2C** communication must be sent using the **UART** interface. Therefore, configuration should be made prior to the device's service installation either by using the TFMini-Plus library or by using a serial GUI test application available from the manufacturer. Thereafter, this libarary can be used for all further communication with the device.
6
+
Since hardware version 1.3.5 and firmware version 1.9.0, the TFMini-Plus can be configured to use the **I2C** (two-wire) protocol for its communication interface. The command to configure the device for **I2C** communication must be sent using the **UART** interface. Therefore, configuration should be made prior to the device's service installation either by using the TFMini-Plus library or by using a serial GUI test application available from the manufacturer. Thereafter, this library can be used for all further communication with the device.
7
7
8
8
This library calls the Arduino standard I2C/Two-Wire Library.
9
9
<hr />
@@ -24,13 +24,13 @@ The `sendCommand( cmnd, param, addr)` function sends an unsigned, 32-bit command
24
24
**An erroneous command or parameter can block communication, and there is no external means of resetting the device to factory defaults.**
25
25
<hr>
26
26
27
-
In **I2C** mode, the TFMini-Plus functions as an I2C slave device. The default address is `0x10`, but is user-programable by sending the `SET_I2C_ADDRESS` command and a parameter in the range of `0x01` to `0x7F`. A new device address will not take effect until a subsequent `SAVE_SETTINGS` command is sent. If set to any address other than the default address, the correct address must be included with every function as the optional `addr` byte.
27
+
In **I2C** mode, the TFMini-Plus functions as an I2C slave device. The default address is `0x10`, but is user-programmable by sending the `SET_I2C_ADDRESS` command and a parameter in the range of `0x01` to `0x7F`. A new device address will not take effect until a subsequent `SAVE_SETTINGS` command is sent. If set to any address other than the default address, the correct address must be included with every function as the optional `addr` byte.
28
28
29
29
Benewake is not forthcoming about the internals of the device, however they did share this:
30
30
>Some commands that modify internal parameters are processed within 1ms. Some commands (that) require the MCU to communicate with other chips may take several ms. And some commands, such as saving configuration and restoring the factory (default settings) need to erase the FLASH of the MCU, which may take several hundred ms.
31
31
32
32
Also, according to Benewake:
33
-
>The measuring frequency (frame-rate) of the module should be 2.5 times larger than the I2C reading frquency.<br />
33
+
>The measuring frequency (frame-rate) of the module should be 2.5 times larger than the I2C reading frequency.<br />
34
34
>The I2C reading frequency should not exceed 100Hz.<br />
35
35
36
36
Benewake says the data frame-rate is limited to 1KHz, which would suggest a 400Hz data sampling limit in **I2C** mode. But Benewake also says data sampling should not exceed 100Hz. They don't say why; but you might keep those supposed limitations in mind while you are using the **I2C** interface.
@@ -39,7 +39,7 @@ Any change of device settings (frame-rate, baud-rate, etc.) must be followed by
39
39
40
40
The `SET_I2C_MODE` command does not require a subsequent `SAVE_SETTINGS` command. Conveniently, the device will remain in **I2C** mode after power has been removed and restored. Even a `RESTORE_FACTORY_SETTINGS` command will not restore the device to the default, **UART** communication interface mode. The only way to return the device to serial mode is to send the `SET_SERIAL_MODE` command.
41
41
42
-
NOTE: Upon initial application of power, the TFMini-Plus will start up and remain in **UART** mode for about ten seconds. Brief necessary serial communication, such as a firmware update, can occur during this time.
42
+
NOTE: Upon initial application of power, the TFMini-Plus will start up and remain in **UART** mode for about ten seconds. Brief necessary serial communication, such as a firmware update, can occur during this time. Also, in my experience, after changing back to `UART` mode, a '`RESTORE_FACTORY_SETTINGS` command will switch the device to **I2C** mode. This is unexpected and confusing. I have not been able to get an explanation from Benewake.
0 commit comments