devi-rpxlite inconsistency

bridged with qdn.public.ddk.input
Post Reply
Charlie Surface

devi-rpxlite inconsistency

Post by Charlie Surface » Thu Mar 28, 2002 4:09 pm

I've been working with devi-rpxlite and noticed some behavior which is not
consistent with other touchscreens I've worked with. When I perform a
press, drag, and release, the events are not returned until the release
occurs. I am expecting the events to be returned as they occur. Is there
any rationale for this behavior, or is it a bug? My configuration details
are below. Note that I'm using the device in non-Photon, resource manager
mode.

devi-rpxlite file size 87,837 bytes
command to start "devi-rpxlite -Pr RPX"

thanks
Charlie

Hardware Support Account

Re: devi-rpxlite inconsistency

Post by Hardware Support Account » Tue Apr 02, 2002 7:24 pm

Hi Charlie,

I am going to check with the input developer on this and see what
he has to say.

Regards,

Erick.


Charlie Surface <charlie_surface@oti.com> wrote:
I've been working with devi-rpxlite and noticed some behavior which is not
consistent with other touchscreens I've worked with. When I perform a
press, drag, and release, the events are not returned until the release
occurs. I am expecting the events to be returned as they occur. Is there
any rationale for this behavior, or is it a bug? My configuration details
are below. Note that I'm using the device in non-Photon, resource manager
mode.

devi-rpxlite file size 87,837 bytes
command to start "devi-rpxlite -Pr RPX"

thanks
Charlie

Charlie Surface

Re: devi-rpxlite inconsistency

Post by Charlie Surface » Mon Apr 08, 2002 1:24 pm

Any word on this yet?

thanks
Charlie

"Hardware Support Account" <hw@qnx.com> wrote in message
news:a8d0i2$1gb$1@nntp.qnx.com...
Hi Charlie,

I am going to check with the input developer on this and see what
he has to say.

Regards,

Erick.


Charlie Surface <charlie_surface@oti.com> wrote:
I've been working with devi-rpxlite and noticed some behavior which is
not
consistent with other touchscreens I've worked with. When I perform a
press, drag, and release, the events are not returned until the release
occurs. I am expecting the events to be returned as they occur. Is
there
any rationale for this behavior, or is it a bug? My configuration
details
are below. Note that I'm using the device in non-Photon, resource
manager
mode.

devi-rpxlite file size 87,837 bytes
command to start "devi-rpxlite -Pr RPX"

thanks
Charlie

Hardware Support Account

Re: devi-rpxlite inconsistency

Post by Hardware Support Account » Wed Apr 10, 2002 2:31 pm

Hi Charlie,

We tried this here, and we saw output when we would press and drag on
the screen. Try using the following command line to start the
driver.

devi-rpxlite -vvvv -Pr RPX

Regards,

Erick.


Charlie Surface <charlie_surface@oti.com> wrote:
Any word on this yet?

thanks
Charlie

"Hardware Support Account" <hw@qnx.com> wrote in message
news:a8d0i2$1gb$1@nntp.qnx.com...
Hi Charlie,

I am going to check with the input developer on this and see what
he has to say.

Regards,

Erick.


Charlie Surface <charlie_surface@oti.com> wrote:
I've been working with devi-rpxlite and noticed some behavior which is
not
consistent with other touchscreens I've worked with. When I perform a
press, drag, and release, the events are not returned until the release
occurs. I am expecting the events to be returned as they occur. Is
there
any rationale for this behavior, or is it a bug? My configuration
details
are below. Note that I'm using the device in non-Photon, resource
manager
mode.

devi-rpxlite file size 87,837 bytes
command to start "devi-rpxlite -Pr RPX"

thanks
Charlie

Charlie Surface

Re: devi-rpxlite inconsistency

Post by Charlie Surface » Thu Apr 11, 2002 1:51 pm

Yes, I've seen that as well. My problem is that when I try to read the
device from my application, the events are not available until the release.
It's possible that this debugging output is not related to the events which
are actually available for reading.

I'm using select() in a loop to wait on the device. When it's available, I
read a _touch_packet. I've tried another touchscreen device on a different
platform, using the same non-Photon resource manager interface, and I am
able to read the events as they occur. So it seems that devi-rpxlite is
inconsistent. Or maybe this has to do with a thread priority issue? I
believe the device is usually running with 10.

