Understanding the Simple Serial Interface Programming Protocol - Barcode Scanner
Problem:
I am trying to create a simple app to read QR / Bar code information and show the display to the user (preferably C / or Python).
- The user will press a key on the system.
- When clicked, you need to enable the launch barcode and prepare it to scan the requested barcode (QR / Code 39).
- If the user is scanned successfully, his / her details should be displayed on the screen.
Reading / writing serial data is not a problem. I can handle this.
For the scanner model I'm working with, the docs are: https://drive.google.com/folderview?id=0B60pejPe6yiSQXAwWVFxZjRlR2s&usp=sharing
My only confusion is the generation of SSI framing commands.
I see many examples of this. But I am still unable to follow the logic clearly.
unsigned char ledOn[] = {0x05, 0xE7, 0x04, 0x00, 0x0D, 0x00};
unsigned char SSIBuffer[] = {0x00, 0xC6, 0x04, 0x08, 0x11, 0xEE, 0x01};
The above examples I got from Stackoverflow ( Send data to barcode scanner via RS232 serial port ):
From this, I decoded the message for further understanding by comparing it to the scanner reference documents above.
Question-1
The docs say the 4 BIT data in the STATUS field:
Bit 0: Retransmit
0 = First transmission
1 = Subsequent transmission
Bit 1: Continuation
0 = Last packet of a multipacket message
1 = Intermediate packet
I don't understand when the above bits and consequences will be set.
Question-2
ledOn[] = {0x05, 0xE7, 0x04, 0x00, 0x0D, 0x00};
Length(Byte-1)
Command(Byte-2)( LED_ON)
Decoder(Byte-3)
Status(Byte-4)
LED Selection(Byte-5) //**Don’t know where to get this info**
SSIBuffer[] = {0x00, 0xC6, 0x04, 0x08, 0x11, 0xEE, 0x01};
Length(Byte-1) (Will change the buffer later from 0)
Command(Byte-2) (PARAM_SEND)
Decoder(Byte-3)
Status(Byte-4) – Making barcode to set this config permenanent
BEEP_CODE(Byte-5)
Param_data (Byte-6) (Decode Data Packet Format – ref-pl3307)
Param_value(Byte-7)
Again, referring to the table, I see (model SE3300) many modes of operation. I think I should use normal decoding mode with level trigger mode. I am confused about what is the benefit of using "snapshot".
Normal Decode Mode
Level Trigger Mode Procedure
Picklist in Level Trigger Mode Procedure
Presentation Mode Procedure
Auto-AIM Mode Procedure
Finally, how do I join multiple teams?
For example, if I need to use the level trigger mode procedure, according to the datasheet, these are the following steps:
The system is initialized as follows:
• The host sends the Aim Off command.
• The host sends the Illumination Off command.
• The host sends the Acquisition Stop command.
• The host sends the Barcode Decode mode command.
• The SE3300 optimizes the image output for bar code decoding.
• The SE3300 enters standby mode (or low power mode if enabled).
Upon a trigger pull:
• The host sends the Illumination On command.
• The SE3300 exits standby mode (or low power mode if enabled).
• The host sends the Aim On command.
• The host sends the Acquisition Start command.
• The SE3300 begins outputting images.
• The host attempts to decode the images.
Upon a good decode or trigger release:
• The host sends the Acquisition Stop command.
• The SE3300 stops outputting images.
• The host sends the Aim Off command.
• The host sends the Illumination Off command.
• The SE3300 enters standby mode (or low power mode if enabled).
Can anyone help me form a simple flow for this using SSI commands?
source to share
No one has answered this question yet