Depot Pertamina / Printer
Committer:
mauuuuul
Date:
Fri Feb 07 08:22:28 2020 +0000
Revision:
1:f257e2e4e026
Parent:
0:7f3d28e53383
Penyesuaian printer trawas

Who changed what in which revision?

UserRevisionLine numberNew contents of line
irsanjul 0:7f3d28e53383 1 #include "mbed.h"
irsanjul 0:7f3d28e53383 2 #include "Printer.h"
irsanjul 0:7f3d28e53383 3
irsanjul 0:7f3d28e53383 4 extern Serial dbg;
mauuuuul 1:f257e2e4e026 5 const char * const WDAY[] = {"Minggu", "Senin", "Selasa", "Rabu",
mauuuuul 1:f257e2e4e026 6 "Kamis", "Jumat", "Sabtu"
mauuuuul 1:f257e2e4e026 7 };
mauuuuul 1:f257e2e4e026 8 const char * const MONT[] = {"Januari", "Februari", "Maret", "April",
mauuuuul 1:f257e2e4e026 9 "Mei", "Juni", "Juli", "Agustus", "September",
mauuuuul 1:f257e2e4e026 10 "Oktober", "November", "Desember"
mauuuuul 1:f257e2e4e026 11 };
irsanjul 0:7f3d28e53383 12
irsanjul 0:7f3d28e53383 13 Printer::Printer(PinName tx_, PinName rx_, int baud_) : Tm(tx_, rx_)
mauuuuul 1:f257e2e4e026 14 {
irsanjul 0:7f3d28e53383 15 }
irsanjul 0:7f3d28e53383 16
irsanjul 0:7f3d28e53383 17 Printer::~Printer()
irsanjul 0:7f3d28e53383 18 {
irsanjul 0:7f3d28e53383 19 }
irsanjul 0:7f3d28e53383 20
irsanjul 0:7f3d28e53383 21 void Printer::init(const PrinterFormat &pf)
irsanjul 0:7f3d28e53383 22 {
irsanjul 0:7f3d28e53383 23 Pf = pf;
mauuuuul 1:f257e2e4e026 24 //Tm.initialize();
irsanjul 0:7f3d28e53383 25 }
irsanjul 0:7f3d28e53383 26
irsanjul 0:7f3d28e53383 27 void Printer::create_header()
irsanjul 0:7f3d28e53383 28 {
irsanjul 0:7f3d28e53383 29 // create header
mauuuuul 1:f257e2e4e026 30 Tm.putc(0x0A);
mauuuuul 1:f257e2e4e026 31 wait_ms(10);
mauuuuul 1:f257e2e4e026 32 Tm.printModes(0x00);
mauuuuul 1:f257e2e4e026 33 wait_ms(10);
mauuuuul 1:f257e2e4e026 34 Tm.printf("SPBU %s", Pf.spbu.c_str());
mauuuuul 1:f257e2e4e026 35 wait_ms(10);
mauuuuul 1:f257e2e4e026 36 //Tm.printModes(0x01);wait_ms(10);
mauuuuul 1:f257e2e4e026 37 //Tm.printf("\n");wait_ms(10);
mauuuuul 1:f257e2e4e026 38 Tm.putc(0x0A);
mauuuuul 1:f257e2e4e026 39 wait_ms(10);
mauuuuul 1:f257e2e4e026 40 for(int i=0; i<Pf.alamat.size(); i++) {
mauuuuul 1:f257e2e4e026 41 Tm.printf("%s", Pf.alamat[i].c_str());
mauuuuul 1:f257e2e4e026 42 wait_ms(10);
mauuuuul 1:f257e2e4e026 43 Tm.putc(0x0A);
mauuuuul 1:f257e2e4e026 44 wait_ms(10);
irsanjul 0:7f3d28e53383 45 }
mauuuuul 1:f257e2e4e026 46 Tm.printf("Telp. %s", Pf.telp.c_str());
mauuuuul 1:f257e2e4e026 47 wait_ms(10);
mauuuuul 1:f257e2e4e026 48 Tm.putc(0x0A);
mauuuuul 1:f257e2e4e026 49 wait_ms(10);
irsanjul 0:7f3d28e53383 50 }
irsanjul 0:7f3d28e53383 51
irsanjul 0:7f3d28e53383 52 // Private Fuction
irsanjul 0:7f3d28e53383 53 string Printer::get_product(const uint8_t code)
irsanjul 0:7f3d28e53383 54 {
irsanjul 0:7f3d28e53383 55 string ret;
mauuuuul 1:f257e2e4e026 56 switch(code) {
mauuuuul 1:f257e2e4e026 57 case 1:
mauuuuul 1:f257e2e4e026 58 ret = "Premium";
mauuuuul 1:f257e2e4e026 59 break;
mauuuuul 1:f257e2e4e026 60 case 2:
mauuuuul 1:f257e2e4e026 61 ret = "Pertalite";
mauuuuul 1:f257e2e4e026 62 break;
mauuuuul 1:f257e2e4e026 63 case 3:
mauuuuul 1:f257e2e4e026 64 ret = "Pertamax";
mauuuuul 1:f257e2e4e026 65 break;
mauuuuul 1:f257e2e4e026 66 case 4:
mauuuuul 1:f257e2e4e026 67 ret = "Bio Solar";
mauuuuul 1:f257e2e4e026 68 break;
mauuuuul 1:f257e2e4e026 69 case 5:
mauuuuul 1:f257e2e4e026 70 ret = "Pertamina Dex";
mauuuuul 1:f257e2e4e026 71 break;
irsanjul 0:7f3d28e53383 72 }
irsanjul 0:7f3d28e53383 73 return ret;
irsanjul 0:7f3d28e53383 74 }
irsanjul 0:7f3d28e53383 75
irsanjul 0:7f3d28e53383 76 void Printer::TestPrint(const std::time_t &now)
irsanjul 0:7f3d28e53383 77 {
mauuuuul 1:f257e2e4e026 78 std::tm * ptm = std::localtime(&now);
irsanjul 0:7f3d28e53383 79 char times[64];
mauuuuul 1:f257e2e4e026 80 strftime (times,64,"%Y %H:%M:%S",ptm);
mauuuuul 1:f257e2e4e026 81
mauuuuul 1:f257e2e4e026 82 Tm.printf("%s, %02d %s %s", WDAY[ptm->tm_wday], ptm->tm_mday, MONT[ptm->tm_mon], times);
mauuuuul 1:f257e2e4e026 83 Tm.putc(0x0A);
mauuuuul 1:f257e2e4e026 84 Tm.printf("__________________________________");
mauuuuul 1:f257e2e4e026 85 Tm.putc(0x0A);
mauuuuul 1:f257e2e4e026 86 Tm.printf("Nomor Printer: %d", Pf.id);
mauuuuul 1:f257e2e4e026 87 Tm.putc(0x0A);
mauuuuul 1:f257e2e4e026 88 Tm.printf("Nomor Selang : 2");
mauuuuul 1:f257e2e4e026 89 Tm.putc(0x0A);
mauuuuul 1:f257e2e4e026 90 Tm.printf("Nomor Nota : 1");
mauuuuul 1:f257e2e4e026 91 Tm.putc(0x0A);
mauuuuul 1:f257e2e4e026 92 Tm.printf("Jenis BBM : SOLAR");
mauuuuul 1:f257e2e4e026 93 Tm.putc(0x0A);
mauuuuul 1:f257e2e4e026 94 Tm.printf("Liter : 5.00");
mauuuuul 1:f257e2e4e026 95 Tm.putc(0x0A);
mauuuuul 1:f257e2e4e026 96 Tm.printf("Harga/Liter : Rp 10.000");
mauuuuul 1:f257e2e4e026 97 Tm.putc(0x0A);
mauuuuul 1:f257e2e4e026 98 Tm.printModes(0x10);
mauuuuul 1:f257e2e4e026 99 Tm.printf("Total : Rp 50.000");
mauuuuul 1:f257e2e4e026 100
irsanjul 0:7f3d28e53383 101 Tm.printModes(0x01);
irsanjul 0:7f3d28e53383 102 Tm.printf("_________________________________\n");
mauuuuul 1:f257e2e4e026 103 //for(int i=0; i<Pf.footer.size(); i++) {
mauuuuul 1:f257e2e4e026 104 // Tm.printf("%s\r\n", Pf.footer[i].c_str());
mauuuuul 1:f257e2e4e026 105 // }
mauuuuul 1:f257e2e4e026 106 Tm.printf("\n");
mauuuuul 1:f257e2e4e026 107 Tm.printf("\n");
mauuuuul 1:f257e2e4e026 108 Tm.printf("\n");
mauuuuul 1:f257e2e4e026 109 Tm.printf("\n");
mauuuuul 1:f257e2e4e026 110 Tm.printf("\n");
mauuuuul 1:f257e2e4e026 111
irsanjul 0:7f3d28e53383 112 create_header();
irsanjul 0:7f3d28e53383 113 }
irsanjul 0:7f3d28e53383 114 string intwcurrency(const int &val)
irsanjul 0:7f3d28e53383 115 {
mauuuuul 1:f257e2e4e026 116 char str[20];
mauuuuul 1:f257e2e4e026 117
mauuuuul 1:f257e2e4e026 118 sprintf(str,"%6d", val);
mauuuuul 1:f257e2e4e026 119 string input;
mauuuuul 1:f257e2e4e026 120 input += str;
mauuuuul 1:f257e2e4e026 121 if(val>999) {
mauuuuul 1:f257e2e4e026 122 for( int i = input.size() - 3; i > 0; i -= 3 ) {
mauuuuul 1:f257e2e4e026 123 input.insert( input.begin() + i, ',' );
mauuuuul 1:f257e2e4e026 124 }
mauuuuul 1:f257e2e4e026 125 } else {
mauuuuul 1:f257e2e4e026 126 for( int i = input.size() - 3; i > 0; i -= 3 ) {
mauuuuul 1:f257e2e4e026 127 input.insert( input.begin() + i, ' ' );
mauuuuul 1:f257e2e4e026 128 }
mauuuuul 1:f257e2e4e026 129 }
mauuuuul 1:f257e2e4e026 130 return input;
irsanjul 0:7f3d28e53383 131 }
irsanjul 0:7f3d28e53383 132
irsanjul 0:7f3d28e53383 133 void Printer::PrintStruk(const std::time_t &now, const char *datain, const unsigned int &no_nota, const uint8_t &nozz,
mauuuuul 1:f257e2e4e026 134 const uint8_t pipa, const string &Nopol, const string &Odo)
irsanjul 0:7f3d28e53383 135 {
mauuuuul 1:f257e2e4e026 136 float liter=0;
mauuuuul 1:f257e2e4e026 137 unsigned int harga=0;
mauuuuul 1:f257e2e4e026 138 unsigned long int total=0;
mauuuuul 1:f257e2e4e026 139 char times[64];
irsanjul 0:7f3d28e53383 140
irsanjul 0:7f3d28e53383 141
mauuuuul 1:f257e2e4e026 142 liter =((datain[1]-0x30)*100) + ((datain[2]-0x30)*10) + ((datain[3]-0x30)*1) + ((datain[4]-0x30)*0.1) + ((datain[5]-0x30)* 0.01);
mauuuuul 1:f257e2e4e026 143
mauuuuul 1:f257e2e4e026 144 harga = ((datain[7]-0x30)*1000) + ((datain[8]-0x30)*100) + ((datain[9]-0x30)*10) + ((datain[10]-0x30)*1);
mauuuuul 1:f257e2e4e026 145 total = ((datain[11]-0x30)*100000) + ((datain[12]-0x30)*10000) + ((datain[13]-0x30)*1000) + ((datain[14]-0x30)*100) + ((datain[15]-0x30)*10)+((datain[16]-0x30)*1);
mauuuuul 1:f257e2e4e026 146
mauuuuul 1:f257e2e4e026 147 if(Pf.id == 2 || Pf.id == 3 || Pf.id == 5) {
mauuuuul 1:f257e2e4e026 148 harga = harga/10;
mauuuuul 1:f257e2e4e026 149 total = total/10;
mauuuuul 1:f257e2e4e026 150 }
mauuuuul 1:f257e2e4e026 151
mauuuuul 1:f257e2e4e026 152 std::tm * ptm = std::localtime(&now);
mauuuuul 1:f257e2e4e026 153 strftime (times,64,"%Y %H:%M:%S",ptm);
mauuuuul 1:f257e2e4e026 154 wait_ms(100);
irsanjul 0:7f3d28e53383 155
mauuuuul 1:f257e2e4e026 156 Tm.printf("%s, %02d %s %s", WDAY[ptm->tm_wday], ptm->tm_mday, MONT[ptm->tm_mon], times);
mauuuuul 1:f257e2e4e026 157 wait_ms(10);
mauuuuul 1:f257e2e4e026 158 Tm.lineFeed();
mauuuuul 1:f257e2e4e026 159 wait_ms(10);
mauuuuul 1:f257e2e4e026 160 Tm.printf("__________________________________");
mauuuuul 1:f257e2e4e026 161 wait_ms(10);
mauuuuul 1:f257e2e4e026 162 Tm.lineFeed();
mauuuuul 1:f257e2e4e026 163 wait_ms(10);
mauuuuul 1:f257e2e4e026 164 // Tm.printf("Nomor Printer: %d", Pf.id);
mauuuuul 1:f257e2e4e026 165 // wait_ms(10);
mauuuuul 1:f257e2e4e026 166 // Tm.lineFeed();
mauuuuul 1:f257e2e4e026 167 // wait_ms(10);
mauuuuul 1:f257e2e4e026 168 Tm.printf("Nomor Selang : %d", pipa);
mauuuuul 1:f257e2e4e026 169 wait_ms(10);
mauuuuul 1:f257e2e4e026 170 Tm.lineFeed();
mauuuuul 1:f257e2e4e026 171 wait_ms(10);
mauuuuul 1:f257e2e4e026 172 Tm.printf("Nomor Nota : %d", no_nota);
mauuuuul 1:f257e2e4e026 173 wait_ms(10);
mauuuuul 1:f257e2e4e026 174 Tm.lineFeed();
mauuuuul 1:f257e2e4e026 175 wait_ms(10);
mauuuuul 1:f257e2e4e026 176 Tm.printf("Jenis BBM : %s", get_product(nozz).c_str());
mauuuuul 1:f257e2e4e026 177 wait_ms(10);
mauuuuul 1:f257e2e4e026 178 Tm.lineFeed();
mauuuuul 1:f257e2e4e026 179 wait_ms(10);
mauuuuul 1:f257e2e4e026 180 Tm.printf("Liter : %3.2f",liter);
mauuuuul 1:f257e2e4e026 181 wait_ms(10);
mauuuuul 1:f257e2e4e026 182 Tm.lineFeed();
mauuuuul 1:f257e2e4e026 183 wait_ms(10);
mauuuuul 1:f257e2e4e026 184 Tm.printf("Harga/Liter : Rp. %s",intwcurrency(harga).c_str());
mauuuuul 1:f257e2e4e026 185 wait_ms(10);
mauuuuul 1:f257e2e4e026 186 Tm.lineFeed();
mauuuuul 1:f257e2e4e026 187 wait_ms(10);
mauuuuul 1:f257e2e4e026 188 Tm.printModes(0x10);
mauuuuul 1:f257e2e4e026 189 wait_ms(10);
mauuuuul 1:f257e2e4e026 190 Tm.printf("Total : Rp. %s",intwcurrency(total).c_str());
mauuuuul 1:f257e2e4e026 191 wait_ms(10);
mauuuuul 1:f257e2e4e026 192 Tm.lineFeed();
mauuuuul 1:f257e2e4e026 193 wait_ms(10);
mauuuuul 1:f257e2e4e026 194 Tm.printModes(0x00);
mauuuuul 1:f257e2e4e026 195 wait_ms(10);
mauuuuul 1:f257e2e4e026 196 Tm.printf("__________________________________");
mauuuuul 1:f257e2e4e026 197 wait_ms(10);
mauuuuul 1:f257e2e4e026 198 Tm.lineFeed();
mauuuuul 1:f257e2e4e026 199 wait_ms(10);
mauuuuul 1:f257e2e4e026 200
mauuuuul 1:f257e2e4e026 201 if(Nopol.size()>0)Tm.printf("Nopol : %s",Nopol.c_str());
mauuuuul 1:f257e2e4e026 202 wait_ms(10);
mauuuuul 1:f257e2e4e026 203 Tm.lineFeed();
mauuuuul 1:f257e2e4e026 204 wait_ms(10);
mauuuuul 1:f257e2e4e026 205
mauuuuul 1:f257e2e4e026 206 if(Odo.size()>0) Tm.printf("Odometer : %s",Odo.c_str());
mauuuuul 1:f257e2e4e026 207 wait_ms(10);
mauuuuul 1:f257e2e4e026 208 Tm.lineFeed();
mauuuuul 1:f257e2e4e026 209 wait_ms(10);
mauuuuul 1:f257e2e4e026 210
mauuuuul 1:f257e2e4e026 211 wait_ms(50);
mauuuuul 1:f257e2e4e026 212 // for(int i=0; i<Pf.footer.size(); i++) {
mauuuuul 1:f257e2e4e026 213 // Tm.printf("%s\r", Pf.footer[i].c_str());
mauuuuul 1:f257e2e4e026 214 // wait_ms(10);
mauuuuul 1:f257e2e4e026 215 // Tm.lineFeed();
mauuuuul 1:f257e2e4e026 216 // wait_ms(10);
mauuuuul 1:f257e2e4e026 217 // }
mauuuuul 1:f257e2e4e026 218 Tm.lineFeed();
mauuuuul 1:f257e2e4e026 219 wait_ms(10);
mauuuuul 1:f257e2e4e026 220 Tm.lineFeed();
mauuuuul 1:f257e2e4e026 221 wait_ms(10);
mauuuuul 1:f257e2e4e026 222 Tm.lineFeed();
mauuuuul 1:f257e2e4e026 223 wait_ms(10);
mauuuuul 1:f257e2e4e026 224 Tm.lineFeed();
mauuuuul 1:f257e2e4e026 225 wait_ms(10);
mauuuuul 1:f257e2e4e026 226 Tm.lineFeed();
mauuuuul 1:f257e2e4e026 227 wait_ms(10);
mauuuuul 1:f257e2e4e026 228 Tm.lineFeed();
mauuuuul 1:f257e2e4e026 229 wait_ms(10);
mauuuuul 1:f257e2e4e026 230 Tm.cutPaper();
mauuuuul 1:f257e2e4e026 231 create_header();
irsanjul 0:7f3d28e53383 232 }
irsanjul 0:7f3d28e53383 233
mauuuuul 1:f257e2e4e026 234 void Printer::PrintStruk(const std::time_t &now, const ResultParsing &res, const unsigned int &no_nota,
mauuuuul 1:f257e2e4e026 235 const string &Nopol, const string &Odo)
irsanjul 0:7f3d28e53383 236 {
mauuuuul 1:f257e2e4e026 237 float liter=0;
mauuuuul 1:f257e2e4e026 238 unsigned int harga=0;
mauuuuul 1:f257e2e4e026 239 unsigned long int total=0;
mauuuuul 1:f257e2e4e026 240 char times[64];
mauuuuul 1:f257e2e4e026 241 liter = res.volume;
mauuuuul 1:f257e2e4e026 242 harga = res.ppu;
mauuuuul 1:f257e2e4e026 243 total = res.money;
irsanjul 0:7f3d28e53383 244
mauuuuul 1:f257e2e4e026 245 if(res.id == 2 || res.id == 5) {
mauuuuul 1:f257e2e4e026 246 harga = harga/10;
mauuuuul 1:f257e2e4e026 247 total = total/10;
mauuuuul 1:f257e2e4e026 248 }
mauuuuul 1:f257e2e4e026 249 std::tm * ptm = std::localtime(&now);
mauuuuul 1:f257e2e4e026 250 strftime (times,64,"%Y %H:%M:%S",ptm);
mauuuuul 1:f257e2e4e026 251 wait_ms(100);
mauuuuul 1:f257e2e4e026 252
mauuuuul 1:f257e2e4e026 253 Tm.printf("%s, %02d %s %s", WDAY[ptm->tm_wday], ptm->tm_mday, MONT[ptm->tm_mon], times);
mauuuuul 1:f257e2e4e026 254 wait_ms(30);
mauuuuul 1:f257e2e4e026 255 printf("time printed\r\n");
mauuuuul 1:f257e2e4e026 256 Tm.lineFeed();
mauuuuul 1:f257e2e4e026 257 wait_ms(30);
mauuuuul 1:f257e2e4e026 258 Tm.printf("__________________________________");
mauuuuul 1:f257e2e4e026 259 printf("line printed\r\n");
mauuuuul 1:f257e2e4e026 260 wait_ms(30);
mauuuuul 1:f257e2e4e026 261 Tm.lineFeed();
mauuuuul 1:f257e2e4e026 262 wait_ms(30);
mauuuuul 1:f257e2e4e026 263 // Tm.printf("Nomor Printer: %d", Pf.id);
mauuuuul 1:f257e2e4e026 264 // wait_ms(10);
mauuuuul 1:f257e2e4e026 265 // Tm.lineFeed();
mauuuuul 1:f257e2e4e026 266 // wait_ms(10);
mauuuuul 1:f257e2e4e026 267 Tm.printf("Nomor Selang : %d", res.id);
mauuuuul 1:f257e2e4e026 268 printf("Selang printed\r\n");
irsanjul 0:7f3d28e53383 269
mauuuuul 1:f257e2e4e026 270 wait_ms(30);
mauuuuul 1:f257e2e4e026 271 Tm.lineFeed();
mauuuuul 1:f257e2e4e026 272 wait_ms(30);
mauuuuul 1:f257e2e4e026 273 Tm.printf("Nomor Nota : %d", no_nota);
mauuuuul 1:f257e2e4e026 274 printf("Nomor Nota printed\r\n");
mauuuuul 1:f257e2e4e026 275 wait_ms(30);
mauuuuul 1:f257e2e4e026 276 Tm.lineFeed();
mauuuuul 1:f257e2e4e026 277 wait_ms(30);
mauuuuul 1:f257e2e4e026 278 Tm.printf("Jenis BBM : %s", res.product.c_str());
mauuuuul 1:f257e2e4e026 279 printf("Jenis BBM printed\r\n");
mauuuuul 1:f257e2e4e026 280 wait_ms(30);
mauuuuul 1:f257e2e4e026 281 Tm.lineFeed();
mauuuuul 1:f257e2e4e026 282 wait_ms(30);
mauuuuul 1:f257e2e4e026 283 Tm.printf("Liter : %3.2f",liter);
mauuuuul 1:f257e2e4e026 284 printf("Liter printed\r\n");
mauuuuul 1:f257e2e4e026 285 wait_ms(30);
mauuuuul 1:f257e2e4e026 286 Tm.lineFeed();
mauuuuul 1:f257e2e4e026 287 wait_ms(30);
mauuuuul 1:f257e2e4e026 288 Tm.printf("Harga/Liter : Rp. %s",intwcurrency(harga).c_str());
mauuuuul 1:f257e2e4e026 289 printf("Harga/Liter printed\r\n");
mauuuuul 1:f257e2e4e026 290 wait_ms(30);
mauuuuul 1:f257e2e4e026 291 Tm.lineFeed();
mauuuuul 1:f257e2e4e026 292 wait_ms(30);
mauuuuul 1:f257e2e4e026 293 Tm.printModes(0x10);
mauuuuul 1:f257e2e4e026 294 wait_ms(30);
mauuuuul 1:f257e2e4e026 295 Tm.printf("Total : Rp. %s",intwcurrency(total).c_str());
mauuuuul 1:f257e2e4e026 296 printf("Total printed\r\n");
mauuuuul 1:f257e2e4e026 297 wait_ms(30);
mauuuuul 1:f257e2e4e026 298 Tm.lineFeed();
mauuuuul 1:f257e2e4e026 299 wait_ms(30);
mauuuuul 1:f257e2e4e026 300 Tm.printModes(0x00);
mauuuuul 1:f257e2e4e026 301 wait_ms(30);
mauuuuul 1:f257e2e4e026 302 Tm.printf("__________________________________");
mauuuuul 1:f257e2e4e026 303 printf("Line printed\r\n");
mauuuuul 1:f257e2e4e026 304 wait_ms(30);
mauuuuul 1:f257e2e4e026 305 Tm.lineFeed();
mauuuuul 1:f257e2e4e026 306 wait_ms(30);
mauuuuul 1:f257e2e4e026 307
mauuuuul 1:f257e2e4e026 308 if(Nopol.size()>0) {
mauuuuul 1:f257e2e4e026 309 Tm.printf("Nopol : %s",Nopol.c_str());
mauuuuul 1:f257e2e4e026 310 wait_ms(30);
mauuuuul 1:f257e2e4e026 311 Tm.lineFeed();
mauuuuul 1:f257e2e4e026 312 wait_ms(30);
mauuuuul 1:f257e2e4e026 313 }
mauuuuul 1:f257e2e4e026 314
mauuuuul 1:f257e2e4e026 315 if(Odo.size()>0) {
mauuuuul 1:f257e2e4e026 316 Tm.printf("Odometer : %s",Odo.c_str());
mauuuuul 1:f257e2e4e026 317 wait_ms(30);
mauuuuul 1:f257e2e4e026 318 Tm.lineFeed();
mauuuuul 1:f257e2e4e026 319 wait_ms(30);
mauuuuul 1:f257e2e4e026 320 }
mauuuuul 1:f257e2e4e026 321
mauuuuul 1:f257e2e4e026 322 if(Nopol.size()>0 && Odo.size() >0) {
mauuuuul 1:f257e2e4e026 323 Tm.printf("==================================");
mauuuuul 1:f257e2e4e026 324 wait_ms(30);
mauuuuul 1:f257e2e4e026 325 Tm.lineFeed();
mauuuuul 1:f257e2e4e026 326 wait_ms(30);
mauuuuul 1:f257e2e4e026 327 }
mauuuuul 1:f257e2e4e026 328 printf("Line printed\r\n");
mauuuuul 1:f257e2e4e026 329 wait_ms(50);
mauuuuul 1:f257e2e4e026 330 // for(int i=0; i<Pf.footer.size(); i++) {
mauuuuul 1:f257e2e4e026 331 // Tm.printf("%s", Pf.footer[i].c_str());
mauuuuul 1:f257e2e4e026 332 // wait_ms(10);
mauuuuul 1:f257e2e4e026 333 // Tm.lineFeed();
mauuuuul 1:f257e2e4e026 334 // wait_ms(10);
mauuuuul 1:f257e2e4e026 335 // }
mauuuuul 1:f257e2e4e026 336 wait_ms(30);
mauuuuul 1:f257e2e4e026 337 Tm.lineFeed();
mauuuuul 1:f257e2e4e026 338 wait_ms(30);
mauuuuul 1:f257e2e4e026 339 Tm.lineFeed();
mauuuuul 1:f257e2e4e026 340 wait_ms(30);
mauuuuul 1:f257e2e4e026 341 Tm.lineFeed();
mauuuuul 1:f257e2e4e026 342 wait_ms(30);
mauuuuul 1:f257e2e4e026 343 Tm.lineFeed();
mauuuuul 1:f257e2e4e026 344 wait_ms(30);
mauuuuul 1:f257e2e4e026 345 Tm.lineFeed();
mauuuuul 1:f257e2e4e026 346 wait_ms(30);
mauuuuul 1:f257e2e4e026 347 Tm.cutPaper();
mauuuuul 1:f257e2e4e026 348 wait_ms(50);
mauuuuul 1:f257e2e4e026 349 create_header();
mauuuuul 1:f257e2e4e026 350 wait_ms(30);
mauuuuul 1:f257e2e4e026 351 printf("Done\r\n");
irsanjul 0:7f3d28e53383 352 }
irsanjul 0:7f3d28e53383 353
mauuuuul 1:f257e2e4e026 354 void Printer::PrintStrukManual(const std::time_t &now, const ResultParsing &res, const unsigned int &no_nota)
irsanjul 0:7f3d28e53383 355 {
mauuuuul 1:f257e2e4e026 356 float liter=0;
mauuuuul 1:f257e2e4e026 357 unsigned int harga=0;
mauuuuul 1:f257e2e4e026 358 unsigned long int total=0;
mauuuuul 1:f257e2e4e026 359 char times[64];
irsanjul 0:7f3d28e53383 360
mauuuuul 1:f257e2e4e026 361 liter = res.volume;
mauuuuul 1:f257e2e4e026 362 harga = res.ppu;
mauuuuul 1:f257e2e4e026 363 total = res.money;
mauuuuul 1:f257e2e4e026 364
mauuuuul 1:f257e2e4e026 365 if(res.id == 2 || res.id == 5) {
mauuuuul 1:f257e2e4e026 366 harga = harga/10;
mauuuuul 1:f257e2e4e026 367 total = total/10;
mauuuuul 1:f257e2e4e026 368
mauuuuul 1:f257e2e4e026 369 }
mauuuuul 1:f257e2e4e026 370
mauuuuul 1:f257e2e4e026 371 std::tm * ptm = std::localtime(&now);
mauuuuul 1:f257e2e4e026 372 strftime (times,64,"%Y %H:%M:%S",ptm);
mauuuuul 1:f257e2e4e026 373 wait_ms(100);
irsanjul 0:7f3d28e53383 374
mauuuuul 1:f257e2e4e026 375 Tm.printf("%s, %02d %s %s", WDAY[ptm->tm_wday], ptm->tm_mday, MONT[ptm->tm_mon], times);
mauuuuul 1:f257e2e4e026 376 wait_ms(10);
mauuuuul 1:f257e2e4e026 377 Tm.lineFeed();
mauuuuul 1:f257e2e4e026 378 wait_ms(10);
mauuuuul 1:f257e2e4e026 379 Tm.printf("__________________________________");
mauuuuul 1:f257e2e4e026 380 wait_ms(10);
mauuuuul 1:f257e2e4e026 381 Tm.lineFeed();
mauuuuul 1:f257e2e4e026 382 wait_ms(10);
mauuuuul 1:f257e2e4e026 383 Tm.printf("Nomor Printer: %d", Pf.id);
mauuuuul 1:f257e2e4e026 384 wait_ms(10);
mauuuuul 1:f257e2e4e026 385 Tm.lineFeed();
mauuuuul 1:f257e2e4e026 386 wait_ms(10);
mauuuuul 1:f257e2e4e026 387 // Tm.printf("Nomor Selang : %d", res.id);
mauuuuul 1:f257e2e4e026 388 // wait_ms(10);
mauuuuul 1:f257e2e4e026 389 // Tm.lineFeed();
mauuuuul 1:f257e2e4e026 390 // wait_ms(10);
mauuuuul 1:f257e2e4e026 391 Tm.printf("Nomor Nota : %d", no_nota);
mauuuuul 1:f257e2e4e026 392 wait_ms(10);
mauuuuul 1:f257e2e4e026 393 Tm.lineFeed();
mauuuuul 1:f257e2e4e026 394 wait_ms(10);
mauuuuul 1:f257e2e4e026 395 Tm.printf("Jenis BBM : %s", res.product.c_str());
mauuuuul 1:f257e2e4e026 396 wait_ms(10);
mauuuuul 1:f257e2e4e026 397 Tm.lineFeed();
mauuuuul 1:f257e2e4e026 398 wait_ms(10);
mauuuuul 1:f257e2e4e026 399 Tm.printf("Liter : %3.2f",liter);
mauuuuul 1:f257e2e4e026 400 wait_ms(10);
mauuuuul 1:f257e2e4e026 401 Tm.lineFeed();
mauuuuul 1:f257e2e4e026 402 wait_ms(10);
mauuuuul 1:f257e2e4e026 403 Tm.printf("Harga/Liter : Rp. %s",intwcurrency(harga).c_str());
mauuuuul 1:f257e2e4e026 404 wait_ms(10);
mauuuuul 1:f257e2e4e026 405 Tm.lineFeed();
mauuuuul 1:f257e2e4e026 406 wait_ms(10);
mauuuuul 1:f257e2e4e026 407 Tm.printModes(0x10);
mauuuuul 1:f257e2e4e026 408 wait_ms(10);
mauuuuul 1:f257e2e4e026 409 Tm.printf("Total : Rp. %s\n",intwcurrency(total).c_str());
mauuuuul 1:f257e2e4e026 410 wait_ms(10);
mauuuuul 1:f257e2e4e026 411 Tm.printModes(0x00);
mauuuuul 1:f257e2e4e026 412 wait_ms(10);
mauuuuul 1:f257e2e4e026 413 Tm.printf("_________________________________");
mauuuuul 1:f257e2e4e026 414 wait_ms(10);
mauuuuul 1:f257e2e4e026 415 Tm.lineFeed();
mauuuuul 1:f257e2e4e026 416 wait_ms(10);
mauuuuul 1:f257e2e4e026 417 wait_ms(50);
mauuuuul 1:f257e2e4e026 418 // for(int i=0; i<Pf.footer.size(); i++) {
mauuuuul 1:f257e2e4e026 419 // Tm.printf("%s", Pf.footer[i].c_str());
mauuuuul 1:f257e2e4e026 420 // wait_ms(10);
mauuuuul 1:f257e2e4e026 421 // Tm.lineFeed();
mauuuuul 1:f257e2e4e026 422 // wait_ms(10);
mauuuuul 1:f257e2e4e026 423 // }
mauuuuul 1:f257e2e4e026 424 Tm.lineFeed();
mauuuuul 1:f257e2e4e026 425 wait_ms(10);
mauuuuul 1:f257e2e4e026 426 Tm.lineFeed();
mauuuuul 1:f257e2e4e026 427 wait_ms(10);
mauuuuul 1:f257e2e4e026 428 Tm.lineFeed();
mauuuuul 1:f257e2e4e026 429 wait_ms(10);
mauuuuul 1:f257e2e4e026 430 Tm.lineFeed();
mauuuuul 1:f257e2e4e026 431 wait_ms(10);
mauuuuul 1:f257e2e4e026 432 Tm.lineFeed();
mauuuuul 1:f257e2e4e026 433 wait_ms(10);
mauuuuul 1:f257e2e4e026 434 Tm.lineFeed();
mauuuuul 1:f257e2e4e026 435 wait_ms(10);
mauuuuul 1:f257e2e4e026 436 Tm.cutPaper();
mauuuuul 1:f257e2e4e026 437 create_header();
mauuuuul 1:f257e2e4e026 438 }
mauuuuul 1:f257e2e4e026 439
mauuuuul 1:f257e2e4e026 440 void Printer::DebugStruk(const std::time_t &now, const ResultParsing &res, const unsigned int &no_nota,
mauuuuul 1:f257e2e4e026 441 const string &Nopol, const string &Odo)
mauuuuul 1:f257e2e4e026 442 {
mauuuuul 1:f257e2e4e026 443 float liter=0;
mauuuuul 1:f257e2e4e026 444 unsigned int harga=0;
mauuuuul 1:f257e2e4e026 445 unsigned long int total=0;
mauuuuul 1:f257e2e4e026 446 char times[64];
mauuuuul 1:f257e2e4e026 447
mauuuuul 1:f257e2e4e026 448 liter = res.volume;
mauuuuul 1:f257e2e4e026 449 harga = res.ppu;
mauuuuul 1:f257e2e4e026 450 total = res.money;
mauuuuul 1:f257e2e4e026 451
mauuuuul 1:f257e2e4e026 452 std::tm * ptm = std::localtime(&now);
mauuuuul 1:f257e2e4e026 453 strftime (times,64,"%Y %H:%M:%S",ptm);
mauuuuul 1:f257e2e4e026 454 wait_ms(100);
mauuuuul 1:f257e2e4e026 455
mauuuuul 1:f257e2e4e026 456 dbg.printf("%s, %02d %s %s\n\r", WDAY[ptm->tm_wday], ptm->tm_mday, MONT[ptm->tm_mon], times);
mauuuuul 1:f257e2e4e026 457 dbg.printf("__________________________________\n\r");
mauuuuul 1:f257e2e4e026 458 dbg.printf("Nomor Printer: %d\n\r", Pf.id);
mauuuuul 1:f257e2e4e026 459 dbg.printf("Nomor Selang : %d\n\r", res.id);
mauuuuul 1:f257e2e4e026 460 dbg.printf("Nomor Nota : %d\n\r", no_nota);
mauuuuul 1:f257e2e4e026 461 dbg.printf("Jenis BBM : %s\n\r", res.product.c_str());
mauuuuul 1:f257e2e4e026 462 dbg.printf("Liter : %3.2f\n\r",liter);
mauuuuul 1:f257e2e4e026 463 dbg.printf("Harga/Liter : Rp. %s\n\r",intwcurrency(harga).c_str());
mauuuuul 1:f257e2e4e026 464 dbg.printf("Total : Rp. %s\n\r",intwcurrency(total).c_str());
mauuuuul 1:f257e2e4e026 465 dbg.printf("_________________________________\n\r");
mauuuuul 1:f257e2e4e026 466
mauuuuul 1:f257e2e4e026 467 if(Nopol.size()>0)dbg.printf("Nopol : %s\n\r",Nopol.c_str());
mauuuuul 1:f257e2e4e026 468 if(Odo.size()>0) dbg.printf("Odometer : %s\n\r",Odo.c_str());
mauuuuul 1:f257e2e4e026 469
mauuuuul 1:f257e2e4e026 470 wait_ms(50);
mauuuuul 1:f257e2e4e026 471 // for(int i=0; i<Pf.footer.size(); i++) {
mauuuuul 1:f257e2e4e026 472 // dbg.printf("%s\r\n", Pf.footer[i].c_str());
mauuuuul 1:f257e2e4e026 473 // }
mauuuuul 1:f257e2e4e026 474 dbg.printf("\n\n\r");
irsanjul 0:7f3d28e53383 475 }
irsanjul 0:7f3d28e53383 476
irsanjul 0:7f3d28e53383 477 void Printer::TestPrint2()
irsanjul 0:7f3d28e53383 478 {
mauuuuul 1:f257e2e4e026 479 create_header();
mauuuuul 1:f257e2e4e026 480 Tm.printf("_________________________________");
mauuuuul 1:f257e2e4e026 481 wait_ms(10);
mauuuuul 1:f257e2e4e026 482 Tm.lineFeed();
mauuuuul 1:f257e2e4e026 483 for(int i=0; i<Pf.prodak.size(); i++) {
mauuuuul 1:f257e2e4e026 484 Tm.printf("Produk %d : %s",i+1, Pf.prodak[i].c_str());
mauuuuul 1:f257e2e4e026 485 wait_ms(10);
mauuuuul 1:f257e2e4e026 486 Tm.lineFeed();
mauuuuul 1:f257e2e4e026 487 wait_ms(10);
mauuuuul 1:f257e2e4e026 488 }
mauuuuul 1:f257e2e4e026 489 Tm.printf("_________________________________");
mauuuuul 1:f257e2e4e026 490 Tm.putc(0x0A);
mauuuuul 1:f257e2e4e026 491 Tm.putc(0x0A);
mauuuuul 1:f257e2e4e026 492 Tm.putc(0x0A);
mauuuuul 1:f257e2e4e026 493 Tm.putc(0x0A);
mauuuuul 1:f257e2e4e026 494 Tm.cutPaper();
irsanjul 0:7f3d28e53383 495 }