SB1 Screen questions

All  - I'm new to the SB1 development have a couple questions regarding the screen.

1) After launching my app, is there a way for the main screen to scroll to fit all the required data in?

2) The units screen refresh (flickers) every 3 seconds. Where is the option to change this?

 

Thanks,

Bob

Anonymous (not verified)
You could probably implement 

You could probably implement  a scroll bar or something like that, but I would strongly suggest not doing that on this device.  It will be very frustrating for users to use something like that with a fingertip.  You really probably need to rethink the screen layout and just show the data that is most important on the initial screen and maybe give the user an option to use a large button to get to subsequent data.  You really need any touchable elements on the screen to be pretty large so that the user can use them with a fingertip. If you have touchable elements that have images on them, that usually also means that the image should be as big as the element itself.  I have seen instances where the image is smaller than a button for instance, and the  image is what gets the press, so the button does not work unless you press it right in the middle.

As far as the flashing, E-Ink needs to clear the screen after X amount of data has been written to it, otherwise it starts getting "ghosting" of previous screen data under your intended screen view, so the driver keeps track of how much data has been written to the display and wipes the screen when it decides it needs to.  It sounds like you might have a moving element on the screen if it keeps doing this.  You want to minimize any animation on this device. The E-Ink display saves battery life because it only needs power when it is changing the display.  If the display data is not changing, the display draws no power.  If you have something moving on the display (like a rotating hourglass) battery life will suffer and you will get the excess flashing that you are seeing.

Vote: 
Vote up!
Vote down!

Points: 0

You voted ‘up’


Robert Rapp
I found the cause of the

I found the cause of the screen flickers. I have a textbox for our associates to enter their associate number. Since they can scan their badge, when the form loads I'm setting the focus to the textbox. This is causing the screen flickers. Is there a way to set the focus to a textbox without the keyboard trying to load?

Vote: 
Vote up!
Vote down!

Points: 0

You voted ‘up’


Venkatasubbaiah...
Hello RappIf we focus on any

Hello Rapp

If we focus on any textfield cursor will blink even on PC. Because SB1 device is a eInk display device for each blink of cursor device screen repaints. We do not recommend users to use focus().

You need not focus the text field to scan a bar code. You need to subscribe to scan event and get the scanned bar code data. Please find below sample code. This wil avoid flickering and bringing Keyboard

function decodeEvent(a, b, c) {

  document.getElementById('myScanData').value = a;

          

        }

window.onload = function () {

            scanner.enable();

            scanner.decodeEvent = 'decodeEvent(%s)';

        }

<input type="text" id="myScanData" placeholder="Please scan your badge" />

Hope this helps

thanks

Chenna

Vote: 
Vote up!
Vote down!

Points: 0

You voted ‘up’


Robert Rapp
Hello,That won't work for my

Hello,

That won't work for my app as I have 3 different text boxes that except scans so I can't harcode a textbox id. I'm using the below code:

function decodeEvent(jsonObject) {

document.forms["scanner"].elements[document.activeElement.id].value = jsonObject.data;

}

So this way whichever of my 3 textboxes has the focus receives the scanner data. I also need to set the focus to the next textbox once the previous textbox is populated. This causes the form to flicker constantly. Let me know if there is a solution as we're evaluating the SB1 units for purchase.

Bob


Vote: 
Vote up!
Vote down!

Points: 0

You voted ‘up’


Venkatasubbaiah...
Option 1Manage a counter for

Option 1

Manage a counter for each scan. first scan assign the barcode data to first input field and second and third scans respectively

var counter = 0;

function decodeEvent(jsonObject) {

  if(counter == 0)

  {

  document.forms["scanner"].elements[1 input field].value = jsonObject.data;

  counter++;

  }

  else if(counter == 1)

  {

  document.forms["scanner"].elements[2 input field].value = jsonObject.data;

  counter++;

  }

  else if(counter == 2)

  {

  document.forms["scanner"].elements[3 input field].value = jsonObject.data;

  counter = 0;

  }

}

Option 2:

