From: <an...@us...> - 2008-03-16 12:17:25
|
Revision: 1470 http://mp-plugins.svn.sourceforge.net/mp-plugins/?rev=1470&view=rev Author: and-81 Date: 2008-03-16 05:17:24 -0700 (Sun, 16 Mar 2008) Log Message: ----------- Modified Paths: -------------- trunk/plugins/IR Server Suite/Documentation/new.html trunk/plugins/IR Server Suite/IR Server Plugins/Microsoft MCE Transceiver/DriverReplacement.cs trunk/plugins/IR Server Suite/IR Server Plugins/Microsoft MCE Transceiver/DriverXP.cs trunk/plugins/IR Server Suite/IR Server Plugins/Microsoft MCE Transceiver/MicrosoftMceTransceiver.cs Modified: trunk/plugins/IR Server Suite/Documentation/new.html =================================================================== --- trunk/plugins/IR Server Suite/Documentation/new.html 2008-03-16 10:20:54 UTC (rev 1469) +++ trunk/plugins/IR Server Suite/Documentation/new.html 2008-03-16 12:17:24 UTC (rev 1470) @@ -19,11 +19,11 @@ <P>Version 1.0.4.2 <UL> <LI>MP Control plugin: Fixed Macro command for Multi-Mapping.</LI> -<LI>MCE Transceiver: Fixed XP and Replacement driver blasting bug that has existed since October.</LI> +<LI>MCE Remote Receiver: Fixed XP and Replacement driver blasting bug that has existed since October.</LI> <LI>AdsTech 335 Receiver: Attempted to fix a bug that caused Input Service to crash roughly every 5 minutes.</LI> <LI>Installer: New IR Server Suite installer. It looks more professional and you can now change the MediaPortal plugin install paths.</LI> <LI>General: Fixed the "pause" macro command.</LI> -<LI>MCE Transceiver: Fixed another XP and Vista suspend/resume bug. When will it all end? ;)</LI> +<LI>MCE Remote Receiver: Fixed another XP and Vista suspend/resume bug. When will it all end? ;)</LI> <LI>Input plugins: Modified some method signatures.</LI> <LI>TV3 Blaster Plugin: Fixed a fatal error.</LI> <LI>General: Anywhere that previously took user input for a command and could include escape codes can now also include Environment Variables (including clipboard contents, date, time, and others). See documentation for more info.</LI> @@ -57,6 +57,7 @@ <LI>Translator: Fixed a critical bug.</LI> <LI>Translator: Added process priority adjustment (under the new Advanced configuration menu item).</LI> <LI>WinLirc Plugin: Changed suspend/resume behaviour to fix a bug with repeated buttons after resume from standby.</LI> +<LI>MCE Remote Receiver: Fixed an SMK brand receiver issue that was preventing some from receiving remote buttons.</LI> </UL></P> <BR> Modified: trunk/plugins/IR Server Suite/IR Server Plugins/Microsoft MCE Transceiver/DriverReplacement.cs =================================================================== --- trunk/plugins/IR Server Suite/IR Server Plugins/Microsoft MCE Transceiver/DriverReplacement.cs 2008-03-16 10:20:54 UTC (rev 1469) +++ trunk/plugins/IR Server Suite/IR Server Plugins/Microsoft MCE Transceiver/DriverReplacement.cs 2008-03-16 12:17:24 UTC (rev 1470) @@ -1045,7 +1045,7 @@ if (curByte == 0x9F) break; - if (curByte < 0x81 || curByte > 0x8F) + if (curByte < 0x81 || curByte > 0x9E) return null; } Modified: trunk/plugins/IR Server Suite/IR Server Plugins/Microsoft MCE Transceiver/DriverXP.cs =================================================================== --- trunk/plugins/IR Server Suite/IR Server Plugins/Microsoft MCE Transceiver/DriverXP.cs 2008-03-16 10:20:54 UTC (rev 1469) +++ trunk/plugins/IR Server Suite/IR Server Plugins/Microsoft MCE Transceiver/DriverXP.cs 2008-03-16 12:17:24 UTC (rev 1470) @@ -372,31 +372,6 @@ // Send packet byte[] data = DataPacket(code); - /* - if (data.Length > 100) - data = new byte[] { 0x84, 0x8A, 0x30, 0x8A, 0x13, 0x84, 0x94, 0x09, 0x8B, 0x09, 0x84, 0x8A, 0x09, 0x8B, 0x09, 0x84, 0x8A, 0x30, 0x8A, 0x13, 0x84, 0x94, 0x09, 0x8B, 0x09, 0x84, 0x8A, 0x09, 0x8B, 0x09, - 0x84, 0x8A, 0x30, 0x8A, 0x13, 0x84, 0x94, 0x09, 0x8B, 0x09, 0x84, 0x8A, 0x09, 0x8B, 0x09, 0x84, 0x8A, 0x09, 0x8B, 0x09, 0x84, 0x8A, 0x09, 0x8B, 0x09, 0x84, 0x8A, 0x09, 0x8B, 0x09, 0x84, 0x8A, 0x09, 0x8B, 0x09, 0x84, 0x8A, 0x09, 0x8B, 0x09, 0x84, 0x8A, 0x7F, 0x17, 0x8A, 0x84, 0x30, 0x8A, 0x13, 0x8A, 0x84, 0x09, 0x8A, 0x0A, 0x8A, 0x84, 0x09, 0x8A, 0x0A, 0x8A, 0x84, 0x09, 0x8A, 0x09, 0x8B, 0x84, 0x09, 0x8A, 0x09, 0x95, 0x84, 0x13, 0x94, 0x13, 0x94, 0x84, 0x09, 0x8A, 0x13, 0x8B, 0x84, 0x30, 0x8A, 0x30, 0x8A, 0x84, 0x13, 0x8A, 0x09, 0x8B, 0x84, 0x09, 0x8A, 0x09, 0x8A, 0x84, 0x0A, 0x8A, 0x09, 0x8A, 0x84, 0x0A, 0x8A, 0x09, 0x8A, 0x84, 0x09, 0x95, 0x13, 0x94, 0x84, 0x13, 0x94, 0x09, 0x8A, 0x84, 0x13, 0x8B, 0x30, 0x8A, 0x84, 0x30, 0x8A, 0x13, 0x8A, 0x84, 0x09, 0x8B, 0x09, 0x8A, 0x84, 0x09, 0x8B, 0x09, 0x8A, 0x84, 0x09, 0x8A, 0x0A, 0x8A, 0x84, 0x09, 0x8A, 0x0A, 0x94, 0x84, 0x13, 0x94, 0x13, 0x94, 0x84, 0x09, 0x8A, 0x13, 0x8B, 0x84, 0x30, 0x8A, 0x30, 0x8A, 0x84, 0x13, 0x8A, 0x09, 0x8B, 0x84, 0x09, 0x8A, 0x09, 0x8B, 0x84, 0x09, 0x8A, 0x09, 0x8A, 0x84, 0x0A, 0x8A, 0x09, 0x8A, 0x84, 0x0A, 0x94, 0x13, 0x94, 0x84, 0x13, 0x94, 0x09, 0x8B, 0x84, 0x12, 0x8B, 0x30, 0x8A, 0x84, 0x30, 0x8A, 0x13, 0x8A, 0x84, 0x09, 0x8B, 0x09, 0x8A, 0x84, 0x09, 0x8B, 0x09, 0x8A, 0x84, 0x09, 0x8A, 0x0A, 0x8A, 0x84, 0x09, 0x8A, 0x0A, 0x94, 0x84, 0x13, 0x94, 0x13, 0x94, 0x84, 0x09, 0x8B, 0x12, 0x8B, 0x84, 0x30, 0x8A, 0x30, 0x8A, 0x84, 0x13, 0x8A, 0x09, 0x8B, 0x84, 0x09, 0x8A, 0x09, 0x8B, 0x84, 0x09, 0x8A, 0x09, 0x8B, 0x84, 0x09, 0x8A, 0x09, 0x8A, 0x84, 0x0A, 0x94, 0x13, 0x94, 0x84, 0x13, 0x94, 0x09, 0x8B, 0x84, 0x12, 0x8B, 0x30, 0x8A, 0x84, 0x30, 0x8A, 0x13, 0x8A, 0x84, 0x09, 0x8B, 0x09, 0x8A, 0x84, 0x09, 0x8B, 0x09, 0x8A, 0x84, 0x09, 0x8B, 0x09, 0x8A, 0x84, 0x09, 0x8A, 0x0A, 0x94, 0x84, 0x13, 0x94, 0x13, 0x94, 0x84, 0x09, 0x8B, 0x12, 0x8B, - 0x83, 0x30, 0x8A, 0x13, 0x80 }; - */ - - //data = new byte[259]; - //for (int index = 0; index < data.Length; index++) - //data[index] = (byte)(index % 256); - - /* - while (data.Length > 255) // use 255 to catch the "0x8x" segment boundaries - { - byte[] segment = new byte[255]; - Array.Copy(data, segment, segment.Length); - - WriteSync(segment); - - byte[] newData = new byte[data.Length - 255]; - Array.Copy(data, 255, newData, 0, newData.Length); - data = newData; - } - */ - // If the code would go longer than the allowable limit, truncate the code if (data.Length > 341) // 340 minus the overhead of 1 byte in 4 for header is 255 bytes of actual time code data, add one for a terminator byte { @@ -1048,7 +1023,7 @@ if (curByte == 0x9F) break; - if (curByte < 0x81 || curByte > 0x8F) + if (curByte < 0x81 || curByte > 0x9E) return null; } Modified: trunk/plugins/IR Server Suite/IR Server Plugins/Microsoft MCE Transceiver/MicrosoftMceTransceiver.cs =================================================================== --- trunk/plugins/IR Server Suite/IR Server Plugins/Microsoft MCE Transceiver/MicrosoftMceTransceiver.cs 2008-03-16 10:20:54 UTC (rev 1469) +++ trunk/plugins/IR Server Suite/IR Server Plugins/Microsoft MCE Transceiver/MicrosoftMceTransceiver.cs 2008-03-16 12:17:24 UTC (rev 1470) @@ -89,89 +89,12 @@ c.Start(); - //Application.Run(); + Console.WriteLine("Test App Started"); + Console.WriteLine("Press a button on your remote to test ..."); - byte[] fileBytes; - //string fileName = @"C:\test2.IR"; - /* - if (c.Learn(out fileBytes) == LearnStatus.Success) - { - using (FileStream writeFile = File.OpenWrite(fileName)) - { - writeFile.Write(fileBytes, 0, fileBytes.Length); - } - } - */ - Console.WriteLine("Testing IR longest length without crashing receiver"); - /* - using (FileStream file = File.OpenRead(fileName)) - { - if (file.Length == 0) - throw new IOException(String.Format("Cannot Blast. IR file \"{0}\" has no data, possible IR learn failure", fileName)); - fileBytes = new byte[file.Length]; - file.Read(fileBytes, 0, (int)file.Length); - } - */ + Application.Run(); - fileBytes = Encoding.ASCII.GetBytes("0000 0076 005A 0000 0009 0019 0009 005D 0007 001A 0007 0062 0007 002E 0009 002C 0009 001E 0009 004A 0007 01E1 0009 0019 0009 0053 0009 0019 0009 001A 0007 001A 0009 002C 0009 001A 0007 001A 0007 0DAB 0009 0019 0009 005D 0007 001A 0009 0061 0007 002E 0007 002E 0009 001E 0009 004A 0007 01E1 0009 0019 0009 002C 0009 003F 0009 001A 0007 001A 0007 002E 0009 0019 0009 001A 0009 0AF5 0009 0019 0009 005B 0009 001A 0007 0062 0007 002E 0009 002C 0009 001E 0009 004A 0007 01E1 0007 001A 0009 002C 0009 0041 0007 0019 0009 001A 0009 002C 0009 0019 0009 001A 0007 0AF7 0007 001A 0009 005D 0007 001A 0007 0062 0007 002E 0009 002C 0009 001E 0009 0048 0009 01E1 0009 0019 0009 002C 0009 003F 0009 001A 0007 001A 0007 002E 0009 0019 0009 0019 0009 0AF7 0009 0019 0009 005B 0009 001A 0009 0061 0007 002E 0007 002E 0009 001E 0009 004A 0007 01E1 0007 001A 0009 002C 0009 003F 0009 001A 0007 001A 0009 002C 0007 001A 0009 001A 0007 0DB9"); - - IrCode code = IrCode.FromByteArray(fileBytes); - //code.Carrier = 37010; - //code.TimingData = new int[] { +150, -5950, +450, -1300, +450, -400, +500, -1250, +450, -450, +450, -400, +450, -450, +450, -400, +450, -450, +450, -400, +450, -450, +450, -400, +450, -450, +450, -400, +500, -400, +450, -400, +500, -400, +450, -1300, +450, -400, +450, -450, +450, -400, +450, -450, +450, -400, +450, -450, +450, -400, +450, -450, +450, -400, +500, -1250, +450, -10250, +3450, -1750, +450, -400, +500, -1250, +500, -400, +450, -400, +500, -400, +450, -400, +500, -400, +450, -400, +500, -400, +450, -400, +500, -400, +450, -400, +500, -400, +450, -1300, +450, -400, +500, -400, +450, -400, +500, -400, +450, -400, +500, -400, +450, -400, +500, -1250, +500, -400, +450, -1250, +500, -400, +500, -350, +500, -400, +500, -350, +500, -400, +500, -400, +450, -400, +500, -400, +450, -400, +500, -400, +450, -400, +500, -400, +450, -400, +500, -1250, +500, -350, +500, -400, +500, -350, +500, -400, +500, -400, +450, -400, +500, -400, +450, -400, +500, -400, +450, -1250, +500, -10400 }; - Dump(code.TimingData); - - - Console.WriteLine("Press any key to begin ..."); - Console.ReadKey(); - - int length = 1725000; - //for (int length = 700000; length < 5000000; length += 50000) - while (true) - { - Console.WriteLine("Blasting with approx. total time of {0}us ...", length); - - List<int> newCode = new List<int>(); - - int total = 0; - int pulseTotal = 0; - for (int index = 0; index < code.TimingData.Length; index++) - { - int time = code.TimingData[index]; - - if (total + Math.Abs(time) >= length) - { - if (time > 0) - { - break; - } - else - { - time = total - length; - } - } - - newCode.Add(time); - total += Math.Abs(time); - if (time > 0) - pulseTotal += time; - } - - Console.WriteLine("Blasting with actual total time of {0}us ...", total); - Console.WriteLine("Blasting with total pulse time of {0}us ...", pulseTotal); - - IrCode test = new IrCode(code.Carrier, newCode.ToArray()); - Dump(test.TimingData); - - c.Transmit("Both", test.ToByteArray()); - - Console.WriteLine("Blast complete, press any key to contiue ..."); - if (Console.ReadKey().Key == ConsoleKey.Escape) - break; - } - - Console.WriteLine("Done"); - c.Stop(); c = null; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |