As usual HWH, you were right. I changed my CC3D config to disable HID and send telemetry to the VCP (before this, I didn't get that VCP meant Virtual Comm Port, duh). Now I am able to successfully Open the serial port.
After a successful Open, I try to Read a byte. But this blocks as no data is available for reading! Perhaps I am not understanding UAVTalk. Do I have to Write to the port to request object before it will send any?
I've tried this with:
// 0xAD3C0E06 ACCELSTATE_OBJID 12
byte[] objReq = { 0x3C, 0x21, 0x0A, 0x00, 0xAD, 0x3C, 0x0E, 0x06, 0x00, 0x00 }; // tried reversing the byte orders of the fields too
serialPort.Write( objReq, 0, 10 );
...before reading but still reading blocks as it seems CC3D isn't sending anything.
How do I reset LiberPilot to use HID? By default, it connects with CopterControler (HID) when plugged in. I must manually press the Disconnect button. Then select "Serial COM7" and Connect. But when this is done, LiberPilot still does not see the HW; Configuration & Firmware tabs empty, System Settings all disabled, etc.... Just System Data Objects GCSTelemetryStats shows it is trying to write bytes. Where can I reconfigure it back to use HID?
FYI, disconnecting the USB plug while in this mode crashed LiberPilot. Let me know if there is any info yall may want to help debug this?