# File lib/rad/arduino_sketch.rb, line 285
        def swser_LCDpa(tx, opts={})
    raise ArgumentError, "can only define tx from Fixnum, got #{tx.class}" unless tx.is_a?(Fixnum)
    output_pin(tx)
    
    rate = opts[:rate] ? opts[:rate] : 9600
                if opts[:as]
                        @declarations << "SWSerLCDpa _#{opts[ :as ]} = SWSerLCDpa(#{tx});"
                        accessor = []
                        accessor << "SWSerLCDpa& #{opts[ :as ]}() {"
                        accessor << "\treturn _#{opts[ :as ]};"
                        accessor << "}"
                        accessor << "void print( SWSerLCDpa& s, uint8_t b ) {"
                        accessor << "\treturn s.print( b );"
                        accessor << "}"
                        accessor << "void print( SWSerLCDpa& s, const char *str ) {"
                        accessor << "\treturn s.print( str );"
                        accessor << "}"
                        accessor << "void print( SWSerLCDpa& s, char c ) {"
                        accessor << "\treturn s.print( c );"
                        accessor << "}"
                        accessor << "void print( SWSerLCDpa& s, int i ) {"
                        accessor << "\treturn s.print( i );"
                        accessor << "}"
                        accessor << "void print( SWSerLCDpa& s, unsigned int i ) {"
                        accessor << "\treturn s.print( i );"
                        accessor << "}"
                        accessor << "void print( SWSerLCDpa& s, long i ) {"
                        accessor << "\treturn s.print( i );"
                        accessor << "}"
                        accessor << "void print( SWSerLCDpa& s, unsigned long i ) {"
                        accessor << "\treturn s.print( i );"
                        accessor << "}"
                        accessor << "void print( SWSerLCDpa& s, long i, int b ) {"
                        accessor << "\treturn s.print( i, b );"
                        accessor << "}"
                        accessor << "void println( SWSerLCDpa& s, char* str ) {"
                        accessor << "\treturn s.println( str );"
                        accessor << "}"
                        accessor << "void print( SWSerLCDpa& s, char* str ) {"
                        accessor << "\treturn s.print( str );"
                        accessor << "}"
                        accessor << "void println(SWSerLCDpa& s) {"
                        accessor << "\treturn s.println();"
                        accessor << "}"
                        accessor << "void clearscr(SWSerLCDpa& s) {"
                        accessor << "\treturn s.clearscr();"
                        accessor << "}"
                        accessor << "void home(SWSerLCDpa& s) {"
                        accessor << "\treturn s.home();"
                        accessor << "}"
                        accessor << "void setgeo( SWSerLCDpa& s, int i ) {"
                        accessor << "\treturn s.setgeo( i );"
                        accessor << "}"
                        accessor << "void setintensity( SWSerLCDpa& s, int i ) {"
                        accessor << "\treturn s.setintensity( i );"
                        accessor << "}"
                        accessor << "void intoBignum(SWSerLCDpa& s) {"
                        accessor << "\treturn s.intoBignum();"
                        accessor << "}"
                        accessor << "void outofBignum(SWSerLCDpa& s) {"
                        accessor << "\treturn s.outofBignum();"
                        accessor << "}"
                        accessor << "void setxy( SWSerLCDpa& s, int x, int y) {"
                        accessor << "\treturn s.setxy( x, y );"
                        accessor << "}"
                        accessor << "void println( SWSerLCDpa& s, char c ) {"
                        accessor << "\treturn s.println( c );"
                        accessor << "}"
                        accessor << "void println( SWSerLCDpa& s, const char c[] ) {"
                        accessor << "\treturn s.println( c );"
                        accessor << "}"
                        accessor << "void println( SWSerLCDpa& s, uint8_t b ) {"
                        accessor << "\treturn s.println( b );"
                        accessor << "}"
                        accessor << "void println( SWSerLCDpa& s, int i ) {"
                        accessor << "\treturn s.println( i );"
                        accessor << "}"
                        accessor << "void println( SWSerLCDpa& s, long i ) {"
                        accessor << "\treturn s.println( i );"
                        accessor << "}"
                        accessor << "void println( SWSerLCDpa& s, unsigned long i ) {"
                        accessor << "\treturn s.println( i );"
                        accessor << "}"
                        accessor << "void println( SWSerLCDpa& s, long i, int b ) {"
                        accessor << "\treturn s.println( i, b );"
                        accessor << "}"
                        @accessors << accessor.join( "\n" )
                        
                        @signatures << "SWSerLCDpa& #{opts[ :as ]}();"
 
                        @other_setup << "_#{opts[ :as ]}.begin(#{rate});"
                end
        end