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.
Printer.cpp@1:f257e2e4e026, 2020-02-07 (annotated)
- 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?
User | Revision | Line number | New 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 | } |