My JAL


I've done a lot of projects with JAL and a page on this topic was long overdue. This page is still not what it's supposed to be; it's just a brief overview of some of my projects (be sure to check out my robot pages too!). But it's a start and I expect it's usefull for some of you! And if you have questions, feel free to email me.

History
My first PIC micro was a 16f877 which came with the MARK III. Actually, the controller was an OOPIC, but I was disappointed with the capabilities of this interpreter. So I decided to try JAL, developed by Wouter van Ooijen. To program the controllers, I bought a wisp628 programmer. This comes with a python program, but I prefere the windows executable xwisp2w RobH made.
This was the first of many PIC/JAL projects.

My second JAL project was an I2C slave IO controller with two Sharp distance sensors, each mounted on a servo. This concept - an I2C slave PIC which controls some outputs, reads some inputs and does pre-processing - worked quite well and was re-used dozens of times in my robots.

Some of these are:

FrontEye - Two Sharp sensors, each on a servo (roadbot 2).
Electronic Speed Controller - An H-brigde and servo controller to control an RC-car (roadbot 2).

Mconsole - A LCD display, keyboard, Lego RC receiver and some LEDs (mbot).
MMotorController - Dual H-bridge controller (mbot).
MLineSensor - a sensor with 8 CNY70's for a line-following robot (mbot).

But there where also a few non-I2C slave projects. One is my datalogger, using an 18F242 which receives data from it's sterial port and stores it on a SD memory card.
An other non-I2C projces was MazeBot - a maze solver, based on an 18F542 because the 16F series did not provide the memory space required to store and solve a 16x16 maze. This was one of the most complex projects I did in JAL and I was not confronted yet with the limits of JAL (V0.4). But the next project did...
This next project was my balancing robot (sorry, no page yet). This robot required a lot of calculations with 16, 24 and 32 bits vars for signal processing. The balancing robot worked, so this proves it could be done in JAL but... variable space was almost exhausted (since the old JAL only supported vars in the first bank) and I spend a lot of time on working with larger variables rather then on the balancing issue's itself.

(Here are the motorcontroller and sensor of the balancing robot)

At that time (great timing!) JAL V2, developed by Kyle, was announced. JAL V2 is a complete rebuild compiler and supported a lot of new features, like longer variables. With this beta-version of the compiler, I developed Sbot - a line following robot with stepper motors which competed in Roborama 2006.
From that moment on, al my 16F projects (18F chips are (were?) not supported yet) are developed in or converted to JAL V2. One of those is Mbot, with 4 I2C slave pics, which competed in Roborama 2006 and 2007. And currently, I'm working (amongst others) on new software for my balancing robot.

As you might have guessed, imho JAL is a great language. And.. it's free and has an large and active community. See links below for the pages of some of them and take a look at the JAL list.



Bert van Dam heeft een boek geschreven
over programmeren van PICs met JAL V2.


Links:

Kyle
Stef
Vasile
Wiliam
Wouter
Rob
Andre
Mike
Javier
Stefan
Bert
Sunish

My Robots

Joep Suijs