knarfalingus / LG43UD79

Control a LG43UD79 monitor via the RS232 port using C#

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

LG43UD79 control via RS232

Summary

I wanted a simple way of switching the LG43UD79 across its various display configurations. The remote is useful, but still, with 6 inputs and 8 different ways the screen real estate can be allocated it is a lot of potential combinations.

My older monitor is on the side and dedicated to the PC, so that is where I run this program from, with the benefit of the program not disappearing on me as the monitor reconfigures, especially if I select a layout that does not include the PC.

Audience

Developers. Uses the CommandLineParser/CommandLine package to process the command line. Most of the action happens in Program.cs, in RunOptionsAndReturnExitCode(). Arrange and refactor/rename the inputs at the top and then perform actions on them in the switch statement based on the value that was passed in via the layout parameter. Rename and add/delete layouts to the switch statement that meet your use cases.

Example Usage:
LGRS232.exe --comport COM3 --layout pc+cast
The way the code currently is, this will make DisplayPort fullscreen (PC) with HDMI4 (Chromecast) in upper right PIP, where I prefer it.

Errata

  • As far as I can tell, the input the audio is coming from can't be changed via RS232. Keep the remote and "Audio Select" button handy.
  • It doesnt appear the PIP transparency can be altered via RS232 either, although at least the monitor remembers it even when PIP is hidden.
  • I was using enums to represent a lot of different commands & options and found it led to switch statement heavy code. I used type safe enums/enumeration classes instead, a simpler version of what is described in this article.
  • Dont have USB-C video so its completely untested

Equipment used

  • USB to RS232 DB 9 Cable
  • 3.5 mm to DB9 crossover cable
  • Could the above be cheaper? Probably, but it did work first attempt.
  • Windows 10 PC with USB port (appropriate driver auto-installed upon connection), the COM port assigned was displayed. Otherwise you can find it in Device Manager under LPT & COM ports.

About

Control a LG43UD79 monitor via the RS232 port using C#

License:MIT License


Languages

Language:C# 100.0%