VCP Documentation

Access data from your sensors communicating via Virtual COM Port (VCP)

1) Presentation

Dracal sensors with the ability to communicate as virtual COM ports are identifiable by the prefix "VCP-" present in their product code.
The communication protocol of these products can be freely converted between two modes: USB mode and VCP mode.
Upon delivery, you will receive your VCP products in USB mode in order to allow a first quick overview of the data via our free data logging and visualization software QTenki.
In this documentation you will find information about the conversion between USB and VCP communication modes, the format of the generated data as well as the commands available in VCP mode.
This documentation is intended for users who have the knowledge to manipulate the data generated by virtual COM port autonomously.
An introductory tutorial for VCP Dracal products will be published in a second step.

2) Installation

Windows and Mac OS X users: How to get usbtenkiset.exe

The command line tool usbtenkiset.exe 2.1.21 and following is required to convert Dracal VCP products from USB to VCP mode.
It is provided with the equivalent version of QTenki.
Under Windows or Mac OS X, first install QTenki. After installation, you will find usbtenkiset.exe in the
installation directory (typically, this will be "c:program filesQTenki" or "c:program files (x86)QTenki").

Linux users: Compile usbtenkiset

Under Linux, the command line tool usbtenkiset must be compiled from the sources. Follow the instructions
found on the Using Dracal sensors under Linux page.

3) VCP products and QTenki

Dracal's VCP products that are in USB mode behave exactly like any classical Dracal USB product.
Their data can be accessed via our command line tool usbtenkiget or our free data logging and visualization software QTenki.

However, once the communication mode has been changed to VCP mode, users working under Windows will no longer be able to access their data via these two tools. However, users working under Linux or Mac OS X will still be able to access their data via these two tools, due to the greater flexibility in the device management process of these two operating systems.

4) Conversion from USB to VCP mode

The communication protocol of VCP- series products is changed from USB mode to VCP mode via our command line tool usbtenkiset.
To do this, the conversion command set_protocol VCP must first be executed, and then be followed by the sensor disconnection.
In the following example, and for all this documentation, we will use a VCP-PTh300 sensor whose serial number is E16026 to illustrate our point.
Here, the disconnection of the sensor has been done virtually using the reset command available with usbtenkiset:

C:Program Files (x86)QTenki>  usbtenkiset -s E16026 set_protocol VCP

C:Program Files (x86)QTenki>  usbtenkiset -s E16026 reset

If only one Dracal sensor is connected to your computer when executing these commands, you can omit to specify the serial number of your device (as there is only one) by using the option -f as in the following example:

C:Program Files (x86)QTenki>  usbtenkiset -f set_protocol VCP

C:Program Files (x86)QTenki>  usbtenkiset -f reset

Note for Windows users: When executing the command reset, the following echo will be returned in your terminal:

C:Program Files (x86)QTenki>  usbtenkiset -f reset
USB control message error: usb_control_msg: sending control message failed, win error: The device does not recognize the command.

This behaviour is normal and confirms that the disconnection was successfully completed.

5) VCP mode: Requirements and data

5.1) Setting up your working tool

In order to allow sending commands to your Dracal device now in VCP mode, it is necessary to disable the echo of your data access tool, whatever it is (Linux terminal, Putty, etc.).

Also, we remind Linux users of the importance of having the necessary access rights to access the data.
For more information, see point 5) of the documentation for Linux users.

5.2) Available data

Only the data from the real channels of your sensors are communicated by VCP protocol.
Recall that a real channel is a channel whose data comes directly from the reading of a physical quantity (temperature, relative humidity, pressure, concentration, etc.) while a virtual channel is one whose data is calculated from the real channels (humidex, altitude, etc.).
To find out the nature (real or virtual) of the existing channels for your product, consult the "Available channels" section of the Specifications tab in its product sheet.

5.3) Data format

The format of the data generated in VCP mode by Dracal products is as follows (without the spacing):



  • LINE_TYPE : The type of the line. The possible options are:
    • D : Data line
    • I: Information line
    • C : Calibrated data (for VCP products supporting Dracal calibration)
  • PRODUCT : Product number (e.g. VCP-PTh300)
  • SERIAL : Unique serial number of the product (e.g. E16026)
  • MESSAGE : Echo message when a command is sent to the device (ex. Poll interval set to 1000 ms)
  • (D1,U1),(D2,U2),...,(Dn,Un) : Readings in pairs (numerical value, unit) (e.g. 100676,Pa,23.8945,C.21.7853,%)
  • .

  • CHECKSUM : *[4-character hexa code calculated with CRC-16 function] (e.g. *A13D)

