 |
iRex Forum
|
| View previous topic :: View next topic |
| Author |
Message |
jharker
Joined: 25 Apr 2007 Posts: 281 Location: Rochester, NY, USA
|
Posted: Fri Apr 27, 2007 8:54 pm Post subject: Tilt data available from the Wacom tablet? |
|
|
From the sticky-post about the project:
| karel wrote: | | The current implementation does not support calibration, in order to support calibration and pressure sensing we prefer another implementation. (The Wacom digitizer tablet supports pressure sensing). |
I assume that the Wacom tablet in the iLiad also supports tilt data? Your patch code includes it. |
|
| Back to top |
|
 |
BACbKA
Joined: 19 Dec 2006 Posts: 109 Location: Israel
|
Posted: Fri Apr 27, 2007 10:21 pm Post subject: |
|
|
| btw, with the switch over to 2.9.5 I see very accurate stylus calibration on the same device which previously was way off (something like 1.5-2mm off). Does it mean that there was a problem with a problematic non-GPL code you've thrown away? and does it mean that those that enjoyed well-calibrated units before now have WORSE calibration than before? |
|
| Back to top |
|
 |
kusmi

Joined: 03 Aug 2006 Posts: 136 Location: Zurich, Switzerland
|
Posted: Sun Apr 29, 2007 5:56 pm Post subject: |
|
|
I don't see that - mine is still off a few millimeters... but I have the feeling, now the offset is more prominent on the left side of the display, where before it was more on the right side (so it is swapped, as before 2.9.5) - but I can't really remember, so it could be that I'm wrong
BTW, if WACOM-tablet in ilIad also provides tilt-data, that would make it possible to automatically detect, if the user writes in portrait or landscape mode! This would be great, as usually during note-taking I rotate the iliad (e.g. to write in the left/right book corners) |
|
| Back to top |
|
 |
Matthijs iRex Employee

Joined: 18 Jul 2006 Posts: 948 Location: Eindhoven
|
Posted: Tue May 01, 2007 7:14 am Post subject: |
|
|
From what I've heard from our Wacom contact-person, the tilt-data is not accurate in this Wacom panel, even though the variables are filled with something.
You could try to see what you can get out of it though... |
|
| Back to top |
|
 |
jharker
Joined: 25 Apr 2007 Posts: 281 Location: Rochester, NY, USA
|
Posted: Thu May 03, 2007 2:35 am Post subject: |
|
|
Hmm... I just uncommented some debug messages in the wacom driver, recompiled xserver, and ran it on my iLiad. (I installed the 'unbrickable' mod to turn on ethernet/dropbear at bootup, so I have reliable ssh access in the event of an xserver failure.)
From what I can see, there is actually no data at all being returned by the tilt sensor. On initialization, there are no max tilt values returned, and in the data stream there are no tilt values either.
Since this code is literally reading the tilt values straight from the serial port, I have to assume that either:
- The Wacom panel isn't providing tilt data at all,
- The driver patch is not reading the serial port correctly for tilt data, or
- My message-printing code is messed up.

I'm pretty sure that #3 is not the case...
Regarding #1, the Linux Wacom Project FAQ says: | Linux Wacom Project FAQ wrote: | | Note, tilt is only supported with protocol V tablets, which include Intuos series and Cintiq 21UX to date (Nov. 9, 2006). Any other tablets don't have tilt no matter you have the tilt option in your xorg.conf or not. |
Matthijs, what model Wacom tablet is in the iRex? I know you've requested permission to release technical info from Wacom, but while we're waiting for that even the model name would be helpful...
Regarding #2, the current code looks okay at first glance... I'm working on implementing the wacdump utility from the Linux Wacom Project, to see exactly what's up with the touchscreen. If that works, we'll have a pretty good idea how to talk to it and what it can do. |
|
| Back to top |
|
 |
jharker
Joined: 25 Apr 2007 Posts: 281 Location: Rochester, NY, USA
|
Posted: Thu May 03, 2007 3:27 pm Post subject: |
|
|
Update: wacdump runs okay on the iLiad now, however it doesn't seem to want to auto-identify the tablet. I've tried 'forcing' it to think the tablet is a certain type, but none of the known types work. So I infer that the Wacom sensor in the iLiad is somehow custom or non-standard, in which case I guess we'll need the technical data before we can get any further...
As an aside, I guess it's obvious why I'm focused on getting tilt sensor information: Calibration will be MUCH more accurate if we have tilt data to play with. Without tilt data, the pen point will move around depending on how the pen is held (and what orientation the stylus is placed in). |
|
| Back to top |
|
 |
