Exemple #1
0
 /*
  * Set back light state
  */
 public static void LCD_SetBacklightState(Byte state)
 {
     if (state != 0)
     {
         ControlGPIO.VGI_SetPins(ControlGPIO.VGI_USBGPIO, 0, ControlPin.LCD_BL_PIN);
     }
     else
     {
         ControlGPIO.VGI_ResetPins(ControlGPIO.VGI_USBGPIO, 0, ControlPin.LCD_BL_PIN);
     }
 }
Exemple #2
0
 /*
  * Write 1 byte data to 5510
  */
 public static void LCD_WriteByte(Byte Data, Byte Command)
 {
     if (Command != 0)
     {
         ControlGPIO.VGI_SetPins(ControlGPIO.VGI_USBGPIO, 0, ControlPin.LCD_DC_PIN);
     }
     else
     {
         ControlGPIO.VGI_ResetPins(ControlGPIO.VGI_USBGPIO, 0, ControlPin.LCD_DC_PIN);
     }
     Byte[] temp = new Byte[1];
     temp[0] = Data;
     ControlSPI.VSI_WriteBytes(ControlSPI.VSI_USBSPI, 0, 0, temp, 1);
 }
Exemple #3
0
        //public static extern void LCD_SetBacklightState(Byte state);
        public static Int32 ConfigAdapter()
        {
            Int32 ret;

            ControlSPI.VSI_INIT_CONFIG pSPI_Config = new ControlSPI.VSI_INIT_CONFIG();
            // Scan device connected
            ret = ControlGPIO.VGI_ScanDevice();
            if (ret <= 0)
            {
                Console.WriteLine("No device connect!\n");
                return(ret);
            }
            // Open device
            ret = ControlSPI.VSI_OpenDevice(ControlSPI.VSI_USBSPI, 0, 0);
            if (ret != ControlSPI.ERROR.SUCCESS)
            {
                Console.WriteLine("Open device error!\n");
                return(ret);
            }
            // Initialize device
            pSPI_Config.ControlMode = 1;
            pSPI_Config.MasterMode  = 1;
            pSPI_Config.ClockSpeed  = 4500000;
            pSPI_Config.CPHA        = 0;
            pSPI_Config.CPOL        = 0;
            pSPI_Config.LSBFirst    = 0;
            pSPI_Config.TranBits    = 8;
            pSPI_Config.SelPolarity = 0;
            ret = ControlSPI.VSI_InitSPI(ControlSPI.VSI_USBSPI, 0, ref pSPI_Config);
            if (ret != ControlSPI.ERROR.SUCCESS)
            {
                Console.WriteLine("Initialize device error!\n");
                return(ret);
            }
            //Config RST,DC,BL pin
            ret = ControlGPIO.VGI_SetOutput(ControlGPIO.VGI_USBGPIO, 0, ControlPin.LCD_BL_PIN | ControlPin.LCD_DC_PIN | ControlPin.LCD_RST_PIN);
            if (ret != ControlSPI.ERROR.SUCCESS)
            {
                Console.WriteLine("Config GPIO error!\n");
                return(ret);
            }
            return(0);
        }
