SerialFlow allows to send and receive packaged arrays of integer values via serial port.

SerialFlow allows to send and receive packaged arrays of integer(short only) values via serial port.

Packet format:

  1. begin - 0x12
  2. end - 0x13
  3. value separator - 0x10
  4. escape - 0x7D

Simple packet example:
0x12,0x1,0x0,0x10,0x7D,0x12,0x0,0x13
corresponds to: [1,18]

Now handles only short int values. Example:

#include "mbed.h"
#include "SerialFlow.h"
SerialFlow pc(USBTX, USBRX);
AnalogIn gyro_x(p17); // data from gyro x axis
AnalogIn gyro_y(p18); // data from gyro y axis

int main(){
    // two short values
    pc.setPacketFormat(SerialFlow::COMPLEX_1, 2, 2);
    while(1){
        pc.setPacketValue((short)(gyro_x*1023.0));
        pc.setPacketValue((short)(gyro_y*1023.0));
        pc.sendPacket();
        wait(0.01);
    }
}

On the PC side you can use this program to catch data flows: http://www.poprobot.ru/files/sfmonitor_0.9.zip

History

USE_MODSERIAL flag is on by default default tip

2012-10-21, by Decimus [Sun, 21 Oct 2012 17:40:25 +0000] rev 4

USE_MODSERIAL flag is on by default


Optional MODSERIAL support with default 32byte buffer. It's needed to send more then 5 short-type values.

2012-10-21, by Decimus [Sun, 21 Oct 2012 17:39:20 +0000] rev 3

Optional MODSERIAL support with default 32byte buffer. It's needed to send more then 5 short-type values.


Method "baud"

2012-09-17, by Decimus [Mon, 17 Sep 2012 20:21:31 +0000] rev 2

Method "baud"


New methods receivePacket and getPacket

2012-09-11, by Decimus [Tue, 11 Sep 2012 07:38:40 +0000] rev 1

New methods receivePacket and getPacket


Ability to send several short integer values

2012-09-09, by Decimus [Sun, 09 Sep 2012 13:42:25 +0000] rev 0

Ability to send several short integer values