jharker
Joined: 25 Apr 2007 Posts: 281 Location: Rochester, NY, USA
|
Posted: Thu May 03, 2007 4:06 pm Post subject: |
|
|
Update: I was curious to see whether tilt data support resides primarily in the tablet or the pen. Is there such a thing as a pen that doesn't support tilt data? (I thought maybe the pen that comes with the iLiad isn't tilt-enabled, and that would explain why I got no tilt data.)
So I called Wacom technical support and asked. I said I was working on open-source driver development for the iLiad, and they gave me some information.
To make a long story short, here's what I learned:- Tilt support is in the tablet, not the pen.
- The Wacom device in the iLiad is a UD type, which DOES support tilt.
- The programmer's guide to supporting UD Wacom tablets (and others) may be downloaded in pdf form at http://www.wacomeng.com/devsupport/progman.pdf.
Actually, I found that programmer's guide by doing a Google-search for the email address of their contact person for driver development support.
I have not verified any of this information yet (they might be wrong about what model sensor is in the iLiad). Nor have I read much of the manual. But I thought I would post it for the curious.  |
|
| Back to top |
|
 |
cdnebklvr

Joined: 12 Apr 2007 Posts: 38 Location: Atlantic Canada
|
Posted: Thu May 03, 2007 5:04 pm Post subject: |
|
|
jharker.
You're doing a great job so far and the info you've posted has been really interesting. I haven't done any Linux development and my C coding is really rusty but I hope to help with this project at some point, even if I just provide moral support.
Keep up the great work. |
|
| Back to top |
|
 |
jayk Community Developer
Joined: 19 Nov 2006 Posts: 90
|
Posted: Fri May 04, 2007 6:04 am Post subject: |
|
|
Jharker: You rule. Great great work on digging up this information. I am reading the UD programming doc as we speak.
Sorry for not being around sooner. I'm buried in work from my day job and it's been slowing me down a bit.
According to the manual, we should be able to ask the tablet what model it is. I don't have everything hooked up on my iliad yet, but if you want to try it, sending the command ~#<enter> should dump back a model and version string. If it starts with UD, we know we do in fact have a UD.... Or maybe Matthijs can tell us?
I think it'd be useful during development to have a proggy to talk directly to the wacom tablet and spit out results. I'm working on getting the general linux-wacom tools compiled for my Iliad - I'm hopeful that we can use some of the debugging / testing stuff from there to learn a bit more about what our tablet will actually do.
As an aside - Matthijs - I saw a post you made elsewhere about setting a startup script to look at the cf card for another rc#.d directory - can you elaborate? When is the CF mounted? how soon in the boot process can we actually access the CF? I need to set up my Iliad to be a little less brickable - before I kill off the x server and start poking at the wacom device manually
Thanks. And again - way to go jharker!
JayK |
|
| Back to top |
|
 |
Matthijs iRex Employee

Joined: 18 Jul 2006 Posts: 948 Location: Eindhoven
|
Posted: Fri May 04, 2007 8:24 am Post subject: |
|
|
Does W8001 mean anything for you? That should be the type of Wacom IC, according to the documentation I have here.
http://www.wacom-components.com/common/downloads/W8001.pdf
As for tilt support: my colleague who has done all communications with Wacom and has assisted them in calibrating (all panels are linearized in the factory to a maximum offset of +/- 5mm IIRC, which is stored in the Wacom IC firmware) is not here right now, but he told me in the past that the tilt data (if it is there at all) is not reliable.
jayK: the development iLiad with serial access should be heading your way via UPS now.
The CF card should be online before you rc5.d/S99-unbrick.sh is called, but you should *really* test that before relying on it. Maybe the ethernet + SSH option jharker is using is a bit safer.
I could also give you an update via iDS that flashes an NFS kernel into your emergency kernel |
|
| Back to top |
|
 |
Matthijs iRex Employee

Joined: 18 Jul 2006 Posts: 948 Location: Eindhoven
|
Posted: Fri May 04, 2007 8:26 am Post subject: |
|
|
| The protocol used on the Serial port is referred to as "ISD V4" |
|
| Back to top |
|
 |
