Shop OBEX P1 Docs P2 Docs Learn Events
Is the serial backpack from Sparkfun.... — Parallax Forums

Is the serial backpack from Sparkfun....

Buck RogersBuck Rogers Posts: 2,178
edited 2010-08-31 15:45 in BASIC Stamp
Hello!
Is the Sparkfun Serial Enabled backpack for LCD displays compatible with the LCD functions for the BS2?:confused:

This is covered here:
http://www.sparkfun.com/commerce/product_info.php?products_id=258

I have both the backpack and the parallel LCD display so I don't need to track them down. I suspect the display is compatible with the BS2.
:mad:
Incidentally the beginning baud rate for the backpack is 9600 baud.:mad:

Comments

  • FranklinFranklin Posts: 4,747
    edited 2010-08-29 18:05
    Have you compared the instruction sets? That would tell you.
  • sylvie369sylvie369 Posts: 1,622
    edited 2010-08-29 19:41
    Are you talking about the commands LCDCMD, LCDIN and LCDOUT?

    Those commands are for using a BS2p, BS2px, or BS2pe to control a parallel LCD (and they are not available on the other flavors of BS2)
    The Sparkfun backpack is for using serial commands to control a parallel LCD, using a single I/O pin.

    In short, they're two different solutions to the same problem, and there's no reason to use both at once. If you have the serial backpack, you don't need the LCD commands - you control the LCD through SEROUT commands, just as though you were writing to the screen (well, I suppose you'd use DEBUG instead, but it's the same thing).

    If you have a 2p, 2pe or 2px, you can use cheaper parallel LCDs without the backpack, though you do need to use quite a few of your I/O pins to control it that way.

    If you already have the backpack, you should be able to connect it to your parallel LCD, and easily control it using the BS2 and the SEROUT command (and possibly some SERINs as well).
  • MorrolanMorrolan Posts: 98
    edited 2010-08-31 04:12
    The BS2 LCD commands are not compatible, but it isn't difficult to control a SparkFun Serial LCD backpack from a BS2 - I've done it lots of times and have demo code if required.
  • RAS1RAS1 Posts: 1
    edited 2010-08-31 14:16
    Can you send me some example codes for this product?
    Thank you!
  • Ron CzapalaRon Czapala Posts: 2,418
    edited 2010-08-31 15:45
    Here is some demo code for the Sparkfun Serial LCDs
    ' {$STAMP BS2}
    ' {$PBASIC 2.5}
    lcd_cmd     CON    $FE   'command prefix
    lcd_cmd2    CON    $7C   'special command prefix
    clrLCD      CON    $01   'Clear entire LCD screen
    displayOff  CON    $08   'Display off
    displayOn   CON    $0C   'Display ON
    noCurs      CON    $0C   'Make cursor invisible
    ulCurs      CON    $0E   'Show underline cursor
    blkCurs     CON    $0D   'Show blinking block cursor
    curpos      CON    $80   'set cursor  + position  (row 1=0 TO 15, row 2 = 64 TO 79)
    scrollRight CON    $1C
    scrollLeft  CON    $18
    curRight    CON    $14
    curLeft     CON    $10
    #SELECT $STAMP                          ' Select Baud constants
      #CASE BS2, BS2E, BS2PE
        T1200       CON     813
        T2400       CON     396
        T4800       CON     188
        T9600       CON     84
        T19K2       CON     32
      #CASE BS2SX, BS2P
        T1200       CON     2063
        T2400       CON     1021
        T4800       CON     500
        T9600       CON     240
        T19K2       CON     110
      #CASE BS2PX
        T1200       CON     3313
        T2400       CON     1646
        T4800       CON     813
        T9600       CON     396
        T19K2       CON     188
    #ENDSELECT
    Inverted        CON     $4000           'Value for inverted serial format
    Baud            CON     T9600      '+ Inverted 8,N,1 inverted
    LCD CON 4
    i VAR Byte
    SEROUT LCD,Baud,[lcd_cmd, displayOn]
    SEROUT LCD,Baud,[lcd_cmd, clrLCD]
    SEROUT lcd,Baud,[lcd_cmd, curpos+6, "AAA", lcd_cmd, curpos+68, "BBBBB"]
    SEROUT lcd,Baud,[lcd_cmd2, $0A]   'ctrl-j   Save Splash screen
    PAUSE 2000
    SEROUT LCD,Baud,[lcd_cmd, clrLCD, noCurs]
    SEROUT LCD,Baud,[lcd_cmd, curpos + 0,"Test line 1"]
    PAUSE 500
    SEROUT LCD,Baud,[lcd_cmd, curpos + 64,"Test line 2"]
    PAUSE 1000
    FOR i = 0 TO 5
     SEROUT LCD,Baud,[lcd_cmd, scrollRight]
     PAUSE 500
    NEXT
    FOR i = 0 TO 5
     SEROUT LCD,Baud,[lcd_cmd, scrollLeft]
     PAUSE 500
    NEXT
    'Backlight values: 128-157
    SEROUT LCD,Baud,[lcd_cmd2, $8C]   '40% backlight
    PAUSE 3000
    SEROUT LCD,Baud,[lcd_cmd2, $96]   '73% backlight
    PAUSE 3000
    SEROUT LCD,Baud,[lcd_cmd2, $9D]   '100% backlight
    PAUSE 1000
    SEROUT LCD,Baud,[lcd_cmd2, $80]   'backlight off
    SEROUT LCD,Baud,[lcd_cmd, displayOff]
    END ' Finished.
    
Sign In or Register to comment.