Beijer Electronics (formerly QSI Corporation)

Manufacturer of Mobile Data and Human Machine Interface Terminals.
It is currently Tue Nov 21, 2017 3:53 pm

All times are UTC - 7 hours




Post new topic Reply to topic  [ 3 posts ] 
Author Message
PostPosted: Wed Aug 04, 2010 11:21 pm 
Offline

Joined: Wed Aug 04, 2010 7:30 pm
Posts: 2
The reaction doesn't return from the system at each 200ms when ScreenV2 is displayed, and non-displayed.
(Time hangs between MSG_TIMETICK after MSG_DRAW is called from the system.)

Cannot you react more early?

Though the tendency to the improvement was seen in reducing the range of Resize ・・・

[qterm-G55]
------------------------------------------------------------------------------------------------------------------------------

Source code used when confirming it

* Arrangement object of screen

ScreenV2 object setting
Code:
init xpos := 0
init ypos := 0
init width := 320
init height := 240

LabelV2 object setting
Code:
init parent := Screen_1
init xpos := 76
init ypos := 37
init width := 142
init height := 27


* To measure time, the following function was prepared.

Globals Setting
Code:
func Startup ()
    handles MSG_INIT
    UserDirectMsg(default, _MSG_POST_INIT, 0, false)
    return
endfunc

func PostInit(parm as integer) returns boolean
    handles _MSG_POST_INIT
    RegisterMsgHandler (default, msg_timetick, 1)
    ResetTimetickCount()
    return true
endfunc

dim g_seconds as integer
init g_seconds := 0

func GetTimetickCount() returns integer
    dim tick as float
    tick = GetProfileTick()
    g_seconds = tick / 32.768
    return g_seconds
endfunc

func ResetTimetickCount()
    dim tick as integer
    tick = GetProfileTick()
    g_seconds := 0
endfunc

dim g_tagetObject as boolean

func Timetick ()
    handles MSG_TIMETICK
    if (g_tagetObject) then
        Label_1.value = _StrToCharStr(Str(GetTimetickCount()))
        g_tagetObject = false
    endif
    ResetTimetickCount()
    return
endfunc


* The switch of the screen uses following softkeyV2.

SoftKeyV2 object
Code:
init value := "Screen1"
func handlekeypress()
    label_1.parent = screen_1
    _ShowScreen(Screen_1)
endfunc

SoftKeyV2 object
Code:
init value := "Screen2"
func handlekeypress()
    label_1.parent = screen_2
    _ShowScreen(Screen_2)
endfunc


Can you come back to the range of specification of Timer?
⇒ Set target MSG_DRAW or enabled
Code:
func enabled(newval as boolean)
    g_tagetObject = true

~~

func Draw()
    handles MSG_DRAW
    g_tagetObject = true



Top
 Profile  
 
PostPosted: Thu Aug 05, 2010 6:28 am 
Offline
QSI Support
QSI Support
User avatar

Joined: Wed Mar 08, 2006 12:25 pm
Posts: 881
Location: Salt Lake City, Utah
I am not 100% certain what you are asking. I have been following your code, and it appears you are trying to measure the jitter of the MSG_TIMETICK message.

Qlarity systems, including the QTERM-G55 do not offer a real-time guarantee for response to any type of event. Internally their events operate on a simple FIFO message queue, where each message is placed in a queue as it is generated and processed as quickly as Qlarity application is able to handle them.

This means that if handling one message takes a long time, later messages will be delayed. The MSG_TIMETICK will be created at the correct time, but cannot be processed until the Qlarity application has completed its previous message.

In general, I would expect a simple full screen update (one that simply drew a basic screen from its draw cache) on the G55 to take at least 60 ms, which would imply that your 40 ms timer would absolutely see some jitter there. If the target screen contained several objects that had pending draw updates, that 60 ms could increase greatly.

If you require hard real time performance, then Qlarity may not be the right platform for you -- as Qlarity is focused around providing an easy-to-use programmable UI for the terminal. If you simply need better performance you might consider the QTERM-G56 which will be between 2x and 4x faster in most situations

_________________
Jeremy
http://www.beijerinc.com


Top
 Profile  
 
PostPosted: Thu Aug 26, 2010 10:14 pm 
Offline

Joined: Wed Aug 04, 2010 7:30 pm
Posts: 2
I'm sorry for this belated reply.

Thank you for your advice. I'll do my best.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 3 posts ] 

All times are UTC - 7 hours


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Group