olikraus / ucglib

Arduino True Color Library for TFTs and OLEDs
https://github.com/olikraus/ucglib/wiki
Other
261 stars 76 forks source link

Fast data transfer with C/D info #1

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
array with alternate entries
cd_info
data
cd_info
data
...
cd_info
data
cd_info

cd_info == 0
   no change
cd_info == 1
   change cd line to 0
cd_info == 2
   change cd line to 1

sequence must end in cd_info and this cd_info must be none-zero.

Introduce new message for this.

Original issue reported on code.google.com by olikr...@gmail.com on 13 Jan 2014 at 9:39

GoogleCodeExporter commented 9 years ago
implemented fror the ILI9325 
increased FPS text example from 2.9 to 5.2

Original comment by olikr...@gmail.com on 13 Jan 2014 at 8:59

GoogleCodeExporter commented 9 years ago

Original comment by olikr...@gmail.com on 18 Jan 2014 at 8:03

GoogleCodeExporter commented 9 years ago
    case UCG_COM_MSG_SEND_CD_DATA_SEQUENCE:
      while(arg > 0)
      {
    if ( *data != 0 )
    {
      if ( *data == 1 )
      {
        *ucg->data_port[UCG_PIN_CD] &= ~ucg->data_mask[UCG_PIN_CD];
      }
      else
      {
        *ucg->data_port[UCG_PIN_CD] |= ucg->data_mask[UCG_PIN_CD];
      }
    }
    data++;
    ucg_com_arduino_port_d_send(*data, ucg->data_port[UCG_PIN_WR], ~ucg->data_mask[UCG_PIN_WR], ucg->data_mask[UCG_PIN_WR]);    
    data++;
    arg--;
      }
      break;

Original comment by olikr...@gmail.com on 29 Jan 2014 at 11:15

GoogleCodeExporter commented 9 years ago
not yet implemented for the OLED

Original comment by olikr...@gmail.com on 2 Feb 2014 at 8:19

GoogleCodeExporter commented 9 years ago
The current implementation in the msg api is this:
void ucg_com_SendCmdDataSequence(ucg_t *ucg, uint32_t cnt, const uint8_t 
*byte_ptr)
{
  ucg->com_cb(ucg, UCG_COM_MSG_SEND_CD_DATA_SEQUENCE, cnt, (uint8_t *)byte_ptr);
  ucg_com_SetCDLineStatus(ucg, 0);  // ensure that the status is set correctly for the CD line */
}

cnt is the number of cd line / data pairs
total array (byte_ptr) length is even.

Original comment by olikr...@gmail.com on 8 Feb 2014 at 9:55

GoogleCodeExporter commented 9 years ago
This is done

Original comment by olikr...@gmail.com on 9 Feb 2014 at 8:05