There's an issue with the current libfreespace-examples and the FSRK-USB-2. We use a function called freespace_isNewDevice() to determine which data control message to use. The problem is that this freespace_isNewDevice() does not recognize the USB-2 as a new device and the USB-2 does not support the older message. You can fix your code easily through one of two ways:
- Remove the conditionals in the examples so that you do not check for freespace_isNewDevice() and instead just send the DataModeControlV2Request message
- In the libfreespace library code, modify freespace_deviceTable.c as follows and rebuild the library:
In freespace_newDeviceAPITable[] struct, add the following to the list:
{ "USB Freespace Module (MV)", 0x1d5a, 0xc080, 2 }
So, the correct code for freespace_newDeviceAPITable[] is:
const struct FreespaceDeviceInfo freespace_newDeviceAPITable[] = {
{ "Smart USB RF Transceiver v2 (MKCV)", 0x1d5a, 0xc0b3, 2 },
{ "USB Freespace Module (MV)", 0x1d5a, 0xc080, 2 }
};
There's an open bug for this that should be resolved in the next release.
Thanks,
-Merrill