[Slim-Checkins] r9337 - in /trunk/server: HTML/EN/setup.html Plugins/DigitalInput/Plugin.pm Slim/Buttons/Information.pm Slim/Networking/Slimproto.pm Slim/Player/Client.pm Slim/Player/Transporter.pm Slim/Web/Setup.pm strings.txt

titmuss at svn.slimdevices.com titmuss at svn.slimdevices.com
Fri Sep 1 03:24:23 PDT 2006


Author: titmuss
Date: Fri Sep  1 03:24:14 2006
New Revision: 9337

URL: http://svn.slimdevices.com?rev=9337&view=rev
Log:
Bug #4030 Add voltage reading to the player information for Transporter 
(requires fw 12)


Modified:
    trunk/server/HTML/EN/setup.html
    trunk/server/Plugins/DigitalInput/Plugin.pm
    trunk/server/Slim/Buttons/Information.pm
    trunk/server/Slim/Networking/Slimproto.pm
    trunk/server/Slim/Player/Client.pm
    trunk/server/Slim/Player/Transporter.pm
    trunk/server/Slim/Web/Setup.pm
    trunk/server/strings.txt

Modified: trunk/server/HTML/EN/setup.html
URL: http://svn.slimdevices.com/trunk/server/HTML/EN/setup.html?rev=9337&r1=9336&r2=9337&view=diff
==============================================================================
--- trunk/server/HTML/EN/setup.html (original)
+++ trunk/server/HTML/EN/setup.html Fri Sep  1 03:24:14 2006
@@ -29,5 +29,6 @@
   [% IF ipaddress %]<p>[% "PLAYER_IP_ADDRESS" | string %] [% ipaddress %]</p>[% END %]
   [% IF macaddress %]<p>[% "PLAYER_MAC_ADDRESS" | string %] [% macaddress %]</p>[% END %] 
   [% IF signalstrength %]<p>[% "INFORMATION_PLAYER_SIGNAL_STRENGTH" | string %][% "COLON" | string %] [% signalstrength %]%</p>[% END %] 
+  [% IF voltage %]<p>[% "INFORMATION_PLAYER_VOLTAGE" | string %][% "COLON" | string %] [% voltage %]VAC</p>[% END %] 
   <p></p>
 [% PROCESS pagefooter.html %]

Modified: trunk/server/Plugins/DigitalInput/Plugin.pm
URL: http://svn.slimdevices.com/trunk/server/Plugins/DigitalInput/Plugin.pm?rev=9337&r1=9336&r2=9337&view=diff
==============================================================================
--- trunk/server/Plugins/DigitalInput/Plugin.pm (original)
+++ trunk/server/Plugins/DigitalInput/Plugin.pm Fri Sep  1 03:24:14 2006
@@ -50,7 +50,7 @@
 	
 	# make sure this is only validated when the provided client has digital inputs.
 	# when the client isn't given, we only need to report that the plugin is alive.
-	return $client? $client->hasDigitalInputs() : 1;
+	return $client? $client->hasDigitalIn() : 1;
 };
 
 sub updateDigitalInput {

Modified: trunk/server/Slim/Buttons/Information.pm
URL: http://svn.slimdevices.com/trunk/server/Slim/Buttons/Information.pm?rev=9337&r1=9336&r2=9337&view=diff
==============================================================================
--- trunk/server/Slim/Buttons/Information.pm (original)
+++ trunk/server/Slim/Buttons/Information.pm Fri Sep  1 03:24:14 2006
@@ -141,6 +141,11 @@
 
 					return ($client->signalStrength() . '%') 
 				},
+				sub {
+					my $client = shift;
+
+					return ($client->voltage() . 'VAC') 
+				},
 			],
 
 			'menuName' => 'player'
@@ -248,7 +253,7 @@
 	my ($client,$exittype) = @_;
 	$exittype = uc($exittype);
 
-	Slim::Utils::Timers::killTimers($client,\&updateSignalStrength);
+	Slim::Utils::Timers::killTimers($client,\&updateClientStatus);
 	if ($exittype eq 'LEFT') {
 
 		Slim::Buttons::Common::popModeRight($client);
@@ -271,7 +276,11 @@
 			my @nextList = @player_list;
 			if (defined($client->signalStrength())) {
 				push @nextList, 'PLAYER_SIGNAL_STRENGTH';
-				Slim::Utils::Timers::setTimer($client,Time::HiRes::time() + 1,\&updateSignalStrength);
+				Slim::Utils::Timers::setTimer($client,Time::HiRes::time() + 1,\&updateClientStatus);
+			}
+			if (defined($client->voltage())) {
+				push @nextList, 'PLAYER_VOLTAGE';
+				Slim::Utils::Timers::setTimer($client,Time::HiRes::time() + 1,\&updateClientStatus);
 			}
 			$nextParams{'listRef'} = \@nextList;
 		}
@@ -290,7 +299,7 @@
 	my $method = shift;
 
 	if ($method eq 'pop') {
-		Slim::Utils::Timers::killTimers($client, \&updateSignalStrength);
+		Slim::Utils::Timers::killTimers($client, \&updateClientStatus);
 		Slim::Buttons::Common::popMode($client);
 		return;
 	}
@@ -323,18 +332,19 @@
 	return $client->model;
 }
 
-sub updateSignalStrength {
+sub updateClientStatus {
 	my $client = shift;				
 
 	if (Slim::Buttons::Common::mode($client) eq 'INPUT.List' &&
 	    Slim::Buttons::Common::param($client, 'parentMode') eq 'information' &&
-	    ${Slim::Buttons::Common::param($client, 'valueRef')} eq 'PLAYER_SIGNAL_STRENGTH') {
+	    (${Slim::Buttons::Common::param($client, 'valueRef')} eq 'PLAYER_SIGNAL_STRENGTH' ||
+	     ${Slim::Buttons::Common::param($client, 'valueRef')} eq 'PLAYER_VOLTAGE')) {
 		$client->requestStatus();
 	
 		$client->update();
 	}
 
-	Slim::Utils::Timers::setTimer($client,Time::HiRes::time() + 1,\&updateSignalStrength);
+	Slim::Utils::Timers::setTimer($client,Time::HiRes::time() + 1,\&updateClientStatus);
 }
 
 sub getFunctions {

Modified: trunk/server/Slim/Networking/Slimproto.pm
URL: http://svn.slimdevices.com/trunk/server/Slim/Networking/Slimproto.pm?rev=9337&r1=9336&r2=9337&view=diff
==============================================================================
--- trunk/server/Slim/Networking/Slimproto.pm (original)
+++ trunk/server/Slim/Networking/Slimproto.pm Fri Sep  1 03:24:14 2006
@@ -419,6 +419,16 @@
 	}
 }
 
+sub voltage {
+	my $client = shift;
+
+	if (exists($status{$client}) && ($status{$client}->{'voltage'} > 0)) {
+		return $status{$client}->{'voltage'};
+	} else {
+		return undef;
+	}
+}
+
 sub fullness {
 	my $client = shift;
 	my $value  = shift;
@@ -554,6 +564,7 @@
 	#        u32_t output_buffer_size;
 	#        u32_t output_buffer_fullness;
 	#        u32_t elapsed_seconds;
+	#        u16_t voltage;
 	#
 	
 	# event types:
@@ -588,7 +599,8 @@
 		$status{$client}->{'output_buffer_size'},
 		$status{$client}->{'output_buffer_fullness'},
 		$status{$client}->{'elapsed_seconds'},
-	) = unpack ('a4CCCNNNNnNNNN', $$data_ref);
+		$status{$client}->{'voltage'},
+	) = unpack ('a4CCCNNNNnNNNNn', $$data_ref);
 	
 	
 	$status{$client}->{'bytes_received'} = $status{$client}->{'bytes_received_H'} * 2**32 + $status{$client}->{'bytes_received_L'}; 

Modified: trunk/server/Slim/Player/Client.pm
URL: http://svn.slimdevices.com/trunk/server/Slim/Player/Client.pm?rev=9337&r1=9336&r2=9337&view=diff
==============================================================================
--- trunk/server/Slim/Player/Client.pm (original)
+++ trunk/server/Slim/Player/Client.pm Fri Sep  1 03:24:14 2006
@@ -470,6 +470,10 @@
 	return undef;
 }
 
+sub voltage {
+	return undef;
+}
+
 sub hasDigitalOut() { return 0; }
 sub hasPreAmp() { return 0; }
 sub hasExternalClock() { return 0; }

Modified: trunk/server/Slim/Player/Transporter.pm
URL: http://svn.slimdevices.com/trunk/server/Slim/Player/Transporter.pm?rev=9337&r1=9336&r2=9337&view=diff
==============================================================================
--- trunk/server/Slim/Player/Transporter.pm (original)
+++ trunk/server/Slim/Player/Transporter.pm Fri Sep  1 03:24:14 2006
@@ -166,6 +166,10 @@
         return 0;
 }
 
+sub voltage {
+	return Slim::Networking::Slimproto::voltage(@_);
+}
+
 sub volumeString {
 	my ($client, $volume) = @_;
 

Modified: trunk/server/Slim/Web/Setup.pm
URL: http://svn.slimdevices.com/trunk/server/Slim/Web/Setup.pm?rev=9337&r1=9336&r2=9337&view=diff
==============================================================================
--- trunk/server/Slim/Web/Setup.pm (original)
+++ trunk/server/Slim/Web/Setup.pm Fri Sep  1 03:24:14 2006
@@ -149,6 +149,7 @@
 					$paramref->{'ipaddress'} = $client->ipport();
 					$paramref->{'macaddress'} = $client->macaddress;
 					$paramref->{'signalstrength'} = $client->signalStrength;
+					$paramref->{'voltage'} = $client->voltage();
 
 					$client->update();
 				}

Modified: trunk/server/strings.txt
URL: http://svn.slimdevices.com/trunk/server/strings.txt?rev=9337&r1=9336&r2=9337&view=diff
==============================================================================
--- trunk/server/strings.txt (original)
+++ trunk/server/strings.txt Fri Sep  1 03:24:14 2006
@@ -12763,3 +12763,6 @@
 POLARITYINVERSION_INVERTED
 	DE	Umgekehrte Polarität
 	EN	Inverted polarity
+
+INFORMATION_PLAYER_VOLTAGE
+	EN	Voltage



More information about the checkins mailing list