In-Car Trigger User Guide V1.01 2017/01/16 Prepare by Frost Lin COBAN Asia Technologies, Inc. | Firmware Engineer Office: 02-2760-1269 #23 | Fax: 02-2760-1279 Email: frostl@cobantech.com| www.cobantech.
Revision History Data 2016/10/12 2016/12/06 Description Add chapter 11 to descript firmware flushing process with firmware flushing fixture. Chapter 2. Add this chapter to highlight the version requirement on SW, FW, and HW for this demo guide. Section 7.3. Update the procedure description on programming the BWC BT MAC address into NFC tag. Section 8.2.1. Add this section to descript BWC service discovery procedure and the connection bonding between BWC and In-Car Trigger. Section 8.2.4.
Table of contents 1 2 Abstraction............................................................................................................................................ 6 1.1 The Purpose ................................................................................................................................ 6 1.2 Document organization ......................................................................................................... 6 Version requirement .............................
9 8.2.1 Bluetooth service discovery and bonding ........................................................ 31 8.2.2 Bluetooth transmission distance .......................................................................... 32 8.2.3 Bluetooth link disconnecting .................................................................................. 32 8.2.4 Connection diagnose ................................................................................................... 33 8.3 BWC remote polling......
13.2.1 Environment setup ........................................................................................................ 64 13.2.2 Firmware flushing .......................................................................................................... 64 14 TBD ..........................................................................................................................................................
1 Abstraction 1.1 The Purpose This document descript the functions specification of Coban In-Car Trigger and demonstrate how to operate these provided functions. Primary functions of In-Car Trigger could be summarized below: Monitor and control the connected digital input/output of vehicle (EX. Ignition, Light bar…). Establish wireless connection to Coban Body-Wore Camera (BWC) with Bluetooth LE technology.
2 Version requirement 2.1 Hardware requirement The version of In-Car Trigger PCBA is V2.0 for this function demo guide. 2.2 Software requirement The require version of the In-Car Trigger Test UI software utility (introduced in Chapter 5) must equal or greater than V01.01. 2.3 Firmware requirement The require version of the In-Car Trigger application firmware must equal or greater than V01.01. The way to retrieve In-Car Trigger firmware version is introduced in section 5.
3 Appearance
Digital IO connector pinout:
4 Power On Initialization 4.1 Hardware setup Connect the power input to 8V ~ 30V power supply and click power button to power on the In-Car Trigger.
4.2 Power on notification When the In-Car Trigger is successfully powered on, it would generate power-on notification: Buzzer turn on for 1 sec All LEDs turn on for 1 secs, except the BWC Charging status LED remain off. After the notification, buzzer would stop beeping and together with all LEDs start to be controlled based on defined scenario.
5 In-Car Trigger Test UI A Win32 software program, In-Car Trigger Test UI, is designed to dump the status of InCar Trigger via UART interface at run-time. 5.1 Hardware setup 5.2 Software setup Make sure the COM interface is successfully reorganized in device management of the connected Host PC and identify the its COM port index after setting up the connection descript in section 5.
Launch the executable of In-Car Trigger Test UI (InCarTriggerTestUI.exe) to bring up the user interface of this utility program. The Test UI contains the listed window segment divided by group box: A. Connection window Includes the UART interface configuration box to setup the serial connection to In-Car Trigger. B. In-Car Trigger Status window Display the current status of In-Car Trigger. C. In-Car Trigger Control window Includes the icon to configure and control the In-Car Trigger D.
F. BWC2 Status window Display the current status of the second connected BWC. G. BWC2 Control window Includes the icon to control the second connected BWC. In-Car Trigger Test UI must establish the UART interface connection to In-Car Trigger before it could control or gather the status from In-Car Trigger. In connection window, select the COM index corresponding to the In-Car Trigger and select the baudrate to 115200 then click connect icon.
6 Digital IO 6.1 Input In-Car Trigger provide 3 digital input on Digital IO connector of IO/CAN pigtail to connect and monitor the listed digital signals on patrol car: Ignition Auxiliary Light bar All these three digital input could sustain 8V ~ 30V input voltage and controller of In-Car Trigger would determine the digital input as logic high level while apply voltage with this range.
6.2 Output In-Car Trigger provide the listed digital output, which is connected to the BWC on BWC slot, 2nd BWC dock, or peripheral device on patrol car. DOUT: Turn on/off (short/open) the connection between the relay’s A/B pin on I/O Pigtail VBUS_BWC: Turn on/off the 5V USB VBus voltage to enable/disable the USB interface implemented on pogo pins inside BWC slot.
DOUT and VBus_BWC is could be directly controlled by the UART connected host device. Test UI also provides checkbox in the In-Car Trigger Ctrl window, Clicking/unclicking these checkbox of corresponded digital output signal and clicking “set” icon to control the output state. VBus_2nd and CB_2nd output is controlled based on the status of ignition input. These two output signal will be automatically pull high if state of ignition input is considered as logic high.
7 NFC NFC reader is implemented within In-Car Trigger to retrieve the Bluetooth MAC address and user defined data from the NFC tag implemented within BWC for triggering the Bluetooth pairing between In-Car Trigger and BWC (refer to chapter 8 for detail description about Bluetooth pairing) The NFC read/write communication between In-Car Trigger and BWC follows ISO 14443A protocol. 7.
7.2 NFC sensing [Note] The internal power supply of NFC reader is controlled by Ignition digital input. Make sure 8V ~ 30V is applied to the Ignition on digital input connector of IO/CAN pigtail before using NFC sensing function. Approach the sensing area of NFC tag of BWC to the sensing area NFC reader sensing area of In-Car. This behavior will make NFC reader start to retrieve information programmed in NFC tag.
If NFC reader successfully receive the programmed information on NFC tag, pairing notification on buzzer will be triggered and Bluetooth pairing procedure will start which will be introduced in section 8.1. The retrieved tag information will be updated to the BWC Status window of Test UI. If NFC reader fail to parse the retrieve data from NFC tag (EX. the programmed user data doesn’t following NDEF Plain Text format), The Buzzer would generate 1 long beeping to notify user sensing fail.
7.3 NFC tag programming Besides retrieve the data from NFC tag, the NFC reader of In-Car Trigger could be used to program the Bluetooth Mac address and user data into the BWC’s NFC tag. 7.3.1 Bluetooth Mac address programming The unique BT address of each BWC could be looked up in the TF card storage of BWC. Connect the BWC to a PC with USB cable and wait for the PC identifying the FOUCS-X1 storage in files manager. Opening the hci_config.
In BWC Ctrl window, click the NFC Tag BT Addr. Prog. icon, assign value into BT Address column, and click “Set” button. Wait for the radio button indicator NFC Tag Prog. EN and BT addr. Prog. EN being set by In-Car Trigger fixture itself to switch the NFC reader to programming mode.
Approach the BWC NFC tag to the sensing area of the NFC reader on In-Car Trigger fixture like section 7.2. The buzzer on fixture would generate 3 short beeps to notify programming complete. 7.3.2 User Data programming In BWC Ctrl window, click the NFC Tag User Data Prog., fill max 32 characters in User Data column, and click “Set” button. Wait for the radio button indicator NFC User Data Prog. EN being set itself to switch the NFC reader to programming mode.
7.3.3 Resume NFC reader to reading mode Un-click the NFC Tag User Data Prog. and NFC Tag BT Addr. Prog., click Set icon and wait for NFC User Data Prog. EN and NFC BT Addr. Prog. EN being un-set to bring the NFC reader out of programming mode.
8 Bluetooth In-Car Trigger and BWC adopt Bluetooth Low Energy (BLE or Bluetooth 4.0) as the wireless communication interface between each other. Comparing with Bluetooth 2.1 technology, BLE has the listed features: Ultra-low power consumption The BLE maintain the connection between two paired device via a periodically handshake mechanism instead of sustaining the link continuously, it save the power to diving the RF component enormously to raise the operating time of BWC.
E. Continues from (C). If both BWCs currently paired with In-Car Trigger is recoding, the target BWC is not allowed to pair with In-Car Trigger. F. Continues from (C). If both BWCs currently paired with In-Car Trigger is not recoding, the Bluetooth channel which is the last allocated for pairing will be reserved, and the other one will be allocated to pair with the target BWC.
In the scenario (B), (C), (D), and (F) above, The buffered BWC mac address paired with allocated Bluetooth channel will be overwrite by the one of target BWC, and the original BWC should be re-paired to In-Car Trigger if it want to setup the Bluetooth connection to In-Car Trigger again. 8.1.
8.2 Bluetooth link establishing After In-Car Trigger generate pairing notification, normally it would take less than 4 seconds to set up the Bluetooth link to the target BWC within 2m light-of-sign distance. Depend on it is Bluetooth channel#1 or #2 allocated to pair with target BWC. BWC1 or BWC2 LED will stop blinking and turn solid on when link is successfully established. Value of GAP State in BWC Status window of Test UI would be switch to “CONNECTED” when Bluetooth link is established. 8.2.
BWC by storing its connection info into EEPROM and automatically try to resume the connection at connection lost or power reset until it is paired to another BWC. 8.2.2 Bluetooth transmission distance Transmission distance between BWC V4 Hardware….(TBD) 8.2.3 Bluetooth link disconnecting The Bluetooth link between In-Car Trigger and BWCs would be disconnected due to the following reason: 1.
8.2.4 Connection diagnose This section descript some methods to diagnose the situation of failing to establish Bluetooth connection between In-Car Trigger and BWC. 1. Scan BWC’s advertising signal The first step to make diagnose on failing to establish Bluetooth connection is to check whether the BWC (serve as the Bluetooth Peripheral device) could generate advertising signal for the In-Car Trigger (serve as Bluetooth Central device) to make connection request. A Smartphone support Bluetooth 4.
On the display list of found devices, check if the BT address of the target BWC (refer to section 7.3), EX. 44:2C:05:27:7C:9F, is discover or not. 2. Check the context of advertising If the target BWC could generate advertising signal, the next step is to check the advertising data contain the correct Service UUID for In-Car Trigger to make connection request.
3.
8.3 BWC remote polling Once the Bluetooth link is established between In-Car Trigger and BWC, In-Car Trigger will periodically poll and retrieve the listed BWC status information via Bluetooth: RSSI: The receive signal strength from paired BWC. Indicate the paired BWC is recording or not. Operating status Base on the raw data of retrieved BWC status, Test UI will periodically update the value of BWC status information listed above in BWC Status window.
function base on the RSSI, which is related to different distance between the paired BWC and In-Car Trigger, to turn on/off BWC’s recording remotely: If the RSSI is lower than a threshold which is considered that the officer leave the patrol car (EX. for examining the crime scene), In-Car Trigger will remotely turn on BWC’s recording automatically.
8.4.2 Light bar trigger recording Light bar trigger recording is another automatic BWC recording remote control function base on the patrol car’s light bar status. A status transition from turned-off to turned-on of light bar will make In-Car Trigger remotely turn on the both paired BWCs’ recording.
8.4.3 Remote recording control integration Through the introduction of section 8.4 to 8.4.2, multiple scenario would make In-Car Trigger remotely turn on/off the recording if it’s paired BWCs separately. This section summarize the all these scenario to show how they work together.
C. Remote turn off recording due to proximity triggering. Continue from (B). If BWC currently is recording, proximity triggering is enable and BWC is located in patrol car for defined duration. In-Car Trigger would remotely turn off the BWC’s recording. D. Remote turn off recording due to user’s demand. Continue from (C). User could still dispatch remote command to In-Car Trigger to turn off the recording of BWC. E.
9 Buzzer This chapter summarize all buzzer notification generated from In-Car Trigger as the listed form below: Notification event Event description Action of notification Power on Section 4.2 Continuously beep for 1 sec NFC tag programming Section 7.3 Shortly beep 3 times complete Short beeping 1 time: BWC1 start pairing Short beeping 2 times: BWC2 start Bluetooth pairing Section 8.1.1 pairing Continuously beep for 1 sec: Forbidden pairing or invalid data format on NFC tag.
10 Push buttons This chapter summarize all user cases triggered by push buttons. 10.1Power button Press the power button will power on/shutdown the In-Car Trigger. refer to chapter 4 about the power on initialization. 10.2 Covert button Press the Covert button will switch In-Car Trigger in/out of LEDs covert mode. When In-Car Trigger is in LEDs covert mode, all LEDs will be force turned off regardless the LED notification defined in previous chapters.
In Test UI, the current LED covert mode setting will be periodically updated on InCar Trigger status window.
11 LEDs This chapter summarize all LEDs notification descript in previous chapters. 11.1Trigger Status LEDs 11.1.1 AUX LED Notification event Event description Action of notification Power on notification Section 4.2 Continuously turned on for 1 sec Spare on Section 6.1 Turned on Spare off Section 6.1 Turned off 11.1.2 Light Bar LED Notification event Event description Action of notification Power on notification Section 4.2 Continuously turned on for 1 sec Light Bar on Section 6.
11.1.4 BWC2 Bluetooth Status LED Notification event Event description Power on notification BWC2 pairing BWC2 connected BWC2 disconnected Section 4.2 Section 8.1.1 Action of notification Continuously turned on for 1 sec Blinking Section 8.2 Turned on Section 8.2.2 Turned off 11.1.5 Upload Data status LED, Upload Data status LED 2nd Upload data LED is directly controlled by the UART interface connected host device with defined UART command descript in section 12.
11.2 LEDs Covert mode Refer to chapter 10.2, press Covert button will make In-Car Trigger switch in/out of LEDs Covert mode, which make all LEDs turned off regardless the definition of LEDs notification.
12 UART In-Car Trigger implement 1 UART interface to provide serial communication to connected host device to access its internal register table for retrieving or controlling the internal status. 12.
all value of previous bytes. The format of register read command return echoed from In-Car Trigger would be the listed: Byte Index Byte 0 Byte 1 Byte 2 Byte 3 Byte 4 Byte 5 Base Address (Low Byte) Access Length Result Addr & 0x00FF N (Note #1) (Note #3) Field Name PID Op.
12.2Register table Address Register Name 0x0000 Product ID 0x0001 ~0x0002 Bootloader firmware version 0x0003 ~0x0004 Application firmware version Privilege Read Description In-Car Trigger Product ID. The value of its context should always be 0xA1 Bootloader firmware version (MSB at 0x0001) Application firmware version (MSB at 0x0003) 0x0005 Reserve Bit7 Bit6 Bit5 0x0006 DIO Status 0 Bit4 Bit3 Bit2 Read Bit1 Bit0 Bit7 Bit6 0x0007 DIO Status 1 Bit5 Bit4 b0: Light bar LED is off.
Bit3 Bit2 Bit1 Bit0 Bit7 ~ Bit6 Bit5 ~ Bit4 0x0008 Proximity trigger configuration Read Bit3 ~ Bit2 Bit1 ~ Bit0 0x0009 Auto Trigger/ NFC / LED Convert configuration Bit7 Read Bit6 Reserve b0: VBus BWC output is off b1: VBus BWC output is on b0: VBus 2nd output is off b1: VBus 2nd output is on b0: CB 2nd output is off b1: CB 2nd output is on b00: InCarDelay is set to 0 sec. b01: InCarDelay is set to 10 secs. b10: InCarDelay is set to 30 secs. b11: InCarDelay is set to 60 secs.
Bit5 b0: LEDs Covert mode is off. b1: LEDs Covert mode is on. Bit4 ~ Bit2 Reserve Bit1 Bit0 0x000A ~ 0x0011 Reserve Bit7 Bit6 Bit5 0x0012 BWC1 Bluetooth GAP status Bit4 ~ Bit0 Read 0x0013 BWC1 Disconnection Code 0x0014 BWC1 RSSI 0x0015 0x0016 0x0017 b0: NFC tag Bluetooth Mac address programming is off. b1: NFC tag Bluetooth Mac address programming is off. b0: NFC tag User Data programming is off. b1: NFC tag User Data programming is on. Reason of the last Bluetooth disconnection.
0000010: Discovery BWC service, 0000011: Discovery BWC Status characteristic, 0000100: Discovery BWC Ctrl characteristic, 0001000: Updating BWC RSSI. 0001001: Read BWC Status characteristic. 0001010: Write BWC Ctrl characteristic. 0x0018 0x0019 ~0x001E BWC1 Bluetooth Mac address Read 0x001F ~0x003E BWC1 User Data 0x003F ~0x005F 0x0060 Reserve 6 Bytes Mac address retrieve from BWC1 NFC tag. (MSB at 0x0018) 32 Bytes User Data retrieve from BWC1 NFC tag.
0x0070 ~0x0071 Reserve Bit7 Bit6 Bit5 0x0072 BWC2 Bluetooth GAP status Bit4 ~ Bit0 0x0073 BWC2 Disconnection Code 0x0074 BWC2 RSSI 0x0075 0x0076 0x0077 0x0078 BWC2 In-Car Duration BWC2 Out-Car Duration BWC2 Bluetooth GATT status Reserve b0: Don’t Care. B1: the last time Bluetooth pairing is with BWC2. Reserve Bluetooth GAP Status. B00000: INIT, b00001: STARTED, b00010: SCANNING, b00011: CONNECTING, b00100: CONNECTED, b00101: IDLE Reason of the last Bluetooth disconnection.
0x0079 ~0x007E BWC2 Bluetooth Mac address Read 0x007F ~0x009E BWC2 User Data 0x009F ~0x00BF 0x00C0 6 Bytes Mac address retrieve from BWC2 NFC tag. (MSB at 0x0018) 32 Bytes User Data retrieve from BWC2 NFC tag.
Bit0 Bit7 ~ Bit4 Bit3 0x00D1 Digital output control 1 Bit2 Bit1 Bit0 Bit7 ~ Bit6 Bit5 ~ Bit4 0x00D2 Proximity Trigger control Write Bit3 ~ Bit2 Bit1 ~ Bit0 0x00D3 Auto Trigger Write Bit7 1: Turn off DOUT 0: Don’t care 1: Turn on DOUT Reserve 0: Don’t care 1: Turn off Upload Data LED 0: Don’t care 1: Turn on Upload Data LED 0: Don’t care 1: Turn off CB 2nd 0: Don’t care 1: Turn on CB 2nd b00: Set InCarDelay is set to 0 sec. b01: Set InCarDelay is set to 10 secs.
control Bit6 Bit5 Bit4 Bit3 ~ Bit0 Bit7 ~ Bit4 Bit3 0x00D4 NFC Reader control Write Bit2 Bit1 Bit0 0x00DB ~ 0x00FA 6 bytes programmed NFC tag Bluetooth Mac address. 32 bytes programmed NFC tag User Data.
recording 0x00FD 0x00FE 0x00FF 0x0100 0x0101 0x0102 0x0103 0x0104 0x0105 0x0106 0x0107 0x0108 0x0109 0x010A 0x010B 0x010C ~ 0x0112 BWC1 Control 1 BWC1 Control 2 BWC1 Control 3 BWC1 Control 4 BWC1 Control 5 BWC1 Control 6 BWC1 Control 7 BWC1 Control 8 BWC1 Control 9 BWC1 Control 10 BWC1 Control 11 BWC1 Control 12 BWC1 Control 13 BWC1 Control 14 BWC1 Control 15 Write Reserve Reserve Bit7 ~ Bit2 0x0113 BWC2 Control 0 Write Bit1 Bit0 0x0114 0x0115 0x0116 0x0117 0x0118 0x0119 0x011A 0x011B 0x011C 0x011D
~ 0x0129
13 Controller firmware update In-Car Trigger provide 2 ways to flush/update the firmware of controller: Hardware flushing and Serial bootloader. 13.1 Hardware flushing Firmware hardware flushing is the way that completely erase the In-Car Trigger controller and replace it with a new provided firmware image. The cover case of In-Car Trigger have to be removed and a controller vendor specific fixture is required for this flushing process. 13.1.
Connect the 2x5 connector of CC Debugger to the In-Car Trigger PCB as the pin map below.
Click the reset button of CC Debugger, the connection status LED should turn to green if the debugger successfully connect to the In-Car Trigger controller.
13.1.2 Firmware Flushing Once installing the Smart RF Flash Programmer, Launch Smart RF Flash Programmer on host system to bring up the In-Car Trigger controller flash programming user interface. Correctly select the target device and make sure CC debugger is recognized by the flash programmer Select the provided firmware image *.hex file for flushing the In-Car Trigger controller. Configure Flushing procedure and click “Perform action” to start firmware flushing.
Unplug the CC Debugger from Inn-Car Trigger when flash programmer generate programming successfully message. 13.2Serial Bootloader Serial Bootloader provide a pure software process to flush the firmware of controller with provided firmware image file. The process requires no specific fixture or removing the cover case. [Note] Serial Bootloader is staring phasing-in In-Car Trigger controller firmware since V1.01 to provide ability to update the controller to the LATER version firmware.
Before launching the firmware flushing process, edit the provided InCarTriggerBootloader.bat script to make sure the filename specified in batch script is identical to the provided *.bin file. Save and execute InCarTriggerBootloader.bat script to initiate the firmware flushing process and pop up command line window below to notify user the progress of whole process: Stage 1: Bootloader application will poll all serial ports of system to search out the one connected to the In-Car Trigger.
Stage 4: Bootloader application will poll the return status sent from In-Car Trigger after finish the firmware transmission.
14 TBD
Federal Communication Commission Interference Statement This equipment has been tested and found to comply with the limits for a Class B digital device, pursuant to Part 15 of the FCC Rules. These limits are designed to provide reasonable protection against harmful interference in a residential installation. This equipment generates, uses and can radiate radio frequency energy and, if not installed and used in accordance with the instructions, may cause harmful interference to radio communications.