Returning to the Stamp

Hello!
After taking a vacation from the Stamp, whilst waiting for this laptop to arrive I decided to try out a variation on a theme of the TI-83 Plus Calculator and the BS2 device.
This is the code I used.
' {$STAMP BS2}
serdata  VAR  Byte

again:
'*****this will wait for serial from calculator
SERIN 15,396,[serdata]

'***this will send it to the pc debug screen
DEBUG DEC serdata, CR


'***this will send the same data plus 1 back to the calculator
serdata=serdata + 1
DEBUG DEC serdata, CR
SEROUT 15,396,[serdata]
DEBUG DEC serdata, CR
GOTO again

As all of you can see it is much the same as the original code our friend at Norland Research created years earlier when someone on the original Yahoo/eGroups list raised the issue of how would he connect a Stamp 2 to just such a calculator. The code he presented is such:
' {$STAMP BS2}
' {$PBASIC 2.0}

serdata  VAR  Byte

again:
'*****this will wait for serial from calculator
SERIN 15,396,[serdata]

'***this will send it to the pc debug screen
DEBUG DEC serdata, CR


'***this will send the same data plus 1 back to the calculator
serdata=serdata + 1
SEROUT 15,396,[serdata]

GOTO again

And of course it also worked.

I also have the translation to that of the code that would run on a Stamp 1 as it happens should anyone here ask about it.
----
And the following message is sponsored by the Friends of Dwarf Grumpy.

