00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef __WPROGRAM_H__
00025
00026 #include <WaspClasses.h>
00027 #endif
00028
00029
00030
00031 WaspUSB::WaspUSB()
00032 {
00033 _uart = 0;
00034 }
00035
00036
00037
00038 void WaspUSB::begin()
00039 {
00040 beginSerial(USB_RATE, _uart);
00041 }
00042
00043 void WaspUSB::close()
00044 {
00045 closeSerial(_uart);
00046 }
00047
00048 uint8_t WaspUSB::available()
00049 {
00050 return serialAvailable( _uart);
00051 }
00052
00053 int WaspUSB::read()
00054 {
00055 return serialRead( _uart);
00056 }
00057
00058 void WaspUSB::flush()
00059 {
00060 serialFlush( _uart);
00061 }
00062
00063 void WaspUSB::print(char c)
00064 {
00065 printByte(c, _uart);
00066 }
00067
00068 void WaspUSB::print(const char c[])
00069 {
00070 printString(c, _uart);
00071 }
00072
00073 void WaspUSB::print(uint8_t b)
00074 {
00075 printByte(b, _uart);
00076 }
00077
00078 void WaspUSB::print(int n)
00079 {
00080 print((long) n);
00081 }
00082
00083 void WaspUSB::print(unsigned int n)
00084 {
00085 print((unsigned long) n);
00086 }
00087
00088 void WaspUSB::print(long n)
00089 {
00090 if (n < 0) {
00091 print('-');
00092 n = -n;
00093 }
00094 printNumber(n, 10);
00095 }
00096
00097 void WaspUSB::print(unsigned long n)
00098 {
00099 printNumber(n, 10);
00100 }
00101
00102 void WaspUSB::print(long n, int base)
00103 {
00104 if (base == 0)
00105 print((char) n);
00106 else if (base == 10)
00107 print(n);
00108 else
00109 printNumber(n, base);
00110 }
00111
00112 void WaspUSB::print(double n)
00113 {
00114 printFloat(n, 10);
00115 }
00116
00117 void WaspUSB::print(uint64_t n)
00118 {
00119 printInteger(n,0);
00120 }
00121
00122 void WaspUSB::println()
00123 {
00124 print('\r');
00125 print('\n');
00126 }
00127
00128 void WaspUSB::println(char c)
00129 {
00130 print(c);
00131 println();
00132 }
00133
00134 void WaspUSB::println(const char c[])
00135 {
00136 print(c);
00137 println();
00138 }
00139
00140 void WaspUSB::println(uint8_t b)
00141 {
00142 print(b);
00143 println();
00144 }
00145
00146 void WaspUSB::println(int n)
00147 {
00148 print(n);
00149 println();
00150 }
00151
00152 void WaspUSB::println(long n)
00153 {
00154 print(n);
00155 println();
00156 }
00157
00158 void WaspUSB::println(unsigned long n)
00159 {
00160 print(n);
00161 println();
00162 }
00163
00164 void WaspUSB::println(long n, int base)
00165 {
00166 print(n, base);
00167 println();
00168 }
00169
00170 void WaspUSB::println(double n)
00171 {
00172 print(n);
00173 println();
00174 }
00175
00176 void WaspUSB::println(uint64_t n)
00177 {
00178 printInteger(n,0);
00179 println();
00180 }
00181
00182
00183
00184 void WaspUSB::printNumber(unsigned long n, uint8_t base)
00185 {
00186 printIntegerInBase(n, base, _uart);
00187 }
00188
00189 void WaspUSB::printFloat(double number, uint8_t digits)
00190 {
00191
00192 if (number < 0.0)
00193 {
00194 print('-');
00195 number = -number;
00196 }
00197
00198
00199 double rounding = 0.5;
00200 for (uint8_t i=0; i<digits; ++i)
00201 rounding /= 10.0;
00202
00203 number += rounding;
00204
00205
00206 unsigned long int_part = (unsigned long)number;
00207 double remainder = number - (double)int_part;
00208 print(int_part);
00209
00210
00211 if (digits > 0)
00212 print(".");
00213
00214
00215 while (digits-- > 0)
00216 {
00217 remainder *= 10.0;
00218 int toPrint = int(remainder);
00219 print(toPrint);
00220 remainder -= toPrint;
00221 }
00222 }
00223
00224
00225
00226 WaspUSB USB = WaspUSB();
00227