Difference between revisions of "BitWacker Command GUI"

From OpenCircuits
Jump to navigation Jump to search
Line 74: Line 74:
  
 
*Output Pin
 
*Output Pin
3 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? ).  
+
**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
 
**Output: None
  
Line 82: Line 82:
  
 
*RC Servo
 
*RC Servo
**Input: As with Output Pin except that state is 0 to xxxxx ( decimal ) 0 for RC off, 1 for no rotation, xxxxx for full rotation.
+
**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
 
**Output: None
  

Revision as of 18:31, 29 May 2008

Summary

  • Name: BitWacker Command Graphical User Interface
  • Status: still developing, but is working. Implementation is incomplete
  • 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.

Early Mock Up of Screen

Screen Shot

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

Not posted yet, for now email russ_hensel

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.