Comments

  • And now the same idea will display the numbers on a video input for an ordinary TV set using the (sadly now discontinued) Prop Backpack:
    ' =========================================================================
    '
    '   File...... screentest7.bs2
    '   Purpose... screener
    '   Author.... GCL -- Jedi Knight Computers
    '   E-mail.... gregg@levine.name
    '   Started... 10 Mar 2014
    '   Updated... 11 Mar 2014
    '
    '   {$STAMP BS2}
    '   {$PBASIC 2.5}
    '
    ' =========================================================================
    
    ' -----[ Program Description ]---------------------------------------------
    
    ' This program outputs video to an NTSC color monitor via a Propeller
    ' Backpack module and demonstrates the various features of the video driver.
    
    
    ' -----[ I/O Definitions ]-------------------------------------------------
    
    io     PIN 12       ' Serial I/O pin for Propeller Backpack.
    
    ' -----[ Constants ]-------------------------------------------------------
    
    ' Baudrate definitions. Serial I/O must be open-drain. The Propeller Backpack
    ' includes a pullup internally.
    
    #SELECT $STAMP
      #CASE BS2, BS2E, BS2PE
        baud    CON  84 + 32768
      #CASE BS2SX, BS2P
        baud    CON  240 + 32768
      #CASE BS2PX
        baud    CON  396 + 32768
    #ENDSELECT
    
    ' The following is a table of "command" constants for the Propeller Backpack
    ' that can be copied to other programs. The ones that are commented are already
    ' defined by the BASIC Stamp Editor and perform the same functions as they
    ' would in a DEBUG screen.
    
    'CLS           CON $00  'clear screen
    'HOME          CON $01  'home
    'CRSRXY        CON $02  'set X, Y position (X, Y follow)
    'CRSRLF        CON $03  'cursor left
    'CRSRRT        CON $04  'cursor right
    'CRSRUP        CON $05  'cursor up
    'CRSRDN        CON $06  'cursor dn
     USECLR        CON $07  'use color C (C follows)
     BS            CON $08  'backspace
    'TAB           CON $09  'tab (8 spaces per)
    'LF            CON $0A  'linefeed
    'CLREOL        CON $0B  'clear to end of line
    'CLRDN         CON $0C  'clear down (to end of window)
    'CR            CON $0D  'return
    'CRSRX         CON $0E  'set X position (X follows)
    'CRSRY         CON $0F  'set Y position (Y follows)
     DEFWIN        CON $10  'define window  W (W, Left, Top, nCols, nRows follow)
     USEWIN        CON $11  'use window W (W follows)
     DEFCLR        CON $12  'define color C (C, FG, BG follow)
     SCRLLF        CON $13  'scroll window left
     SCRLRT        CON $14  'scroll window right
     SCRLUP        CON $15  'scroll window up
     SCRLDN        CON $16  'scroll window down
     CHGCLR        CON $17  'change all colors in window to C (C follows)
     SCRSIZ        CON $1D  'set screen size (Rows, Columns follow)
     CLRW          CON $1E  'same as CLR, but can be used in strings.
     ESC           CON $1F  'escape next character C (i.e. print as-is) (C follows)
     ZERO          CON $FF  'can be used for 0, which is not allowed in strings, for command arguments
    
    '-------[ Variables ]----------------------------------------------------------
    
    i             VAR Word
    char          VAR Byte
    serdata       VAR Byte
    '-------[ Program starts here. ]-----------------------------------------------
    
    LOW io            'Reset the Propeller Backpack
    PAUSE 500
    INPUT io
    
    PAUSE 2000        'Wait for it to come out of reset.
    again:
    SERIN 15,396,[serdata]
    SEROUT io, baud, [DEFWIN, 1, 20, 2, 7, 9, USEWIN, 2, CHGCLR, 13]
    serdata =serdata + 1
    SEROUT 15,396,[serdata]
    SEROUT io, baud, [DEFCLR, 12, $AD, $0C]
    'SEROUT io, baud, [" ", DEC serdata, CR]
    SEROUT io, baud, [" ", DEC serdata]
    PAUSE 700
    GOTO again
    
    

    I used both the original Norland Research ides for connecting the calculator to the stamp to accept the numbers. And one of my previously known working programs to display numbers on a yellow background. I substituted the code he wrote for the gathering of data from the calculator for the whole number display routine which started this idea off. And for those of us who have both the calculator and the Stamp2 on a BOE and the BackPack it can be easily demonstrated.

    Oh and the code I started with is this:
    ' =========================================================================
    '
    '   File...... screentest1.bs2
    '   Purpose... screener
    '   Author.... GCL -- Jedi Knight Computers
    '   E-mail.... gregg@levine.name
    '   Started... 10 Mar 2014
    '   Updated... 11 Mar 2014
    '
    '   {$STAMP BS2}
    '   {$PBASIC 2.5}
    '
    ' =========================================================================
    
    ' -----[ Program Description ]---------------------------------------------
    
    ' This program outputs video to an NTSC color monitor via a Propeller
    ' Backpack module and demonstrates the various features of the video driver.
    
    
    ' -----[ I/O Definitions ]-------------------------------------------------
    
    io     PIN 15       ' Serial I/O pin for Propeller Backpack.
    
    ' -----[ Constants ]-------------------------------------------------------
    
    ' Baudrate definitions. Serial I/O must be open-drain. The Propeller Backpack
    ' includes a pullup internally.
    
    #SELECT $STAMP
      #CASE BS2, BS2E, BS2PE
        baud    CON  84 + 32768
      #CASE BS2SX, BS2P
        baud    CON  240 + 32768
      #CASE BS2PX
        baud    CON  396 + 32768
    #ENDSELECT
    
    ' The following is a table of "command" constants for the Propeller Backpack
    ' that can be copied to other programs. The ones that are commented are already
    ' defined by the BASIC Stamp Editor and perform the same functions as they
    ' would in a DEBUG screen.
    
    'CLS           CON $00  'clear screen
    'HOME          CON $01  'home
    'CRSRXY        CON $02  'set X, Y position (X, Y follow)
    'CRSRLF        CON $03  'cursor left
    'CRSRRT        CON $04  'cursor right
    'CRSRUP        CON $05  'cursor up
    'CRSRDN        CON $06  'cursor dn
     USECLR        CON $07  'use color C (C follows)
     BS            CON $08  'backspace
    'TAB           CON $09  'tab (8 spaces per)
    'LF            CON $0A  'linefeed
    'CLREOL        CON $0B  'clear to end of line
    'CLRDN         CON $0C  'clear down (to end of window)
    'CR            CON $0D  'return
    'CRSRX         CON $0E  'set X position (X follows)
    'CRSRY         CON $0F  'set Y position (Y follows)
     DEFWIN        CON $10  'define window  W (W, Left, Top, nCols, nRows follow)
     USEWIN        CON $11  'use window W (W follows)
     DEFCLR        CON $12  'define color C (C, FG, BG follow)
     SCRLLF        CON $13  'scroll window left
     SCRLRT        CON $14  'scroll window right
     SCRLUP        CON $15  'scroll window up
     SCRLDN        CON $16  'scroll window down
     CHGCLR        CON $17  'change all colors in window to C (C follows)
     SCRSIZ        CON $1D  'set screen size (Rows, Columns follow)
     CLRW          CON $1E  'same as CLR, but can be used in strings.
     ESC           CON $1F  'escape next character C (i.e. print as-is) (C follows)
     ZERO          CON $FF  'can be used for 0, which is not allowed in strings, for command arguments
    
    '-------[ Variables ]----------------------------------------------------------
    
    i             VAR Word
    char          VAR Byte
    
    '-------[ Program starts here. ]-----------------------------------------------
    
    LOW io            'Reset the Propeller Backpack
    PAUSE 500
    INPUT io
    
    PAUSE 2000        'Wait for it to come out of reset.
    
    SEROUT io, baud, [DEFWIN, 1, 20, 2, 7, 9, USEWIN, 2, CHGCLR, 13]
    SEROUT io, baud, [DEFCLR, 12, $AD, $0C]
    FOR W0 = 1000 TO 1050
    SEROUT io, baud, [" ", DEC W0, CR]
    PAUSE 700
    NEXT
    
    

    Suffice to say these programs are indeed a good suggestion for Parallax to revist the ideas for making the Prop BackPack again.
    ----
    Oh and this message is being supported by the friends of Dwarf Doc.
Sign In or Register to comment.