4

Problem Statement:

I am trying to build a simple application to read QR/Bar code information and show the display to user (Prefer C / or Python).

  1. User will press a key in the system.
  2. On click, Should enable the barcode to trigger and make it ready for scanning the requested barcode (QR/Code 39)
  3. On successful user scan, his/her data should be displayed over the screen.

Reading/writing of serial data is not an issue. I can manage that.

For the model of scanner I am working with, the documents are at : https://drive.google.com/folderview?id=0B60pejPe6yiSQXAwWVFxZjRlR2s&usp=sharing

My only confusion is forming the framing SSI commands.

I see many examples of that. But, I'm still not able to clearly follow the logic.

unsigned char ledOn[] = {0x05, 0xE7, 0x04, 0x00, 0x0D, 0x00};
unsigned char SSIBuffer[] = {0x00, 0xC6, 0x04, 0x08, 0x11, 0xEE, 0x01};

The above are some examples which I got from Stackoverflow (Send data to a barcode scanner over RS232 serial port):

From this I decoded the message for further understanding by comparing with the scanner reference documents above.

Question-1

In the documents the STATUS field talks about 4 BIT data:

    Bit 0: Retransmit
    0 = First transmission
    1 = Subsequent transmission
    Bit 1: Continuation
    0 = Last packet of a multipacket message
    1 = Intermediate packet

I am not clear on when the above bits will be set and the implications.

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 by referring to the datasheet I see (SE3300 model) many modes of operation. I think I should use Normal decode mode with Level trigger mode. I am confused about what advantage there is to using “Snapshot Mode".

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 commands?

For example if I needed to use Level Trigger Mode Procedure, according to the datasheet these are the steps involved:

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 someone guide me to form a simple flow for this using SSI commands ?

Community
  • 1
  • 1
Ragav
  • 942
  • 4
  • 19
  • 37

0 Answers0