Click here to join the Robot Vision Toolkit / RobotSee community

 

RobotSee Version 6.6

Variables

Program Flow

Serial

File I/O

Misc

Sound

Math

Time

Multi-Tasking

Interrupts

Operators

 

Language Extensions

Computer Vision

Face Detection

GPS/NMEA

MindSet    Brain-Machine Interface

Speech Recognition

Joystick

2D Graphics

FSLBOT/TWR-MECH

 


 

Variables

Keyword

Description

global( variable_name )

Creates a global variable

local( variable_name )

Creates a local variable within a subroutine

array( variable_name, size )

Creates a global variable array of integers

const( name, const1, const2, ... )

Creates a initialized variable or array ( depending on # of constants ).

Program Flow

Keyword

Description

while( conditional )

wend()

 

for( assignment )

next( expression, conditional )

 

if( conditional )

else()

endif()

 

switch( expression )

     case C:

        break()

    default:

endswitch()

 

goto(label)                                     

 

gosub( label, return var, expression, .... )

 

return( expression )

 

end()

 

File I/O

Keyword

Description

fileprint( "string", expression, "string %x", expression )

Prints formatted data to a file opened by fileopen().

Uses same formatting as print().

int fileopen( "filename" )

Open a file

fileclose()

Closes a file


Serial

Keyword

Description

int serpurge( port )

Purge the serial port

int serout( port, purge, data )

Send formatted Data out serial port

int seropen( port, baud )

Open the serial port

int serwait( port, "string", timeout )

Wait for "string" on serial port

int sergethexbyte( port, var, timeout )

Read and convert hex data from serial port

 

int sergetbyte( port, var, timeout )

Read a byte from the serial port.

Misc

Keyword

Description

print( "string", expression, "string %x", expression )

Print formatted data to console

debug( level )

Turns on debugging, enables breakpoints

breakpoint( level )

When executed, goes into debug mode

verbose( level )

Sets interpreter console verbose mode level

int version()

Returns Interpreter Revision Number

int loaddll( "dll_path_filename.dll" )

Loads a language Extension DLL

Sound

Keyword

Description

soundplay( "filename of sound to play" )

Play a sound file once ( done in background )

soundloop( "filename of sound to play" )

Loop a sound file ( done in background )

soundstop( )

Stop current sound playback

Multi-Tasking

Keyword

Description

createtask( ".see path/filename" )

Creates another interpreter instance and loads it with the SEE program specified.

int mutex( index )

Variables used to communicate between instances.

int mutex( index, expression )

Variables used to communicate between instances.

Time

Keyword

Description

delay( ms )

delay for milliseconds

int getms()

Get milliseconds since execution started

int time( 0 )

returns time in seconds since UTC 1/1/70

int time( 1 )

returns 0xWWHHMMSS where: W=weekday, H=hour,                                                                  M=minute, S=second

int time( 2 )

returns 0xYYDDMMOO where: Y=year, D=Day in year,     

                                                       M=Month, O=Day Of Month

Math

Keyword

Description

srand( seed )

Seed the random number generator

int rand( min, max )

Returns a random number between min and max

int atanto( mult, div, int, int )

returns (mult*180*atanto( int/div, int/div ))/pi

int sqrt( mult, int )

returns mult * sqrt( int )

int asin( mult, div, int )

returns (mult * 180 * asin( int/div ))/pi

int acos( mult, div, int )

returns (mult * 180 * acos( int/div ))/pi

int atan( mult, div, int )

returns (mult * 180 * atan( int/div ))/pi

int tan( mult, div, int )

returns (mult * tan( ((pi*int)/div )/180 )

int sin( mult, div, int )

returns (mult * sin( ((pi*int)/div )/180 )

int cos( mult, div, int )

returns (mult * cos( ((pi*int)/div )/180 )

int abs( int )

returns abs( int )

int floatmult( mult,div,a,b )

returns mult*((a/div)*(b/div))

int floatdiv( mult,div,a,b )

returns mult*((a/div)/(b/div))

Interrupts

Keyword

Description

int interrupts( option )

interrupts(0) - disable all

interrupts(1) - enable all

 

int interadd( label )

Add a interrupt handler where:

label is the label the interrupt will jump to returns -1 on failure

int interstart( label, timeout )

Sets timeout ( in ms ) for interrupt created with interadd()

int interstop( label )

Stops the interrupt created with interadd() returns -1 on failure

int interdel( label )

Deletes a interrupt created with interadd()

interret()

You must use this return in your interrupt handler.

Operators

Operator

Description

+     addition                     

1+1 = 2

-     Subtraction                  

1-1 = 0

*     multiplication               

2*1 = 2

/     division                     

100/10 = 10

&     bitwise and                  

0xaa&0xf0 = a0

|     bitwise or                   

0xaa|0x55 = ff

=     assignment                   

result=5 = 5

>     greater                      

100>5 = 1

<     less then                    

100<5 = 0

+=    addition assignment          

result = 100 result+=5 = 105

-=    subtraction assignment       

result = 105 result-=5 = 100

*=    multiplication assignment    

result = 100 result*=5 = 500

/=    division assignment          

result = 500 result/=5 = 100

&=    bitwise and assignment       

result = 64 result&=5 = 4

|=    bitwise or assignment        

result = 4 result|=5 = 5

==    equal comparison             

100==5 = 0

!=    not equal comparison         

100!=5 = 1

>=    greater then or equal        

100>=5 = 1,   100>=100 = 1

<=    less then or equal           

5<=100 = 1,   100<=100 = 1

&&    logical and                  

100>5&&100>5 = 1                                   

100>5&&100<5 = 0

||    logical or                   

100>5||100>5 = 1

100>5||100<5 = 1

100<5||100<5 = 0

>>    shift right                  

0x100>>4 = 0x010

<<    shift left                   

0x010<<4 = 0x100


 

Computer Vision Language Extension

Keyword

Description

int computervision()

returns version # of computer vision language extension

int visionopen( “filter.dll” )

opens vision stream, with filter.dll

visionprint( index )

prints dll data to stdout, index 0-7

int visionframe( )

returns current frame #

visionwait( frames )

Wait for ( frames ) # of video frames

visionfilter( “filter.dll” )

inserts the filter.dll into the stream

int visionread( index )

returns a vision variable

int visionwrite( index, data )

writes data to a vision variable

visionclose()

closes the video stream

Face Detection Language Extension

Keyword

Description

facedetinit( "cascade" )

Initializes the OpenCV library, opens a viewing window, and connects to the camera.

int facedetread( parameter )

Reads parameters from the face detection algorithm.

int facedetwrite( parameter,  value )     

Writes parameters to the face detection algorithm.  Used to configure and tweak the algorithm in real-time.

GPS/NMEA Language Extension

Keyword

Description

int nmea()

print version #

int nmeaopen( port_number, baud )

open a connection to the GPS

returns 0 on success

int nmeaupdate()

Get latest reading from GPS, returns quality

int nmeafix()

Read fix

int nmeaalt()

read alttitude

int nmealat()

read latitude

int nmealong()

read longitude

int nmeagoto( lat, long )

Calculate vector from current position to waypoint ( lat, long )

0xDDDDBBBB   - D = Distance, B = Bearing

 


 

MindSet   ( Brain-Machine Interface )  Language Extension

Keyword

Description

int mindopen( port )

port = serial port # connected to MindSet.

returns 0 on success

int mindread( "data_type" )

requests a new packet from the mindSet, then returns a single value “data_type”.

int minddata( "data_type" )          

Returns the signal value described by “data_type”, from the MindSet driver.

2D Graphics Language Extension

Keyword

Description

int wincreate( "test", width, height )

Create a window of size ( width, height ) named “test”.

int winpen( width, r, g, b )

Creates a pen of width ( width ) and color ( r,g,b ).

Returns a handle to the newly created pen.

int winbmp( "path_filename", "copy_type", r, g, b )

Opens the bitmap specified by the path/filename.  Sets the

bitmap’s copy method, and specifies a color key.

int winline( pen, x1, y1, x2, y2, plane )

Draws a line in the window using the pen handle specified.

int wineditline( handle, x1, y1, x2, y2, plane )

Modifies a line that has been drawn by winline().

int winimg( bmp, x, y, plane )

Draws bmp ( created by winbmp ) in the window.

int wineditimg( bmp, x, y, plane )

Moves the bitmap within the window.

winupdate()

Updates the window.

Joystick Language Extension

Keyword

Description

int joystick()

Returns Joystick Language Extension version.

int joystickread( num, x, y, buttons, z, r, pov, u, v )

Returns Joystick status.

Returns variables ( x,y, buttons, z, r, pov, u, v ) for dual joystick gamepads, with top hats and multiple buttons.

 

 

 

 

 

FSLBOT/TWR-MECH Language Extension

Keyword

Description

int fslbot()

returns Language Extension Version Number

int fslbotopen( port, baud )

Opens a connection to a SCP compatable device ( returns 0 on success )

int servos( pos0, pos1, pos2, pos3 )

Moves all 4 servos at once ( returns 0 on success )

int servo( channel, position )

Moves a servo to a desired position ( returns 0 on success )

int accelread( datax, datay, datax )

reads 3 channels of accelerometer

int fslled( data )

Write to LED's

int touchread()

Read Touch Sensor

int adread( channel )

Reads a AD channel

int gpioinit( data )

Sets direction of J54 GPIO pins

int gpioout( data )

Sets state of GPIO pins setup as output

int gpioin( data )

Gets state of GPIO pins as input

int spisetup( baud, mode )

Setup spi protocol

int spitxrx( outdata, indata )

spi xfer

int iicwrite( address, register, data )

Write to a i2c device ( returns 0 on success )

int iicread( address, register, data, bytes )

Read from a i2c device ( returns 0 on success )