Onload open the first input field keyboard and scan and open a second keyoard and 3 keyboard

window.onload = openKeyboardForInput1;

function openKeyboardForInput1()

{

  asl.showKeyboard({

        inputId: 'input1',

        title: 'first',

        type: 'text',

        scanner: true,

        back: true,

        maxlength: 10  // max length of the field for auto submit

    }, function (id, value) {

        document.getElementById('input1').value = value;

        openKeyboardForInput2();

      

    });

}

function openKeyboardForInput2()

{

  asl.showKeyboard({

        inputId: 'input2',

        title: 'input2',

        type: 'password',

        scanner: true,

        back: true,

        maxlength: 10

    }, function (id, txt) {

        document.getElementById('input2').value = txt;

        openKeyboardForInput3();

    });

}

function openKeyboardForInput3()

{

  asl.showKeyboard({

        inputId: 'input3',

        title: 'input3',

        type: 'text',

        scanner: true,

        back: true,

        maxlength: 10

    }, function (id, txt) {

        document.getElementById('input3').value = txt;

       

    });

}

thanks

Chenna

Vote: 
Vote up!
Vote down!

Points: 0

You voted ‘up’


Robert Rapp
Thanks for your response.  I

Thanks for your response.  I'm not trying to be difficult but my problem is I have 3 textboxes that can except scanned data. cashier number, sku1 and sku2. I can't use the above counter option because what if the cashier doesn't have their badge, they'll need to type it in or what if the barcodes are unreadable on the sku, they'll need to type it in. So I need to be able to set the focus to a textbox which they can scan into or bring up the keyboard and type into.

So it appears if I do not focus on a textbox and then click in it, the keyboard comes up. If I close the keyboad without entering any data and try and scan in that field, nothing is captured. Why is that?

Vote: 
Vote up!
Vote down!

Points: 0

You voted ‘up’


Venkatasubbaiah...
As long as you are avoid the

As long as you are avoid the focus on textfield cursor can not blink and screen flickering can be avoided.

As per the 1st option you can validate the scanned data for first textfield and show a user notification to scan again Once first scan is successful only allow to next field. If user wants to enter manually always he can click on textfield to get the user input.

If you are unable to scan after returning from keyboard, this may be bug. Please let me know the OS version.

Recently we have released OS 36.3. You can use the same.

thanks

Chenna

Vote: 
Vote up!
Vote down!

Points: 0

You voted ‘up’


Venkatasubbaiah...
You can find here https:/

You can find here https://portal.motorolasolutions.com/Support/US-EN/Resolution?solutionId=94771&redirectForm=search&searchQuery=%3FsearchType%3Dsimple%26searchTerm%3Dsb1

is it scanner totally disabled and you are not able to see red beam when you press scan button?

thanks

Chenna

Vote: 
Vote up!
Vote down!

Points: 0

You voted ‘up’


Robert Rapp
Yes that is the case.

Yes that is the case.

Vote: 
Vote up!
Vote down!

Points: 0

You voted ‘up’


Robert Rapp
Is there any documentation on

Is there any documentation on updating the OS through the USB port? That's how I'll need to update.

Vote: 
Vote up!
Vote down!

Points: 0

You voted ‘up’


Anonymous (not verified)
Updating through the USB isn

Updating through the USB isn't supported but in this post is a barcode that the RDT Client on the SB1 uses to update the device from our Public MSP server.

Vote: 
Vote up!
Vote down!

Points: 0

You voted ‘up’


Venkatasubbaiah...
Please find attached a sample

Please find attached a sample file which demonstrate textfield without a cursor blinking and focused. This may help you. I got this sample from html - Hide textfield blinking cursor - Stack Overflow

thanks

Chenna

Vote: 
Vote up!
Vote down!

Points: 0

You voted ‘up’


Robert Rapp
We have OS version 02.01.31.

We have OS version 02.01.31. Guess I can download the new os on this site somewhere?

If I can scan after returning from keyboard, that may be an acceptable option.

Vote: 
Vote up!
Vote down!

Points: 0

You voted ‘up’


Log in to post comments