Difference between revisions of "Olevia 2xxT 5xxT series lcdtv"
(Added category: GSD) |
|||
(15 intermediate revisions by 5 users not shown) | |||
Line 1: | Line 1: | ||
[[Category: Hardware]] | [[Category: Hardware]] | ||
+ | {{Versioninfo}} | ||
[[Category: Video]] | [[Category: Video]] | ||
[[Category: Displays]] | [[Category: Displays]] | ||
+ | [[Category: GSD]] | ||
{| align="right" | {| align="right" | ||
Line 9: | Line 11: | ||
==Overview== | ==Overview== | ||
− | Olevia has several TV's with rs232 serial control ports. Some of them use the standard DB-9 plug, while others require a unique cable made by olevia. A template has been created as well as a plug an play script | + | Olevia has several TV's with rs232 serial control ports. These TV's can be controlled by LMCE with some tweaking. Some of them use the standard DB-9 plug, while others require a unique cable made by olevia. A template has been created as well as a plug an play script (included with the 0810 beta 2 release. |
− | + | The Template (2030) supports Olevia LCD TVs with an ATI Image Processor (2XXT and 5XXT) as well as possibly others. This was developed and tested on a 232T. | |
− | + | ==Inputs== | |
+ | The model used for development (232T) has:<br> | ||
+ | 1 HDMI (w/HDCP)<br> | ||
+ | 1 VGA<br> | ||
+ | 1 Component<br> | ||
+ | 1 S-Video<br> | ||
+ | 1 Composite<br> | ||
− | + | ==Ruby Codes== | |
+ | |||
+ | Here are the official codes from olevia for the 2xxT series. Olevia emailed me and told me that these codes should work for the 227V, 232V, and the 232T. Perhaps others as well, but those three for certain. [http://64.168.125.216/jsp/rs232/files/ATI_240_RS232_27_&_32_Inch.pdf pdf] | ||
+ | |||
+ | <pre> | ||
+ | Power | ||
+ | #193 OFF | ||
+ | log('Turning Off')<br> | ||
+ | <$"\xBE\x05\x27\x00\xEA"$> | ||
+ | #192 ON | ||
+ | log('Turning On') | ||
+ | <$"\xBE\x05\x27\x01\xEB"$> | ||
+ | |||
+ | Inputs | ||
+ | #712 Component 1 | ||
+ | log('Switching Input to Component 1') | ||
+ | <$"\xBE\x05\x26\x08\xF1"$> | ||
+ | #361 HDMI | ||
+ | log('Switching Input to HDMI') | ||
+ | <$"\xBE\x05\x26\x0C\xF5"$> | ||
+ | #769 PC | ||
+ | log('Switching Input to PC') | ||
+ | <$"\xBE\x05\x26\x0A\xF3"$> | ||
+ | #180 Svideo | ||
+ | log('Switching Input to Svideo') | ||
+ | <$"\xBE\x05\x26\x05\xEE"$> | ||
+ | #166 Tuner | ||
+ | log('Switching Input to Tuner') | ||
+ | <$"\xBE\x05\x26\x00\xE9"$> | ||
+ | |||
+ | Aspect Ratios | ||
+ | #953 Toggle Aspect Ratio | ||
+ | log('Toggling Aspect Ratio') | ||
+ | <$"\xBE\x05\x25\x56\x3E"$> | ||
+ | |||
+ | General | ||
+ | #190 Enter/Go | ||
+ | log('Enter Key') | ||
+ | <$"\xBE\x05\x25\x1B\x03"$> | ||
+ | |||
+ | Internal | ||
+ | #373 Private Method Listing | ||
+ | def log(line) | ||
+ | $log = File.open("/var/log/pluto/" + device_.devid_.to_s + "_Generic_Serial_Device.log", "a") | ||
+ | $log.puts "(***):" + line.to_s | ||
+ | $log.close | ||
+ | end | ||
+ | |||
+ | Numbers | ||
+ | #204 0 | ||
+ | log('Sending 0') | ||
+ | <$"\xBE\x05\x25\x10\xF8"$> | ||
+ | #205 1 | ||
+ | log('Sending 1') | ||
+ | <$"\xBE\x05\x25\x11\xF9"$ | ||
+ | #206 2 | ||
+ | log('Sending 2') | ||
+ | <$"\xBE\x05\x25\x12\xFA"$> | ||
+ | #207 3 | ||
+ | log('Sending 3') | ||
+ | <$"\xBE\x05\x25\x13\xFB"$> | ||
+ | #208 4 | ||
+ | log('Sending 4') | ||
+ | <$"\xBE\x05\x25\x14\xFC"$> | ||
+ | #209 5 | ||
+ | log('Sending 5') | ||
+ | <$"\xBE\x05\x25\x15\xFD"$> | ||
+ | #210 6 | ||
+ | log('Sending 6') | ||
+ | <$"\xBE\x05\x25\x16\xFE"$> | ||
+ | #211 7 | ||
+ | log('Sending 7') | ||
+ | <$"\xBE\x05\x25\x17\xFF"$> | ||
+ | #212 8 | ||
+ | log('Sending 8') | ||
+ | <$"\xBE\x05\x25\x18\x00"$> | ||
+ | #213 9 | ||
+ | log('Sending 9') | ||
+ | <$"\xBE\x05\x25\x19\x01"$> | ||
+ | |||
+ | On-Screen Menu Navig | ||
+ | #225 Display | ||
+ | log('Selecting Display ') | ||
+ | <$"\xBE\x05\x25\x1E\x06"$> | ||
+ | #86 Menu (Show Menu | ||
+ | log('Seleting Menu') | ||
+ | <$"\xBE\x05\x25\x04\xEC"$> | ||
+ | #201 Move Down | ||
+ | log('Move Down') | ||
+ | <$"\xBE\x05\x25\x4A\x32"$> | ||
+ | #202 Move Left | ||
+ | log('Move Left') | ||
+ | <$"\xBE\x05\x25\x0A\xF2"$> | ||
+ | #203 Move Right | ||
+ | log('Move Right') | ||
+ | <$"\xBE\x05\x25\x07\xEF"$> | ||
+ | #200 Move Up | ||
+ | log('Move Up') | ||
+ | <$"\xBE\x05\x25\x45\x2D"$> | ||
+ | |||
+ | Simple Control | ||
+ | #64 Skip Back - Channel/Track Lower | ||
+ | log('Channel Down') | ||
+ | <$"\xBE\x05\x25\x01\xE9"$> | ||
+ | #63 Skip Fwd - Channel/Track Greater | ||
+ | log('Channel Up') | ||
+ | <$"\xBE\x05\x25\x00\xE8"$> | ||
+ | |||
+ | Volume | ||
+ | #97 Mute | ||
+ | log('Mute') | ||
+ | <$"\xBE\x05\x25\x09\xF1"$> | ||
+ | #90 Vol Down | ||
+ | log('Volume Down') | ||
+ | <$"\xBE\x05\x25\x03\xEB"$> | ||
+ | #89 Vol Up | ||
+ | log('Volume Up') | ||
+ | <$"\xBE\x05\x25\x03\xEA"$> | ||
+ | </pre> | ||
+ | |||
+ | ==PNP Script== | ||
+ | |||
+ | The following script will automatically detect this TV. Note that after a firmware upgrade, the TV used to test this implementation gives an intermittent response when querried by the PNP script. This sometimes causes the script to miss this TV in configuration and require a manual addition of this device. | ||
+ | |||
+ | The script is 20_OleviaTV_ATI.sh | ||
+ | |||
+ | <pre> | ||
+ | #!/bin/bash | ||
+ | #Play and Play script for Olevia TV's Models Numbers:2XXT/5XXT Possibly more | ||
+ | #Power Up is very slow so it requires several seconds to get feedback | ||
+ | #Device Template Number:2030 on my local Machine. | ||
+ | |||
+ | #The TV only responds to the "Power Status Query" command when the power is on, so we'll send the Power On command first, then sent the Query command. | ||
+ | #We give it a delay to allow the TV to power up | ||
+ | echo "Olevia TV (ATI) Detection script queue $2" | ||
+ | /usr/pluto/bin/TestSerialPort -p $3 -P N81 -b 115200 -t "\BE\05\27\01\EB" -i 8 | ||
+ | echo "Waiting for powerup" | ||
+ | #Now query to check for the TV power status reply | ||
+ | /usr/pluto/bin/TestSerialPort -p $3 -P N81 -b 115200 -t "\BE\05\90\00\53" -i 1 -s "\06\05\90\01\9C" | ||
+ | if [[ "$?" -ne 0 ]]; then | ||
+ | echo "It's not an Olevia TV (ATI)" | ||
+ | /usr/pluto/bin/MessageSend dcerouter -r 0 $1 1 806 224 $2 13 "$4" 44 0 | ||
+ | else | ||
+ | echo "It is an Olevia TV (ATI) Template #2030" | ||
+ | /usr/pluto/bin/MessageSend dcerouter -r 0 $1 1 806 224 $2 13 "$4" 44 2030 | ||
+ | </pre> |
Latest revision as of 14:55, 7 July 2016
Version | Status | Date Updated | Updated By |
---|---|---|---|
710 | Unknown | N/A | N/A |
810 | Unknown | N/A | N/A |
1004 | Unknown | N/A | N/A |
1204 | Unknown | N/A | N/A |
1404 | Unknown | N/A | N/A |
Usage Information |
Contents |
Overview
Olevia has several TV's with rs232 serial control ports. These TV's can be controlled by LMCE with some tweaking. Some of them use the standard DB-9 plug, while others require a unique cable made by olevia. A template has been created as well as a plug an play script (included with the 0810 beta 2 release.
The Template (2030) supports Olevia LCD TVs with an ATI Image Processor (2XXT and 5XXT) as well as possibly others. This was developed and tested on a 232T.
Inputs
The model used for development (232T) has:
1 HDMI (w/HDCP)
1 VGA
1 Component
1 S-Video
1 Composite
Ruby Codes
Here are the official codes from olevia for the 2xxT series. Olevia emailed me and told me that these codes should work for the 227V, 232V, and the 232T. Perhaps others as well, but those three for certain. pdf
Power #193 OFF log('Turning Off')<br> <$"\xBE\x05\x27\x00\xEA"$> #192 ON log('Turning On') <$"\xBE\x05\x27\x01\xEB"$> Inputs #712 Component 1 log('Switching Input to Component 1') <$"\xBE\x05\x26\x08\xF1"$> #361 HDMI log('Switching Input to HDMI') <$"\xBE\x05\x26\x0C\xF5"$> #769 PC log('Switching Input to PC') <$"\xBE\x05\x26\x0A\xF3"$> #180 Svideo log('Switching Input to Svideo') <$"\xBE\x05\x26\x05\xEE"$> #166 Tuner log('Switching Input to Tuner') <$"\xBE\x05\x26\x00\xE9"$> Aspect Ratios #953 Toggle Aspect Ratio log('Toggling Aspect Ratio') <$"\xBE\x05\x25\x56\x3E"$> General #190 Enter/Go log('Enter Key') <$"\xBE\x05\x25\x1B\x03"$> Internal #373 Private Method Listing def log(line) $log = File.open("/var/log/pluto/" + device_.devid_.to_s + "_Generic_Serial_Device.log", "a") $log.puts "(***):" + line.to_s $log.close end Numbers #204 0 log('Sending 0') <$"\xBE\x05\x25\x10\xF8"$> #205 1 log('Sending 1') <$"\xBE\x05\x25\x11\xF9"$ #206 2 log('Sending 2') <$"\xBE\x05\x25\x12\xFA"$> #207 3 log('Sending 3') <$"\xBE\x05\x25\x13\xFB"$> #208 4 log('Sending 4') <$"\xBE\x05\x25\x14\xFC"$> #209 5 log('Sending 5') <$"\xBE\x05\x25\x15\xFD"$> #210 6 log('Sending 6') <$"\xBE\x05\x25\x16\xFE"$> #211 7 log('Sending 7') <$"\xBE\x05\x25\x17\xFF"$> #212 8 log('Sending 8') <$"\xBE\x05\x25\x18\x00"$> #213 9 log('Sending 9') <$"\xBE\x05\x25\x19\x01"$> On-Screen Menu Navig #225 Display log('Selecting Display ') <$"\xBE\x05\x25\x1E\x06"$> #86 Menu (Show Menu log('Seleting Menu') <$"\xBE\x05\x25\x04\xEC"$> #201 Move Down log('Move Down') <$"\xBE\x05\x25\x4A\x32"$> #202 Move Left log('Move Left') <$"\xBE\x05\x25\x0A\xF2"$> #203 Move Right log('Move Right') <$"\xBE\x05\x25\x07\xEF"$> #200 Move Up log('Move Up') <$"\xBE\x05\x25\x45\x2D"$> Simple Control #64 Skip Back - Channel/Track Lower log('Channel Down') <$"\xBE\x05\x25\x01\xE9"$> #63 Skip Fwd - Channel/Track Greater log('Channel Up') <$"\xBE\x05\x25\x00\xE8"$> Volume #97 Mute log('Mute') <$"\xBE\x05\x25\x09\xF1"$> #90 Vol Down log('Volume Down') <$"\xBE\x05\x25\x03\xEB"$> #89 Vol Up log('Volume Up') <$"\xBE\x05\x25\x03\xEA"$>
PNP Script
The following script will automatically detect this TV. Note that after a firmware upgrade, the TV used to test this implementation gives an intermittent response when querried by the PNP script. This sometimes causes the script to miss this TV in configuration and require a manual addition of this device.
The script is 20_OleviaTV_ATI.sh
#!/bin/bash #Play and Play script for Olevia TV's Models Numbers:2XXT/5XXT Possibly more #Power Up is very slow so it requires several seconds to get feedback #Device Template Number:2030 on my local Machine. #The TV only responds to the "Power Status Query" command when the power is on, so we'll send the Power On command first, then sent the Query command. #We give it a delay to allow the TV to power up echo "Olevia TV (ATI) Detection script queue $2" /usr/pluto/bin/TestSerialPort -p $3 -P N81 -b 115200 -t "\BE\05\27\01\EB" -i 8 echo "Waiting for powerup" #Now query to check for the TV power status reply /usr/pluto/bin/TestSerialPort -p $3 -P N81 -b 115200 -t "\BE\05\90\00\53" -i 1 -s "\06\05\90\01\9C" if [[ "$?" -ne 0 ]]; then echo "It's not an Olevia TV (ATI)" /usr/pluto/bin/MessageSend dcerouter -r 0 $1 1 806 224 $2 13 "$4" 44 0 else echo "It is an Olevia TV (ATI) Template #2030" /usr/pluto/bin/MessageSend dcerouter -r 0 $1 1 806 224 $2 13 "$4" 44 2030