equal
deleted
inserted
replaced
79 my $self = shift; |
79 my $self = shift; |
80 $self->reset->ok or return $self->{last_result}; |
80 $self->reset->ok or return $self->{last_result}; |
81 $self->cmd("WB 0007 00"); |
81 $self->cmd("WB 0007 00"); |
82 } |
82 } |
83 |
83 |
|
84 sub set_timeout { |
|
85 my $self = shift; |
|
86 my $to = shift; |
|
87 |
|
88 # timeout 3 (2.8s) |
|
89 # [__--.-___] |
|
90 # 1 1 0x18 |
|
91 # 1 0x58 |
|
92 $to = sprintf "%02x", ($to << 3 | 0x42); |
|
93 $self->cmd("SL 0007 00.00.00.$to"); |
|
94 } |
|
95 |
|
96 sub clear_timeout { |
|
97 } |
|
98 |
84 sub TIESCALAR { |
99 sub TIESCALAR { |
85 my $class = shift; |
100 my $class = shift; |
86 my ($ip) = @_; |
101 my ($ip) = @_; |
87 my $self = bless {} => $class; |
102 my $self = bless {} => $class; |
88 warn "tied to ip $ip\n"; |
103 warn "tied to ip $ip\n"; |
100 |
115 |
101 sub _tx { |
116 sub _tx { |
102 my $self = shift; |
117 my $self = shift; |
103 my $cmd = shift; |
118 my $cmd = shift; |
104 |
119 |
105 $cmd =~ s/[^A-Z\d]//g; |
120 $cmd =~ s/[^A-Z\d]//ig; |
106 |
121 |
107 $self->{job} = ++$self->{job} % 255; # cap the job id on 255; |
122 $self->{job} = ++$self->{job} % 255; # cap the job id on 255; |
108 $cmd = $STX . sprintf("%02x", $self->{job}) . $cmd; # add STX and job id |
123 $cmd = $STX . sprintf("%02x", $self->{job}) . $cmd; # add STX and job id |
109 $cmd .= sprintf("%02x", unpack("%8C*", $cmd)); # add checksum |
124 $cmd .= sprintf("%02x", unpack("%8C*", $cmd)); # add checksum |
110 |
125 |