Difference between revisions of "Calico: Getting Started"
(→General Calico Videos) |
(→Calico Myro under Windows XP) |
||
Line 234: | Line 234: | ||
* [http://www.youtube.com/watch?v=03Tiaq8BtPQ Setting up a bluetooth connection] between your computer and your scribbler with IPRE fluke under Windows XP | * [http://www.youtube.com/watch?v=03Tiaq8BtPQ Setting up a bluetooth connection] between your computer and your scribbler with IPRE fluke under Windows XP | ||
* If your setup results in a high numbered com port for your outgoing com port, you will have to [http://www.youtube.com/watch?v=dzCNvA77aJQ change your port number(Win XP)] | * If your setup results in a high numbered com port for your outgoing com port, you will have to [http://www.youtube.com/watch?v=dzCNvA77aJQ change your port number(Win XP)] | ||
− | * Trying some [http://www.youtube.com/watch?v= | + | * Trying some [http://www.youtube.com/watch?v=w5ti1KRtArY simple commands in Calico Myro (Windows XP)] |
Revision as of 02:29, 11 August 2011
Getting started with Calico. This document describes how to begin using the Calico scripting environment.
Contents
Overview
Calico is an environment for scripting. It is composed of three main components:
- Scripting Languages (like Ruby, Python and Scheme)
- Scripting Editor
- Libraries for doing things (like robotics and graphics)
Calico is designed so that you can swap out any component, and the other two components can remain the same.
First, you should have already installed Calico at the Calico Download page.
Starting
You can start Calico up by running the ./StartCalico (Linux and Mac OSX) and StartCalico.bat (Windows).
You can pass a number of "flags" to Calico. Here we pass the --help flag to see what all of the options are:
C:\Users\dblank\Calico>StartCalico.bat --help Loading Calico... Calico Project, Version 0.2.4, on Microsoft Windows NT 6.1.7600.0 ---------------------------------------------------------------------------- Start calico with the following options: StartCalico Defaults to shell StartCalico FILENAME:LINE ... Edits FILENAMEs, positioned on LINEs StartCalico --shell Brings up shell window StartCalico --chat Brings up chat window StartCalico --editor Brings up editor window StartCalico --exec FILENAMEs Runs FILENAMEs standalone, with graphics StartCalico --exec --nogui FILENAMEs Runs FILENAMEs standalone, no graphics StartCalico --version Displays the version number (0.2.4) StartCalico --help Displays this message
Examples
To edit a program:
StartCalico myprog.rb
To edit a program, starting on line 200:
StartCalico myprog.rb:200
To edit a bunch of programs:
StartCalico *.py
To run a program:
StartCalico --exec myprog.rb
To run a program that takes care of its own graphics:
StartCalico --exec --nogui myprog.rb
To open up the editor and shell:
StartCalico --editor --shell
This page provides some examples of using Calico.
Calico GUI
Calico is divided into two windows:
- Editor
- Shell and Output
The Editor allows you to edit files. From the editor, you can select a section of code and press F5 to run part of your script interactively. If you don't have anything high-lighted, pressing F5 will run the entire file.
In the interactive command box, you can enter as much code as you like, ENTER will evaluate the code in the box (you may have to press ENTER twice, if you have a multi-line expression).
Example Code
See http://svn.cs.brynmawr.edu/viewvc/Calico/trunk/examples/
Keyboard Commands
These work for Editor and Shell.
Visual shortcuts:
- Zoom in: Control + mouse wheel forwards
- Zoom out: Control + mouse wheel backwards
Editing shortcuts:
- Indent block: select and press Tab
- Unindent block: select and press Shift+Tab
- Undo: Control + Z
- Redo: Control + Shift + Z
- Cut: Control + X
- Copy: Control + C
- Paste: Control + V
- Move block: Control + left mouse drag
- Auto indent: will automatically indent to the level of the previous line
- Unindent a line: shift + Tab
- Indent a line: go to begging of line, press Tab key
Searching Shortcuts in the Editor:
- Control + F: bring up search bar
- Control + G: find next
- Control + Shift + G: find previous
- Enter: find next
- Shift + Enter: find previous
- Escape: close search bar
Selection shortcuts:
- Select: Shift + arrow keys; Shift + Control + arrow keys; left-click and mouse drag; double-, triple- left-mouse click
- Select all: Control + A
- Block select: Control + Alt + mouse drag
Movement shortcuts:
- Move by word: Control + arrow keys
- To top: control + Home
- to bottom: control + end
- Beginning of line: home
- End of line: end
Running scripts shortcuts:
- Run the script in the command area: F5
- Run the script in the command area, if a one-liner: Return key
- Run the script in the command area, if a multi-liner: Return key on line with only white-space
- Enter a blank line in command area: Enter key
- Run selected text: F5 (puts into command area; a second F5 will run it)
- Drag text to command area, then F5
- Stop processing: Escape key
- Previous command: Up arrow
- Next command: Down key
Editor
Visual cues:
- Yellow in margin: line has been edited
- Green in margin: line has been edited and saved
- Current line has grey background
Example 1: Draw a circle
In these examples we will use Python.
Our goals are:
- Import the Graphics library
- Create a window
- Create a circle, center at (150, 150) (zero is upper lefthand corner, x and y increase as they go away from upperleft hand corner). Make the radius 80 pixels.
- Draw the circle in the window
Here is a sample that satisfies our goals:
from Graphics import * win = Window() circle = Circle(Point(150, 150), 80) circle.draw(win)
In the Graphics library, you can substitute a tuple or list for a Point. So, these are equivalent:
from Graphics import * win = Window() circle = Circle((150, 150), 80) circle.draw(win)
or:
from Graphics import * win = Window() circle = Circle([150, 150], 80) circle.draw(win)
Example 2: Move Circle Interactively
Our goals for this example:
- Create a window that is 480 x 120, titled "Circles"
- Create a circle, as before, and draw it in the window
- In a loop, continue forever:
- if the mouse is down, make the circle black
- else make it white
Here is a short Python program that satisfies the goals:
from Graphics import * win = Window("Circles", 480, 120) circle = Circle(getMouseNow(), 80) circle.draw(win) while True: circle.center.x, circle.center.y = getMouseNow() if getMouseState() == "down": circle.fill = Color("black") else: circle.fill = Color("white")
Note: This example does not end, so you need to click the red stop sign in the Shell window.
Videos
General Calico Videos
Calico Videos: Windows XP
Calico Myro Videos
Calico Myro under Windows XP
- Setting up a bluetooth connection between your computer and your scribbler with IPRE fluke under Windows XP
- If your setup results in a high numbered com port for your outgoing com port, you will have to change your port number(Win XP)
- Trying some simple commands in Calico Myro (Windows XP)