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

 


Home
Overview
Protocol
Documentation
Getting Started
Connectivity
Ethernet
IRDA
Pin Mode SDK Beta
Overview
Rules
Example 1
Example2
Example3
Graphic LCD
LED Display
Sample Projects
Downloads
Contact Us
Purchase
Forum

Did you know...

 

Serial Wombat Pin Mode Software Development Kit (BETA)

Note that the SDK is in Beta at this time. The SDK interfaces may change for the final released version, requiring reworking of your code.

The Serial Wombat comes pre-loaded with firmware that allows its pins to do lots of interesting things, under the control and guidance of a smarter host, such as a PC or Palm Pilot.

In developing these pin modes, I've tried to support lots of different common tasks that people use microcontrollers to perform. Unfortunately, there is a limited amount of flash (program storage) space in the Serial Wombat. Therefore, I can't support everything! Or, at least, not everything at once. This was the original reason I envisioned the SDK. It would allow me to create separate, downloadable add-on modules to support a wide variety of tasks and hardware. The SDK has become sufficiently general and useful that I want to make it available to everyone who uses the Serial Wombat.

Download it here!

There are a number of reasons you may want to create your own pin mode:

  • The existing firmware doesn't support some piece of hardware you wish to use. Perhaps it's a graphical LCD, a spi-based accelerometer, or a classic Nintendo NES controller. Whatever the case, you've decided that you can't interface it effectively by flipping pins under host control, so you want to create a pin mode.
  • You want to offload some highly specific logic to the Wombat. Maybe you want to set pin 27 low if the A/D on pin 2 is above 38000, pin 19 is high, and pin 20 and 21 are both low. You could implement this logic on the host side, but your reaction speed would be limited by the serial link. By putting such logic inside the Wombat, you can easily do this hundreds or even thousands of times per second.
  • You want to create pin modes that can function faster than existing Wombat modes. The Wombat firmware works very hard to make all pins look the same to the user. Doing this requires a couple of layers of hardware abstraction in the code, and this abstraction takes time to execute. Since I don't know what you're going to use your Wombat for, I try to make it as general as possible.
    You, however, have no such limitations. By skipping through some layers (Reading directly from the PORT registers, for instance), it is possible to create special-purpose pin modes that can perform substantially faster than modes that use the system calls I provide.

The SDK is designed to be easy to use as well as powerful:

  • The SDK only requires a few files I provide, plus the free, standard MPLab IDE and C18 compiler (student edition) provided by Microchip.
  • The SDK allows you to program in ANSI C, not some proprietary derivative of BASIC, or other interpreted language.
  • The SDK compiles code into actual machine instructions. There's no interpreter to slow you down. As such, the Serial Wombat allows you to write pin modes that are much more compact and faster executing than would be possible on many BASIC based solutions
  • Since the SDK uses ANSI C, you can take your code with you if you ever start designing for blank Microcontrollers, such as the Microchip 18F4620 PIC that the Wombat is based on.

What the Pin Mode SDK is not:

  • The SDK is not designed to replace the Serial Wombat firmware
  • The SDK is not meant to help develop a stand-alone application. It's only meant to allow you to expand the capabilities of the Wombat.
  • The SDK isn't meant to allow the Serial Wombat to behave like a Basic Stamp or PICAXE.

A note about support:

The Pin Mode Software Development Kit is not officially supported. That is, I may not be able to help you if you have trouble creating or modifying a pin mode. Please understand that I develop the Serial Wombat as a second job, and simply can't afford the time required to help people learn embedded software development when my net margins are less than $10 per chip.

That said, if you have trouble, drop me an email anyway. If I'm not busy, I'll try to help you solve your problem. My favorite part of the Serial Wombat business is interacting with my customers, and learning about the problems they're using the Wombat to solve. But I can't guarantee that I'll get back to you with questions on this topic, especially if I am doing overtime at my first job (which pays the mortgage), or assisting other Wombat users having trouble with basic functionality.

Topics:

  1. Pin Mode Creation Process Overview
  2. Restrictions (or, playing by the rules)
  3. Pin Mode Overview (Example 1)
  4. Example 2: Using a Pin's Persistent Memory
  5. Example 3: Processing incoming messages
  6. Service Functions List
  7. The SDK files
  8. Creating a Pin mode which uses more than one pin
  9. Using the SPI
  10. Building a module with more than one pin mode
  11. Right Down to the Metal

Other Examples created with the SDK:

SED1330 Graphic LCD Driver
SPI Based LED driver
 

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