Streaming Serial Octave

By grim , 15 July 2014

I have been recently working with a custom CA-SDK that sends only the raw gyro and accel data in a compact 15 byte binary protocol. I have been able to successfully stream this data at 500Hz data with no misses at 115200 baud directly through a remote motion application in Octave 3.6.4 on my Win7 64 PC using a USB connection. Unfortunately I can't get this to work with a Bluetooth connection because of comport address permissions(see below). Tera Term and Putty have no problems resolving the address and opening the port, though there may be some occasional data interrupts.

-Has anyone seen this problem and fixed it?
-Is Matlab successful with the CA-SDK via BT? Any missed samples at high data rate, e.g. 460.8kbaud ? (Unfortunately, I only have access to open source Octave, so a solution to my query would be valuable.)
-Python serial is very solid and can open for batch logging (I can provide a script) but Octave is much easier (for me at least) for motion app development.
-Here is my recent Octave help post:
http://octave.1599824.n4.nabble.com/Streaming-Serial-Octave-tp4665537.html

Here also is a backup paste as well:

"I have encountered numerous serial com workarounds here but native Octave3.6.4 seems very close on its own and is already promising to be as solid an practical as Python at least up to 460.8kbaud tested so far.

Some motivation, an important problem case with fopen defined and a requested answer/solution:

Octave would be a great tool for rapid high level embedded application development. Once a streaming algorithm is successfully developed in Octave using real time streaming serial data from the device/sensor through Octave then it would be much easier to partition and complete any embedded code needed on the device side...it may even be as good or better than Matlab. Modern PC's and serial port buffering could support a LOT of streaming/real-time development.

..but...I need your help with this one last issue of opening a "Standard Serial over Bluetooth link(COM24)" device. I was able to get all wired serial ports to work but many embedded devices use Bluetooth which creates special ("virtual") com ports to interface with the radio driver. Here is an example:

> [fid,msg]=fopen('\.COM24','r+')
> fid=-1
> msg= Permission denied

Why??? Is there a workaround or a patch?

If needed, I found a possible address (ECFE7E116058) for the actual target serial device using serial.tools.list_ports.comports() but couldn't see how to use it.
> [fid,msg]=fopen('ECFE7E116058','r+')
> fid=-1
> msg= No such file or directory

On regular wired serial devices or USB connected devices I have had great success with streaming device (sensor in this case) data at 460.8kbaud straight into Octave 3.6.4 and keeping up with it in real time with a fairly sophisticated algorithm !! No need for PySerial batch collection first or serialport/sockets packages or Oct2py complexities.

The trick I had to learn was to use the "full" comport name('\.COMxx') and NOT ('\\.\COMxx') or fopen wouldn't work above COM4. Embedded development results in many, many comports. "

phpbb Topic ID
16377