Serial Wombat
a general-purpose digital interface device for hobbyists, engineers and students

 


Home
Overview
Protocol
Documentation
Getting Started
Connectivity
Pin Mode SDK Beta
Sample Projects
WombatPanel
iTunes Control
Serial To TCP/IP
QBasic
'C'
Solar Water Display
Downloads
Contact Us
Purchase
Forum

Did you know...

 

Introduction

This sample application, the Wombat Panel, serves two purposes. The first is as an example. This application exercises a lot of different functionality of the Wombat from within C#. The second is as an actual useful tool for experimenting with your Serial Wombat. This tool has evolved to suit my needs as I have been developing and testing the Wombat firmware, as well as wringing out my hardware. This tool is a perpetual work in progress as I add more functionality. I release it at periodic intervals as it seems fairly stable and substantially more useful than the previously released version.

Among the new features in version 2.2:

  • The ability to load a macro file into eeprom for startup. Simply create a text file of wombat commands (like you can run from the panel), and choose file...e

Among the new features since version 2.0:

  • Support for TCP ports. This should be considered beta, as it doesn't seem as reliable as the serial support, but it works reasonably well. I've used this quite a bit to talk to a Lantronix XPORT which was connected to the Wombat.
  • Addition of a test tab. I've started construction of automated testing routines which can be run from the PC. This is complete for the Hardware pulse measurement mode, the Servo mode, queuing, and software PWMs. Basically, you connect two pins with wire or some simple circuit, and run it through a bunch of tests. This should be considered beta at this point, but the source code may be instructional.
  • Added support for boot mode downloads. If the Wombat is in boot mode and you press resync, you'll get a dialog box to simplify downloading of an application. This is what I use to download chips for shipping. This will only work with chips sold since spring of 2006, as it requires a slightly newer version of the bootloader.

Let me warn you from the start, I'm a rotten Windows programmer. I spend my days writing embedded systems software, mostly in C and assembly for devices which don't have a graphic user interface. But I guess that's kind of the point. If you're reading this, you're probably interested in writing programs for your PC to interface to the world through the Wombat. You worry about that, and I'll worry about writing the Wombat firmware (something I am pretty good at, if you'll excuse the lack of humility) to help you out. If you have constructive criticisms of how I've designed and written this application, I'd love to hear them. Please use the contact page on this site.

That said, Version 2.1 of the Wombat panel is much more mature than version 1. The interface is cleaner, many Serial Wombat functions are supported through the gui, and lots of powerful tools such as Xmodem downloads (under file) and the ability to view the User area of the Wombat's Flash, Ram, and EEPROM. Many of the configuration options are now available through drop-down menus.

The wombat.cs file from version 1 has been much improved and much expanded. In fact, it's now a number of files all separated by namespace. The big change is the addition of the WombatTransaction class. This class creates an array of 8 bytes to be sent, and a place for 8 bytes to be received. This is one "Wombat Transaction". You fill in the 8 Tx bytes, then call the Wombat.Send(ref WombatTransaction wt) method of the Wombat class. The Wombat sends the 8 bytes, and stores the result in the WombatTransaction Rx array. Many, many classes are inherited from this class. The base class has a number of virtual properties, so it is easy to override various functions. This makes it really easy to add self documentation to various child classes. The Wombat class now also has an event that can be called after the completion of each transaction, making it really easy to add a log file to your application for debugging.

The Application

You can download this application, its source, an installer, and this documentation in a zip file. (Versions are based on the Wombat Firmware version requrired to use all the features). You can also get the older version 2.0 and 1.0 of the Wombat Panel. You can run it right out of the "release"directory (a couple down from the top) or install it on your start menu from the "publish" directorye.

The Wombat panel has a number of items in its user interface:

  • A menu bar. Lots of options have been added:
    Configure your wombat:


    Or view memory:
  • There Four text boxes with send buttons. Each line allows you enter one 8-byte Wombat command, supplying bytes in decimal, hex, ascii characters, or strings. Each combo box remembers previous commands, so you can recall them quickly instead of retyping them. You can use combinations of the following expressions:
    - Numbers. Any number is interpreted as a decimal value, and stuffed into a single byte.
    - Hex. Numbers starting with 0x are interpreted as hex. Single byte numbers have 2 digits (0x12). 16 bit numbers have four digits (0x1234), and are automatically broken into bytes before sending
    - Any character in single quotes ('U') will be translated to it's ASCII value
    - Any string of characters in double quotes ("!1234567") will be translated to ASCII values
    - Everything after an unquoted semicolon (;) is interpreted as coments.
    - Any command which is less than 8 bytes will have 0x55's appended to it to make 8 bytes.
  • A text box with a file open icon next to it. When the send button next to this line is pressed, the file listed in the box will be parsed, a line at a time, the same way that commands are parsed in the three lines above. This makes it easy to save long command sequences, such as those necessary to configure an LCD. Any of the examples on SerialWombat.com can be saved as a text file, and sent to the Wombat this way.
  • A Resync button. This button sends 8 resync characters, assuring that the Wombat is ready for a new command.
  • A picture of the chip. Double-click on any pin to read it's public-data value. Right click a pin for more options.
  • A large text box. This box displays, in hex, packets sent to, and received from the Wombat, as well as documentation from the Transaction class.

The coolest new feature is the ability to view and modify user RAM:

 

Copyright Wombat Interface Products, 2005-2008. All Rights Reserved.