V-pipe Display Tools

Release 1.0


TABLE OF CONTENTS

V-pipe Tools Overview 4

V-pipe Release Notes 5

V-pipe Display Tool 5

Features Not Included 5

Features Included 5

Testing and Verification Completed 5

Frame Generator 6

Features Not Included 6

Features Included 6

Testing and Verification Completed 6

Frame Display 6

Features Not Included 6

Features Included 6

Testing and Verification Completed 7

V-pipe Tool Requirements 7

Lab Set-up 7

VNC Set-up 8

V-pipe Tool Usage 9

Direct Usage on Lab PC 9

Remote Usage of the Debug PC via VNC 9

Remote Usage of V-pipe Tools on a Home or Laptop PC 9

V-pipe Tool User’s Guide 9

Frame Generator Tool User’s Guide 9

Frame Display User’s Guide 10

V-pipe Tool Installation 10

Windows V-pipe Tools Installation 10

Solaris V-pipe Tools Installation 11

Linux Sidewinder Installation 11

References 11


TABLE OF FIGURES

Figure 1: V-pipe Display Server 5

Figure 2: Frame Generator 6

Figure 3: Frame Display 6

Figure 4: The V-pipe Tools Lab Configuration 7

V-pipe Tools Overview

The V-pipe Python/Tk applications include:

V-pipe Display – Provides real-time display of PPM format color frames in 320x240 format from any source that can encode or produce frames and send them to the V-pipe Display TCP/IP server application. Clients simply need to connect to the server port and then send PPM encoded RGB frame data. Simple filters and transformation functions can be plugged into the tool to provide post processing.

Frame Generator – A simple program that generates a test PPM frame (rainbow pattern).

Frame Display – A stand-alone application which simply reads and displays a 320x240 PPM format file.

Frametx Test – A frame generator that can be used to test the Vpipe Display server. It generates 4 test frames in a loop after connecting to the server.

The tools were built using the Python and Tcl/Tk VHLLs (Very High Level Languages) and are easily extensible and modifiable. Since they are implemented using a portable VHLL, they can run on Windows, Linux, or Solaris. The tools require installation of the Python interpreter and the Tcl/Tk interpreter.

Finally, the GUI tools include context sensitive help, so most of the documentation needed to use the tools can be found once the tools are installed. This documentation therefore concentrates on installation.

V-pipe Release Notes

The V-pipe collection of tools can be found on the class web page on the example code web page. Assuming that Python 2.2 and Tcl/Tk 8.3.x have been installed on the local machine, then the Pmw directory in the vpipe directory can be downloaded into the local Python directory (C:\Python22\Lib\site-packages in Windows) along with the primitives directory and “primitives.pth” file so that vpipe_display.py, frame_gen.py, and frame_display.py can be downloaded and run.

This release has also been installed on the ECEN 5623/4623 lab machines and applications can be found in vpipe under the Python directory.

V-pipe Display Tool

The V-pipe tool presently provides real-time display from frame generating TCP/IP clients (e.g. btvid.c application running on VxWorks target) in the 320x240 RGB PPM frame format. Presently this is the only frame format supported.

Features Not Included

Features planned, but not yet included are:

  1. Display of other formats such as 160x120, 80x60, grayscale, and compressed formats (MPEG, JPG, GIF, change only).
  2. Activation of common filters such as edge detection and enhancement kernels
  3. Others?

Features Included

Basic display of PPM frames from a TCP/IP client that encodes or generates frames in this format.

Figure 1: V-pipe Display Server

Testing and Verification Completed

The V-pipe Display application was tested with the Frame Generator client and with the Bt878 application client running on a VxWorks target. The Frame Generator allows you to make sure the V-pipe Display server is working by running the following Tests:

Test 1 – V-pipe Initialization Display

Test2 – V-pipe Display from Frame Generator source

Test3- V-pipe Display from VxWorks on x86 with Bt878 encoder and btvid.c

Frame Generator

The Frame Generator provides a TCP/IP client that can connect to the V-pipe Display to test basic functionality of the video streaming tools.

Features Not Included

Not all features of the Frame Generator are implemented. Specifically, the following features are not available:

  1. TBD

Features Included

The Frame Generator can be configured as shown in Figure 2.

Figure 2: Frame Generator

Testing and Verification Completed

Test 1 – Connection and disconnection from V-pipe Display:

Test2 – TBD:

·  TBD

Frame Display

The Frame Display provides simple display of single PPM format 320x240 RGB frames that can be captured from the btvid.c application and downlinked from a VxWorks target with the write_save_buffer() function.

Features Not Included

Not all features of the Frame Display are implemented. Specifically, the following features are not available:

  1. TBD

Features Included

The Frame Display can be configured as shown in Figure 2.

Figure 3: Frame Display

Testing and Verification Completed

Test 1 – Display of Test PPM frame:

V-pipe Tool Requirements

V-pipe tools require lab elements that allow the tools to be connected over a LAN to allow video streaming from VxWorks targets to these host-based analysis and debug tools.

Lab Set-up

The V-pipe tools must be connected to a video encoding source. This set-up is depicted below in Figure 4.

Figure 4: The V-pipe Tools Lab Configuration

VNC Set-up

