Provided we don't change things other than glcd stuff, yes we can use this.
I'll upload my code so you can have a look and see the rough logic.

Seb

2011/2/20 mattschinkel <[email protected]>

> 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.
>
>


-- 
Sébastien Lelong
http://www.sirloon.net
http://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.

Reply via email to