--- Begin Message ---
- To: Debian Bug Tracking System <submit@bugs.debian.org>
- Subject: joystick: Better jitter tolerance for jscal
- From: Johan Walles <d92-jwa@nada.kth.se>
- Date: Sat, 27 Apr 2002 22:05:31 +0200
- Message-id: <E171YRn-0000cD-00@foo>
Package: joystick
Version: 20010903-2
Severity: normal
File: /usr/bin/jscal
Tags: patch
I have a very jittery joystick; enough to get problems calibrating it. The
below patch increases the jitter tolerance in jscal by:
* Increasing the initial centerpoint detection from two seconds to four.
* The two jitter detections now wait for four / two seconds _after_the_last_
_jitter_update_ before considering themselves done.
I am having better luck with this version, and would like to see the patch
get merged into the official version.
Also, I don't know if this is an issue, but I consider my few lines of code
to be in the public domain, so you can do what you like with it; including
changing the license to whatever and include it in the jscal sources.
--- joystick-20010903.orig/utils/jscal.c Sat Apr 27 21:51:09 2002
+++ joystick-20010903/utils/jscal.c Sat Apr 27 21:51:31 2002
@@ -201,6 +201,7 @@
void calibrate()
{
int i, j, t, b;
+ int axis, pos;
for (i=0; i<MAX_AXES; i++) {
corr[i].type = JS_CORR_NONE;
@@ -231,13 +232,19 @@
do {
wait_for_event(fd, &js);
for(i=0; i < axes; i++) {
- if (amin[i] > js.axis[i]) amin[i] = js.axis[i];
- if (amax[i] < js.axis[i]) amax[i] = js.axis[i];
+ if (amin[i] > js.axis[i]) {
+ amin[i] = js.axis[i];
+ t = get_time();
+ }
+ if (amax[i] < js.axis[i]) {
+ amax[i] = js.axis[i];
+ t = get_time();
+ }
printf("Axis %d:%5d,%5d ", i, amin[i], amax[i]);
}
printf("\r");
fflush(stdout);
- } while (get_time() < t+2000);
+ } while (get_time() < t+4000);
printf("Done. Precision is: \n");
@@ -253,30 +260,36 @@
b = js.buttons;
- for (j = 0; j < axes; j++)
- for (i = 0; i < NUM_POS; i++) {
- while(b ^ js.buttons) wait_for_event(fd, &js);
- printf("Move axis %d to %s position and push any button.\n", j, pos_name[i]);
-
- while (!(b ^ js.buttons)) {
- print_position(j, js.axis[j]);
- wait_for_event(fd, &js);
- }
+ for (axis = 0; axis < axes; axis++)
+ for (pos = 0; pos < NUM_POS; pos++) {
+ while(b ^ js.buttons) wait_for_event(fd, &js);
+ printf("Move axis %d to %s position and push any button.\n", axis, pos_name[pos]);
+
+ while (!(b ^ js.buttons)) {
+ print_position(axis, js.axis[axis]);
+ wait_for_event(fd, &js);
+ }
- putcs("Hold ... ");
+ putcs("Hold ... ");
- corda[j].cmin[i] = js.axis[j];
- corda[j].cmax[i] = js.axis[j];
+ corda[axis].cmin[pos] = js.axis[axis];
+ corda[axis].cmax[pos] = js.axis[axis];
- t = get_time();
+ t = get_time();
- while (get_time() < t + 2000 && (b ^ js.buttons)) {
- if (js.axis[j] < corda[j].cmin[i]) corda[j].cmin[i] = js.axis[j];
- if (js.axis[j] > corda[j].cmax[i]) corda[j].cmax[i] = js.axis[j];
- wait_for_event(fd, &js);
+ while (get_time() < t + 2000 && (b ^ js.buttons)) {
+ if (js.axis[axis] < corda[axis].cmin[pos]) {
+ corda[axis].cmin[pos] = js.axis[axis];
+ t = get_time();
+ }
+ if (js.axis[axis] > corda[axis].cmax[pos]) {
+ corda[axis].cmax[pos] = js.axis[axis];
+ t = get_time();
+ }
+ wait_for_event(fd, &js);
+ }
+ puts("OK.");
}
- puts("OK.");
- }
puts("");
-- System Information
Debian Release: 3.0
Architecture: i386
Kernel: Linux foo 2.4.17 #1 sön feb 10 09:40:14 CET 2002 i686
Locale: LANG=sv_SE.ISO8859-1, LC_CTYPE=sv_SE.ISO8859-1
Versions of packages joystick depends on:
ii debconf 1.0.32 Debian configuration management sy
ii libc6 2.2.5-4 GNU C Library: Shared libraries an
ii makedev 2.3.1-58 Creates device files in /dev.
--- End Message ---
--- Begin Message ---
Source: joystick
Source-Version: 20051019-4
We believe that the bug you reported is fixed in the latest version of
joystick, which is due to be installed in the Debian FTP archive:
joystick_20051019-4.diff.gz
to pool/main/j/joystick/joystick_20051019-4.diff.gz
joystick_20051019-4.dsc
to pool/main/j/joystick/joystick_20051019-4.dsc
joystick_20051019-4_i386.deb
to pool/main/j/joystick/joystick_20051019-4_i386.deb
A summary of the changes between this version and the previous one is
attached.
Thank you for reporting the bug, which will now be closed. If you
have further comments please address them to 144768@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.
Debian distribution maintenance software
pp.
Stephen Kitt <steve@sk2.org> (supplier of updated joystick package)
(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@debian.org)
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Format: 1.8
Date: Wed, 23 Jul 2008 07:53:13 +0200
Source: joystick
Binary: joystick
Architecture: source i386
Version: 20051019-4
Distribution: unstable
Urgency: low
Maintainer: Stephen Kitt <steve@sk2.org>
Changed-By: Stephen Kitt <steve@sk2.org>
Description:
joystick - set of testing and calibration tools for joysticks
Closes: 144768 338139 419342 444142 465928 475049
Changes:
joystick (20051019-4) unstable; urgency=low
.
* Update short description as suggested by Ben Finney.
* Set priority to extra to match the override file, as suggested by Joe
Nahmias.
* Use debhelper 7, as hinted by Joe Nahmias and the debhelper
documentation.
* Remove versioned dependency on cdbs since even oldstable has a new
enough version.
* Ship evtest and associated manpage; lineakd diverts them so this package
need not conflict with lineakd, but it does need to conflict with
dvb-utils (which will not ship with Lenny). Closes: #475049
.
joystick (20051019-3) unstable; urgency=low
.
* New maintainer. Closes: #465928
* Update inputattach. Closes: #419342
* Force removal of initscript. Closes: #338139
* Improve jscal jitter tolerance. Thanks Johan Walles! Closes: #144768
* Allow button and axis remapping in jscal. Thanks Dr. László Kaján!
Closes: #444142
* Update Standards-Version to 3.8.0:
+ add a README.source file explaining the basics of quilt
Checksums-Sha1:
c4c2bee82f1938531e88dacafa77c5cae2111cae 1037 joystick_20051019-4.dsc
65839f5d600a497d6348dc302e3ea4ac25b8e491 14210 joystick_20051019-4.diff.gz
434821b71d61f88e3d0b0c4c41366eed7c558648 25830 joystick_20051019-4_i386.deb
Checksums-Sha256:
42c2b60fcf77590c3378d3600e11f4c0880c5217861a299cac206bb231d112ad 1037 joystick_20051019-4.dsc
9c11fc490b6e3452b1db7c57e0e0060c7d64b5016b1e9867139224f2ddc7f427 14210 joystick_20051019-4.diff.gz
bc9d0dc15129bf8800696c4fef6755a7d2625251abe56e64278494be0f515eec 25830 joystick_20051019-4_i386.deb
Files:
22108d2afcbfed1c9c3b826c81870a64 1037 utils extra joystick_20051019-4.dsc
3556407c04f001c31c7efbc97c1a6b18 14210 utils extra joystick_20051019-4.diff.gz
7bb19a483d04234dc97c16a9a5a728fa 25830 utils extra joystick_20051019-4_i386.deb
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
iEYEARECAAYFAkiH6S8ACgkQULacnzmLNx0wWgCgjKCY6EIizK9a7H1M0C01hV7F
zQMAoKlIG8xShkqP2NM8mg4bwbQvz33z
=nTdV
-----END PGP SIGNATURE-----
--- End Message ---