Interactive C

Last updated
Interactive C
Interactive C.png
Developer(s) KISS Institute for Practical Robotics
Initial release1997, 2425 years ago
Stable release 8.0.2 (March 31, 2008) [±]
Preview release Non [±]
Operating system Windows, macOS, Linux, IRIX, Solaris, SunOS
Available in English
License Distributed without charge by KISS Institute for Practical Robotics, a 501(c)3 nonprofit organization
Website www.newtonlabs.com/ic
Interactive C
Stable release 8.0.2 (March 31, 2008) [±]
Preview release Non [±]
Website www.botball.org/ic/,%20http://www.newtonlabs.com/ic/
Influenced by
C

Interactive C is a program which uses a modified version of ANSI C with several libraries and features that allow hobbyists to program small robotics platforms.

Contents

Version by Newton Research Labs

Newton Research Labs developed Interactive C as a compiling environment for robots using the Motorola 6811 processor. The MIT LEGO Robot Design Contest (6.270) was the original purpose for the software. [1] It became popular, however, due to its ability to compile on the fly rather than taking time to compile beforehand as other languages had done. The programming environment's newest version is IC Version 8.0.2, which supports these operating systems:

The screenshot to the right shows Interactive C running on a Windows operating system. The program features an Interaction Window where one-line C commands can be sent to the connected controller as well as an editing window, here titled main.c, where a program file is being edited and can be sent to the attached controller.

Here is the basic "Hello World" example for IC programming:

voidmain(){printf("Hello World");}

Here is another example using motor ports 1 and 3:

voidmain(){motor(1,100);motor(3,100);sleep(2.0);ao();}

A basic infinite loop that will beep for ever:

voidmain(){while(1){beep();}}

Interactive C is used by Ohio State University to program MIT Handy Boards in its Fundamentals of Engineering for Honors Program.

Version by KISS Institute for Practical Robotics

KISS Institute for Practical Robotics developed a third-party alternative to the Newton Labs version of Interactive C for their Botball Educational Robotics Program.

The latest version of Interactive C by KISS Institute for Practical Robotics is IC 8.0.2, which supports these operating systems:

IC8 supports the following robotics controllers:

Related Research Articles

Cygwin Unix subsystem for Windows machines

Cygwin is a POSIX-compatible programming and runtime environment that runs natively on Microsoft Windows. Under Cygwin, source code designed for Unix-like operating systems may be compiled with minimal modification and executed.

GNU Free software project

GNU is an extensive collection of free software, which can be used as an operating system or can be used in parts with other operating systems. The use of the completed GNU tools led to the family of operating systems popularly known as Linux. Most of GNU is licensed under the GNU Project's own General Public License (GPL).

Integrated development environment Software application used to develop software

An integrated development environment (IDE) is a software application that provides comprehensive facilities to computer programmers for software development. An IDE normally consists of at least a source code editor, build automation tools and a debugger. Some IDEs, such as NetBeans and Eclipse, contain the necessary compiler, interpreter, or both; others, such as SharpDevelop and Lazarus, do not.

Unix shell Command-line interpreter for Unix operating system

A Unix shell is a command-line interpreter or shell that provides a command line user interface for Unix-like operating systems. The shell is both an interactive command language and a scripting language, and is used by the operating system to control the execution of the system using shell scripts.

Lego Mindstorms Hardware and software platform by Lego

Lego Mindstorms is a hardware and software structure which is produced by Lego for the development of programmable robots based on Lego building blocks. Each version of the system includes a computer Lego brick that controls the system, a set of modular sensors and motors, and Lego parts from the Technic line to create the mechanical systems.

This article presents a timeline of events in the history of computer operating systems from 1951 to the current day. For a narrative explaining the overall developments, see the History of operating systems.

tomsrtbt

tomsrtbt is a very small Linux distribution. It is short for "Tom's floppy which has a root filesystem and is also bootable." Its author, Tom Oehser, touts it as "The most GNU/Linux on one floppy disk", containing many common Linux command-line tools useful for system recovery It also features drivers for many types of hardware, and network connectivity.

