RobotSee Graphics Library

21 views
Skip to first unread message

seeprogrammer

unread,
Sep 14, 2009, 12:30:38 AM9/14/09
to RobotSee Users
I have completed revision 1 of the RobotSee graphics dll.

Think of this as your own GUI creator, using RobotSee. Control your
robot with a GUI you designed. Draw your own buttons
in MSpaint and save them as bitmaps. You can even show different
bitmaps to indicate different buttons states. Display your data using
analog meters, or bargraphs, even virtual LED's.

Of course, you can read the accelerameter, and create interactive
environments for the user ( change G settings, or any parameters from
your own programmable GUI ). Display the data in any way you can
imagine.

All completely from RobotSee.

I will post some video tomarrow evening or Tuesday evening, along with
the DLL, and some sample code.

This language extension adds the following keywords:

// The RobotSee Graphics library allows you to create windows with
bitmap graphics, animations, and
// programmable buttons, entirely in RobotSee using just 11 keywords.
// Create simple GUI's to control your robot, or to monitor your data.

// winpen( width, r, g, b ) // Create a pen of a specific width and
color
// winbmp( "path_filename", "copy_type", r, g, b ) // Create a image
from a bitmap
// winline( pen, x1, y1, x2, y2, plane ) // draw a new line from xy1
to xy2
// winimg( bmp, x, y, plane ) // display a new image at x,y
// winbut( bmp, x,y ) // display a button using a bitmap image at
x,y
// wineditline( handle, x1, y1, x2, y2, plane ) // modify a lines
properties
// wineditimg( bmp, x, y, plane ) // modify a images properties
// wineditbut( bmp ) // modify a buttons properties
// wingetbut() // get a button click event from the queue
// wingetmouse() // get last mouse click x,y,button info
// winupdate( ) // update the window with current changes

seeprogrammer

unread,
Sep 14, 2009, 12:29:10 AM9/14/09
to RobotSee Users

eric gregori

unread,
Sep 15, 2009, 2:13:32 AM9/15/09
to RobotSee Users, Anderle Kevin-RYLN40, Borras Rodrigo-TTT578, Steffen Michael-R80133, gnharg...@gmail.com, Snell Derek-B16659, Maggio Phil-RTNP40, Ackerson Mark-R11311
I wrote a bubble level graphics demo using the RobotSee Graphics library.  
See code, below, the graphics library is extremely easy to use.

global( ax )
global( ay )
global( az )
global( levelimage1 )
global( bubbleimage1 )
global( level1 )
global( bubble1 )
global( bubblex )

wincreate( "RobotSee Graphics", 320, 240 )                              // create 320 x 240 window
levelimage1 = winbmp( "Images\bubblelevel.bmp", "srccopy" )    // Load level bitmap image
bubbleimage1 = winbmp( "Images\bubble.bmp", "srccopy" )       // Load bubble bitmap image
level1 = winimg( levelimage1, 0,40, 0 )                                      // Add level image
bubble1 = winimg( bubbleimage1, 10,140, 1 )                            // Add bubble image
winupdate()                                                                            // update display

while( 1 )
readaccel(  ax, ay, az )
if( ax & 0x80 ); ax = ax - 0x100; endif()
if( ay & 0x80 ); ay = ay - 0x100; endif()
if( az & 0x80 ); az = az - 0x100; endif()
print( "\n x = ", ax, " y = ", ay, " z = ", az )
bubblex = ay + 40 + 135                                     // center is ay = -40
wineditimg( bubble1, bubblex, 78, 1 )                               // move bubble bitmap image according to ay
winupdate()                                                                    // update display 
delay( 100 )
wend()
--
www.EMGRobotics.com

http://groups.google.com/group/robotsee-users?hl=en

RobotSee_Graphics_Demo1.JPG

eric gregori

unread,
Sep 15, 2009, 11:06:55 AM9/15/09
to Steffen Michael-R80133, RobotSee Users, Anderle Kevin-RYLN40, Borras Rodrigo-TTT578, gnharg...@gmail.com, Snell Derek-B16659, Maggio Phil-RTNP40, Ackerson Mark-R11311
No, not by DWF.  We will have it by the time we do the formal class.

The logic was that most of the class required the robot to be tethered anyway ( to view variables, debug,  change code, and monitor the sensor data ).

The current interpreter will create a file for download in the future ( output( ) keyword ).

But,  the V1 port was pushed back.  The execution engine has been seperated, and re-written in C.  The issue is more with adding debug support and so-on.  All this is not a concern when tethered.

I am trying to get the RobotSee to C code complete by DWF, and we will be demonstrating the bootloader in the DWF class.

As a reminder,  we need presentation material!!!!

 

On Tue, Sep 15, 2009 at 9:00 AM, Steffen Michael-R80133 <michael...@freescale.com> wrote:
Are we going to have an untethered robot by DWF Chicago?  

Graphics are going to be great, but I don't see the value of this when the robot is still USB linked to the PC. 

Michael Steffen
Senior Field Applications Engineer
Freescale Semiconductor

Bill

unread,
Sep 15, 2009, 11:18:16 AM9/15/09
to robotse...@googlegroups.com, Steffen Michael-R80133, Anderle Kevin-RYLN40, Borras Rodrigo-TTT578, gnharg...@gmail.com, Snell Derek-B16659, Maggio Phil-RTNP40, Ackerson Mark-R11311

Would be more impressive with wireless connection that will feed the GUI.

 

William Lovell, CEO

c-Link Systems, Inc.

212 Eddie Kahkonen Rd.

Norway, ME 04268-5312

P - 207-743-0002

C - 207-595-0198

wlo...@c-linksystems.com

www.c-linksystems.com

eric gregori

unread,
Sep 16, 2009, 5:15:52 AM9/16/09
to robotse...@googlegroups.com, Steffen Michael-R80133, Anderle Kevin-RYLN40, Borras Rodrigo-TTT578, gnharg...@gmail.com, Snell Derek-B16659, Maggio Phil-RTNP40, Ackerson Mark-R11311
Absolutely.

Using tcp/ip pipes, you could do that now between 2 laptops.  Your base would be running RobotSee with the graphics library.  On the robot you would have your netbook running RobotSee and your vision app.  Tcp/ip pipes is a RobotSee language Extension that allows you to shares variable between 2 RobotSee applications over tcp/ip.

After I complete the V1 port, we will have to look into a Zigbee option. The tcp/ip pipes concept could also work over Zigbee.
Reply all
Reply to author
Forward
0 new messages