Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
SerialFlow.h
00001 /* mbed Serial Flow Library 00002 * Copyright (c) 2012 Oleg Evsegneev 00003 * Released under the MIT License: http://mbed.org/license/mit 00004 */ 00005 00006 #ifndef MBED_SERIALFLOW_H 00007 #define MBED_SERIALFLOW_H 00008 00009 // optional use of MODSERIAL 00010 #define USE_MODSERIAL 00011 00012 #include "mbed.h" 00013 00014 #ifdef USE_MODSERIAL 00015 #include "MODSERIAL.h" 00016 #endif 00017 00018 #define MAX_PACKET_SIZE 10 00019 #define RX_BUFFER_SIZE 32 00020 #define TX_BUFFER_SIZE 32 00021 00022 class SerialFlow { 00023 00024 public: 00025 /** Data format */ 00026 enum DataFormat { 00027 SIMPLE /**< Simple one byte (default) */ 00028 , COMPLEX /**< Packet of many short values */ 00029 }; 00030 00031 SerialFlow(PinName tx, PinName rx); 00032 00033 /** Set portal baud rate 00034 * 00035 * @param baud_rate Port baud rate. 00036 */ 00037 void baud(int baud_rate); 00038 00039 /** Set data packet format 00040 * 00041 * @param p_format Format type constant. 00042 * @param v_length Length of value in bytes. 00043 * @param p_size Number of values. 00044 */ 00045 void setPacketFormat(DataFormat p_format, char v_length, char p_size); 00046 00047 /** Set value to data packet 00048 * 00049 * @param value Value. 00050 */ 00051 void setPacketValue(short value); 00052 00053 /** Send packet to serial port 00054 */ 00055 bool sendPacket(); 00056 00057 /** Receive packet from serial port 00058 */ 00059 bool receivePacket(); 00060 00061 /** Get received packet 00062 * @param idx Index of value from packet. 00063 */ 00064 short getPacket( char idx ); 00065 00066 protected: 00067 #ifdef USE_MODSERIAL 00068 MODSERIAL _serial; 00069 #else 00070 Serial _serial; 00071 #endif 00072 00073 char _p_format; 00074 char _p_size; 00075 char _v_length; 00076 00077 short _vs[MAX_PACKET_SIZE]; 00078 char _vs_idx; 00079 00080 short _vr[MAX_PACKET_SIZE]; 00081 char _vr_val[2]; 00082 char _vr_idx; 00083 char _cr_idx; 00084 bool _escape; 00085 bool _collecting; 00086 }; 00087 00088 #endif
Generated on Fri Jul 15 2022 03:16:50 by
1.7.2