Exemplo n.º 1
0
        /// <summary>
        /// Applications entry point.
        /// </summary>
        /// <param name="args"></param>
        static void Main(string[] args)
        {
            Hashtable Arguments = ArgumentParse(args);

            if (Arguments.ContainsKey(PARAMETER_PORT) &&
                (Arguments.ContainsKey(PARAMETER_BACKLIGHT) || Arguments.ContainsKey(PARAMETER_TEXT)))
            {
                Console.Write("Port: ");
                Console.WriteLine(Arguments[PARAMETER_PORT]);
                if (Arguments.ContainsKey(PARAMETER_BACKLIGHT))
                {
                    Console.Write("Backlight: ");
                    if ((bool)Arguments[PARAMETER_BACKLIGHT])
                    {
                        Console.WriteLine("On");
                    }
                    else
                    {
                        Console.WriteLine("Off");
                    }
                }
                if (Arguments.ContainsKey(PARAMETER_TEXT))
                {
                    Console.Write("Message: '");
                    Console.Write(Arguments[PARAMETER_TEXT]);
                    Console.WriteLine("'");
                }

                try
                {
                    //create object
                    AdvancedSerialClient ArduinoClient = new AdvancedSerialClient();
                    //connect to device
                    ArduinoClient.Open(Arguments[PARAMETER_PORT].ToString(), 115200);

                    //command for LED
                    if (Arguments.ContainsKey(PARAMETER_BACKLIGHT))
                    {
                        SerialProtocol.AdvancedSerialMessage BacklightMessage = new SerialProtocol.AdvancedSerialMessage();

                        if ((bool)Arguments[PARAMETER_BACKLIGHT])
                        {
                            BacklightMessage.ID = BACKLIGHT_ON_MESSAGE;
                        }
                        else
                        {
                            BacklightMessage.ID = BACKLIGHT_OFF_MESSAGE;
                        }

                        ArduinoClient.Send(BacklightMessage);
                    }

                    //command for text
                    if (Arguments.ContainsKey(PARAMETER_TEXT))
                    {
                        SerialProtocol.AdvancedSerialMessage TextMessage = new SerialProtocol.AdvancedSerialMessage();
                        TextMessage.ID      = TEXT_MESSAGE;
                        TextMessage.Payload = new System.Text.ASCIIEncoding().GetBytes(Arguments[PARAMETER_TEXT].ToString());
                        TextMessage.Size    = (byte)TextMessage.Payload.Length;
                        ArduinoClient.Send(TextMessage);
                    }
                }
                catch (Exception ex)
                {
                    Console.Write("Error: " + ex.Message);
                }
            }
            else
            {
                Console.WriteLine("Invalid parameters!");
                Console.WriteLine();
                Console.WriteLine("Write a message to LCD display. It's a serial client for LCDWriter sketch from abl-arduino lirary.");
                Console.WriteLine();
                Console.WriteLine("usage: " + Process.GetCurrentProcess().ProcessName + " /P port [/On | /Off] [message]");
                Console.WriteLine();
                Console.WriteLine("   message   Message to be written on LCD display (16x2).");
                Console.WriteLine();
                Console.WriteLine("   /P        Serial port.");
                Console.WriteLine("   /On       Turn backlight led on.");
                Console.WriteLine("   /Off      Turn backlight led off.");
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// Applications entry point.
        /// </summary>
        /// <param name="args"></param>
        static void Main(string[] args)
        {
            Hashtable Arguments = ArgumentParse(args);

            if (Arguments.ContainsKey(PARAMETER_PORT) &&
                (Arguments.ContainsKey(PARAMETER_BACKLIGHT) || Arguments.ContainsKey(PARAMETER_TEXT)))
            {
                Console.Write("Port: ");
                Console.WriteLine(Arguments[PARAMETER_PORT]);
                if (Arguments.ContainsKey(PARAMETER_BACKLIGHT))
                {
                    Console.Write("Backlight: ");
                    if ((bool)Arguments[PARAMETER_BACKLIGHT])
                        Console.WriteLine("On");
                    else
                        Console.WriteLine("Off");
                }
                if (Arguments.ContainsKey(PARAMETER_TEXT))
                {
                    Console.Write("Message: '");
                    Console.Write(Arguments[PARAMETER_TEXT]);
                    Console.WriteLine("'");
                }

                try
                {
                    //create object
                    AdvancedSerialClient ArduinoClient = new AdvancedSerialClient();
                    //connect to device
                    ArduinoClient.Open(Arguments[PARAMETER_PORT].ToString(), 115200);

                    //command for LED
                    if (Arguments.ContainsKey(PARAMETER_BACKLIGHT))
                    {
                        SerialProtocol.AdvancedSerialMessage BacklightMessage = new SerialProtocol.AdvancedSerialMessage();

                        if ((bool)Arguments[PARAMETER_BACKLIGHT])
                            BacklightMessage.ID = BACKLIGHT_ON_MESSAGE;
                        else
                            BacklightMessage.ID = BACKLIGHT_OFF_MESSAGE;

                        ArduinoClient.Send(BacklightMessage);
                    }

                    //command for text
                    if (Arguments.ContainsKey(PARAMETER_TEXT))
                    {
                        SerialProtocol.AdvancedSerialMessage TextMessage = new SerialProtocol.AdvancedSerialMessage();
                        TextMessage.ID = TEXT_MESSAGE;
                        TextMessage.Payload = new System.Text.ASCIIEncoding().GetBytes(Arguments[PARAMETER_TEXT].ToString());
                        TextMessage.Size = (byte)TextMessage.Payload.Length;
                        ArduinoClient.Send(TextMessage);
                    }
                }
                catch (Exception ex)
                {
                    Console.Write("Error: " + ex.Message);
                }
            }
            else
            {
                Console.WriteLine("Invalid parameters!");
                Console.WriteLine();
                Console.WriteLine("Write a message to LCD display. It's a serial client for LCDWriter sketch from abl-arduino lirary.");
                Console.WriteLine();
                Console.WriteLine("usage: " + Process.GetCurrentProcess().ProcessName + " /P port [/On | /Off] [message]");
                Console.WriteLine();
                Console.WriteLine("   message   Message to be written on LCD display (16x2).");
                Console.WriteLine();
                Console.WriteLine("   /P        Serial port.");
                Console.WriteLine("   /On       Turn backlight led on.");
                Console.WriteLine("   /Off      Turn backlight led off.");
            }
        }