Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 30 Sep 2001 20:15:27 -0500
From:      Bart Kus <bsd@shell-server.com>
To:        Mike Meyer <mwm@mired.org>
Cc:        hackers@freebsd.org
Subject:   Re: sio modification
Message-ID:  <200109301623.4359@EO>
In-Reply-To: <15287.29386.998663.37631@guru.mired.org>
References:  <200109301003.06903@EO> <15287.29386.998663.37631@guru.mired.org>

next in thread | previous in thread | raw e-mail | index | archive | help

--------------Boundary-00=_R56ITYN8AH69ZPC1022E
Content-Type: text/plain;
  charset="iso-8859-1"
Content-Transfer-Encoding: 8bit

On Sunday 30 September 2001 14:30, Mike Meyer wrote:
> It looks like you've already got a solution to this problem, and this
> won't be very useful if the 40kHz figure is right, but I figured I
> might mention it anyway. Have you thought about using the feature of
> the callin device of the "open" call blocking until it gets CD? You
> should then get a SIGHUP when CD drops.

	This sounded like a really good idea when I first read it, so I wrote a 
test.  The first thing I noticed is that SIGHUP was *NOT* being generated 
(any idea why?) on CD transition to low.  I then realized that I could use 
write() and it would fail when CD==low.  So I used that technique for 
detecting CD==low, and after setting "dtrwait" to 0 using comcontrol, things 
seemed to be going well.  However, I pressed the same button on the remote 
multiple times and I noticed a very high variance in the time-deltas between 
high/low states.  In fact, sometimes 7 transitions are reported, sometimes 9. 
 The variance for some time-deltas is sometimes as high as a factor of 10 
(note: I'm not using the statistical definition of variance - I simply mean 
that a +edge -> -edge time can be 100us and then 1000us on the next press of 
the same button).  Sadly, this seemingly good mechanism doesn't perform well 
enough to produce the kind of data I'd need for pattern matching.

	Perhaps actually managing to generate a SIGHUP would cut down on this 
variance?

	I've attached the source for the test program for your reading enjoyment. :) 
 Don't feel obligated to open it.

		--Bart

--------------Boundary-00=_R56ITYN8AH69ZPC1022E
Content-Type: text/x-c;
  charset="iso-8859-1";
  name="IRBaboon2.c"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="IRBaboon2.c"

LyogQ293ICYgQ2hpY2tlbiBydWxlIQogKgogKiBJUkJhYm9vbiBDb3B5cmlnaHQgKEMpIEJhcnQg
S3VzLCAyMDAxLgogKi8KCi8qIE5PVEU6CiAqIEJlIFNVUkUgdG8gZG8gYTogY29tY29udHJvbCAv
ZGV2L2lyYmFib29uIGR0cndhaXQgMAogKiBQcmlvciB0byBydW5uaW5nIHRoaXMgcHJvZ3JhbSEK
ICovCgojaW5jbHVkZSA8c3RkaW8uaD4KI2luY2x1ZGUgPGZjbnRsLmg+CiNpbmNsdWRlIDx0ZXJt
aW9zLmg+CiNpbmNsdWRlIDxzaWduYWwuaD4KI2luY2x1ZGUgPHN5cy90aW1lLmg+CiNpbmNsdWRl
IDxzeXMvdHlwZXMuaD4KI2luY2x1ZGUgPHN5cy91aW8uaD4KI2luY2x1ZGUgPHVuaXN0ZC5oPgoK
aW50IGk7CnVuc2lnbmVkIGludCBkdFsyNTZdOwoKdm9pZCBoYW5kbGVyX3NpZ2h1cChpbnQgZGF0
YSkgewoJcHJpbnRmKCJHb3QgU0lHSFVQXG4iKTsKCglyZXR1cm47Cn0KCnZvaWQgaGFuZGxlcl9z
aWdpbnQoaW50IGRhdGEpIHsKCWludCBpMjsKCglmb3IoaTI9MDsgaTIgPCBpOyBpMisrKQoJCXBy
aW50ZigiRFQ6ICUwMTBkdXNcbiIsIGR0W2kyXSk7CgoJcmV0dXJuOwp9CgppbnQgbWFpbihpbnQg
YXJnYywgY2hhciAqKmFyZ3YpCnsKCWludCBmZDsKCXN0cnVjdCB0ZXJtaW9zIHQ7CglzdHJ1Y3Qg
dGltZXZhbCBoaWdoLCBsb3c7CgoJLyogQ29uZmlndXJlIG91ciBDRC0+bG93IFNJR0hVUCBoYW5k
bGVyICovCglzaWduYWwoU0lHSFVQLCBoYW5kbGVyX3NpZ2h1cCk7CglzaWduYWwoU0lHSU5ULCBo
YW5kbGVyX3NpZ2ludCk7CgoJLyogQ29uZmlndXJlIHRoZSBwb3J0ICovCgljZnNldHNwZWVkKCZ0
LCBCMTE1MjAwKTsKCXQuY19pZmxhZyA9IDA7Cgl0LmNfb2ZsYWcgPSAwOwoJdC5jX2NmbGFnID0g
Q1NJWkV8Q1M2fENSRUFEfEhVUENMOwoJdC5jX2xmbGFnID0gMDsKCWZvcihpPTA7IGkgPCBOQ0NT
OyBpKyspCgkJdC5jX2NjW2ldID0gJ1wwJzsKCglpPTA7Cgl3aGlsZSgxKSB7CgkJLyogT3BlbiBj
YWxsaW4gZGV2aWNlIC0gYmxvY2tzIHVudGlsIENELT5oaWdoICovCgkJZmQgPSBvcGVuKCIvZGV2
L2lyYmFib29uIiwgT19SRFdSLCAwKTsKCQlnZXR0aW1lb2ZkYXkoJmhpZ2gsIE5VTEwpOwoKCQlp
Zih0Y3NldGF0dHIoZmQsIFRDU0FOT1csICZ0KSkgewoJCQlwZXJyb3IoInRjc2V0YXR0cigpIik7
CgkJCWV4aXQoMSk7CgkJfQoKCQl3aGlsZSh3cml0ZShmZCwgIlgiLCAxKSAhPSAtMSk7CgkJZ2V0
dGltZW9mZGF5KCZsb3csIE5VTEwpOwoKCQljbG9zZShmZCk7CgoJCS8qCQlwcmludGYoIkhJR0g6
ICUwOWQuJTA5ZHNcbiIsIGhpZ2gudHZfc2VjLCBoaWdoLnR2X3VzZWMpOwoJCQkJcHJpbnRmKCIg
TE9XOiAlMDlkLiUwOWRzXG4iLCBsb3cudHZfc2VjLCBsb3cudHZfdXNlYyk7CgkJCQlwcmludGYo
IiAgRFQ6ICAgICAgICAgJTAxMGR1c1xuIiwgKGxvdy50dl9zZWMtaGlnaC50dl9zZWMpKjEwMDAw
MDAgKyAobG93LnR2X3VzZWMgLSBoaWdoLnR2X3VzZWMpKTsqLwoJCWR0W2krK10gPSAobG93LnR2
X3NlYy1oaWdoLnR2X3NlYykqMTAwMDAwMCArIChsb3cudHZfdXNlYyAtIGhpZ2gudHZfdXNlYyk7
Cgl9CgoJcmV0dXJuIDA7Cn0K

--------------Boundary-00=_R56ITYN8AH69ZPC1022E--

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200109301623.4359>