Jump to content

mochouinard

Members
  • Content Count

    6
  • Joined

  • Last visited


Reputation Activity

  1. Like
    mochouinard got a reaction from GeekDoc in HD44780 LCD Library (16x2 and other models)   
    This is my attempt for a basic library to control an 16x2 or more LCD display using 6 PIN and controling the hd44780 in 4bit mode.
     
    Main .c: http://dl.dropbox.com/u/13477186/MSP430 ... _example.c
    Library .h: http://dl.dropbox.com/u/13477186/MSP430 ... _hd44780.h
    Library .c: http://dl.dropbox.com/u/13477186/MSP430 ... _hd44780.c
    Makefile : http://dl.dropbox.com/u/13477186/MSP430 ... 0/Makefile
    It working great for my needs so far. Work on my 4 line display too..
     
    My next step will be to make this library support the use of an 595 for 3 pin operation. I would also like some way to allow multiple display... But it seem doing this will require using more memory, and I'm trying to stay away from that.
     
    I'll would love some constructive feedback...
     
    Thanks
     
    Moc
     
    UPDATE 22h34 4 feb 12: I've lowered the footprint from 800byte to 440 byte for the demo program using compiler optimization and code change.
  2. Like
    mochouinard got a reaction from tripwire in HD44780 LCD Library (16x2 and other models)   
    Actually, I wanted it to be that way. And wont be changing it
     
    All MSP430 program are REALLY small anyway, there is really no need to shorten the name of functions and variable. I do work on million of line of code software... And in those shorter name for some stuff that come few thousand time are useful. But in this case, it doesn't. You will can run out of flash within a few minute at typing even with those long name anyway...
     
    It actually welcome to have longer descriptive information for function name. The goal was not just to make it work, but also provide details information for all the configuration option. Even option that had was set by default, I created define name for it so it clear what information is used. It not needed to use them, but it make it clearer for people starting with it to understand what going on.
     
    And by that, the code I made can read alot like the datasheet of HD44780. I used the same time range specified, the same name for the different function you can call... I've actually decided to write it this way because other people lcd lib were not written this way and not functional, and what they did didn't fully match the datasheet... So it was hard to understand what they did wrong.
     
    My goal was also to keep the footprint small. So compiled with mspgcc, the size is 420byte. Lot of optimization is left to be done, but I'm ok for the moment.
     
    It not perfect, but does the job for me and is a much better design to actually compare with the datasheet.
     
    But what great, is everyone can provide their own flavor here I did this for me and to help my dad (who had issue with current people code especially because they just seem to do something but with no flexibility / details of what they are actually doing).
     
    There is things I don't like in my code rightnow, and the primary one is the fact you need to edit the .h to change the pin / port usage. I need to find a memory efficient way to make it configurable from the main C file, maybe by using a structure... Anyway not sure yet on how to do that part.
  3. Like
    mochouinard got a reaction from nuetron in HD44780 LCD Library (16x2 and other models)   
    Actually, I wanted it to be that way. And wont be changing it
     
    All MSP430 program are REALLY small anyway, there is really no need to shorten the name of functions and variable. I do work on million of line of code software... And in those shorter name for some stuff that come few thousand time are useful. But in this case, it doesn't. You will can run out of flash within a few minute at typing even with those long name anyway...
     
    It actually welcome to have longer descriptive information for function name. The goal was not just to make it work, but also provide details information for all the configuration option. Even option that had was set by default, I created define name for it so it clear what information is used. It not needed to use them, but it make it clearer for people starting with it to understand what going on.
     
    And by that, the code I made can read alot like the datasheet of HD44780. I used the same time range specified, the same name for the different function you can call... I've actually decided to write it this way because other people lcd lib were not written this way and not functional, and what they did didn't fully match the datasheet... So it was hard to understand what they did wrong.
     
    My goal was also to keep the footprint small. So compiled with mspgcc, the size is 420byte. Lot of optimization is left to be done, but I'm ok for the moment.
     
    It not perfect, but does the job for me and is a much better design to actually compare with the datasheet.
     
    But what great, is everyone can provide their own flavor here I did this for me and to help my dad (who had issue with current people code especially because they just seem to do something but with no flexibility / details of what they are actually doing).
     
    There is things I don't like in my code rightnow, and the primary one is the fact you need to edit the .h to change the pin / port usage. I need to find a memory efficient way to make it configurable from the main C file, maybe by using a structure... Anyway not sure yet on how to do that part.
  4. Like
    mochouinard got a reaction from bluehash in HD44780 LCD Library (16x2 and other models)   
    This is my attempt for a basic library to control an 16x2 or more LCD display using 6 PIN and controling the hd44780 in 4bit mode.
     
    Main .c: http://dl.dropbox.com/u/13477186/MSP430 ... _example.c
    Library .h: http://dl.dropbox.com/u/13477186/MSP430 ... _hd44780.h
    Library .c: http://dl.dropbox.com/u/13477186/MSP430 ... _hd44780.c
    Makefile : http://dl.dropbox.com/u/13477186/MSP430 ... 0/Makefile
    It working great for my needs so far. Work on my 4 line display too..
     
    My next step will be to make this library support the use of an 595 for 3 pin operation. I would also like some way to allow multiple display... But it seem doing this will require using more memory, and I'm trying to stay away from that.
     
    I'll would love some constructive feedback...
     
    Thanks
     
    Moc
     
    UPDATE 22h34 4 feb 12: I've lowered the footprint from 800byte to 440 byte for the demo program using compiler optimization and code change.
  5. Like
    mochouinard got a reaction from Rickta59 in HD44780 LCD Library (16x2 and other models)   
    This is my attempt for a basic library to control an 16x2 or more LCD display using 6 PIN and controling the hd44780 in 4bit mode.
     
    Main .c: http://dl.dropbox.com/u/13477186/MSP430 ... _example.c
    Library .h: http://dl.dropbox.com/u/13477186/MSP430 ... _hd44780.h
    Library .c: http://dl.dropbox.com/u/13477186/MSP430 ... _hd44780.c
    Makefile : http://dl.dropbox.com/u/13477186/MSP430 ... 0/Makefile
    It working great for my needs so far. Work on my 4 line display too..
     
    My next step will be to make this library support the use of an 595 for 3 pin operation. I would also like some way to allow multiple display... But it seem doing this will require using more memory, and I'm trying to stay away from that.
     
    I'll would love some constructive feedback...
     
    Thanks
     
    Moc
     
    UPDATE 22h34 4 feb 12: I've lowered the footprint from 800byte to 440 byte for the demo program using compiler optimization and code change.
  6. Like
    mochouinard got a reaction from pine in Launchpad Pin1.3 problem   
    FYI, new shipped launchpad doesn't include R34 and C24 that caused this problem.
     
    This also mean everyone example code is wrong since they need to put P1REN |= BIT3; P1OUT |= BIT3; to get the pull-high.
×
×
  • Create New...