comreference - olikraus/ucglib GitHub Wiki
Com Interface Manual
Signal Names
Signal Name | Ucglib | Also known as... |
---|---|---|
Command/Data Selection | CD | RS, D/C, A0 |
Chip Select | CS | |
Controller Reset | Reset | Res |
Command Table
The following commands are available withing the command sequence (ucg_com_SendCmdSeq
):
Cmd | Description |
---|---|
UCG_C10(c0) | Send 1x command byte |
UCG_C20(c0,c1) | Send 2x command byte, high byte first |
UCG_C11(c0,a0) | Send 1x command byte and 1x data byte |
UCG_C21(c0,c1,a0) | Send 2x command byte and 1x data byte |
UCG_C12(c0,a0,a1) | Send 1x command byte and 2x data byte |
UCG_C22(c0,c1,a0,a1) | Send 2x command byte and 2x data byte |
UCG_C13(c0,a0,a1,a2) | Send 1x command byte and 3x data byte |
UCG_C23(c0,c1,a0,a1,a2) | Send 2x command byte and 3x data byte |
UCG_C14(c0,a0,a1,a2,a3) | Send 1x command byte and 4x data byte |
UCG_C24(c0,c1,a0,a1,a2,a3) | Send 2x command byte and 4x data byte |
UCG_C15(c0,a0,a1,a2,a3,a4) | Send 1x command byte and 5x data byte |
UCG_A1(d0) | Send 1x argument byte |
UCG_A2(d0,d1) | Send 2x argument byte |
UCG_A3(d0,d1,d2) | Send 3x argument byte |
UCG_A4(d0,d1,d2,d3) | Send 4x argument byte |
UCG_A5(d0,d1,d2,d3,d4) | Send 5x argument byte |
UCG_A6(d0,d1,d2,d3,d4,d5) | Send 6x argument byte |
UCG_A7(d0,d1,d2,d3,d4,d5,d6) | Send 7x argument byte |
UCG_A8(d0,d1,d2,d3,d4,d5,d6,d7) | Send 8x argument byte |
UCG_DATA() | Force data output for next byte |
UCG_D1(d0) | Send 1x data byte |
UCG_D2(d0,d1) | Send 2x data byte |
UCG_D3(d0,d1,d2) | Send 3x data byte |
UCG_D4(d0,d1,d2,d3) | Send 4x data byte |
UCG_D5(d0,d1,d2,d3,d4) | Send 5x data byte |
UCG_D6(d0,d1,d2,d3,d4,d5) | Send 6x data byte |
UCG_DLY_MS(t) | Delay 0..4095 milliseconds |
UCG_DLY_US(t) | Delay 0..4095 microseconds |
UCG_VARX(s,a,o) | Send ((XPOS>>s)&a) |
UCG_VARY(s,a,o) | Send ((YPOS>>s)&a) |
UCG_RST(level) | Force reset line to level |
UCG_CS(level) | Force CS line to level |
UCG_CFG_CD(c,a) | Define values for command (c) and argument (a) bytes |
UCG_END() | Terminate sequence |
ucg_com_DelayMicroseconds
- C Prototype:
void ucg_com_DelayMicroseconds(ucg_t *ucg, uint16_t delay);
- Description: Delay by the specified number of microseconds. There are 1000000 microseconds in one second.
delay
must be smaller than 4096. - Arguments:
ucg
: Pointer to the Ucg data structuredelay
: Number of microseconds for the delay (Range: 0..4095)
- Returns: -
- See also:
- Example:
ucg_com_DelayMilliseconds
- C Prototype:
void ucg_com_DelayMilliseconds(ucg_t *ucg, uint16_t delay);
- Description: Delay by the specified number of milliseconds. There are 1000 milliseconds in one second.
delay
must be smaller than 4096. - Arguments:
ucg
: Pointer to the Ucg data structuredelay
: Number of milliseconds for the delay (Range: 0..4095)
- Returns: -
- See also:
- Example:
ucg_com_SendByte
- C Prototype:
void ucg_com_SendByte(ucg_t *ug, uint8_t byte);
- Description: Send one byte to the display
- Arguments:
ucg
: Pointer to the Ucg data structurebyte
: The value which should be sent to the display
- Returns: -
- See also:
- Example:
ucg_com_SendCmdDataSequence
- C Prototype:
void ucg_com_SendCmdDataSequence(ucg_t *ucg, uint16_t cnt, const uint8_t *byte_ptr, uint8_t cd_line_status_at_end);
- Description: Send a sequence of command-data/data pairs. The sequence of bytes must look like this:
| 0,1,2 | data | 0,1,2 | data | ... | 0,1,2 | data | |:------|:-----|:------|:-----|:----|:------|:-----| Where the first value of the two byte CD/data pair is 0 (do not change CD line), 1 (force CD line to 0) or 2 (force CD line to 1).
- Arguments:
ucg
: Pointer to the Ucg data structurecnt
: The number of CD/data pairs in the sequencebyte_ptr
: Pointer to the first paircd_line_status_at_end
: The line status, that is forced on the CD line (0 for low, 1 for high)
- Returns: -
- See also:
- Example:
ucg_com_SendCmdSeq
- C Prototype:
void ucg_com_SendCmdSeq(ucg_t *ucg, const ucg_pgm_uint8_t *data);
- Description: Execute a command sequence. The command sequence must be terminated with
UCG_END()
. In AVR systems, this sequence is placed into PROGMEM area. See above for the description of the commands. - Arguments:
ucg
: Pointer to the Ucg data structuredata
: Pointer to the first byte of the command sequence
- Returns: -
- See also:
- Example:
const ucg_pgm_uint8_t ucg_ili9325_set_pos_seq[] =
{
UCG_CS(0), /* enable chip */
UCG_C10(0x020), UCG_VARX(0,0x00, 0), UCG_VARX(0,0x0ff, 0), /* set x position */
UCG_C10(0x021), UCG_VARY(8,0x01, 0), UCG_VARY(0,0x0ff, 0), /* set y position */
UCG_C10(0x022), /* write to RAM */
UCG_DATA(), /* change to data mode */
UCG_END()
};
...
ucg_com_SendCmdSeq(ucg, ucg_ili9325_set_pos_seq);
ucg_com_SendRepeatByte
- C Prototype:
void ucg_com_SendRepeatByte(ucg_t *ucg, uint16_t cnt, uint8_t byte);
- Description: Repeated sending of one byte to the display.
cnt
bytes will be transfered. - Arguments:
ucg
: Pointer to the Ucg data structurecnt
: How often the byte should be sent.byte
: The value which should be sent to the display
- Returns: -
- See also:
- Example:
ucg_com_SendRepeat2Bytes
- C Prototype:
void ucg_com_SendRepeat2Bytes(ucg_t *ucg, uint16_t cnt, uint8_t *byte_ptr);
- Description: Repeated sending of two bytes to the display.
2*cnt
bytes will be transfered. - Arguments:
ucg
: Pointer to the Ucg data structurecnt
: How often the two-byte sequence should be sent.byte_ptr
: A pointer to two bytes
- Returns: -
- See also:
- Example:
ucg_com_SendRepeat3Bytes
- C Prototype:
void ucg_com_SendRepeat3Bytes(ucg_t *ucg, uint16_t cnt, uint8_t *byte_ptr);
- Description: Repeated sending of three bytes to the display.
3*cnt
bytes will be transfered. - Arguments:
ucg
: Pointer to the Ucg data structurecnt
: How often the three-byte sequence should be sent.byte_ptr
: A pointer to three bytes
- Returns: -
- See also:
- Example:
ucg_com_SendString
- C Prototype:
void ucg_com_SendString(ucg_t *ucg, uint16_t cnt, const uint8_t *byte_ptr);
- Description: Send a sequence of
cnt
bytes. - Arguments:
ucg
: Pointer to the Ucg data structurecnt
: The total number of bytes in the sequencebyte_ptr
: A pointer to the first byte of the sequence
- Returns: -
- See also:
- Example:
ucg_com_SetCSLineStatus
- C Prototype:
void ucg_com_SetCSLineStatus(ucg_t *ucg, uint8_t level);
- Description: Force the digital signal level on the CS (chip select) line to the specified value.
- Arguments:
ucg
: Pointer to the Ucg data structurelevel
: 0 for low level, 1 for high level
- Returns: -
- See also:
- Example:
ucg_com_SetCDLineStatus
- C Prototype:
void ucg_com_SetCDLineStatus(ucg_t *ucg, uint8_t level);
- Description: Force the digital signal level on the CD (command/data) line to the specified value.
- Arguments:
ucg
: Pointer to the Ucg data structurelevel
: 0 for low level, 1 for high level
- Returns: -
- See also:
- Example: