Emwin GUIDRV_FLEXCOLOR driver

    This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

    • Emwin GUIDRV_FLEXCOLOR driver

      Hello,

      I am using Kinetics K22FN controller with SSD1963. As per emwin documentation we gave to use the FLEXCOLOR driver for SSD1963.
      SSD1963 is connected to K22FN controller through 16 bit parallel interface. At K22FN side flexbus is used to send data to LCD.
      I have written the LCD init routines and send command and send data routines.

      as per documentation of the driver we have to give functions pointers to functions used by LCD to emwin
      PortAPI.pfWrite16_A0 = SendCmdWord_SSD1963_16b;
      PortAPI.pfWrite16_A1 = SendDataWord_SSD1963_16b;
      PortAPI.pfWriteM16_A1 = APP_pfWriteM8_A1; //I do not have a routine for this
      PortAPI.pfRead16_A1 = ReadDataWord_SSD1963_16b;
      PortAPI.pfReadM16_A1 = APP_pfReadM8_A1; //I do not have a routine for this

      i have only 3 functions send command, send data and read data which i have assigned as above.
      But i dont have functions for PortAPI.pfWriteM16_A1 and PortAPI.pfReadM16_A1 which i think are for sending multiple items.


      can you please guide me to what should i use for these 2 functions pfWriteM16_A1 and pfReadM16_A1


      Thanks

      Regards,


      Anuj Tanksali
    • In my case it is in this way. Here I am using STM32F407 and FSMC.
      In SPI I use DMA to send the data vector.
      I think LcdReadDataMultiple is never used, so also an empty function will do.

      PortAPI.pfWrite16_A0 = LCD_WriteCom;
      PortAPI.pfWrite16_A1 = LCD_WriteData;
      PortAPI.pfWriteM16_A1 = LCD_WriteDataMultiple;
      PortAPI.pfReadM16_A1 = LCD_ReadDataMultiple;

      /********************************************************************
      *
      * LCDWriteDataMultiple
      *
      * Function description:
      * Writes multiple values to a display register.
      */
      void LCD_WriteDataMultiple(uint16_t * pData, int NumItems) {
      while (NumItems--) {
      LCD_WriteData(*pData++); // = PortAPI.pfWrite16_A1
      }
      }

      /********************************************************************
      *
      * LcdReadDataMultiple
      *
      * Function description:
      * Reads multiple values from a display register.
      */
      void LCD_ReadDataMultiple(uint16_t * pData, int NumItems)
      {
      while (NumItems--)
      {
      *pData++ = LCD_Data;
      }
      }