thanks
Charlie

"Hardware Support Account" <hw@qnx.com> wrote in message
news:a91ibs$f43$1@nntp.qnx.com...
Hi Charlie,

We tried this here, and we saw output when we would press and drag on
the screen. Try using the following command line to start the
driver.

devi-rpxlite -vvvv -Pr RPX

Regards,

Erick.


Charlie Surface <charlie_surface@oti.com> wrote:
Any word on this yet?

thanks
Charlie

"Hardware Support Account" <hw@qnx.com> wrote in message
news:a8d0i2$1gb$1@nntp.qnx.com...
Hi Charlie,

I am going to check with the input developer on this and see what
he has to say.

Regards,

Erick.


Charlie Surface <charlie_surface@oti.com> wrote:
I've been working with devi-rpxlite and noticed some behavior which
is
not
consistent with other touchscreens I've worked with. When I perform
a
press, drag, and release, the events are not returned until the
release
occurs. I am expecting the events to be returned as they occur. Is
there
any rationale for this behavior, or is it a bug? My configuration
details
are below. Note that I'm using the device in non-Photon, resource
manager
mode.

devi-rpxlite file size 87,837 bytes
command to start "devi-rpxlite -Pr RPX"

thanks
Charlie



Alex Chapiro

Re: devi-rpxlite inconsistency

Post by Alex Chapiro » Thu Apr 11, 2002 9:44 pm

Oh, I see what's that. If you would look up to the resourse manager code
(actually you shouldn't do, this has to be documented ; e hasn't done it
because as far as I know, almost nobody used this mode, but of course this
is a bad excuse), you would realize that read operation works only if you
read number of bytes exatly the same as a size of data package. All data
transfer packages a defined in /usr/include/sys/dcmd_input.h. For touch
screen this is struct _touch1_packet. This is all the secret. Let me know if
it doesn't work.


"Charlie Surface" <charlie_surface@oti.com> wrote in message
news:a943ru$ikv$1@inn.qnx.com...
Yes, I've seen that as well. My problem is that when I try to read the
device from my application, the events are not available until the
release.
It's possible that this debugging output is not related to the events
which
are actually available for reading.

I'm using select() in a loop to wait on the device. When it's available,
I
read a _touch_packet. I've tried another touchscreen device on a
different
platform, using the same non-Photon resource manager interface, and I am
able to read the events as they occur. So it seems that devi-rpxlite is
inconsistent. Or maybe this has to do with a thread priority issue? I
believe the device is usually running with 10.

thanks
Charlie

"Hardware Support Account" <hw@qnx.com> wrote in message
news:a91ibs$f43$1@nntp.qnx.com...
Hi Charlie,

We tried this here, and we saw output when we would press and drag on
the screen. Try using the following command line to start the
driver.

devi-rpxlite -vvvv -Pr RPX

Regards,

Erick.


Charlie Surface <charlie_surface@oti.com> wrote:
Any word on this yet?

thanks
Charlie

"Hardware Support Account" <hw@qnx.com> wrote in message
news:a8d0i2$1gb$1@nntp.qnx.com...
Hi Charlie,

I am going to check with the input developer on this and see what
he has to say.

Regards,

Erick.


Charlie Surface <charlie_surface@oti.com> wrote:
I've been working with devi-rpxlite and noticed some behavior which
is
not
consistent with other touchscreens I've worked with. When I
perform
a
press, drag, and release, the events are not returned until the
release
occurs. I am expecting the events to be returned as they occur.
Is
there
any rationale for this behavior, or is it a bug? My configuration
details
are below. Note that I'm using the device in non-Photon, resource
manager
mode.

devi-rpxlite file size 87,837 bytes
command to start "devi-rpxlite -Pr RPX"

thanks
Charlie





Charlie Surface

Re: devi-rpxlite inconsistency

Post by Charlie Surface » Fri Apr 12, 2002 2:20 pm

Alex,

Actually I made a mistake in my earlier post. I am in fact using
_touch1_packet. I just misspelled it in my post.

Charlie