Here is an excerpt of our VCP-PTh300 readings:

D,VCP-PTh300,E16026,,100681,Pa,*040A %,D,VCP-PTh300,E16026,,100680,Pa,23.9239,C,23.154,%,*CC78 D,VCP-PTh300,E16026,,100680,Pa,23.9532,C,23.1098,%,*1C5D D,VCP-PTh300,E16026,,100684,Pa,23.9666,C,23.035,%,*32C1 D,VCP-PTh300,E16026,,100680,Pa,23.9666,C,22.9892,%,*219C D,VCP-PTh300,E16026,,100681,Pa,23.9666,C,22.9587,%,*3C7F D,VCP-PTh300,E16026,,100680,Pa,23.9372,C,23.0625,%,*A7AD D,VCP-PTh300,E16026,,100681,Pa,23.9532,C,23.1098,%,*59E9 D,VCP-PTh300,E16026,,100683,Pa,23.9532,C,22.9725,%,*B737

Note: Remark that the first two reading lines may be incomplete or inconsistent. This is normal as it is very unlikely that the beginning of the user's data reading is exactly synchronized with the beginning of a communicated data line.

6) Available commands in VCP mode

6.1) Get information about columns: INFO command

The command INFO displays the description of the different data columns, which are specific to each sensor.
This command allows, among other things, users who want to record data in a .csv file to get the header of their columns.
Here is the result of the call of this command for our VCP-PTh300:

D,VCP-PTh300,E16026,,100724,Pa,22.2816,C,22.5376,%,*1C55 D,VCP-PTh300,E16026,,100724,Pa,22.3243,C,22.4674,%,*F8D9 D,VCP-PTh300,E16026,,100724,Pa,22.3083,C,22.3728,%,*34C6 I,Product ID,Serial Number,Message,MS5611 Pressure,Pa,SHT31 Temperature,C,SHT31 Relative Humidity,%,*BBDD     (Invoking command: INFO) D,VCP-PTh300,E16026,,100725,Pa,22.3243,C,22.3301,%,*3CB9 D,VCP-PTh300,E16026,,100724,Pa,22.3377,C,22.3484,%,*B980 D,VCP-PTh300,E16026,,100723,Pa,22.351,C,22.3026,%,*D724

As the terminal is configured without echo, the invocation of the command INFO does not appear in the terminal while the result is present.
Note, on the line corresponding to the result of the command, that the first character displayed is I, reminding that the line is not a data line, but an information line.

6.2) Set the data polling rate: POLL command

The command POLL n, n ≥ 0, is invoked to set to n (in ms) the data polling rate.
Here is an illustration of the feedback displayed after the invocation of the command POLL 2000 (poll data every 2000 ms):

I,VCP-PTh300,E16026,Poll interval set to 2000 ms,,,,,,,*7972         (Invoking command: POLL 2000)

If we try to force a frequency of 5 ms (command POLL 5), which would be much faster than the internal 100 ms limit frequency of the sensor, the latter will be applied, as shown in the following example:

I,VCP-PTh300,E16026,Specified interval is below minimum,,,,,,,*C7AF         (Invoking command: POLL 5)
I,VCP-PTh300,E16026,Poll interval set to 100 ms,,,,,,,*845D

Similarly, if we try to force a frequency (e.g. POLL 100000) that is slower than the 60000 ms limit frequency, the latter will be applied, as shown in the following example:

I,VCP-PTh300,E16026,Specified interval is above maximum,,,,,,,*7EB3          (Invoking command: POLL 100000)
I,VCP-PTh300,E16026,Poll interval set to 60000 ms,,,,,,,*7ED1

Finally, the command POLL 0 stops data polling, until a new command POLL n, n>0, is called again:

I,VCP-PTh300,E16026,Polling disabled,,,,,,,*A777                  (Invoking command: POLL 0)

6.3) Convert back to USB mode: PROTOCOL and RESET commands

The command PROTOCOL is the one to be used to convert the communication protocol from VCP mode to USB mode. In order for the conversion to be effective, the device must then be disconnected either manually or virtually using the command RESET.

Below is an example of the returned feedback after invocation of the commands PROTOCOL USB followed by RESET:

I,VCP-PTh300,E16026,Protocol set,,,,,,,*0D36               (Invoking command: PROTOCOL USB)
I,VCP-PTh300,E16026,Resetting device,,,,,,,*0710           (Invoking command: RESET)

At this point, your product communicates again via USB protocol and Windows users can access their data again via our free data acquisition software and tools. As for Linux and Mac OS X users, you have always been able to continue using these tools even when you were in VCP mode.