# Operating System RoBIOS

The following describes operating system features and demos included in RoBIOS version 4.x. Please note, that newer versions of the RoBIOS software may differ from the functionality described below.

After connecting camera and power cable, you are ready to start EyeBot. Supply about 7.2V by a power supply or by using rechargeable batteries. Upon power-up, you should see messages on the graphics display, similar to the following:

    - RoBiOS  Vx.x -
    ----------------
    RobName 01 Cam:e
    25 MHz  512K ROM
     896Kf 1024K RAM
     Battery-Status
    @@@@@@@@@@@@@@@@
    <I> Hrd Usr Demo

EyeBot displays the version number of its operating system and shows the amount of memory available. The last line of text is right above the four colored input keys and the small reset key. The four colored keys (yelow, red, blue, green) operate as soft keys, i.e. their meaning in the current context is always displayed by the last line of text in the graphics display. From the main menu, these functions are:

- Info about the people behind EyeBot
- Hrd parameter setting and test of camera, serial line, servos, motors, etc.
- User program download and execution
- Demo of camera function (grayscale or color), sound, etc.

The EyeBot's operating system RoBIOS also provides a number of routines, which can be called directly from a user program, so they do not have to be compiled and downloaded. For more information on these routines, refer to the library section.

# Hardware Routines

Entering the hardware setup, there are two menu choices for setting several hardware properties or for testing all hardware equipment connected, as defined in the system's Hardware Description Table (HDT).

    Hardware:

    Set HDT IO  END

The sub-menu for setting parameters then splits further as shown below, while the Test submenu allows selecting each individual hardware component for testing, as defined in the HDT.

### Setting Parameters

The menu for setting parameters allows the setting of parameters for camera (grayscale or color) or the serial line connection.

    Setup:

    Cam Ser Rmt END

### Setting Camera Parameters

Please note: Camera settings only apply for the older QuickCam camera, not for the current camera models!

There are two choices for camera settings, depending on whether a grayscale or color camera is connected. Shown here is the settings menu for the grayscale camera. The current camera image is overlayed, so the effects of parameters can easily be recognized. Pressing the + or - button changes the currently selected parameter (indicated by "*"). Pressing "Nxt" circularly selects the next parameter, while "END" returns to the menu one level up.

    CamSetup:

    Bright :   140 *
    Offset :    43
    Contr. :   104
    AutoBr.:   OFF
    Version:   $00
     +   -   Nxt END

### Seting Download Parameters

For details on parameter setting for the serial line connection see section Downloading Programs.

### Testing Hardware Components

All hardware components, which have been defined in the HDT, are listed here and can be selected for individual testing. E.g. with two motors, two encoders, two servos, and three PSD sensors this menu will look like the following:

     2Motors/ RIGHT*
     2Encodr/ RIGHT
     2Servos/ S11-C
     3  PSDs/  P0-L

    Tst  +   Nxt END

An individual hardware component is selected using Tst, while + switches between components within a group, and Nxt switches between different groups.

Depending on the type of hardware component selected, an appropriate testing program is being started.

### Example: Servo Test

After selecting an individual servo from the hardware test sub-menu, the angle of this particular servo can be controlled.

    Servotest:
    Sem: S11-C(-361)

    Angle:  128

    +    -   max END

### Testing I/O Ports

The I/O test menu allows reading/setting of each bit of the digital input port, digital output port, parallel port, and analog input port.

    Select a PORT

    Dig Parl AD END

### Example: Digital Input

Displays the current status of all input pins.

      Digital-In:
      -----------
    Port0 (76543210)
           11011111

                 END

# User Programs

Downloading of user programs is shown in detail in section Downloading Programs.

# Demos

Demos are stores in ROM as file "demos.hex" and can be overwritten. They are started by pressing the "Demo" button in the main menu and contain demos for camera (grayscale or color), audio, communication network and driving functions. A demo can be selected by moving the asterisk to the desired demo and pressing "Sel".

      Menu Select
    Camera         *
    Audio
    Network
    Drive

    +   -   Sel END

### Camera Demos

There are three demos implemented, one for the grayscale or color camera, one especially for the color camera, and one for the zoom effect. The demo for the grayscale camera shows a number of simple image processing routines, while the demo for the color camera allows storing and retrieving of a color-pattern within images.

For the grayscale camera-demo discussed in more detail here, the real-time camera image is displayed, while the user can select up to four image operations, which will subsequently be executed on each camera image. Default is identity, pressing + and - buttons changes between identity, Laplace edge detection, Sobel edge detection, dithering, and difference motion detection. Pressing Nxt circularly selects the next operator number, while END returns to the menu one level up. Also displayed is EyeBot's speed in frames per second (fps).

    ..........Norm.*
    ..........Norm.
    ..........Norm.
    ..........Norm.
    ..........
    ..........fps:
    ..........16.67
     +  -  Nxt  END

### Audio Demo

The audio demo provides three different demos:

- Sound generation
- Microphone level test
- Recording and replaying sounds

    AudioDemos:

    Mus Mic Wav END

### Network Demo

Please note: This demo needs wireless communication installed
The network demo provides demos for:

- Testing transmit/receive functionality
- Sending test data
- Receiving test data

    Wireless Network

    Tst Snd Rec END

### Drive Demo

Please note: This demo needs a robot linked to the controller
This demo drives the robot straight, turns 180 deg., then drives back.

    Drive Demo

    Straight
    Pos:  0.0 x 0.0
    Heading: 0.0

Thomas Bräunl, 2002