leJOS is a firmware replacement for Lego Mindstorms programmable bricks. Different variants of the software support the original Robotics Invention System, the NXT, and the EV3. It includes a Java virtual machine, which allows Lego Mindstorms robots to be programmed in the Java programming language. It also includes 'iCommand.jar' which allows you to communicate via bluetooth with the original firmware of the Mindstorm. It is often used for teaching Java to first-year computer science students. The leJOS-based robot Jitter flew around on the International Space Station in December 2001.

The XBC, or the Xport Botball Controller, is a robot based on Charmed Labs' Xport hardware. It was built specifically for the Botball competition and uses a Game Boy Advance for its display and for high-level processing; a field-programmable gate array is used to offload low-level processing of motors and sensors from the Game Boy Advance. The XBC is programmed using Interactive C, which is a variant of the C programming language. The XBC replaced the RCX in 2005 as Botball's official processor. The RCX can be programmed using Interactive C, Not Quite C, or Lego's simple GUI interface. Both robots can have bases built with Lego pieces.

Lego Mindstorms NXT

Lego Mindstorms NXT is a programmable robotics kit released by Lego in late July 2006. It replaced the first-generation Lego Mindstorms kit, which was called the Robotics Invention System. The base kit ships in two versions: the Retail Version and the Education Base Set. It comes with the NXT-G programming software, or optionally LabVIEW for Lego Mindstorms. A variety of unofficial languages exist, such as NXC, NBC, leJOS NXJ, and RobotC. The second generation of the set, the Lego Mindstorms NXT 2.0, was released on August 1, 2009, featuring a color sensor and other upgraded capabilities. The third generation, the EV3, was released in September 2013.

The Portable C Compiler is an early compiler for the C programming language written by Stephen C. Johnson of Bell Labs in the mid-1970s, based in part on ideas proposed by Alan Snyder in 1973, and "distributed as the C compiler by Bell Labs... with the blessing of Dennis Ritchie."

Botball

Botball is an educational robotics program that focuses on engaging middle and high school aged students in team-oriented robotics competitions. Thousands of children and young adults participate in the Botball program. It has been active since 1998 and features a robotics curriculum which focuses on designing, building and programming a pair of autonomous robots. Teams use a standardized kit of materials, document the process and then compete in a tournament in which the challenges change annually. All materials in the kits are exactly the same for every team around the world, so there are no unfair advantages. Botball teams are mostly based in the United States with over 300 teams and local tournaments in more than a dozen regions. In recent years it also holds an annual Global Conference on Educational Robotics (GCER), with an international tournament that attracts teams all over the country as well as from Mexico, Austria, China, Uganda, Poland, Qatar, Kuwait, and Egypt.

Java Native Access (JNA) is a community-developed library that provides Java programs easy access to native shared libraries without using the Java Native Interface (JNI). JNA's design aims to provide native access in a natural way with a minimum of effort. Unlike JNI, no boilerplate or generated glue code is required.

Microsoft POSIX subsystem is one of four subsystems shipped with the first versions of Windows NT, the other three being the Win32 subsystem which provided the primary API for Windows NT, plus the OS/2 and security subsystems.

Lego Mindstorms EV3

Lego Mindstorms EV3 is the third generation robotics kit in Lego's Mindstorms line. It is the successor to the second generation Lego Mindstorms NXT 2.0 kit. The "EV" designation refers to the "evolution" of the Mindstorms product line. "3" refers to the fact that it is the third generation of computer modules - first was the RCX and the second is the NXT. It was officially announced on January 4, 2013 and was released in stores on September 1, 2013. The education edition was released on August 1, 2013. There are many competitions using this set, including the FIRST LEGO League Challenge and the World Robot Olympiad, sponsored by Lego.

Enchanting is a free and open-source cross-platform educational programming language designed to program Lego Mindstorms NXT robots. It is primarily developed by Southern Alberta Robotics Enthusiasts group in the province of Alberta, Canada, and runs on Mac OS X, Windows, and experimentally on Linux devices. Since 2013, the Enchanting version 0.2 has been available.

Absoft Fortran Compilers are set of Fortran compilers for Microsoft Windows, Apple Macintosh, and Linux produced by Absoft Corporation. The compilers are source code compatible across platforms.

References