"Alex Chapiro" <achapiro@qnx.com> wrote in message
news:a94v2n$82t$1@inn.qnx.com...
Oh, I see what's that. If you would look up to the resourse manager code
(actually you shouldn't do, this has to be documented ; e hasn't done it
because as far as I know, almost nobody used this mode, but of course this
is a bad excuse), you would realize that read operation works only if you
read number of bytes exatly the same as a size of data package. All data
transfer packages a defined in /usr/include/sys/dcmd_input.h. For touch
screen this is struct _touch1_packet. This is all the secret. Let me know
if
it doesn't work.


"Charlie Surface" <charlie_surface@oti.com> wrote in message
news:a943ru$ikv$1@inn.qnx.com...
Yes, I've seen that as well. My problem is that when I try to read the
device from my application, the events are not available until the
release.
It's possible that this debugging output is not related to the events
which
are actually available for reading.

I'm using select() in a loop to wait on the device. When it's
available,
I
read a _touch_packet. I've tried another touchscreen device on a
different
platform, using the same non-Photon resource manager interface, and I am
able to read the events as they occur. So it seems that devi-rpxlite is
inconsistent. Or maybe this has to do with a thread priority issue? I
believe the device is usually running with 10.

thanks
Charlie

"Hardware Support Account" <hw@qnx.com> wrote in message
news:a91ibs$f43$1@nntp.qnx.com...
Hi Charlie,

We tried this here, and we saw output when we would press and drag on
the screen. Try using the following command line to start the
driver.

devi-rpxlite -vvvv -Pr RPX

Regards,

Erick.


Charlie Surface <charlie_surface@oti.com> wrote:
Any word on this yet?

thanks
Charlie

"Hardware Support Account" <hw@qnx.com> wrote in message
news:a8d0i2$1gb$1@nntp.qnx.com...
Hi Charlie,

I am going to check with the input developer on this and see what
he has to say.

Regards,

Erick.


Charlie Surface <charlie_surface@oti.com> wrote:
I've been working with devi-rpxlite and noticed some behavior
which
is
not
consistent with other touchscreens I've worked with. When I
perform
a
press, drag, and release, the events are not returned until the
release
occurs. I am expecting the events to be returned as they occur.
Is
there
any rationale for this behavior, or is it a bug? My
configuration
details
are below. Note that I'm using the device in non-Photon,
resource
manager
mode.

devi-rpxlite file size 87,837 bytes
command to start "devi-rpxlite -Pr RPX"

thanks
Charlie







Alex Chapiro

Re: devi-rpxlite inconsistency

Post by Alex Chapiro » Fri Apr 12, 2002 5:43 pm

On one side we know that as a driver devi-rpxlite works well (our guys
tested it).
The fact that you could read touch screen packets on another screen aproves
it. On the other hand, all touch screen drivers share code that is
responsibe for resource manager interface. You have already tested it using
another touch screen. It worked well. So basically there is no reason for
bad result for devi-rpxlite. I'll try to borrow ppc box and play with it.
Could you please send me a fragment of source you are using for reading?

"Charlie Surface" <charlie_surface@oti.com> wrote in message
news:a96pt6$iig$1@inn.qnx.com...
Alex,

Actually I made a mistake in my earlier post. I am in fact using
_touch1_packet. I just misspelled it in my post.

Charlie

"Alex Chapiro" <achapiro@qnx.com> wrote in message
news:a94v2n$82t$1@inn.qnx.com...
Oh, I see what's that. If you would look up to the resourse manager code
(actually you shouldn't do, this has to be documented ; e hasn't done it
because as far as I know, almost nobody used this mode, but of course
this
is a bad excuse), you would realize that read operation works only if
you
read number of bytes exatly the same as a size of data package. All data
transfer packages a defined in /usr/include/sys/dcmd_input.h. For touch
screen this is struct _touch1_packet. This is all the secret. Let me
know
if
it doesn't work.


"Charlie Surface" <charlie_surface@oti.com> wrote in message
news:a943ru$ikv$1@inn.qnx.com...
Yes, I've seen that as well. My problem is that when I try to read
the
device from my application, the events are not available until the
release.
It's possible that this debugging output is not related to the events
which
are actually available for reading.

I'm using select() in a loop to wait on the device. When it's
available,
I
read a _touch_packet. I've tried another touchscreen device on a
different
platform, using the same non-Photon resource manager interface, and I
am
able to read the events as they occur. So it seems that devi-rpxlite
is
inconsistent. Or maybe this has to do with a thread priority issue?
I
believe the device is usually running with 10.

