BitWacker Command GUI

Summary

 * Name: BitWacker Command Graphical User Interface
 * Status: still developing, but is working. More features comming.
 * Technology: Java -- should run on many platforms, Windows 98 through Vista, Mac, Linux
 * Author: russ_hensel ( where you can find an email address to reach me )
 * License: not fully determined, but open source and object code.

Purpose:

The project is a specialized communications program designed to issue commands to a USB Bit Whacker. Input format is specialized to make input easy. I/O direction is specified in binary to make it clear what the function of each pin is.

A complete log of activity is provided both to the screen and to a log file.

This is one of a series of articles on Microcontroller Serial Communications, rooted at this site here: Microcontroller Serial Communications Articles

Early Mock Up of Screen


Notes:


 * Inputs are on the left hand side of the screen, fields have a white background.
 * Buttons are in the middle.
 * Outputs are on the right, fields have a gray background.

Field lablels may include a note as to the data type to be entered:
 * (b) binary, eight characters 0's and 1's as 00101111.
 * (d) decimal, a normal decimal number.

Some Features

 * Has most of the general features of RS232/USB Probe but specialized to the BitWacker, there are special fields for input and output which are treated as the most appropriate data type: for example the io configuration of a port is entered in binary for easier understanding of the input. The buttons remember the command string and formats up the command string ( after validating the inputs ).


 * Does not support the bulk commands, support is for the commands with a single response.


 * Checks for and reports BitWacker errors.

Menu Choices

 * File -> Exit
 * Closes the comm port and exits the application.


 * File -> About the Application
 * About Box for the Application

Download and Install
See the page BitWacker PIC and Other Microcontroller to Java Communications

Command Details
These commands are fairly direct implementations of the basic command set of the BitWacker. The interface does change format of the input. For example in configuring the IO ports binary seems easier than decimal.


 * Reset ( Reset )
 * No input, no output, should just work.


 * Version
 * Input: none
 * Output: ( Field Version ) is the version response from the BitWacker.


 * Configure
 * Input: 4 Fields, 3 Fields( binary ) for the direction of PortA, PortB, PortC ( 1 is input, 0 is output.), and one input for then number of Analog channels ( 0 to 12 ).
 * Output: none.


 * Output All
 * 3 inputs, one field for each port. Binary input 1 for output high, 0 for output low.


 * Input All
 * Input: Output one field for each port, binary.


 * Output Pin
 * Inputs: Port Field ( use either decimal numbers 0, 1, 2, or A, B, or C).  Pin Field, use decimal number 0 to 7.  State  0 or 1 ( could be in any base, how can you tell? ).
 * Output: None


 * Input Pin
 * Input:2 Inputs. Port use either decimal numbers 0, 1, 2, or A, B, or C.  Pin, use decimal number 0 to 7.
 * Output: State of pin; 0 or 1.


 * RC Servo
 * Input: As with Output Pin except that value is between 1 and 11890 and will cause a high pulse whose duration is proportionally between 1ms and 2ms. These pulses repeat every 19ms. This controlls the servo's rotation
 * Output: None


 * Memory Write
 * Input: Address to be written to.  Value to be stored in the address.
 * Output: None


 * Memory Read
 * Input: Address to be read.
 * Output: Value stored in the address.

Bugs and Enhancements
See the list at RS232Probe Enhancements and Bugs a list for all the related applications.