5 use Data::Dump qw(dump);
11 my $debug = $ENV{DEBUG};
15 warn "## protocol = ",dump( $protocol );
16 warn "## function_code_description = ",dump( $function_code_description );
21 foreach my $filename ( @ARGV ) {
22 my $up_down = $1 if $filename =~ m/(up|down|sent)/;
23 my $raw = read_file $filename;
24 print "# $filename size:", -s $filename, " ";
25 $up_down = 'down' if $up_down eq 'sent';
26 my $hash = protocol_decode( $up_down, $raw );
28 warn "hash = ",dump($hash) if $debug;
30 my $function_code = $hash->{function_code} || die "no function_code";
31 my $fc_desc = $function_code_description->{$up_down}->{$function_code} || die "no function_code_description for $up_down $function_code";
32 print " function_code=$function_code ",
34 " ver=", $hash->{ver},
35 " len=", $hash->{len},
38 foreach my $data_id ( @{ $hash->{data_id_order} } ) {
41 unpack('H*', chr($data_id)),
42 $protocol->{$data_id}->{description},
43 $hash->{data_id}->{$data_id},
44 "hex:" . unpack('H*', $hash->{data_range}->{$data_id}),
45 "len:" . $hash->{data_len}->{$data_id},
46 "fmt:" . $protocol->{$data_id}->{pack_fmt},
47 "range:" . $protocol->{$data_id}->{range},
48 "remark:" . $protocol->{$data_id}->{remark}