Open RichardChambers opened 3 years ago
Starting work on implementing SCP-02 alongside of SCP-01.
This requires a user interface change with the membrane keypad as well to allow selection of one of several protocols.
Using the letter C on the keypad to indicate a spec change followed by a single digit indicating the new spec.
The first selection list will be:
Changes to both the Arduino sketch and to the test program required.
changes made and uploaded to both Arduino scale simulator and test application.
Changed folder name containing Arduino simulator to be in line with Arduino IDE requirements. Name of folder must be the same as the file name, without the .ino extension, of the Arduino sketch.
added SCP-02 protocol spec to the allowed output messages. modified the membrane keypad UI for the letter C to indicate change spec with a digit indicating new spec: 0 for SCP-01 and 1 for SCP-02.
Test application now examines the scale message and determines whether to use SCP-01 or SCP-02 parsing.
One possible issue outstanding is if weight amount is not changed after selecting spec and the weight measurement sent is not as expected due to the number of digits in the Most Significant and Least Significant parts of the scale weight.
SCP-01 uses dddd.dd while SCP-02 uses dd.ddd and the UI does data entry, press the star or asterisk key, into two different variables depending on the number of digits for each part.
Not yet tested with GenPOS point of sale.
Testing with GenPOS point of sale provisioned for the NCR 67xx scale is giving a scale error.
Debugging shows that the amount field of 0000.26LB is too long by one character. Also the status field expects the letter S.
It appears the NCR 67xx scale is using the Weigh-Tronix SCP-02 specification and not the SCP-01 specification.
See http://www.mwjesus.com/gospel/utility/AveryBerkel%206720/SCP-02.pdf
The SCP-01 specification for Request weight says:
Name: Request weight Command: W
Response: Returns decimal weight (x1), units and status.