You can upload to a new directory in project/ if you like so we don't disturb the release.
Matt. On Feb 20, 7:12 am, Sebastien Lelong <[email protected]> wrote: > Hi Matt, guys, > > OK, I'm starting to see some improvements regarding generic font usage. I > hesitate to create a new branch in SVN on which I could commit my changes, > dedicated to this glcd refactoring, because I don't want to bug buildbot > since we should soon release... We could merge our chancges after the > release. > > BTW, we really, really lack pointers and references. There's much overhead > because of this, not to mention barely readable code due to some "tricks"... > > Cheers, > Seb > > 2011/2/20 Sebastien Lelong <[email protected]> > > > > > Hi Matt, > > > I think, as a first step, that I'll try to normalizz the way fonts are > > handled. After I'll take care of pixel based functions. > > > Cheers, > > Seb > > > 2011/2/20 mattschinkel <[email protected]> > > > 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. > > > -- > > Sébastien Lelong > >http://www.sirloon.net > >http://sirbot.org > > -- > 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.
