Skip to content

Commit 5ff22cd

Browse files
authored
v0.1.1
Added note about reverting to I2C and corrected some mispellings
1 parent f1c182b commit 5ff22cd

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

README.md

+4-4
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
*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.*
55

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.
77

88
This library calls the Arduino standard I2C/Two-Wire Library.
99
<hr />
@@ -24,13 +24,13 @@ The `sendCommand( cmnd, param, addr)` function sends an unsigned, 32-bit command
2424
**An erroneous command or parameter can block communication, and there is no external means of resetting the device to factory defaults.**
2525
<hr>
2626

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.
2828

2929
Benewake is not forthcoming about the internals of the device, however they did share this:
3030
>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.
3131
3232
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 />
3434
>The I2C reading frequency should not exceed 100Hz.<br />
3535
3636
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
3939

4040
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.
4141

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.
4343
<hr>
4444

4545
Also included in the repository are:

0 commit comments

Comments
 (0)