diff --git a/bsp/src/OPLAYER/bsp.c b/bsp/src/OPLAYER/bsp.c --- a/bsp/src/OPLAYER/bsp.c +++ b/bsp/src/OPLAYER/bsp.c @@ -59,8 +59,8 @@ LCD_t lcd0={ terminal_t terminal0; -volatile uint8_t* lcd0_CMD=(volatile uint8_t*)0x60000000; -volatile uint8_t* lcd0_DATA=(volatile uint8_t*)0x61FFFFF0; +volatile int8_t* lcd0_CMD=(volatile int8_t*)0x60000000; +volatile int8_t* lcd0_DATA=(volatile int8_t*)0x61FFFFF0; float VREF0 =(float)3.3; volatile vs10XXDev audioCodec0; @@ -175,33 +175,20 @@ int bsp_FSMC_init() /*-- FSMC Configuration ------------------------------------------------------*/ /*----------------------- SRAM Bank 3 ----------------------------------------*/ /* FSMC_Bank1_NORSRAM4 configuration */ - p.FSMC_AddressSetupTime = 0xf; - p.FSMC_AddressHoldTime = 0xf; + p.FSMC_AddressSetupTime = 3; + p.FSMC_AddressHoldTime = 3; //ili9328 -> data setup time > 10ns - p.FSMC_DataSetupTime = 0xf; + p.FSMC_DataSetupTime = 1; if(getCpuFreq()>100*1000*1000) - p.FSMC_DataSetupTime = 0xf;// 11; - p.FSMC_BusTurnAroundDuration = 0xf; + p.FSMC_DataSetupTime = 2;// 11; + p.FSMC_BusTurnAroundDuration = 0; p.FSMC_CLKDivision = 0; - p.FSMC_DataLatency = 0xf; + p.FSMC_DataLatency = 0; //ili9328 -> data hold time > 15ns if(getCpuFreq()>66*1000*1000) - p.FSMC_DataLatency = 0xf; + p.FSMC_DataLatency = 0; p.FSMC_AccessMode = FSMC_AccessMode_A; - readtim.FSMC_AddressSetupTime = 0xf; - readtim.FSMC_AddressHoldTime = 0xf; - //p.FSMC_DataSetupTime = 9; - readtim.FSMC_DataSetupTime = 0xf ;// 11; - if(getCpuFreq()>100*1000*1000) - readtim.FSMC_DataSetupTime = 0xf;// 11; - readtim.FSMC_BusTurnAroundDuration = 0xf; - readtim.FSMC_CLKDivision = 0; - readtim.FSMC_DataLatency = 0xf; - if(getCpuFreq()>66*1000*1000) - readtim.FSMC_DataLatency = 0xf; - readtim.FSMC_AccessMode = FSMC_AccessMode_A; - FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM1; FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable; @@ -216,7 +203,7 @@ int bsp_FSMC_init() FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_Disable; FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_Disable; FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable; - FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &readtim; + FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &p; FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &p; FSMC_NORSRAMInit(&FSMC_NORSRAMInitStructure); @@ -407,10 +394,6 @@ void bspsdcardselect(char YESNO) void bsp_lcd0_write_reg(uint32_t reg,uint32_t data) { uint8_t* pt8 = (uint8_t*)(void*)(®); - *lcd0_CMD=(uint8_t)0; - *lcd0_CMD=(uint8_t)0; - *lcd0_CMD=(uint8_t)0; - *lcd0_CMD=(uint8_t)0; #if __BYTE_ORDER__==__ORDER_BIG_ENDIAN__ *lcd0_CMD=pt8[3]; *lcd0_CMD=pt8[2]; @@ -418,6 +401,7 @@ void bsp_lcd0_write_reg(uint32_t reg,uin *lcd0_DATA=pt8[3]; *lcd0_DATA=pt8[2]; #else + *lcd0_CMD=pt8[1]; *lcd0_CMD=pt8[0]; pt8 = (uint8_t*)(void*)&data; @@ -431,10 +415,7 @@ uint32_t bsp_lcd0_read_reg(uint32_t reg) { uint8_t* pt8 = (uint8_t*)(void*)(®); uint32_t DATA=0; - *lcd0_CMD=(uint8_t)0; - *lcd0_CMD=(uint8_t)0; - *lcd0_CMD=(uint8_t)0; - *lcd0_CMD=(uint8_t)0; + #if __BYTE_ORDER__==__ORDER_BIG_ENDIAN__ *lcd0_CMD=pt8[3]; *lcd0_CMD=pt8[2]; @@ -457,10 +438,6 @@ void bsp_lcd0_writeGRAM(void* buffer,uin { uint32_t reg =ILI9328_REGISTER_WRITEDATATOGRAM; uint8_t* pt8 = (uint8_t*)(void*)(®); - *lcd0_CMD=(uint8_t)0; - *lcd0_CMD=(uint8_t)0; - *lcd0_CMD=(uint8_t)0; - *lcd0_CMD=(uint8_t)0; #if __BYTE_ORDER__==__ORDER_BIG_ENDIAN__ *lcd0_CMD=pt8[3]; *lcd0_CMD=pt8[2]; @@ -486,13 +463,9 @@ void bsp_lcd0_writeGRAM(void* buffer,uin void bsp_lcd0_readGRAM(void* buffer,uint32_t count) { - uint32_t reg =ILI9328_REGISTER_WRITEDATATOGRAM; - volatile uint8_t* pt8 = (uint8_t*)(void*)® - *lcd0_CMD=(uint8_t)0; - *lcd0_CMD=(uint8_t)0; - *lcd0_CMD=(uint8_t)0; - *lcd0_CMD=(uint8_t)0; -#if __BYTE_ORDER__==__ORDER_BIG_ENDIAN__ + //uint32_t reg =ILI9328_REGISTER_WRITEDATATOGRAM; + volatile uint8_t* pt8 ;// = (uint8_t*)(void*)® +/* #if __BYTE_ORDER__==__ORDER_BIG_ENDIAN__ *lcd0_CMD=pt8[3]; *lcd0_CMD=pt8[2]; pt8 = (uint8_t*)(void*)buffer; @@ -502,13 +475,17 @@ void bsp_lcd0_readGRAM(void* buffer,uint pt8[2*i]=*lcd0_DATA; } #else + *lcd0_CMD=(uint8_t)0; + *lcd0_CMD=(uint8_t)0; + *lcd0_CMD=(uint8_t)0; + *lcd0_CMD=(uint8_t)0; *lcd0_CMD=pt8[1]; *lcd0_CMD=pt8[0]; - pt8 = (uint8_t*)buffer; + pt8 = (uint8_t*)buffer;*/ /* - * x dummy reads Cf ili9328 datasheet p79! - */ - pt8[0]=*lcd0_DATA; + * x dummy reads Cf ili9328 datasheet p79! + */ + /* pt8[0]=*lcd0_DATA; pt8[1]=*lcd0_DATA; for(int i=0;i<(int)count;i++) @@ -517,10 +494,21 @@ void bsp_lcd0_readGRAM(void* buffer,uint pt8[2*i]=*lcd0_DATA; pt8[(2*i) +1]=*lcd0_DATA; pt8[2*i]=*lcd0_DATA; - // pt8[(2*i) +1]=(uint8_t)0; - // pt8[(2*i)]=(uint8_t)0; } -#endif +#endif*/ + + *lcd0_CMD=(uint8_t)0; + *lcd0_CMD=(uint8_t)0x22; + pt8 = (uint8_t*)buffer; + pt8[1]=*lcd0_DATA; + pt8[0]=*lcd0_DATA; + for(int i=0;i<(int)count;i++) + { + //pt8[(2*i) +1]=0; + //pt8[2*i]=0; + pt8[(2*i)+1]= *lcd0_DATA; + pt8[2*i]= *lcd0_DATA; + } } void bsp_GTerm_init() @@ -528,7 +516,7 @@ void bsp_GTerm_init() if(__opnfiles__[1]==NULL) { streamdevice* fd1 = (streamdevice*)malloc(sizeof(streamdevice)); - terminal_init(&terminal0 ,&lcd0,&ComicSansMS_8,fd1); + terminal_init(&terminal0 ,&lcd0,&ComicSansMS_18,fd1); __opnfiles__[1] = fd1; } else diff --git a/bsp/src/STM32F4Eval/bsp.c b/bsp/src/STM32F4Eval/bsp.c --- a/bsp/src/STM32F4Eval/bsp.c +++ b/bsp/src/STM32F4Eval/bsp.c @@ -348,9 +348,7 @@ void bsp_GTerm_init() { if(__opnfiles__[1]==NULL) { - //uart_t* uart1 = (uart_t*)malloc(sizeof(uart_t)); streamdevice* fd1 = (streamdevice*)malloc(sizeof(streamdevice)); - ili9328paintFilRect(&lcd0,0,0,240,320,0x7FFF,5,0); terminal_init(&terminal0,&lcd0,&ComicSansMS_8,fd1); __opnfiles__[1] = fd1; diff --git a/examples/SOLAR_PSU_HELLO/hello.pro b/examples/SOLAR_PSU_HELLO/hello.pro --- a/examples/SOLAR_PSU_HELLO/hello.pro +++ b/examples/SOLAR_PSU_HELLO/hello.pro @@ -6,7 +6,7 @@ UCMODEL=stm32f4 BSP = OPLAYER #BSP = STM32F4Discovery-ILI9328-8bits -DEFINES += CPUFREQ=50000000 +DEFINES += CPUFREQ=100000000 SOURCES += \ diff --git a/examples/SOLAR_PSU_HELLO/main.c b/examples/SOLAR_PSU_HELLO/main.c --- a/examples/SOLAR_PSU_HELLO/main.c +++ b/examples/SOLAR_PSU_HELLO/main.c @@ -21,6 +21,8 @@ extern streamdevice* __opnfiles__[]; extern void test_Block_Move(LCD_t* LCD,int x,int y,int w,int h,int color); extern void test_all_colors(LCD_t* LCD); extern void test_small_lines(LCD_t* LCD); +extern void test_lines(LCD_t* LCD); +extern void test_address(LCD_t* LCD); void test_uniform_rw(LCD_t* LCD); char buffer[512]; @@ -142,12 +144,26 @@ int main() delay_100us(30000); int i=0; int color=0; -// test_all_colors(&lcd0); - test_small_lines(&lcd0); - test_uniform_rw(&lcd0); + // test_all_colors(&lcd0); + // test_small_lines(&lcd0); + // test_uniform_rw(&lcd0); printf("LCD ID REG = 0x%X\n\r",lcd0.interface->readreg(ILI9328_REGISTER_DRIVERCODEREAD)); - while(1); + printf("LCD ENTRY MODE REG = 0x%X\n\r",lcd0.interface->readreg(ILI9328_REGISTER_ENTRYMODE)); + uint16_t test[16]; + for(int i=0;i<16;i++) + { + test[i]=0xF00F; + } + lcd0.paint(&lcd0,test,10,100,4,4); + lcd0.getPix(&lcd0,test,10,100,4,4); + for(int i=0;i<16;i++) + { + printf("@%d=0x%X\n",i,test[i]); + } +// test_lines(&lcd0); + + while(1)test_address(&lcd0); for(i=0;i<240;i++) { if(i>(240/3)) diff --git a/examples/SOLAR_PSU_HELLO/test_lcd.c b/examples/SOLAR_PSU_HELLO/test_lcd.c --- a/examples/SOLAR_PSU_HELLO/test_lcd.c +++ b/examples/SOLAR_PSU_HELLO/test_lcd.c @@ -16,7 +16,7 @@ #include #include - +uint16_t buff[50*50]; void test_Block_Move(LCD_t* LCD,int x,int y,int w,int h,int color) { LCD->paintFilRect(LCD,x,y,w,h,0,0,color); @@ -68,3 +68,48 @@ void test_all_colors(LCD_t* LCD) color+=1; } } + +void test_address(LCD_t* LCD) +{ + LCD->paintFilRect(LCD,0,0,LCD->width,LCD->height,0,0,0xFFFF); + uint16_t color[1]; + for(int y=0;y<320;y++) + { + for(int x=0;x<240;x++) + { + color[0]=x*y; + LCD->paint(LCD,color,x,y,1,1); + //delay_100us(100); + } + } + LCD->getPix(LCD,buff,50,50,50,50); + delay_100us(5000); + for(int i=0;i<50*50;i++) + { + buff[i]=i; + } + LCD->paint(LCD,buff,50,50,50,50); + delay_100us(5000); +} + +void test_lines(LCD_t* LCD) +{ + uint16_t color[2];//=0x0FF0; + int x=0; + LCD->paintFilRect(LCD,0,0,LCD->width,LCD->height,0,0,0xFFFF); + for(int l=0;l<0xFFFF;l++) + { + color[0]=l; + color[1]=l; + for(int i=0;i<320;i++) + { + x=i*240/320; + LCD->paint(LCD,color,x,i,2,1); + } + for(int i=0;i<320;i++) + { + x=239-(i*240/320); + LCD->paint(LCD,color,x,i,2,1); + } + } +} diff --git a/lib/src/common/GRAPHIC/CONTROLERS/ILI9328/ili9328.c b/lib/src/common/GRAPHIC/CONTROLERS/ILI9328/ili9328.c --- a/lib/src/common/GRAPHIC/CONTROLERS/ILI9328/ili9328.c +++ b/lib/src/common/GRAPHIC/CONTROLERS/ILI9328/ili9328.c @@ -26,6 +26,7 @@ #include #include #include +#include #ifdef __OPTIMIZED_MATH #include @@ -166,17 +167,21 @@ void ili9328refreshenable(struct LCD_t* void ili9328setFrame(LCD_t* LCD,uint16_t X,uint16_t Y,uint16_t W,uint16_t H) { - LCD->interface->writereg(ILI9328_REGISTER_HORIZONTALGRAMADDRESSSET,(uint32_t)X); - LCD->interface->writereg(ILI9328_REGISTER_VERTICALGRAMADDRESSSET,(uint32_t)Y); + if((X>239) || (Y>319) || ((X+W)>240) || ((Y+H)>320)) + { + while (1); + } LCD->interface->writereg(ILI9328_REGISTER_HORIZONTALADDRESSSTARTPOSITION,(uint32_t)X); LCD->interface->writereg(ILI9328_REGISTER_HORIZONTALADDRESSENDPOSITION,(uint32_t)(W+X-1)); LCD->interface->writereg(ILI9328_REGISTER_VERTICALADDRESSSTARTPOSITION,(uint32_t)Y); LCD->interface->writereg(ILI9328_REGISTER_VERTICALADDRESSENDPOSITION,(uint32_t)(Y+H-1)); + LCD->interface->writereg(ILI9328_REGISTER_HORIZONTALGRAMADDRESSSET,(uint32_t)X); + LCD->interface->writereg(ILI9328_REGISTER_VERTICALGRAMADDRESSSET,(uint32_t)Y); } void ili9328paint(LCD_t* LCD,void* buffer,uint16_t Xpos,uint16_t Ypos,uint16_t Width,uint16_t Height) { - if((LCD!=NULL) && (LCD->interface!=NULL) && (LCD->interface->writeGRAM!=NULL) && (LCD->width>(Xpos+Width)) && (LCD->height>(Ypos+Height))) + if((LCD!=NULL) && (LCD->interface!=NULL) && (LCD->interface->writeGRAM!=NULL) && (LCD->width>=(Xpos+Width)) && (LCD->height>=(Ypos+Height))) { ili9328setFrame(LCD,Xpos,Ypos,Width,Height); LCD->interface->writeGRAM(buffer,Width*Height); @@ -343,7 +348,7 @@ void ili9328paintText(LCD_t* LCD,char* b if(*buffer<32)*buffer=32; if(*buffer>127)*buffer=32; ili9328setFrame(LCD,Xpos+(charnum*w),Ypos-h,w,1); -// LCD->interface->readGRAM(tmp,w); + // LCD->interface->readGRAM(tmp,w); ili9328getPix(LCD,tmp,Xpos+(charnum*w),Ypos-h,w,1); for(int i=0;i<(h*w);i++) { @@ -353,8 +358,8 @@ void ili9328paintText(LCD_t* LCD,char* b { ili9328setFrame(LCD,Xpos+(charnum*w),Ypos + linenum -h,w,1); LCD->interface->writeGRAM(tmp,w); - ili9328setFrame(LCD,Xpos+(charnum*w),Ypos + linenum + 1-h,w,1); -// LCD->interface->readGRAM(tmp,w); + //ili9328setFrame(LCD,Xpos+(charnum*w),Ypos + linenum + 1-h,w,1); + // LCD->interface->readGRAM(tmp,w); ili9328getPix(LCD,tmp,Xpos+(charnum*w),Ypos + linenum + 1-h,w,1); pix=0; } @@ -375,13 +380,61 @@ void ili9328paintText(LCD_t* LCD,char* b } } + +void ili9328paintChar(LCD_t* LCD,char buffer,uint16_t Xpos,uint16_t Ypos,sFONT* font,uint32_t color) +{ + int w=font->Width,h=font->Height,bpl=font->bytesPerLine,pix=0,tableoffset=0; + uint16_t tmp[w]; + uint16_t tmp2[w]; + uint16_t linenum=0,charnum=0; + uint8_t line=0; + if(buffer<32)buffer=32; + if(buffer>127)buffer=32; + ili9328setFrame(LCD,Xpos,Ypos-h,w,1); + // LCD->interface->readGRAM(tmp,w); + ili9328getPix(LCD,tmp2,Xpos,Ypos-h,w,1); + for(int i=0;i0) + { + ili9328setFrame(LCD,Xpos,Ypos + linenum -h,w,1); + LCD->interface->writeGRAM(tmp,w); + //ili9328setFrame(LCD,Xpos+(charnum*w),Ypos + linenum + 1-h,w,1); + // LCD->interface->readGRAM(tmp,w); + ili9328getPix(LCD,tmp2,Xpos,Ypos + linenum + 1-h,w,1); + for(int i=0;itable[(((buffer)-32)*h*bpl)+tableoffset++]; + } + //tmp[pix]=0; + if((line & (uint8_t)0x01)==(uint8_t)1)tmp[pix]=(uint16_t)color; + pix++; + line>>=1; + } + +} + int ili9328init(struct LCD_t* LCD) { if((LCD!=NULL) && (LCD->interface!=NULL) && (LCD->interface->writereg!=NULL)) { LCD->interface->writereg(ILI9328_REGISTER_DRIVEROUTPUTCONTROL1, 0x0100); // Driver Output Control Register (R01h) LCD->interface->writereg(ILI9328_REGISTER_LCDDRIVINGCONTROL, 0x0700); // LCD Driving Waveform Control (R02h) - LCD->interface->writereg(ILI9328_REGISTER_ENTRYMODE, 0x1030); // Entry Mode (R03h) + LCD->interface->writereg(ILI9328_REGISTER_ENTRYMODE, 0x0230); // Entry Mode (R03h) + LCD->interface->writereg(ILI9328_REGISTER_DISPLAYCONTROL1, 0xC000); LCD->interface->writereg(ILI9328_REGISTER_DISPLAYCONTROL2, 0x0302); LCD->interface->writereg(ILI9328_REGISTER_DISPLAYCONTROL3, 0x0000); LCD->interface->writereg(ILI9328_REGISTER_DISPLAYCONTROL4, 0x0000); // Fmark On @@ -450,12 +503,12 @@ void ili9328getPix(struct LCD_t* LCD,uin #define __set__Address__(_x_,_y_) LCD->interface->writereg(ILI9328_REGISTER_HORIZONTALGRAMADDRESSSET,_x_); \ LCD->interface->writereg(ILI9328_REGISTER_VERTICALGRAMADDRESSSET,_y_) - uint16_t* castedBuff = (uint16_t*)buffer; int cx=Xpos,cy=Ypos; + ili9328setFrame(LCD,Xpos,Ypos,w,h); for(int i=0;i<(w*h);i++) { __set__Address__(cx,cy); - LCD->interface->readGRAM((void*)(&castedBuff[i]),1); + LCD->interface->readGRAM((void*)(&buffer[i]),1); cx+=1; if(cx>=(w+Xpos)) { diff --git a/lib/src/common/GRAPHIC/GUI/FONTS/FONTS_STM32F4.pro b/lib/src/common/GRAPHIC/GUI/FONTS/FONTS_STM32F4.pro --- a/lib/src/common/GRAPHIC/GUI/FONTS/FONTS_STM32F4.pro +++ b/lib/src/common/GRAPHIC/GUI/FONTS/FONTS_STM32F4.pro @@ -1,5 +1,4 @@ TEMPLATE = lib -OBJECTS_DIR = obj TARGET = fonts SOURCES += \ diff --git a/lib/src/common/GRAPHIC/GUI/Widgets/Terminal/Terminal.c b/lib/src/common/GRAPHIC/GUI/Widgets/Terminal/Terminal.c --- a/lib/src/common/GRAPHIC/GUI/Widgets/Terminal/Terminal.c +++ b/lib/src/common/GRAPHIC/GUI/Widgets/Terminal/Terminal.c @@ -154,7 +154,9 @@ int terminal_writenc(terminal_t* termina if(terminal->column==0)terminal_clearCurentLine(terminal); if(buffer[0]!='\r'){ // terminal->LCD->paintFilRect(terminal->LCD,CHARXPOS(terminal,charw),CHARYPOS(terminal, charh)-charh,charw,charh,terminal->backgroundColor,0,terminal->backgroundColor); - terminal->LCD->paintText(terminal->LCD,buffer,CHARXPOS(terminal,charw),(CHARYPOS(terminal, charh))-(terminal->verticalSpace/2),terminal->font,terminal->textColor); + // terminal->LCD->paintText(terminal->LCD,buffer,CHARXPOS(terminal,charw),(CHARYPOS(terminal, charh))-(terminal->verticalSpace/2),terminal->font,terminal->textColor); +#include + ili9328paintChar(terminal->LCD,buffer[0],CHARXPOS(terminal,charw),(CHARYPOS(terminal, charh))-(terminal->verticalSpace/2),terminal->font,terminal->textColor); terminal_movecursor(terminal,1); } } diff --git a/lib/src/common/GRAPHIC/GUI/Widgets/Terminal/Terminal_STM32F4.pro b/lib/src/common/GRAPHIC/GUI/Widgets/Terminal/Terminal_STM32F4.pro --- a/lib/src/common/GRAPHIC/GUI/Widgets/Terminal/Terminal_STM32F4.pro +++ b/lib/src/common/GRAPHIC/GUI/Widgets/Terminal/Terminal_STM32F4.pro @@ -1,5 +1,4 @@ TEMPLATE = lib -OBJECTS_DIR = obj TARGET = terminal SOURCES += \ diff --git a/lib/src/includes/GRAPHIC/CONTROLERS/ili9328.h b/lib/src/includes/GRAPHIC/CONTROLERS/ili9328.h --- a/lib/src/includes/GRAPHIC/CONTROLERS/ili9328.h +++ b/lib/src/includes/GRAPHIC/CONTROLERS/ili9328.h @@ -37,6 +37,7 @@ extern void ili9328paintFilCirc(LCD_t* L extern void ili9328paintFilCircMidPoint(LCD_t* LCD,uint16_t Xpos,uint16_t Ypos,uint16_t r,uint32_t contColor,uint16_t contSz,uint32_t fillColor); extern void ili9328getPix(struct LCD_t* LCD,uint16_t* buffer,uint16_t Xpos,uint16_t Ypos,uint16_t w,uint16_t h); extern void ili9328refreshenable(struct LCD_t* LCD,int enable); +extern void ili9328paintChar(LCD_t* LCD,char buffer,uint16_t Xpos,uint16_t Ypos,sFONT* font,uint32_t color); #define ILI9328_REGISTER_DRIVERCODEREAD ((uint32_t) 0x0000 ) #define ILI9328_REGISTER_DRIVEROUTPUTCONTROL1 ((uint32_t) 0x0001 ) diff --git a/lib/src/simulator/SDLCD/SDLCD.c b/lib/src/simulator/SDLCD/SDLCD.c --- a/lib/src/simulator/SDLCD/SDLCD.c +++ b/lib/src/simulator/SDLCD/SDLCD.c @@ -79,27 +79,33 @@ void SDLCD_writereg(uint32_t reg,uint32_ { switch (reg) { case ILI9328_REGISTER_HORIZONTALGRAMADDRESSSET: - if((data>=screen->w) || (data<0))printf("Warning printing out of bounds HORIZONTALGRAMADDRESSSET=%d",data); + if((data>=screen->w) || (data<0)) + printf("Warning printing out of bounds HORIZONTALGRAMADDRESSSET=%d",data); SDLCD_Xpos = data; break; case ILI9328_REGISTER_VERTICALGRAMADDRESSSET: - if((data>=screen->h) || (data<0))printf("Warning printing out of bounds ILI9328_REGISTER_VERTICALGRAMADDRESSSET=%d",data); + if((data>=screen->h) || (data<0)) + printf("Warning printing out of bounds ILI9328_REGISTER_VERTICALGRAMADDRESSSET=%d",data); SDLCD_Ypos = data; break; case ILI9328_REGISTER_HORIZONTALADDRESSSTARTPOSITION: - if((data>=screen->w) || (data<0))printf("Warning printing out of bounds ILI9328_REGISTER_HORIZONTALADDRESSSTARTPOSITION=%d",data); + if((data>=screen->w) || (data<0)) + printf("Warning printing out of bounds ILI9328_REGISTER_HORIZONTALADDRESSSTARTPOSITION=%d",data); SDLCD_XWinStrt = data; break; case ILI9328_REGISTER_HORIZONTALADDRESSENDPOSITION: - if((data>=screen->w) || (data<0))printf("Warning printing out of bounds ILI9328_REGISTER_HORIZONTALADDRESSENDPOSITION=%d",data); + if((data>=screen->w) || (data<0)) + printf("Warning printing out of bounds ILI9328_REGISTER_HORIZONTALADDRESSENDPOSITION=%d",data); SDLCD_XWinEnd = data; break; case ILI9328_REGISTER_VERTICALADDRESSSTARTPOSITION: - if((data>=screen->h) || (data<0))printf("Warning printing out of bounds ILI9328_REGISTER_VERTICALADDRESSSTARTPOSITION=%d",data); + if((data>=screen->h) || (data<0)) + printf("Warning printing out of bounds ILI9328_REGISTER_VERTICALADDRESSSTARTPOSITION=%d",data); SDLCD_YWinStrt = data; break; case ILI9328_REGISTER_VERTICALADDRESSENDPOSITION: - if((data>=screen->h) || (data<0))printf("Warning printing out of bounds ILI9328_REGISTER_VERTICALADDRESSENDPOSITION=%d",data); + if((data>=screen->h) || (data<0)) + printf("Warning printing out of bounds ILI9328_REGISTER_VERTICALADDRESSENDPOSITION=%d",data); SDLCD_YWinEnd = data; break; default: