Add more DWIN commands, docs (#19395)
This commit is contained in:
		
				
					committed by
					
						 Scott Lahteine
						Scott Lahteine
					
				
			
			
				
	
			
			
			
						parent
						
							08a7dedbc9
						
					
				
				
					commit
					c407c08b0b
				
			| @@ -153,6 +153,20 @@ void DWIN_Frame_Clear(const uint16_t color) { | ||||
|   DWIN_Send(i); | ||||
| } | ||||
|  | ||||
| // Draw a point | ||||
| //  width: point width   0x01-0x0F | ||||
| //  height: point height 0x01-0x0F | ||||
| //  x,y: upper left point | ||||
| void DWIN_Draw_Point(uint8_t width, uint8_t height, uint16_t x, uint16_t y) { | ||||
|   size_t i = 0; | ||||
|   DWIN_Byte(i, 0x02); | ||||
|   DWIN_Byte(i, width); | ||||
|   DWIN_Byte(i, height); | ||||
|   DWIN_Word(i, x); | ||||
|   DWIN_Word(i, y); | ||||
|   DWIN_Send(i); | ||||
| } | ||||
|  | ||||
| // Draw a line | ||||
| //  color: Line segment color | ||||
| //  xStart/yStart: Start point | ||||
| @@ -221,6 +235,10 @@ void DWIN_Draw_String(bool widthAdjust, bool bShow, uint8_t size, | ||||
|                       uint16_t color, uint16_t bColor, uint16_t x, uint16_t y, char *string) { | ||||
|   size_t i = 0; | ||||
|   DWIN_Byte(i, 0x11); | ||||
|   // Bit 7: widthAdjust | ||||
|   // Bit 6: bShow | ||||
|   // Bit 5-4: Unused (0) | ||||
|   // Bit 3-0: size | ||||
|   DWIN_Byte(i, (widthAdjust * 0x80) | (bShow * 0x40) | size); | ||||
|   DWIN_Word(i, color); | ||||
|   DWIN_Word(i, bColor); | ||||
| @@ -244,6 +262,11 @@ void DWIN_Draw_IntValue(uint8_t bShow, bool zeroFill, uint8_t zeroMode, uint8_t | ||||
|                           uint16_t bColor, uint8_t iNum, uint16_t x, uint16_t y, uint16_t value) { | ||||
|   size_t i = 0; | ||||
|   DWIN_Byte(i, 0x14); | ||||
|   // Bit 7: bshow | ||||
|   // Bit 6: 1 = signed; 0 = unsigned number; | ||||
|   // Bit 5: zeroFill | ||||
|   // Bit 4: zeroMode | ||||
|   // Bit 3-0: size | ||||
|   DWIN_Byte(i, (bShow * 0x80) | (zeroFill * 0x20) | (zeroMode * 0x10) | size); | ||||
|   DWIN_Word(i, color); | ||||
|   DWIN_Word(i, bColor); | ||||
| @@ -360,4 +383,73 @@ void DWIN_Frame_AreaCopy(uint8_t cacheID, uint16_t xStart, uint16_t yStart, | ||||
|   DWIN_Send(i); | ||||
| } | ||||
|  | ||||
| // Animate a series of icons | ||||
| //  animID: Animation ID; 0x00-0x0F | ||||
| //  animate: true on; false off; | ||||
| //  libID: Icon library ID | ||||
| //  picIDs: Icon starting ID | ||||
| //  picIDe: Icon ending ID | ||||
| //  x/y: Upper-left point | ||||
| //  interval: Display time interval, unit 10mS | ||||
| void DWIN_ICON_Animation(uint8_t animID, bool animate, uint8_t libID, uint8_t picIDs, uint8_t picIDe, uint16_t x, uint16_t y, uint16_t interval) { | ||||
|   NOMORE(x, DWIN_WIDTH - 1); | ||||
|   NOMORE(y, DWIN_HEIGHT - 1); // -- ozy -- srl | ||||
|   size_t i = 0; | ||||
|   DWIN_Byte(i, 0x28); | ||||
|   DWIN_Word(i, x); | ||||
|   DWIN_Word(i, y); | ||||
|   // Bit 7: animation on or off | ||||
|   // Bit 6: start from begin or end | ||||
|   // Bit 5-4: unused (0) | ||||
|   // Bit 3-0: animID | ||||
|   DWIN_Byte(i, (animate * 0x80) | 0x40 | animID); | ||||
|   DWIN_Byte(i, libID); | ||||
|   DWIN_Byte(i, picIDs); | ||||
|   DWIN_Byte(i, picIDe); | ||||
|   DWIN_Byte(i, interval); | ||||
|   DWIN_Send(i); | ||||
| } | ||||
|  | ||||
| // Animation Control | ||||
| //  state: 16 bits, each bit is the state of an animation id | ||||
| void DWIN_ICON_AnimationControl(uint16_t state) { | ||||
|   size_t i = 0; | ||||
|   DWIN_Byte(i, 0x28); | ||||
|   DWIN_Word(i, state); | ||||
|   DWIN_Send(i); | ||||
| } | ||||
|  | ||||
| /*---------------------------------------- Memory functions ----------------------------------------*/ | ||||
| // The LCD has an additional 32KB SRAM and 16KB Flash | ||||
|  | ||||
| // Data can be written to the sram and save to one of the jpeg page files | ||||
|  | ||||
| // Write Data Memory | ||||
| //  command 0x31 | ||||
| //  Type: Write memory selection; 0x5A=SRAM; 0xA5=Flash | ||||
| //  Address: Write data memory address; 0x000-0x7FFF for SRAM; 0x000-0x3FFF for Flash | ||||
| //  Data: data | ||||
| // | ||||
| //  Flash writing returns 0xA5 0x4F 0x4B | ||||
|  | ||||
| // Read Data Memory | ||||
| //  command 0x32 | ||||
| //  Type: Read memory selection; 0x5A=SRAM; 0xA5=Flash | ||||
| //  Address: Read data memory address; 0x000-0x7FFF for SRAM; 0x000-0x3FFF for Flash | ||||
| //  Length: leangth of data to read; 0x01-0xF0 | ||||
| // | ||||
| //  Response: | ||||
| //    Type, Address, Length, Data | ||||
|  | ||||
| // Write Picture Memory | ||||
| //  Write the contents of the 32KB SRAM data memory into the designated image memory space | ||||
| //  Issued: 0x5A, 0xA5, PIC_ID | ||||
| //  Response: 0xA5 0x4F 0x4B | ||||
| // | ||||
| //  command 0x33 | ||||
| //  0x5A, 0xA5 | ||||
| //  PicId: Picture Memory location, 0x00-0x0F | ||||
| // | ||||
| //  Flash writing returns 0xA5 0x4F 0x4B | ||||
|  | ||||
| #endif // DWIN_CREALITY_LCD | ||||
|   | ||||
| @@ -67,6 +67,12 @@ void DWIN_UpdateLCD(void); | ||||
| //  color: Clear screen color | ||||
| void DWIN_Frame_Clear(const uint16_t color); | ||||
|  | ||||
| // Draw a point | ||||
| //  width: point width   0x01-0x0F | ||||
| //  height: point height 0x01-0x0F | ||||
| //  x,y: upper left point | ||||
| void DWIN_Draw_Point(uint8_t width, uint8_t height, uint16_t x, uint16_t y); | ||||
|  | ||||
| // Draw a line | ||||
| //  color: Line segment color | ||||
| //  xStart/yStart: Start point | ||||
| @@ -190,3 +196,18 @@ inline void DWIN_JPG_CacheTo1(uint8_t id) { DWIN_JPG_CacheToN(1, id); } | ||||
| //  x/y: Screen paste point | ||||
| void DWIN_Frame_AreaCopy(uint8_t cacheID, uint16_t xStart, uint16_t yStart, | ||||
|                          uint16_t xEnd, uint16_t yEnd, uint16_t x, uint16_t y); | ||||
|  | ||||
| // Animate a series of icons | ||||
| //  animID: Animation ID  up to 16 | ||||
| //  animate: animation on or off | ||||
| //  libID: Icon library ID | ||||
| //  picIDs: Icon starting ID | ||||
| //  picIDe: Icon ending ID | ||||
| //  x/y: Upper-left point | ||||
| //  interval: Display time interval, unit 10mS | ||||
| void DWIN_ICON_Animation(uint8_t animID, bool animate, uint8_t libID, uint8_t picIDs,  | ||||
|                          uint8_t picIDe, uint16_t x, uint16_t y, uint16_t interval); | ||||
|  | ||||
| // Animation Control | ||||
| //  state: 16 bits, each bit is the state of an animation id | ||||
| void DWIN_ICON_AnimationControl(uint16_t state); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user