From: Jean T. <jt...@bo...> - 2002-03-28 21:28:53
|
On Thu, Mar 28, 2002 at 03:53:49PM -0500, Felix Tang wrote: > Ok I found the definition for these bits... > > __u32 min_turn_times[] = { 10000, 5000, 1000, 500, 100, 50, 10, 0 }; /* > us */ > > I'm just confused because the actisys driver uses this line: > > qos->min_turn_time.bits = 0x7F; /*need 0.01 ms*/ > > and some of the other drivers use: > > qos->min_turn_time.bits = 0x01; /*Needs at least 10 ms*/ > qos->min_turn_time.bits = 0x03; <- with no comment. > > Felix The negociation code will use the highest bit of the field, so the lowest value. You mark multiple bits so that you can XOR the mtt of the sender and the receiver while doing negociation (the same way you do speed). In theory, you are also supposed to XOR the values given by irtty/irport and the one used by the dongle, but as you can see this is not done properly. 0x7F -> can do any mtt except 0us 0x03 -> can do 10ms and 5ms mtt 0x01 -> can only do 10ms mtt The mtt is specified by both the performance of the encoder chip and the infrared led (but most often the led is the limiting factor). So, have a deep look at the spec sheet of the hardware you are using. Good luck... Jean |