Esempio n. 1
0
        public static bool Init(String ipAddress)
        {
            int repeat = 0;

            // wait up to 5 seconds for TV

            while (!Auto3DHelpers.Ping(ipAddress))
            {
                Thread.Sleep(1000);

                repeat++;

                if (repeat == 5)
                {
                    return(false);
                }
            }

            if (Auto3DHelpers.Ping(ipAddress))
            {
                unsafe
                {
                    String[] argv  = null;
                    int      count = 0;
                    DirectFBInit(&count, argv);
                    DirectFBSetOption("remote", ipAddress);

                    int ret = jslibrc_Init(&count, argv);
                    _connected = (ret == 0);
                    return(_connected);
                }
            }
            else
            {
                return(false);
            }
        }
Esempio n. 2
0
 public override bool IsOn()
 {
     return(Auto3DHelpers.Ping(UPnPService.ParentDevice.WebAddress.Host));
 }
Esempio n. 3
0
        public override bool SendCommand(RemoteCommand rc)
        {
            switch (rc.Command)
            {
            case "Home":

                switch (UDAPnP.Protocol)
                {
                case UDAPnP.LGProtocol.LG2011:

                    if (!InternalSendCommand("67"))
                    {
                        return(false);
                    }
                    break;

                case UDAPnP.LGProtocol.LG2012x:

                    if (!InternalSendCommand("21"))
                    {
                        return(false);
                    }
                    break;

                case UDAPnP.LGProtocol.WebOS:

                    if (!InternalSendCommand("HOME"))
                    {
                        return(false);
                    }
                    break;
                }
                break;

            case "Back":

                switch (UDAPnP.Protocol)
                {
                case UDAPnP.LGProtocol.LG2011:

                    if (!InternalSendCommand("40"))
                    {
                        return(false);
                    }
                    break;

                case UDAPnP.LGProtocol.LG2012x:

                    if (!InternalSendCommand("412"))
                    {
                        return(false);
                    }
                    break;

                case UDAPnP.LGProtocol.WebOS:

                    if (!InternalSendCommand("BACK"))
                    {
                        return(false);
                    }
                    break;
                }
                break;

            case "OK":

                switch (UDAPnP.Protocol)
                {
                case UDAPnP.LGProtocol.LG2011:

                    if (!InternalSendCommand("68"))
                    {
                        return(false);
                    }
                    break;

                case UDAPnP.LGProtocol.LG2012x:

                    if (!InternalSendCommand("20"))
                    {
                        return(false);
                    }
                    break;

                case UDAPnP.LGProtocol.WebOS:

                    if (!InternalSendCommand("ENTER"))
                    {
                        return(false);
                    }
                    break;
                }
                break;

            case "CursorLeft":

                switch (UDAPnP.Protocol)
                {
                case UDAPnP.LGProtocol.LG2011:

                    if (!InternalSendCommand("7"))
                    {
                        return(false);
                    }
                    break;

                case UDAPnP.LGProtocol.LG2012x:

                    if (!InternalSendCommand("14"))
                    {
                        return(false);
                    }
                    break;

                case UDAPnP.LGProtocol.WebOS:

                    if (!InternalSendCommand("LEFT"))
                    {
                        return(false);
                    }
                    break;
                }
                break;

            case "CursorRight":

                switch (UDAPnP.Protocol)
                {
                case UDAPnP.LGProtocol.LG2011:

                    if (!InternalSendCommand("6"))
                    {
                        return(false);
                    }
                    break;

                case UDAPnP.LGProtocol.LG2012x:

                    if (!InternalSendCommand("15"))
                    {
                        return(false);
                    }
                    break;

                case UDAPnP.LGProtocol.WebOS:

                    if (!InternalSendCommand("RIGHT"))
                    {
                        return(false);
                    }
                    break;
                }
                break;

            case "CursorUp":

                switch (UDAPnP.Protocol)
                {
                case UDAPnP.LGProtocol.LG2011:

                    if (!InternalSendCommand("64"))
                    {
                        return(false);
                    }
                    break;

                case UDAPnP.LGProtocol.LG2012x:

                    if (!InternalSendCommand("12"))
                    {
                        return(false);
                    }
                    break;

                case UDAPnP.LGProtocol.WebOS:

                    if (!InternalSendCommand("UP"))
                    {
                        return(false);
                    }
                    break;
                }
                break;

            case "CursorDown":

                switch (UDAPnP.Protocol)
                {
                case UDAPnP.LGProtocol.LG2011:

                    if (!InternalSendCommand("65"))
                    {
                        return(false);
                    }
                    break;

                case UDAPnP.LGProtocol.LG2012x:

                    if (!InternalSendCommand("13"))
                    {
                        return(false);
                    }
                    break;

                case UDAPnP.LGProtocol.WebOS:

                    if (!InternalSendCommand("DOWN"))
                    {
                        return(false);
                    }
                    break;
                }
                break;

            case "Mode3D":

                switch (UDAPnP.Protocol)
                {
                case UDAPnP.LGProtocol.LG2011:

                    if (!InternalSendCommand("220"))
                    {
                        return(false);
                    }
                    break;

                case UDAPnP.LGProtocol.LG2012x:

                    if (!InternalSendCommand("400"))
                    {
                        return(false);
                    }
                    break;

                case UDAPnP.LGProtocol.WebOS:

                    if (!InternalSendCommand("3D_MODE"))
                    {
                        return(false);
                    }
                    break;
                }
                break;

            case "Exit":

                switch (UDAPnP.Protocol)
                {
                case UDAPnP.LGProtocol.LG2011:

                    if (!InternalSendCommand("91"))
                    {
                        return(false);
                    }
                    break;

                case UDAPnP.LGProtocol.LG2012x:

                    if (!InternalSendCommand("412"))
                    {
                        return(false);
                    }
                    break;

                case UDAPnP.LGProtocol.WebOS:

                    if (!InternalSendCommand("EXIT"))
                    {
                        return(false);
                    }
                    break;
                }
                break;

            case "Off":

                switch (UDAPnP.Protocol)
                {
                case UDAPnP.LGProtocol.LG2011:

                    if (!InternalSendCommand("8"))
                    {
                        return(false);
                    }
                    break;

                case UDAPnP.LGProtocol.LG2012x:

                    if (!InternalSendCommand("1"))
                    {
                        return(false);
                    }
                    break;

                case UDAPnP.LGProtocol.WebOS:

                    if (Auto3DHelpers.Ping(IPAddress))
                    {
                        WebOS.TurnOff();
                    }
                    break;
                }
                break;

            case "Delay":

                // do nothing here
                break;

            default:

                Log.Info("Auto3D: Unknown command - " + rc.Command);
                break;
            }

            return(true);
        }
Esempio n. 4
0
 public override bool IsOn()
 {
     return(Auto3DHelpers.Ping(IPAddress));
 }
Esempio n. 5
0
 public override bool IsOn()
 {
     return(Auto3DHelpers.Ping(_iRemote.GetCurrentTV().Ip));
 }