[comp.lang.forth] Real Time Forth

saare%bede5@Sun.COM (John Saare) (07/13/89)

Hi:  I hope this note isn't so disjoint as to offend:

	I'm planning the construction of a SMALL engine monitoring
and navigation augmentation system for a homebuilt airplane.  This
project was initially shelved when the hardware design and development
environment issues overshadowed the whole idea of building a plane.
	Recently,  I've decided to start looking at the project again
with the idea of using as many off the shelf components as possible.
I've considering basing the system off of either the AMPRO 86/286
XT/AT clone boards (5 /14" form factor) or something based on the Intel
Wild Card (core XT components, credit card sized).   In the same
vein, I've been considering using Forth as the development environment
(cheap, easy prototyping, COMPLETE).
	In earlier notes, I've seen mention of PC/Forth+ from LMI...

Question:  What Forth would you recommend that is possessed of the
	following qualities:
	- Easy to use in a "rough" hardware environment...
	- Not dependent on a supporting O/S...
	- ROMable
	- Reliable
	- Runs on '86 family...

Any suggestions?

Any cheap FORTH engines (chip-sets) out there?

Thanks !!! -- John Saare

RAYBRO%UTRC@utrcgw.utc.COM ("William R Brohinsky", ay) (07/13/89)

In his message posted 13jul89 1:11, John Saare writes:
>        I'm planning the construction of a SMALL engine monitoring
>and navigation augmentation system for a homebuilt airplane...
>        Recently,  I've decided to start looking at the project again
>with the idea of using as many off the shelf components as possible...
> I've been considering using Forth as the development environment
>(cheap, easy prototyping, COMPLETE)...
>Question:  What Forth would you recommend that is possessed of the
>        following qualities:
>        - Easy to use in a "rough" hardware environment...
>        - Not dependent on a supporting O/S...
>        - ROMable
>        - Reliable
>        - Runs on '86 family...
>
> Any suggestions?

I have used the NMIX series of boards from New Micros, Inc. of Dallas Texas
with very good results.  They are well built, sturdy, complete, and use
forth-on-a-chip software. Once code is written and debugged, it can be ROMed,
or downloaded each time (which makes the continuous updating of software
a lot easier). Whether ROMed or downloaded, the system works identically for
testing purposes.

These newest boards use the 68HC11 chip. This is NOT an '86 family
architecture, I know, but for control applications the '86 family is like
swatting flies with a caber- it may be effective if you can aim it, but
not easy to use in any hardware environment. (I admit my predjudice against
segmented architectures and seperate memory and peripheral busses.)

In favor of the 68HC11 chip are 8 built-in a/d's, 5 built-in timers, 2 serial
channels (one standard comm type, one "micro-wire" type for inter-processor
communications), the ability (with the 68HC24 chip added) to use all of its
parallel lines (40 of them, in 5 8-bit ports) if you aren't using the other
peripherals (a/d lines take one par line each, serial comm uses 2 (minimally)
micro-wire uses 3, timers only take one line each if you use external I/O on
them, but they can do internal timing without using up a line). This is a
lot in favor of the 'HC11, but MAX-FORTH allows using all of it, pluse the
on-board EEPROM (512 to 2K bytes, depending on which 68HC11 version you use).

The NMIX-0022 (which I have used) is the most fully-packed of the series, and
costs around $350 with MAX-FORTH development software. Other boards are
available, and are essentially designed to be target (finished apps) boards:
some lack the 'HC24, some come without either HC chip, etc. To develope an
application, you use the serial channel from another computer (which acts
like a dumb terminal, but with memory and mass storage). Write the code on
the host computer in sequential/text/non-block files, and download the code
thru the serial channel to the board. The code is ROMable, and is beheaded
in the process, which makes relatively secure code.

I used the board for a computer-controlled Laser Speckle Photogrammetry
system, driving a photographic-glass-plate transport and a 10-J pulsed-ruby
laser (nasty, powerful thing) and getting input from an optical one-per-rev
device of our design. I charged the laser by hand (there being no other
way to do it) and told the NMIX board when to start a sequence by typing
on a TRS-80/Model 102. The board then calculated how long before the next
one-per-rev pulse to fire the flashlamps so that the Q-switch could be fired
from the one-per-rev and we'd get full power. It also gated the one-per-rev
pulses so that the laser would not fire prematurely, and operated the plate
transport to prepare for the next shot. Before moving the plate, however,
the NMIX board would calculate the actual RPM and print this and the run
and plate number on the glass photographic plate with a set of HP character
leds.  I recieved a design award here for the system.

Your needs could be met easily with a laptop-pc with one serial port, a comm
program and a navigation program, and an NMIX-0022 board with sensors in
appropriate places.  This would give you an optimum nav interface, while
offloading all control functions to the NMIX. The PC would give you the
ability to query the NMIX if necessary.

New Micros address is
        New Micros Inc.
        1601 Chalk Hill Rd.
        Dallas, Texas 75212
        (214) 339-2204

-raybro
Disclaimer: I don't work for or get money from New Micros, all opinions here-
in expressed are mine, although others may share them freely, and UTRC and
UTC do not endorse anything I say here.         -raybro

brunjes@rtech.rtech.com (roy brunjes) (07/14/89)

In article <115176@sun.Eng.Sun.COM> saare%bede5@Sun.COM (John Saare) writes:
>	In earlier notes, I've seen mention of PC/Forth+ from LMI...
>
>Question:  What Forth would you recommend that is possessed of the
>	following qualities:
>	- Easy to use in a "rough" hardware environment...
>	- Not dependent on a supporting O/S...
>	- ROMable
>	- Reliable
>	- Runs on '86 family...

Well, as I understand it LMI's PC/Forth+ is a nice Forth, but does require
the presence of DOS to run.  I might be wrong about this since I don't
own a PC (or Clone) -- I own an Amiga and run JForth.  I do know that
PolyForth does not run on top of DOS, but I do not know if it meets the
ROMable requirement.  Anyone else out there with actual experience with
PC Forths care to comment?

Roy Brunjes

Disclaimer of the day:  These ramblings are my own and not those of my
			employer.