Update Jan 6 2007
for JAL ver 0.4.62 down load and use markiii_jal_0_4_62.tar.bz2
Updated Dec 4 2004
with JAL version 0.4.59
version.
This is a modification to the newly GPL ed
version of the PIC compiler JAL. http://www.voti.nl/jal/
The
hack made enables compiler assembly and hex
output that is compatible with the Rick Farmer boot
loader that is part of the Mark-III mini sumo robot.
JAL works
well under
Windows and GNU/Linux, and its being used under OS/2 and FreeBSD and
Macintosh as well. For GNU/Linux users of the Mark-III I have a
web page that should help get you started. markiii_linux, it walks you through the
patching process as well as how to down load code to the Mark-III boot
loader using GNU/Linux tools.
See
below for the complete sample program suite
I’ve developed for the Mark-III in JAL. It’s
mostly a port of the same suite that I developed in CHBasic last year.
The
JAL source code available off this page is a
modification to the Source
Forge version of JAL.
All
of the JAL sample source code off of this page
is as GPL licensed as well, although I still need to update the source
with the standard copyright BS.
The
jal-4_59_MIII_win32.zip
file contains the
MSVC6.0 compiled jal.exe file the documentation and
the standard JAL libraries that will produce output that works with the
Mark III boot loader.
The jal_4_59_MIII.patch
file contains the delta from the SourceForge released version that you
can build if you like. It builds and works
under Cygwin
and Linux.
Get
Cygwin via the
net
or get it in CD form, http://cart.cheapbytes.com/cgi-bin/cart/search.html?se=cygwin. You’ll be glad you
did J
Some
notes:
- To use unzip the jal-0_4_59_MIII_win32.zip
file and rename or
add this directory such that its in your
search path, and you are ready to go.
- If you fix a bug or add some
feature and you feel like it, do send me your changes mark@thegnar.org and I’ll see
if I can get it into my latest version.
- If you find a bug that you cannot
fix, feel free to ask me for some help, but keep in mind I don’t
know JAL very well.
- This zip file version of JAL includes
a library file pre-installed that you will need, if you choose to build
from source from Linux or Cygwin you should be sure to copy this file
to
the shared librayries directory (normaly
/usr/local/share/jal/lib)
Sample
programs ( zip file, for you
Windows people and tarball
for you Gnu folks;):
- Hello: test built using Cygwin and loaded onto my MarkIII.
- Printk:
Debug print hex values for bytes through the serial port.
- Serial: another sample program
exercising the serial port for input and output.
- Sensor: test program for sampling
the Mark-III sensors and printing out the values.
- Timer: this is a test program for
setting up timer interrupts in a similar manner to what I did in my
CH-Basic sample programs. See the comments
for details on how it works.
- ServoTest:, sample program for calibrating the servos,
type 5 for 1.5ms, type 7 for 1.7ms, 3 for 1.3ms duty cycle pulses
going to the servos. This is also the
servo
adjust program you need to set the zero points (1.5ms) for your
servos.
- Line: The simple line following
program with support for that stopping gate. (With
a little effort to make it handle the crossing lines this program
on a Mark-III could run the advanced line course ;)
- Sumo: This is the simple mini
sumo robot program. It’s about the same as
what was written last year.
- Dir: This is a simple program
that you may want to use to validate that your servos are hooked up
the same way as mine. Running this program
results in the robot moving in the following manner in a repeated
cycle. (stop, forward, right, spin right, left, spin left,
backward, pause)
Sensor Board JAL samples:
Note: useing the sensor board has a few of gotcha's that
are called out in my commets.
- htest :
H-Bridge unit test program in the same sprit as the ServoTest
program. The controls are more complex, and you need to send a
lot
of "L" charactors over the terminal to get the moters reved up.
However; it works. Look at the code and comments to see how its
serial port UI is set up. This is a nice example of using PWM
moter control as well as I2C within JAL.
- WWtest
: This is a unit test of
Pete's Wheel
Watcher hardware based on the htest program.
- compass : This is a unit test of the
Devantech Electronic Compass Mark-III interfaceing and communications
over the JAL bit banged I2C library.