Exemple #4
0
        static void Main(string[] args)
        {
            int ret;

            // Scan connected device
            ret = ControlGPIO.VGI_ScanDevice(1);
            if (ret <= 0)
            {
                Console.WriteLine("No device connect!");
                return;
            }
            // Open device
            ret = ControlGPIO.VGI_OpenDevice(ControlGPIO.VGI_USBGPIO, 0, 0);
            if (ret != ControlGPIO.ERROR.SUCCESS)
            {
                Console.WriteLine("Open device error!");
                return;
            }
            // Set GPIO_7 and GPIO_8 to output
            ret = ControlGPIO.VGI_SetOutput(ControlGPIO.VGI_USBGPIO, 0, ControlGPIO.GPIO_MASK.VGI_GPIO_PIN7 | ControlGPIO.GPIO_MASK.VGI_GPIO_PIN8);
            if (ret != ControlGPIO.ERROR.SUCCESS)
            {
                Console.WriteLine("Set pin output error!");
                return;
            }
            // Set GPIO_7 and GPIO_8 to high level
            ret = ControlGPIO.VGI_SetOutput(ControlGPIO.VGI_USBGPIO, 0, ControlGPIO.GPIO_MASK.VGI_GPIO_PIN7 | ControlGPIO.GPIO_MASK.VGI_GPIO_PIN8);
            if (ret != ControlGPIO.ERROR.SUCCESS)
            {
                Console.WriteLine("Set pin high error!");
                return;
            }
            // Set GPIO_7 and GPIO_8 to low level
            ret = ControlGPIO.VGI_ResetPins(ControlGPIO.VGI_USBGPIO, 0, ControlGPIO.GPIO_MASK.VGI_GPIO_PIN7 | ControlGPIO.GPIO_MASK.VGI_GPIO_PIN8);
            if (ret != ControlGPIO.ERROR.SUCCESS)
            {
                Console.WriteLine("Set pin low error!");
                return;
            }
            // Set GPIO_4 and GPIO_5 to input
            ret = ControlGPIO.VGI_SetInput(ControlGPIO.VGI_USBGPIO, 0, ControlGPIO.GPIO_MASK.VGI_GPIO_PIN4 | ControlGPIO.GPIO_MASK.VGI_GPIO_PIN5);
            if (ret != ControlGPIO.ERROR.SUCCESS)
            {
                Console.WriteLine("Set pin input error!");
                return;
            }
            // Get GPIO_4 and GPIO_5 value
            UInt16 pin_value = 0;

            ret = ControlGPIO.VGI_ReadDatas(ControlGPIO.VGI_USBGPIO, 0, ControlGPIO.GPIO_MASK.VGI_GPIO_PIN4 | ControlGPIO.GPIO_MASK.VGI_GPIO_PIN5, ref pin_value);
            if (ret != ControlGPIO.ERROR.SUCCESS)
            {
                Console.WriteLine("Get pin data error!");
                return;
            }
            else
            {
                if ((pin_value & ControlGPIO.GPIO_MASK.VGI_GPIO_PIN4) != 0)
                {
                    Console.WriteLine("GPIO_4 is high-level!");
                }
                else
                {
                    Console.WriteLine("GPIO_4 is low-level!");
                }
                if ((pin_value & ControlGPIO.GPIO_MASK.VGI_GPIO_PIN5) != 0)
                {
                    Console.WriteLine("GPIO_5 is high-level!");
                }
                else
                {
                    Console.WriteLine("GPIO_5 is low-level!");
                }
            }
            // Set GPIO_4 and GPIO_5 to OD(Bi-directional, need pull-up resistor)
            ret = ControlGPIO.VGI_SetOpenDrain(ControlGPIO.VGI_USBGPIO, 0, ControlGPIO.GPIO_MASK.VGI_GPIO_PIN4 | ControlGPIO.GPIO_MASK.VGI_GPIO_PIN5);
            if (ret != ControlGPIO.ERROR.SUCCESS)
            {
                Console.WriteLine("Set pin input error!");
                return;
            }
            // Set GPIO_4 and GPIO_5 to high level
            ret = ControlGPIO.VGI_SetOutput(ControlGPIO.VGI_USBGPIO, 0, ControlGPIO.GPIO_MASK.VGI_GPIO_PIN4 | ControlGPIO.GPIO_MASK.VGI_GPIO_PIN5);
            if (ret != ControlGPIO.ERROR.SUCCESS)
            {
                Console.WriteLine("Set pin high error!");
                return;
            }
            // Set GPIO_4 and GPIO_5 to low level
            ret = ControlGPIO.VGI_ResetPins(ControlGPIO.VGI_USBGPIO, 0, ControlGPIO.GPIO_MASK.VGI_GPIO_PIN4 | ControlGPIO.GPIO_MASK.VGI_GPIO_PIN5);
            if (ret != ControlGPIO.ERROR.SUCCESS)
            {
                Console.WriteLine("Set pin high error!");
                return;
            }
            // Get GPIO_4 and GPIO_5 value
            ret = ControlGPIO.VGI_ReadDatas(ControlGPIO.VGI_USBGPIO, 0, ControlGPIO.GPIO_MASK.VGI_GPIO_PIN4 | ControlGPIO.GPIO_MASK.VGI_GPIO_PIN5, ref pin_value);
            if (ret != ControlGPIO.ERROR.SUCCESS)
            {
                Console.WriteLine("Get pin data error!");
                return;
            }
            else
            {
                if ((pin_value & ControlGPIO.GPIO_MASK.VGI_GPIO_PIN4) != 0)
                {
                    Console.WriteLine("GPIO_4 is high-level!");
                }
                else
                {
                    Console.WriteLine("GPIO_4 is low-level!");
                }
                if ((pin_value & ControlGPIO.GPIO_MASK.VGI_GPIO_PIN5) != 0)
                {
                    Console.WriteLine("GPIO_5 is high-level!");
                }
                else
                {
                    Console.WriteLine("GPIO_5 is low-level!");
                }
            }
            // Close device
            ret = ControlGPIO.VGI_CloseDevice(ControlGPIO.VGI_USBGPIO, 0);
            if (ret != ControlGPIO.ERROR.SUCCESS)
            {
                Console.WriteLine("Close device error!");
                return;
            }
        }
Exemple #5
0
 /*
  * Reset LCD
  */
 public static void LCD_Reset()
 {
     ControlGPIO.VGI_ResetPins(ControlGPIO.VGI_USBGPIO, 0, ControlPin.LCD_RST_PIN);
     Thread.Sleep(10);
     ControlGPIO.VGI_SetPins(ControlGPIO.VGI_USBGPIO, 0, ControlPin.LCD_RST_PIN);
 }