The PLU file format varies significantly between the ER-230 and the ER-380M, i also suspect that different EEPROM versions of the ER-380M also use different versions as I have seen byte offset in the data which indicates format differences
Values are Little Endian
ER-230 Version – Length 46 bytes
Description | Size | Details |
Padding | 1 | 0x00 |
PLU Code | 8 | See PLU Code format |
Description | 18 | ASCII Description null terminated |
Group 0 ID | 1 | ID for group 0 |
Group 1 ID | 1 | ID for group 1 |
Group 2 ID | 1 | ID for group 2 |
Status Bits | 4 | |
Auto Tare | 1 | |
Link PLU | 8 | |
Mix and Match | 1 | |
Price | 4 | Big Endian Fixed Decimal price |
Price2 | 3 | Big Endian Fixed Decimal price |
ER-380M v2.5 – Length 55 bytes
**Incomplete**
Description | Size | Details |
Padding | 1 | 0x00 |
PLU Code | 8 | See PLU Code format |
Description | 18 | ASCII Description null terminated |
PLU Code
The PLU code can be simple numbers 1,2,3,4 etc or contain an entire barcode. For Barcodes the number is split in half to a high and low section
Description | Size | Details |
High | 3 | 3 Bytes form the high part of the number |
Spacer | 1 | 0x00 |
Low | 4 | 4 Bytes form the low part of the number |
The upper and lower parts of the code should be string appended and remember to read Little Endian
long upper = data[0] + (data[1] << 8) + (data[2] << 16); long lower = data[4] + (data[5] << 8) + (data[6] << 16) + (data[7] << 24); String scode = String.Format("{0:D5}{1:D8}", upper, lower); long code = long.Parse(scode);
Leave a Reply
You must be logged in to post a comment.