Thanks Seb, I'll take a look at these comments of yours and try them out :)
Feel free to edit the file as you please! There doesn't have to be only one of us fixing this. Maybe you have a somewhat edited file you can upload? I do agree with all your comments. Matt On Feb 19, 5:32 am, Sebastien Lelong <[email protected]> wrote: > Hi Matt, > > So I tried to understand what's behind glcd_common & co, here's some > feedback: > > First, there are unused things, like GLCD_COLOR_SIZE for instance. I'd > suggest to remove all unnecessary, unused code, to make it clearer to read. > There are lots of portions of code commented out, better delete them too > (SVN is here to help if needed). > > When specifying size, for instance height and width, you then use this kind > of logic: > > -- set width of pixel x,y variables > if !defined(GLCD_X_PIXELS) then > const GLCD_X_SIZE = 1 > else > if GLCD_X_PIXELS < 256 then > const GLCD_X_SIZE = 1 > else > const GLCD_X_SIZE = 2 > end if > end if > > GLCD_X_SIZE is then used to define the number of bytes needed to store this > information ("byte*..."). Why not GLCD_X_SIZE = (GLCD_X_PIXELS / 256) + 1 ? > at least it would scale when screen is bigger, and I found the logic easier > to understand (that's a personal taste though). We'd need to check about > integer part when using division like this. > > I think I can now try to migrate nokia_3310 on current API, at least slowly > moving to it. But having glcd_common, glcd_font cleaned would help me > understand the big picture. > > See other comments inlined. > > HTH > Cheers, > Seb > > 2011/2/13 mattschinkel <[email protected]> > > > I wrote some notes by just a quick look at my libs. may not be > > complete or accurate. > > > LCD DEVICE LIB REQUIREMENTS (must be contained in lib): > > > -- constants required on all glcd's > > const GLCD_X_PIXELS = 240 > > const GLCD_Y_PIXELS = 320 > > Also, about GLCD_X_PIXELS: why not just "GLCD_PIXEL_WIDTH" ? Well, not an > issue, we'll see later about names... > > > const GLCD_COLOR_BITS = 16 -- 16bit color, 65535 colors > > > -- required for drawing shapes. > > procedure lcd_write_pixel(byte in x,word in y,word in color) is > > > -- only required if using fonts. > > currently, you can't use chars *or* pixels, both are required > (compilation). > > > -- See glcd_font.jal for an explanation of how fonts work > > -- and how they should be printed to the screen. > > -- by lcd'put(byte in char) in glcd_common > > procedure lcd_write_char(byte in font[], byte in x,word in y,byte in > > value) is > > > GLCD FONT LIB INCLUDE BLOCK (for your sample) > > > -- setup fonts > > const byte FONT_MORE_THEN_ONE = TRUE -- use more then one font > > I think it's "_THAN_" :) > > > > > const byte FONT_BIT_DIRECTION = FONT_TOP_RIGHT_HORIZONTAL -- see > > constants_jallib.jal > > const byte FONT_AUTO_WRAP = TRUE -- auto wrap text at end of screen > > -- > > include glcd_font -- include the font library > > -- > > -- choose some fonts > > alias FONT_1 is FONT_8X12_TOP_RIGHT_HORIZONTAL_NO_NAME > > alias FONT_1_WIDTH is FONT_8X12_WIDTH > > alias FONT_1_HEIGHT is FONT_8X12_HEIGHT > > -- > > -- set your current font > > FONT_NUMBER = 1 -- select your font number > > FONT_WIDTH = FONT_1_WIDTH -- must match current font width > > FONT_HEIGHT = FONT_1_HEIGHT -- must match current font height > > OK, I can see what you mean, but usage is quite clumsy IMHO, specifying how > font_1 is created, then specifying all parameters for current font, from > font_1. > > > > > GLCD_COMMON INCLUDE BLOCK (for your sample) > > > var word LCD_BACK_COLOR = 0xFFFF -- white > > var word LCD_PEN_COLOR = 0 -- black > > How colors are coded (!= RGB) ? Is it GLCD specific ? If so, maybe each GLCD > lib should provide common aliases (GLCD_BLACK, _WHITE, _BLUE,...) and maybe > a glcd_rgb_color(r,g,b) returning appropriate color encoding. > > include glcd_stm032qvt-003 > > > > > glcd_init() > > include glcd_common > > > HOW TO PRINT A FONT AND SHAPE IN YOUR SAMPLE > > > -- set back color > > LCD_BACK_COLOR = 0xffe0 -- yellow > > LCD_PEN_COLOR = 0xf800 -- red pen > > -- > > -- prints a string with current font > > -- see "-- set your current font" near your glcd_font include > > glcd_char_x_pos = 80 -- set a x position > > glcd_char_y_pos = 320 - 12 -- set a y position > > const byte string_y[] = "Y: " -- define a string > > print_string(lcd,string_y) -- print a string > > > -- draw a new circle > > LCD_PEN_COLOR = 0xf800 -- RED PEN > > lcd_circle(touch_x,touch_y,20) > > > -- > > You received this message because you are subscribed to the Google Groups > > "jallib" group. > > To post to this group, send email to [email protected]. > > To unsubscribe from this group, send email to > > [email protected]. > > For more options, visit this group at > >http://groups.google.com/group/jallib?hl=en. > > -- > Sébastien Lelonghttp://www.sirloon.nethttp://sirbot.org -- You received this message because you are subscribed to the Google Groups "jallib" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/jallib?hl=en.
