Zachary Kotlarek 12 лет назад
Родитель
Сommit
4a4f34402f
2 измененных файлов с 82 добавлено и 19 удалено
  1. 81 19
      serial/serial.pl
  2. 1 0
      serial/tv.pl

+ 81 - 19
serial/serial.pl

@@ -91,29 +91,91 @@ if (basename($0) =~ /PROJECTOR/i) {
 	);
 } elsif (basename($0) =~ /TV/i) {
 	$DEV       = 'TV';
-	$PORT      = '/dev/tty.' . $DEV . '-DevB';
-	$BLUETOOTH = 1;
+	$PORT      = '/dev/tty.usbserial-A501JRBK';
+	$BLUETOOTH = 0;
 	$CRLF      = "\r";
 	$DELIMITER = "\r";
 	%CMDS      = (
-		'INIT'      => 'RSPW1',
-		'ON'        => 'POWR1',
-		'OFF'       => 'POWR0',
-		'STATUS'    => 'POWR?',
-		'VOL+'      => 'MVUP',
-		'VOL-'      => 'MVDOWN',
-		'MUTE'      => 'MUTE1',
-		'UNMUTE'    => 'MUTE2',
-		'TV'        => 'IAVD0',
-		'PLEX'      => 'IAVD7',
-		'VOL_CHECK' => 'VOLM?',
-		'VOL6'      => 'VOLM6',
-		'VOL12'     => 'VOLM12',
-		'VOL24'     => 'VOLM24',
-		'VOL+'      => 'VOLM',
-		'VOL-'      => 'VOLM'
+		'INIT'      => 'RSPW1   ',
+		'ON'        => 'POWR1   ',
+		'OFF'       => 'POWR0   ',
+		'STATUS'    => 'POWR?   ',
+		'MUTE'      => 'MUTE1   ',
+		'UNMUTE'    => 'MUTE2   ',
+		'INPUT'     => 'IAVD?   ',
+		'TV'        => 'ITVD0   ',
+		'PLEX'      => 'IAVD7   ',
+		'VOL'       => 'VOLM?   ',
+		'CH+'       => 'CHUP1   ',
+		'CH-'       => 'CHDW1   ',
+		'CC'        => 'CLCP1   ',
+		'VOL0'      => 'VOLM0   ',
+		'VOL1'      => 'VOLM1   ',
+		'VOL2'      => 'VOLM2   ',
+		'VOL3'      => 'VOLM3   ',
+		'VOL4'      => 'VOLM4   ',
+		'VOL5'      => 'VOLM5   ',
+		'VOL6'      => 'VOLM6   ',
+		'VOL7'      => 'VOLM7   ',
+		'VOL8'      => 'VOLM8   ',
+		'VOL9'      => 'VOLM9   ',
+		'VOL10'     => 'VOLM10  ',
+		'VOL11'     => 'VOLM11  ',
+		'VOL12'     => 'VOLM12  ',
+		'VOL13'     => 'VOLM13  ',
+		'VOL14'     => 'VOLM14  ',
+		'VOL15'     => 'VOLM15  ',
+		'VOL16'     => 'VOLM16  ',
+		'VOL17'     => 'VOLM17  ',
+		'VOL18'     => 'VOLM18  ',
+		'VOL19'     => 'VOLM19  ',
+		'VOL20'     => 'VOLM20  ',
+		'VOL21'     => 'VOLM21  ',
+		'VOL22'     => 'VOLM22  ',
+		'VOL23'     => 'VOLM23  ',
+		'VOL24'     => 'VOLM24  ',
+		'VOL25'     => 'VOLM25  ',
+		'VOL26'     => 'VOLM26  ',
+		'VOL27'     => 'VOLM27  ',
+		'VOL28'     => 'VOLM28  ',
+		'VOL29'     => 'VOLM29  ',
+		'VOL30'     => 'VOLM30  ',
+		'VOL31'     => 'VOLM31  ',
+		'VOL32'     => 'VOLM32  ',
+		'VOL33'     => 'VOLM33  ',
+		'VOL34'     => 'VOLM34  ',
+		'VOL35'     => 'VOLM35  ',
+		'VOL36'     => 'VOLM36  ',
+		'VOL37'     => 'VOLM37  ',
+		'VOL38'     => 'VOLM38  ',
+		'VOL39'     => 'VOLM39  ',
+		'VOL40'     => 'VOLM40  ',
+		'VOL41'     => 'VOLM41  ',
+		'VOL42'     => 'VOLM42  ',
+		'VOL43'     => 'VOLM43  ',
+		'VOL44'     => 'VOLM44  ',
+		'VOL45'     => 'VOLM45  ',
+		'VOL46'     => 'VOLM46  ',
+		'VOL47'     => 'VOLM47  ',
+		'VOL48'     => 'VOLM48  ',
+		'VOL49'     => 'VOLM49  ',
+		'VOL50'     => 'VOLM50  ',
+		'VOL51'     => 'VOLM51  ',
+		'VOL52'     => 'VOLM52  ',
+		'VOL53'     => 'VOLM53  ',
+		'VOL54'     => 'VOLM54  ',
+		'VOL55'     => 'VOLM55  ',
+		'VOL56'     => 'VOLM56  ',
+		'VOL57'     => 'VOLM57  ',
+		'VOL58'     => 'VOLM58  ',
+		'VOL59'     => 'VOLM59  ',
+		'VOL60'     => 'VOLM60  ',
+	);
+	%STATUS_CMDS = (
+		'STATUS' => { 'MATCH' => [ qr//, qr/1/ ] },
+		'VOL'    => { 'EVAL'  => [ qr/\d/, '' ] },
+		'INPUT'  => { 'EVAL'  => [ qr/.*/, 'if ($a =~ /7/i) { $a = "PLEX" } elsif ($a =~ /\d/i) { $a = "OTHER" } else { $a = "TV" }' ] },
 	);
-	%STATUS_CMDS = ('STATUS' => { 'EQUAL' => '1' },);
 } else {
 	die("No device specified\n");
 }

+ 1 - 0
serial/tv.pl

@@ -0,0 +1 @@
+projector.pl