thanks
Charlie

"Hardware Support Account" <hw@qnx.com> wrote in message
news:a91ibs$f43$1@nntp.qnx.com...
Hi Charlie,

We tried this here, and we saw output when we would press and drag
on
the screen. Try using the following command line to start the
driver.

devi-rpxlite -vvvv -Pr RPX

Regards,

Erick.


Charlie Surface <charlie_surface@oti.com> wrote:
Any word on this yet?

thanks
Charlie

"Hardware Support Account" <hw@qnx.com> wrote in message
news:a8d0i2$1gb$1@nntp.qnx.com...
Hi Charlie,

I am going to check with the input developer on this and see what
he has to say.

Regards,

Erick.


Charlie Surface <charlie_surface@oti.com> wrote:
I've been working with devi-rpxlite and noticed some behavior
which
is
not
consistent with other touchscreens I've worked with. When I
perform
a
press, drag, and release, the events are not returned until the
release
occurs. I am expecting the events to be returned as they
occur.
Is
there
any rationale for this behavior, or is it a bug? My
configuration
details
are below. Note that I'm using the device in non-Photon,
resource
manager
mode.

devi-rpxlite file size 87,837 bytes
command to start "devi-rpxlite -Pr RPX"

thanks
Charlie









Charlie Surface

Re: devi-rpxlite inconsistency

Post by Charlie Surface » Fri Apr 12, 2002 6:34 pm