VNC (Virtual Network Computing) can be downloaded and installed on any PC. The Debug PC should have both server and client VNC installed. It is useful to have client VNC installed on any remote Engineer’s PC where the V-pipe tools will be used. The steps for installing both server and client VNC are:

  1. Download Real VNC – Real VNC can be downloaded from http://www.realvnc.com/download.html and at the time of this document release, the most current version was 3.3.7. It is advised that the most current version be used, however any version later than 3.3.7 should work as well.
  1. Install Real VNC – Simply double click on the Windows install *.exe icon and do the “typical” installation – on the Debug PC both server and client VNC should be installed – on an Engineer’s PC only client VNC is required.
  1. Starting a VNC Server – On the Debug PC the VNC server should be set up to start when Administrator is logged in – this is easily configured using the Real VNC “Run VNC Service Helper” which can be found under Start, All Programs, RealVNC, VNC Server.
  1. Client sessions can be initiated on any remote Engineer’s PC with “Run VNC Viewer” off of the Start Menu – a login screen will ask for the IP address or hostname of the remote Debug PC running the VNC server – after connecting to any of the Debug PCs with VNC servers, the user must provide an access password.

Copious documentation on usage and system administration of Real VNC is available from the download site as well.

V-pipe Tool Usage

The V-pipe Tools can be used in one of three fashions:

  1. TBD

Direct Usage on Lab PC

For direct usage of the V-pipe tools on a Lab PC, simply start one or more of the applications from the desktop by double-clicking on one of the V-pipe icons shown in the Overview section. The tools have built-in context sensitive help menus.

Direct use of the V-pipe tools is the simplest method and is also the best method to ensure there are no resource conflicts.

Remote Usage of the Debug PC via VNC

Once a VNC client session is initiated with one of the Lab PCs running VNC server, please follow the instructions for Direct Usage on Debug PC. When the VNC client is successfully started the VNC client provides a virtual desktop of the remote Debug PC desktop and allows the user to manipulate all tools on this desktop as if they were sitting in front of the machine using the directly attached mouse and keyboard – therefore it is necessary to carefully negotiate remote VNC usage up front to avoid tug-of-wars over the Debug PC between Direct and VNC Remote users. Please see VNC Setup for more information.

Remote Usage of V-pipe Tools on a Home or Laptop PC

To use V-pipe Tools locally on your own PC, please follow the V-pipe Tool Installation from your PC. Once the tools are installed, each tool can be connected to the remote frame source by simply providing the correct remote IP address or hostname.

V-pipe Tool User’s Guide

The V-pipe Tool has some built-in help facilities and is fairly intuitive to use. Otherwise, more detailed user instructions are TBD.

Frame Generator Tool User’s Guide

The V-pipe Tool has some built-in help facilities and is fairly intuitive to use. Otherwise, more detailed user instructions are TBD.

Frame Display User’s Guide

The Frame Display Tool has some built-in help facilities and is fairly intuitive to use. Otherwise, more detailed user instructions are TBD.

V-pipe Tool Installation

The V-pipe Tools have been packaged into one Vpipe-Install.zip file and the current release is kept on the class web page. The V-pipe tools can be installed on any PC or Sun workstation running Windows, Linux, or Solaris as long as it has LAN access to the frame source (VxWorks target). However, the tools have initially only been tested on Windows. When installations have been tested on Solaris and Linux, a separate installation zip file will be provided along with a reference installation on these platforms.

Windows V-pipe Tools Installation

The following provides step-by-step instructions for installing the tools on a Windows PC using the Vpipe-Install release on the 5623/4623 web page. With each release of the V-pipe tools, Tcl/Tk and Python distributions are bundled with Vpipe-Install. The tools have been tested with the bundled Tcl/Tk and Python so that there is no issue with differences between versions of the VHLLs. Only the bundled versions of the VHLLs should be used with the V-pipe tools.

  1. Download the Vpipe-Install.zip zip file and unzip it to create Vpipe-Install directory.
  1. Tcl/Tk VHLL installation:
  2. Simply double-click on the ActiveTcl installation icon in the unzipped Vpipe-Install directory:
  1. Follow ActiveTcl instructions for a “typical” installation in the PC directory C:\Tcl
  1. Python VHLL installation:
  2. Simply double-click on the Python installation icon in Vpipe-Install:
  1. Follow the Python instructions for a “typical” installation in the PC directory C:\Python22
  1. Primitive and PMW (Python Mega-Widget) installation:
  2. Copy Vpipe-Install\Pmw to C:\Python22\Lib\site-packages
  3. Copy Vpipe-Install\primitives to C:\Python22\Lib\site-packages
  4. Copy Vpipe-Install\primitives.pth to C:\Python22\Lib\site-packages
  1. Copy Vpipe-Install\Vpipe-Tools to the PC desktop and create shortcuts to each tool on the desktop if desired. Rename Short-cuts to Vpipe Tool, Frame Generator, and Frame Display if desired.
  1. Test basic functionality and connectivity on each tool to verify the installation.

Solaris V-pipe Tools Installation

The V-pipe tools can be run on any platform on which Python 2.x can be run including Solaris. Details of Solaris install TBD.

Linux Sidewinder Installation

The V-pipe tools can be run on any platform on which Python 2.x can be run including Linux. Details of Linux install TBD.

References

  1. www.python.org
  2. http://astronomy.swin.edu.au/~pbourke/dataformats/ppm/

2