SFBPrint.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00029 #ifndef SFBPRINT_H
00030 #define SFBPRINT_H
00031
00032 #include "SFBConstants.h"
00033 #include "SFBAlarm.h"
00034 #include "SFBReactor.h"
00035 #include "SFBFrame.h"
00036
00037
00038
00039 extern void print(const char * str);
00040
00041 extern void print(const u8 * str, u32 len);
00042
00043 extern void print(int decimal);
00044
00045 extern void print(unsigned int decimal);
00046
00047 extern void print(long decimal);
00048
00049 extern void print(unsigned long decimal);
00050
00051 extern void print(long decimal, int code);
00052
00053 extern void print(double val);
00054
00055 extern void printFace();
00056
00057
00058 extern void printPacket(u8 * packet);
00059
00060
00061 extern void println();
00062
00063 extern void println(const char * str);
00064
00065 extern void println(const u8 * str, u32 len);
00066
00067 extern void println(int decimal);
00068
00069 extern void println(unsigned int decimal);
00070
00071 extern void println(long decimal);
00072
00073 extern void println(unsigned long decimal);
00074
00075 extern void println(long decimal, int code);
00076
00077 extern void println(double val);
00078
00079 extern void printlnCheckByte();
00080
00081
00082 extern void facePrint(u8 face, const char * str);
00083 extern void facePrint(u8 face, const u8 * str, u32 len);
00084 extern void facePrint(u8 face, int decimal);
00085 extern void facePrint(u8 face, unsigned int decimal);
00086 extern void facePrint(u8 face, long decimal);
00087 extern void facePrint(u8 face, unsigned long decimal);
00088
00089 extern void facePrint(u8 face, unsigned long decimal, int code);
00090 extern void facePrint(u8 face, unsigned long decimal, int code, bool printneg, int width, bool zerofill);
00091 extern void facePrint(u8 face, double val);
00092 extern void facePrint(u8 face, double val);
00093 extern void facePrintFace(u8 face);
00094 extern void facePrintPacket(u8 face, const u8 * packet);
00095
00096 extern void facePrintln(u8 face);
00097 extern void facePrintln(u8 face, const char * str);
00098
00099 extern void facePrintln(u8 face, const u8 * str, u32 len);
00100
00101 extern void facePrintln(u8 face, int decimal);
00102
00103 extern void facePrintln(u8 face, unsigned int decimal);
00104
00105 extern void facePrintln(u8 face, long decimal);
00106
00107 extern void facePrintln(u8 face, unsigned long decimal);
00108
00109 extern void facePrintln(u8 face, unsigned long decimal, int code);
00112 extern void facePrintln(u8 face, double val);
00113
00114 extern void facePrintlnCheckByte(u8 face);
00115
00128 struct FacePrinter {
00129 void (*print)(u8 face, u8 byte);
00130 void (*println)(u8 face);
00131 void (*printFaceCode)(u8 face);
00132
00133 const char * (*getFaceName)(u8 face);
00134
00135 };
00136
00137 extern bool faceHasPrinter(u8 face);
00138
00139
00146 extern const FacePrinter * faceGetPrinter(u8 face);
00147
00158 extern bool faceFindFreeFace(u8 & foundFace);
00159
00174 extern void faceSetPrinter(u8 face, const FacePrinter * handler) ;
00175
00184 extern void faceUnsetPrinter(u8 face) ;
00185
00190 struct PacketPrinterHeader {
00191 FacePrinter fp;
00192 u8 maxLen;
00193 u8 usedLen;
00194 u8 sourceFace;
00195
00196 };
00197
00207 extern void packetPrinterStoreDataByte(PacketPrinterHeader *pph, u8 byte) ;
00208
00218 extern void packetPrinterTerminatePacket(PacketPrinterHeader *pph) ;
00219
00226 extern u8 * packetPrinterPrintedPacket(PacketPrinterHeader *pph) ;
00227
00235 #define PACKET_PRINTER_BUFFER_OVERHEAD_BYTES \
00236 (sizeof(PacketPrinterHeader)+sizeof(PacketHeader)+3+1) // (up to) 3 for alignment + 1 null terminator
00237
00241 #define PACKET_PRINTER_PACKET_BUFFER_SIZE \
00242 (PACKET_PRINTER_BUFFER_OVERHEAD_BYTES+MAX_PACKET_LENGTH) // room for a full packet
00243
00288 extern u8 * makePacketPrinter(u8 & assignedFace, u8 * buffer, u32 bufferLength, u8 sourceFace) ;
00289
00290 extern PacketPrinterHeader * initializePacketPrinterBuffer(const FacePrinter * fp, u8 onFace, u8 * buffer, u32 bufferLength, u8 sourceFace) ;
00291
00292
00293 extern void print_startup_initialization() ;
00294
00295 #endif
00296