mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-05-07 22:29:19 +00:00
Added rssi debugging
git-svn-id: https://svn.fhem.de/fhem/trunk@248 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
fd87672612
commit
1bfbcb322e
@ -31,6 +31,7 @@ sub CUL_Read($);
|
|||||||
sub CUL_ReadAnswer($$);
|
sub CUL_ReadAnswer($$);
|
||||||
sub CUL_Ready($$);
|
sub CUL_Ready($$);
|
||||||
|
|
||||||
|
my $initstr = "X21";
|
||||||
my %msghist; # Used when more than one CUL is attached
|
my %msghist; # Used when more than one CUL is attached
|
||||||
my $msgcount = 0;
|
my $msgcount = 0;
|
||||||
my %gets = (
|
my %gets = (
|
||||||
@ -165,7 +166,7 @@ CUL_Set($@)
|
|||||||
CUL_SimpleWrite($hash, "W0D$f2"); # Will reprogram the CC1101
|
CUL_SimpleWrite($hash, "W0D$f2"); # Will reprogram the CC1101
|
||||||
CUL_SimpleWrite($hash, "W0E$f1");
|
CUL_SimpleWrite($hash, "W0E$f1");
|
||||||
CUL_SimpleWrite($hash, "W0F$f0");
|
CUL_SimpleWrite($hash, "W0F$f0");
|
||||||
CUL_SimpleWrite($hash, "X01");
|
CUL_SimpleWrite($hash, $initstr);
|
||||||
return $msg;
|
return $msg;
|
||||||
|
|
||||||
} elsif($a[1] eq "bandwidth") { # KHz
|
} elsif($a[1] eq "bandwidth") { # KHz
|
||||||
@ -191,11 +192,12 @@ GOTBW:
|
|||||||
my $msg = "Setting MDMCFG4 (10) to $ob = $bw KHz, verbose to 01";
|
my $msg = "Setting MDMCFG4 (10) to $ob = $bw KHz, verbose to 01";
|
||||||
Log 1, $msg;
|
Log 1, $msg;
|
||||||
CUL_SimpleWrite($hash, "W10$ob");
|
CUL_SimpleWrite($hash, "W10$ob");
|
||||||
CUL_SimpleWrite($hash, "X01");
|
CUL_SimpleWrite($hash, $initstr);
|
||||||
return $msg;
|
return $msg;
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
|
Log 1, "set @a";
|
||||||
CUL_Write($hash, $sets{$a[1]}, $arg);
|
CUL_Write($hash, $sets{$a[1]}, $arg);
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -219,17 +221,22 @@ CUL_Get($@)
|
|||||||
|
|
||||||
if($a[1] eq "ccconf") {
|
if($a[1] eq "ccconf") {
|
||||||
|
|
||||||
my %r = ( "0D"=>1,"0E"=>1,"0F"=>1,"10"=>1,"1B"=>1,"1D"=>1) ;
|
my %r = ( "0D"=>1,"0E"=>1,"0F"=>1,"10"=>1,"1B"=>1,"1D"=>1,
|
||||||
|
"23"=>1,"24"=>1,"25"=>1,"26"=>1,"34"=>1) ;
|
||||||
foreach my $a (sort keys %r) {
|
foreach my $a (sort keys %r) {
|
||||||
CUL_SimpleWrite($hash, "C$a");
|
CUL_SimpleWrite($hash, "C$a");
|
||||||
my @answ = split(" ", CUL_ReadAnswer($hash, "C$a"));
|
my @answ = split(" ", CUL_ReadAnswer($hash, "C$a"));
|
||||||
$r{$a} = $answ[4];
|
$r{$a} = $answ[4];
|
||||||
}
|
}
|
||||||
$msg = sprintf("Freq:%.3fMHz Bwidth:%dKHz Ampl:%ddB Sens:%ddB",
|
$msg = sprintf("Freq:%.3fMHz Bwidth:%dKHz Ampl:%ddB " .
|
||||||
26*(($r{"0D"}*256+$r{"0E"})*256+$r{"0F"})/65536,
|
"Sens:%ddB FSCAL:%02X%02X%02X%02X RSSI: %ddB",
|
||||||
26000/(8 * (4+(($r{"10"}>>4)&3)) * (1 << (($r{"10"}>>6)&3))),
|
26*(($r{"0D"}*256+$r{"0E"})*256+$r{"0F"})/65536, #Freq
|
||||||
$r{"1B"}&7<4 ? 24+3*($r{"1B"}&7) : 36+2*(($r{"1B"}&7)-4),
|
26000/(8 * (4+(($r{"10"}>>4)&3)) * (1 << (($r{"10"}>>6)&3))), #Bw
|
||||||
4+4*($r{"1D"}&3)
|
$r{"1B"}&7<4 ? 24+3*($r{"1B"}&7) : 36+2*(($r{"1B"}&7)-4), #Ampl
|
||||||
|
4+4*($r{"1D"}&3), #Sens
|
||||||
|
$r{"23"}, $r{"24"}, $r{"25"}, $r{"26"}, #FSCAL
|
||||||
|
$r{"34"}>=128 ? (($r{34}-256)/2-74) : ($r{34}/2-74) #RSSI
|
||||||
|
|
||||||
);
|
);
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
@ -278,7 +285,7 @@ CUL_DoInit($)
|
|||||||
Log 1, $msg;
|
Log 1, $msg;
|
||||||
return $msg;
|
return $msg;
|
||||||
}
|
}
|
||||||
$hash->{PortObj}->write("X01\n"); # Enable message reporting
|
CUL_SimpleWrite($hash, $initstr);
|
||||||
|
|
||||||
# Reset the counter
|
# Reset the counter
|
||||||
delete($hash->{XMIT_TIME});
|
delete($hash->{XMIT_TIME});
|
||||||
@ -508,7 +515,16 @@ CUL_Read($)
|
|||||||
$msghist{$msgcount}{MSG} = $dmsg;
|
$msghist{$msgcount}{MSG} = $dmsg;
|
||||||
$msgcount++;
|
$msgcount++;
|
||||||
|
|
||||||
|
if($initstr eq "X21") {
|
||||||
|
my $l = length($dmsg);
|
||||||
|
my $rssi = hex(substr($dmsg, $l-2, 2));
|
||||||
|
$dmsg = substr($dmsg, 0, $l-2);
|
||||||
|
$rssi = ($rssi>=128 ? (($rssi-256)/2-74) : ($rssi/2-74));
|
||||||
|
Log 1, "CUL: $dmsg $rssi";
|
||||||
|
} else {
|
||||||
Log 1, "CUL: $dmsg";
|
Log 1, "CUL: $dmsg";
|
||||||
|
}
|
||||||
|
|
||||||
###########################################
|
###########################################
|
||||||
#Translate Message from CUL to FHZ
|
#Translate Message from CUL to FHZ
|
||||||
my $fn = substr($dmsg,0,1);
|
my $fn = substr($dmsg,0,1);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user