Below you will find 2 snippets. The first is the select() loop to wait on
the device. The second is the device reading. Thanks for looking at this.
Sorry about the formatting. I hate Outlook Express :-(

Charlie

//---------------------------
//select() loop
//---------------------------

FD_ZERO(&fdSet);
FD_SET(userData->pointerFd, &fdSet);
timeout.tv_sec = 1;
timeout.tv_usec = 0;

whiile (userData->pointerDeviceRunning) {

switch (select(userData->pointerFd + 1, &fdSet, 0, 0, &timeout)) {
case -1:
// error
break;

case 0:
// timeout
break;

default:
if(FD_ISSET(userData->pointerFd, &fdSet)) {
// this method handles the reading and dispatching of the events
pointerEventDispatch(bmgEnv, userData->pointerFd, devg, &calibMx);
}
FD_ZERO(&fdSet);
FD_SET(userData->pointerFd, &fdSet);
}

//---------------------------
// device reading
//---------------------------

static void pointerEventDispatch(/* ... */) {

struct _touch1_packet touchPacket;
struct _pointer_packet_hdr* hdr;

read(fd, &touchPacket, sizeof(touchPacket));

hdr = &touchPacket.hdr;

// do something with touchPacket.x and y, etc.
}



"Alex Chapiro" <achapiro@qnx.com> wrote in message
news:a9759e$qiu$1@inn.qnx.com...
On one side we know that as a driver devi-rpxlite works well (our guys
tested it).
The fact that you could read touch screen packets on another screen
aproves
it. On the other hand, all touch screen drivers share code that is
responsibe for resource manager interface. You have already tested it
using
another touch screen. It worked well. So basically there is no reason for
bad result for devi-rpxlite. I'll try to borrow ppc box and play with it.
Could you please send me a fragment of source you are using for reading?

"Charlie Surface" <charlie_surface@oti.com> wrote in message
news:a96pt6$iig$1@inn.qnx.com...
Alex,

Actually I made a mistake in my earlier post. I am in fact using
_touch1_packet. I just misspelled it in my post.

Charlie

"Alex Chapiro" <achapiro@qnx.com> wrote in message
news:a94v2n$82t$1@inn.qnx.com...
Oh, I see what's that. If you would look up to the resourse manager
code
(actually you shouldn't do, this has to be documented ; e hasn't done
it
because as far as I know, almost nobody used this mode, but of course
this
is a bad excuse), you would realize that read operation works only if
you
read number of bytes exatly the same as a size of data package. All
data
transfer packages a defined in /usr/include/sys/dcmd_input.h. For
touch
screen this is struct _touch1_packet. This is all the secret. Let me
know
if
it doesn't work.


"Charlie Surface" <charlie_surface@oti.com> wrote in message
news:a943ru$ikv$1@inn.qnx.com...
Yes, I've seen that as well. My problem is that when I try to read
the
device from my application, the events are not available until the
release.
It's possible that this debugging output is not related to the
events
which
are actually available for reading.

I'm using select() in a loop to wait on the device. When it's
available,
I
read a _touch_packet. I've tried another touchscreen device on a
different
platform, using the same non-Photon resource manager interface, and
I
am
able to read the events as they occur. So it seems that
devi-rpxlite
is
inconsistent. Or maybe this has to do with a thread priority issue?
I
believe the device is usually running with 10.

thanks
Charlie

"Hardware Support Account" <hw@qnx.com> wrote in message
news:a91ibs$f43$1@nntp.qnx.com...
Hi Charlie,

We tried this here, and we saw output when we would press and drag
on
the screen. Try using the following command line to start the
driver.

devi-rpxlite -vvvv -Pr RPX

Regards,

Erick.


Charlie Surface <charlie_surface@oti.com> wrote:
Any word on this yet?

thanks
Charlie

"Hardware Support Account" <hw@qnx.com> wrote in message
news:a8d0i2$1gb$1@nntp.qnx.com...
Hi Charlie,

I am going to check with the input developer on this and see
what
he has to say.

Regards,

Erick.


Charlie Surface <charlie_surface@oti.com> wrote:
I've been working with devi-rpxlite and noticed some behavior
which
is
not
consistent with other touchscreens I've worked with. When I
perform
a
press, drag, and release, the events are not returned until
the
release
occurs. I am expecting the events to be returned as they
occur.
Is
there
any rationale for this behavior, or is it a bug? My
configuration
details
are below. Note that I'm using the device in non-Photon,
resource
manager
mode.

devi-rpxlite file size 87,837 bytes
command to start "devi-rpxlite -Pr RPX"

thanks
Charlie











Alex Chapiro

Re: devi-rpxlite inconsistency

Post by Alex Chapiro » Fri Apr 12, 2002 7:58 pm

I suppose that you are blocked on select. As I've already written, this is a
primitive resourse manager. It uses select service provided by resourse
manager library . So there is no coordination between events comming from
the touch screen and select function response. Actually this is a couple of
lines in code, but we just not implemented it. On the other hand, do you
really need it? I think you can just be read-blocked. Or your thread process
several devices?

"Charlie Surface" <charlie_surface@oti.com> wrote in message
news:a978pi$t2v$1@inn.qnx.com...
Below you will find 2 snippets. The first is the select() loop to wait on
the device. The second is the device reading. Thanks for looking at this.
Sorry about the formatting. I hate Outlook Express :-(

Charlie

//---------------------------
//select() loop
//---------------------------

FD_ZERO(&fdSet);
FD_SET(userData->pointerFd, &fdSet);
timeout.tv_sec = 1;
timeout.tv_usec = 0;

whiile (userData->pointerDeviceRunning) {

switch (select(userData->pointerFd + 1, &fdSet, 0, 0, &timeout)) {
case -1:
// error
break;

case 0:
// timeout
break;

default:
if(FD_ISSET(userData->pointerFd, &fdSet)) {
// this method handles the reading and dispatching of the events
pointerEventDispatch(bmgEnv, userData->pointerFd, devg, &calibMx);
}
FD_ZERO(&fdSet);
FD_SET(userData->pointerFd, &fdSet);
}

//---------------------------
// device reading
//---------------------------

static void pointerEventDispatch(/* ... */) {

struct _touch1_packet touchPacket;
struct _pointer_packet_hdr* hdr;

read(fd, &touchPacket, sizeof(touchPacket));

hdr = &touchPacket.hdr;

// do something with touchPacket.x and y, etc.
}



"Alex Chapiro" <achapiro@qnx.com> wrote in message
news:a9759e$qiu$1@inn.qnx.com...
On one side we know that as a driver devi-rpxlite works well (our guys
tested it).
The fact that you could read touch screen packets on another screen
aproves
it. On the other hand, all touch screen drivers share code that is
responsibe for resource manager interface. You have already tested it
using
another touch screen. It worked well. So basically there is no reason
for
bad result for devi-rpxlite. I'll try to borrow ppc box and play with
it.
Could you please send me a fragment of source you are using for reading?

"Charlie Surface" <charlie_surface@oti.com> wrote in message
news:a96pt6$iig$1@inn.qnx.com...
Alex,

Actually I made a mistake in my earlier post. I am in fact using
_touch1_packet. I just misspelled it in my post.

Charlie

"Alex Chapiro" <achapiro@qnx.com> wrote in message
news:a94v2n$82t$1@inn.qnx.com...
Oh, I see what's that. If you would look up to the resourse manager
code
(actually you shouldn't do, this has to be documented ; e hasn't
done
it
because as far as I know, almost nobody used this mode, but of
course
this
is a bad excuse), you would realize that read operation works only
if
you
read number of bytes exatly the same as a size of data package. All
data
transfer packages a defined in /usr/include/sys/dcmd_input.h. For
touch
screen this is struct _touch1_packet. This is all the secret. Let me
know
if
it doesn't work.


"Charlie Surface" <charlie_surface@oti.com> wrote in message
news:a943ru$ikv$1@inn.qnx.com...
Yes, I've seen that as well. My problem is that when I try to
read
the
device from my application, the events are not available until the
release.
It's possible that this debugging output is not related to the
events
which
are actually available for reading.

I'm using select() in a loop to wait on the device. When it's
available,
I
read a _touch_packet. I've tried another touchscreen device on a
different
platform, using the same non-Photon resource manager interface,
and
I
am
able to read the events as they occur. So it seems that
devi-rpxlite
is
inconsistent. Or maybe this has to do with a thread priority
issue?
I
believe the device is usually running with 10.

thanks
Charlie

"Hardware Support Account" <hw@qnx.com> wrote in message
news:a91ibs$f43$1@nntp.qnx.com...
Hi Charlie,

We tried this here, and we saw output when we would press and
drag
on
the screen. Try using the following command line to start the
driver.

devi-rpxlite -vvvv -Pr RPX

Regards,

Erick.


Charlie Surface <charlie_surface@oti.com> wrote:
Any word on this yet?

thanks
Charlie

"Hardware Support Account" <hw@qnx.com> wrote in message
news:a8d0i2$1gb$1@nntp.qnx.com...
Hi Charlie,

I am going to check with the input developer on this and see
what
he has to say.

Regards,

Erick.


Charlie Surface <charlie_surface@oti.com> wrote:
I've been working with devi-rpxlite and noticed some
behavior
which
is
not
consistent with other touchscreens I've worked with. When
I
perform
a
press, drag, and release, the events are not returned until
the
release
occurs. I am expecting the events to be returned as they
occur.
Is
there
any rationale for this behavior, or is it a bug? My
configuration
details
are below. Note that I'm using the device in non-Photon,
resource
manager
mode.

devi-rpxlite file size 87,837 bytes
command to start "devi-rpxlite -Pr RPX"

thanks
Charlie













Charlie Surface

Re: devi-rpxlite inconsistency

Post by Charlie Surface » Tue Apr 16, 2002 4:13 pm

I think select() is a much cleaner way to wait on events that blocking on
read. At this point, it is not an option for me to change the select()
loop, since it works fine for other QNX input devices I have used. I'm
sorry that the implementation of devi-rpxlite is crippled.

thanks
Charlie

"Alex Chapiro" <achapiro@qnx.com> wrote in message
news:a97dct$rrt$1@nntp.qnx.com...
I suppose that you are blocked on select. As I've already written, this is
a
primitive resourse manager. It uses select service provided by resourse
manager library . So there is no coordination between events comming from
the touch screen and select function response. Actually this is a couple
of
lines in code, but we just not implemented it. On the other hand, do you
really need it? I think you can just be read-blocked. Or your thread
process
several devices?

"Charlie Surface" <charlie_surface@oti.com> wrote in message
news:a978pi$t2v$1@inn.qnx.com...
Below you will find 2 snippets. The first is the select() loop to wait
on
the device. The second is the device reading. Thanks for looking at
this.
Sorry about the formatting. I hate Outlook Express :-(

Charlie

//---------------------------
//select() loop
//---------------------------

FD_ZERO(&fdSet);
FD_SET(userData->pointerFd, &fdSet);
timeout.tv_sec = 1;
timeout.tv_usec = 0;

whiile (userData->pointerDeviceRunning) {

switch (select(userData->pointerFd + 1, &fdSet, 0, 0, &timeout)) {
case -1:
// error
break;

case 0:
// timeout
break;

default:
if(FD_ISSET(userData->pointerFd, &fdSet)) {
// this method handles the reading and dispatching of the events
pointerEventDispatch(bmgEnv, userData->pointerFd, devg, &calibMx);
}
FD_ZERO(&fdSet);
FD_SET(userData->pointerFd, &fdSet);
}

//---------------------------
// device reading
//---------------------------

static void pointerEventDispatch(/* ... */) {

struct _touch1_packet touchPacket;
struct _pointer_packet_hdr* hdr;

read(fd, &touchPacket, sizeof(touchPacket));

hdr = &touchPacket.hdr;

// do something with touchPacket.x and y, etc.
}



"Alex Chapiro" <achapiro@qnx.com> wrote in message
news:a9759e$qiu$1@inn.qnx.com...
On one side we know that as a driver devi-rpxlite works well (our guys
tested it).
The fact that you could read touch screen packets on another screen
aproves
it. On the other hand, all touch screen drivers share code that is
responsibe for resource manager interface. You have already tested it
using
another touch screen. It worked well. So basically there is no reason
for
bad result for devi-rpxlite. I'll try to borrow ppc box and play with
it.
Could you please send me a fragment of source you are using for
reading?

"Charlie Surface" <charlie_surface@oti.com> wrote in message
news:a96pt6$iig$1@inn.qnx.com...
Alex,

Actually I made a mistake in my earlier post. I am in fact using
_touch1_packet. I just misspelled it in my post.

Charlie

"Alex Chapiro" <achapiro@qnx.com> wrote in message
news:a94v2n$82t$1@inn.qnx.com...
Oh, I see what's that. If you would look up to the resourse
manager
code
(actually you shouldn't do, this has to be documented ; e hasn't
done
it
because as far as I know, almost nobody used this mode, but of
course
this
is a bad excuse), you would realize that read operation works only
if
you
read number of bytes exatly the same as a size of data package.
All
data
transfer packages a defined in /usr/include/sys/dcmd_input.h. For
touch
screen this is struct _touch1_packet. This is all the secret. Let
me
know
if
it doesn't work.


"Charlie Surface" <charlie_surface@oti.com> wrote in message
news:a943ru$ikv$1@inn.qnx.com...
Yes, I've seen that as well. My problem is that when I try to
read
the
device from my application, the events are not available until
the
release.
It's possible that this debugging output is not related to the
events
which
are actually available for reading.

I'm using select() in a loop to wait on the device. When it's
available,
I
read a _touch_packet. I've tried another touchscreen device on
a
different
platform, using the same non-Photon resource manager interface,
and
I
am
able to read the events as they occur. So it seems that
devi-rpxlite
is
inconsistent. Or maybe this has to do with a thread priority
issue?
I
believe the device is usually running with 10.

thanks
Charlie

"Hardware Support Account" <hw@qnx.com> wrote in message
news:a91ibs$f43$1@nntp.qnx.com...
Hi Charlie,

We tried this here, and we saw output when we would press and
drag
on
the screen. Try using the following command line to start the
driver.

devi-rpxlite -vvvv -Pr RPX

Regards,

Erick.


Charlie Surface <charlie_surface@oti.com> wrote:
Any word on this yet?

thanks
Charlie

"Hardware Support Account" <hw@qnx.com> wrote in message
news:a8d0i2$1gb$1@nntp.qnx.com...
Hi Charlie,

I am going to check with the input developer on this and
see
what
he has to say.

Regards,

Erick.


Charlie Surface <charlie_surface@oti.com> wrote:
I've been working with devi-rpxlite and noticed some
behavior
which
is
not
consistent with other touchscreens I've worked with.
When
I
perform
a
press, drag, and release, the events are not returned
until
the
release
occurs. I am expecting the events to be returned as they
occur.
Is
there
any rationale for this behavior, or is it a bug? My
configuration
details
are below. Note that I'm using the device in non-Photon,
resource
manager
mode.

devi-rpxlite file size 87,837 bytes
command to start "devi-rpxlite -Pr RPX"

thanks
Charlie















Post Reply

Return to “qdn.public.ddk.input”