jharker
Joined: 25 Apr 2007 Posts: 281 Location: Rochester, NY, USA
|
Posted: Fri May 04, 2007 1:16 pm Post subject: |
|
|
Whew! Now we're cooking!
All kinds of stuff to follow up on... let's see:
@Matthijs: I don't know anything about the W8001, but more technical info is better than less!
As for the tilt data, I know it's probably going to be unreliable, but I always like to check these things for myself. If it's even approximately correct, we can still use it for calibration. As far as I'm concerned, even tilt that's accurate within +/- 10 degrees would still be an improvment over none, in terms of calculating the position of the pen tip. So while it might not be sensitive enough to control the line width dynamically, it might be helpful for keeping the projected pen tip in the right place... we'll see! Thanks for the info!
I don't know anything about ISD V4 yet, but I'll work on it.
@jayk: Well, I'm a furiously procrastinating grad student, which means that even if I don't (theoretically) have much free time, I get a lot done... on everything that's not my thesis.
Don't be too keen on the UD protocol. In the current iLiad driver, it sends the character "*" as a request for the tablet's current settings. But I can't find that command anywhere in the UD programming doc, which suggests that the iLiad tablet may not quite meet those standards.
I think I said earlier that although I compiled Linux Wacom Project tool "wacdump" for the iLiad, I was unable to get it to respond. Either the tool "timed out" or it said something about being unable to talk to vt100... I'm not sure what's up with that. I may have made an error in compile, although I used the SDK and so on. You probably have more experience than me, if you could check that would be great!
As far as I know the "UD" tablet type is fairly old, and it's also used only for integrated, low-power, handheld systems. I think the Linux Wacom Project has focused more on standalone tablets??... and it may simply be not supported by their driver. But I could be completely wrong.
I modified the current iLiad Wacom driver to send the "~#" and "~R" commands and each time read 28 characters of the result. In both cases it crashed the xserver (static-y screen on the iLiad, wow!) and produced no useful data that I could find. This could be because I don't know enough about basic serial port protocol, and I might have done something wrong.
So today I'm going to work on learning more about how serial ports work, and try this quick-and-dirty approach for getting some info from the tablet.
Jayk, I did work up a few things to make my iLiad less brickable when testing xserver stuff... I'll post it here in a couple of minutes. |
|
| Back to top |
|
 |
jharker
Joined: 25 Apr 2007 Posts: 281 Location: Rochester, NY, USA
|
Posted: Fri May 04, 2007 1:27 pm Post subject: |
|
|
Here are some questions, just off the top of my head: do either of you know much about serial ports?
- When I write a string to the serial port, do I have to include the <newline>, or is it somehow included automatically?
- What about reading, is there a flag I should look for before reading characters? The current iLiad Wacom driver seems to think so.
- What happens if I read too many characters from the serial port? Do I go into bad memory?
- What happens if I read too few characters from the serial port? Does stuff queue up in there, or does it vanish if it's not read?
These are probably all very obvious, but I don't know much about serial ports. I'll Google it later- I just thought I would ask...  |
|
| Back to top |
|
 |
cdnebklvr

Joined: 12 Apr 2007 Posts: 38 Location: Atlantic Canada
|
Posted: Fri May 04, 2007 2:22 pm Post subject: |
|
|
I was curious about the ISDV4 protocol so I did some googling.
From the LinuxWacom input driver man page:
...
Option "ForceDevice" "ISDV4"
tells the driver to dialog with the tablet the Tablet PC
way. Tablet PC is a serial tablet using a special Wacom IV
protocol, called ISDV4 protocol. This option is mandatory
for Tablet PC.
...
The related code looks to be in linuxwacom-0.7.6-4\src\xdrv\wcmISDV4.c
I couldn't find any technical specs on the Wacom site when I searched for ISDV4.
Hope this info helps. |
|
| Back to top |
|
 |
cdnebklvr

Joined: 12 Apr 2007 Posts: 38 Location: Atlantic Canada
|
Posted: Fri May 04, 2007 2:27 pm Post subject: |
|
|
I just noticed in the comment header of wcmISDV4.c
Copyright 2002-2005 by Ping Cheng, Wacom Technology. [his email address]
That email addr may come in handy for this project.  |
|
| Back to top |
|
 |
|
|
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 vote in polls in this forum
|
You can find our complete guidelines here.
Powered by phpBB © 2001, 2005 phpBB Group
|