BM71 Transparent UART Demo (Auto Pattern Tool)
Objective
The BLEDK3 firmware on the BM71 offers two state machines for the user: Auto Pattern mode and Manual Pattern mode. The User Interface (UI) Configuration Tool allows the user to decide which mode the module will enter once it is powered up. This lab will focus on Auto Pattern mode.
This mode is essential for using the BM71 as a data pipe through the Transparent Universal Asynchronous Receiver Transmitter (UART) service. It is not intended to be used for other private services/characteristics. It automates most of the tasks; however, it also provides a window of opportunity to configure the module before the Auto Pattern state machine takes over. This window of time is called the Configuration mode.
You will:
- Use the UI Tool to set the module to Auto Pattern mode
- Learn about the Configure mode
- Use the Auto Pattern Test Tool to communicate via the Transparent UART service
Reference Materials
- Apple Smartphone
- iOS version 5 or later
- BT 4.0 or higher hardware
- MCP2200 Windows® Drivers and Installer
- UI Configuration Tool
- Auto Pattern Test Tool
- Bluetooth® Smart Data (iOS)
Connection Diagram
Auto Pattern Flow Chart
Procedure
Connect to BM71
Connect the BM71 PICtail board to your PC via the USB connector (bottom-side of the board) using the supplied USB Cable. Ensure the jumpers J3, JP8, and J1 (all yellow in this photo) are set as shown:
COM Port
Open the Device Manager window by going to the Start Menu > Control Panel > Hardware and Sound and then selecting Device Manager. Once open, check which COM Port has been assigned to the BM71 PICtail board. In this case, it is COM18. Please note that yours will probably be different.
Place the module in Test mode by setting SW7 in the ON position, then press SW5 (reset) to reset the module.
Launch the User Interface Configuration Tool
After extracting files from the UI Configuration Tool ZIP file, double-click on the application file called IS187x_102_BLEDK3_UI v100.132.exe to launch the utility.
Immediately after launch, the Start Menu window will pop up. Before we can do anything with this tool, we must load a UI parameter table. One way to load the UI parameters is by using an existing UI text file.
Click on Load in the Start Menu window.
Load Text File
Selecting Load Text File will open up another window. Choose the IS1871SF_102_BLEDK3_UI v100.132(BM71) default.txt file and click Open.
Edit Text File
Once the text file has been loaded, the edit button will be enabled. Click on Edit.
When you press the edit button to start editing UI parameters, the Main Feature window will pop up. This window is where the user will select the target application. BLEDK3 supports all Bluetooth Low Energy (BLE) operations, while the Beacon mode is used for non-connectable advertising only. If BeaconThings is selected, the module will support both BLEDK and Beacon operations.
For this demo, we will only select BLEDK 0x01: BM71 and then click OK.
Configure Module
The window that follows is called the Function Settings window. All of the settings we will change for this lab are located under the System Setup tab.
The first setting we will change is the Name Fragment under the Device Information pane. We chose to name the module "DeveloperHelp." This is the name that will be displayed in the scan results.
Next, we will disable the UART_RX_IND feature. When enabled, this feature places the module into a Lower Power mode, shutting off its UART RX operation. The host MCU then needs to drive this pin high to enable subsequent packet I/O operations.
Then, we will choose Auto Pattern as our Operation Pattern.
Before entering Auto Pattern mode, the BM71 can go into a state called Configure mode (see diagram below). Relative settings can be configured while the BM71 is in this mode. The Configuration Mode Timeout option provides the length of time the module will remain in Configure mode if no commands are sent to it.
For our demo purposes, let's change the value of the Configure Mode Timeout setting to a non-zero value. I chose approximately six seconds (6.4s = 0x0A).
After changing the Configuration Mode Timeout to a non-zero value, we need to enter the EEPROM parameters into the module. Click on Finish.
Write Settings
After that window closes, select Write on the Start Menu window that remains open.
On the window that pops up, select the correct COM Port that has been assigned to your BM71 PICtail board. For Baudrate, select 115200 and then click on Write.
You will see a window asking if you are sure you want to write to EFLASH. Select Yes.
Lastly, you will see a window letting you know the write has been successful. Click on OK.
App Mode
Put the module in App mode by moving dip-switch SW7 to the OFF position and resetting the module by pressing SW5 (button immediately above dip-switch).
Launch the Auto-Pattern Tool
Select the correct COM Port from step 1a and press Connect to connect to your module.
If you press the Reset button on the PICtail, then you should get a "Configure Mode is Enable" message indicating that the module is ready to take in some configuration commands. Click OK
You will immediately be taken to the Configure Mode tab where you will see all the allowed Configure mode commands.
If you don't send the module a command within the 6.4 seconds we specified earlier in this lab, the Configure mode will timeout and you will see a "Configure Mode is Disable" message in the Auto Pattern Test Tool.
Push the Reset button on the BM70 PICtail again to enter Configure mode. Click OK on the "Configure Mode is Enable" message and send the 0x01: Read Local Information command.
The module will respond with its Version and MAC address information as we see in green above.
Now that we have sent a command, you can continue issuing Configure Commands to the BM70 for as long as you please. The module will remain in Configure mode until we issue the 0x52: Leave Configuration command.
At that point, you will see the following pop-up message:
Click on OK. The module will automatically leave Configuration mode and enter Auto Pattern mode. It will be on Standby for however many seconds we have specified in the UI Configuration Tool (in this case about 2 minutes).
Connect to the Smartphone
The Auto Pattern Test Tool can also be used to send data via Transparent UART.
After you've left Configure mode, you can open the SmartData app and as it starts scanning, you should see your module's name on the list.
Tap on your module's name to connect to it.
Send File from Auto Pattern Tool
In the Raw Data Page tab under the Tx Control pane, click on Load File and browse to the location of the file you would like to send. For this example, it is called TestMessage.txt, as shown in the screenshot below.
Next, click the Tx Start button.
Over on the SmartData app, you will notice that the data has been received.
Conclusions
In this lab you:
- Were able to see the steps required to work with the Configure mode
- Used the Auto Pattern Test Tool to send data through the Transparent UART service