Message-based firmware specification, Smbi data types, Communication mechanism – Measurement Computing DAQFlex User Manual
Page 4: Control transfers, Chapter 1
![background image](https://www.manualsdir.com/files/797455/content/doc004.png)
4
Chapter 1
Message-based Firmware Specification
The message-based firmware architecture uses a String Message Based Interface (SMBI) to
communicate with supported devices using a minimal number of device transactions.
For those interested in developing a driver to interface directly with the device, the source code for the
DAQFlex software API may be used as a guide.
Click on a link below for more information about the firmware specification:
Message-based control transfers
Programming and developing applications
Updating the FPGA configuration bitfile on a non-Windows system
Note that not all of the messages supported by the software are supported when talking directly to the
device firmware.
SMBI data types
Special formatting characters are returned with RAW data (except streaming data from bulk transfers)
to indicate the following data types:
char[64]: String data in a character array
uint8: unsigned 8-bit value
uint16: unsigned 16-bit value
uint32: unsigned 32-bit value
float32: float 32-bit value
Communication mechanism
The device enumerates as a USB device using an MCC driver.
Control transfers
Control transfers to endpoint 0 are used to communicate with the device.
The control transfer maximum buffer size is 64 bytes.
The control transfers are vendor transfers.
The command code is in the bRequest field.
o SMBI uses the 0x80 data type for strings, and the 0x81 data type for RAW data, when
supported.
Parameters passed for OUT control transfers are sent during the data stage.
The SMBI data stage returns RAW data, with LSB first.