
Newton Labs no longer supports Versions 3.xx
and earlier versions of Interactive C.
Newton recommends you use IC4.0 at
http://www.botball.org/educational-resources/ic.php
Bundled with the Rug
Warrior Pro mobile robot kit (from the book Mobile
Robots: Inspiration to Implementation, by Anita Flynn and Joe Jones).
Interactive C is a C compilation environment for many Motorola
6811 based robots and embedded systems. Originally developed for
the MIT LEGO
Robot Design Contest (6.270), Interactive C has enjoyed widespread
distribution and use. Interactive C's claim to fame is its interactivity:
users can type in expressions and have them compiled on the fly
and run immediately, rather than waiting for lengthy compile and
download cycles. IC currently supports the 6.270, the HandyBoard
and the RugWarrior and RugWarrior Pro.
For those who have only used the freeware IC 2.8, we hope you'll
be pleased at the improvements with IC 3.1:
- Better integration into the Windows and Macintosh environments.
- Integrated development environment for Windows and Macintosh,
including built-in editor (for those who wish to use it).
- Integrated C preprocessor, including the ability to use #defined
macros at the command line (a feature not even found in standard
desktop computer C environments, let alone environments for microcontrollers).
- Standard C features such as structs and multidimensional arrays.
- Integrated (and automatic) pcode downloader for Windows and
Macintosh, including support for the Handy Board and other boards
based on the 6811A1/E1.
For those comparing Interactive C to other C compilation environments,
here are some of the features of Interactive C that helped make
the MIT LEGO Robot Contest a success:
- Integrated compiler/debugger. You can easily try
out C statements and expressions at the commmandline, before
writing them into code.
- Easy-to-use and completely integrated multitasker,
with simple syntax, allowing you to write behavioral-style programs.
- "Persistent" variables, which keep their state
in between runs of your software. This allows you to change
calibrations or store information that doesn't get wiped out
each time you start your code.
- Easy-to-use libraries for Handy Board, 6.270 board,
and Rug Warrior, with "printf" to LCD screen.
- Dynamically linkable ".icb" drivers.
- The ability to use #define macros for more efficient
code, yet still type expressions and statements using macros
interactively at the commandline.
- Crash-proof operation. Randy Sargent and Fred Martin
designed Interactive C to solve one of the biggest problems facing
the MIT LEGO robot contest 6 years ago: "Why did my board
crash?" Typical bugs in C or assembly, in a typical environment,
will often cause a robot controller board to crash. Also, typical
hardware problems, such as improperly connected peripherals,
cold solder joints, flakey battery connections, etc, often cause
a board to crash. Trying to track down software bugs can be challenging
if you don't know for certain that the hardware is stable. With
Interactive C, if your board crashes, you can narrow the problem
down to hardware.
We accomplish crash-proof operation with the following features:
- Complete type safety. Unlike typical versions of
C which require users to correctly enter function prototypes
and external declarations for proper compilation, Interactive
C verifies correct arguments for all function calls and types
across separate ".c" files.
- Array bounds checking. Array bounds are verified,
preventing writing off the ends of arrays and corrupting memory.
- Free updates to future versions of IC 3.X.
Supported Operating Systems
- Windows 95/NT
- Macintosh
- Linux
- SGI UNIX
- Solaris
- SunOS
IC 3.1 User's Guide
ICB file compilation server
For users who wish to compile relocatable ICB binaries to link
in with Interactive C code, you can use our
online ICB compilation server.
Back to the Newton Labs Academic/Research
Home Page
Newton Research Labs, Inc. Home Page