From: Bruce W. <br...@mi...> - 2001-01-17 01:51:18
|
Ben, Brian changed the way iButton.pl stores things, so you need to change from $ib->serial() to this: print_log "ID:" . $ib->{ibutton}->id() . " Temp: $temp degrees" if defined $temp; Brian, a related error in iButton.pm. I think we need to change from this: if ($self->{model} eq 'DS2406' ) { to this: if ($self->{ibutton}->{model} eq 'DS2406' ) { I noticed this when I run with mh -w 1. That turns on the 'using an uninizialized variable' message that normally is a bothersome false error, but in this case it looks like if found something useful. One last bit of news. I finially discovered how to get your new iButton code to work reliably on my Windows 2000 box! I don't know why, but adding this dorky delay to connection.pm does the trick for me: $this->{ SERIALPORT }->read_char_time( 10 ); # Without this, we have problems on faster boxes select undef, undef, undef, .001; With that delay, it works on all both my motherboard COM port as well as my byterunner ports! I am running on a zippy box (dual 800 mhz PIII), so that might be part of the problem. It works fine (with or without the small delay) on my linux box. Sooo.... we could just do that delay on Win32 boxes. Or maybe you have a different suggestion. Instead of adding the separate delay, changing read_char_time from 10 to 50 also seems to fix it for me, so maybe that would be better. Or maybe that is a user programable number? Bruce -----Original Message----- Sorry about that I miss sent that, was suppose to go to Brian. Well probably good for the rest anyway. Ben At 20:13 1/16/2001 -0500, you wrote: Well I've tried some of your newer code for the iButton and it appears to be somewhat more stable. I do have a question on the old ibutton.pl that I got from Bruce's pages. I am having a problem with an area of code that appears to have changed from your original Connect.pm and iButton.pm. The area is as follows: # List all iButton temperatures. This can take a while if (said $v_iButton_readtemps) { print_log "Reading iButton temperatures"; for my $ib (@ib_temps) { my $temp = read_temp $ib; print_log "ID:" . $ib->serial() . " Temp: $temp degrees" if defined $temp; } } $ib->serial() seems to be causing a problem. Any assistance would be appreciated? I thin this is where it is getting the id code of the ibutton from. Ben |