Subject: DOS quick basic fuel injection software
From: Rotary Engine
Date: 11/21/2009, 9:17 PM
To: AAA Put this in the To box


Here are some ideas for your new toy.
See if it will go into command mode or DOS mode. Don't laugh. Dos has some
real time advantages. XP will go into DOS mode. If it goes into DOS mode
it
may be possible to do all sorts of real time  hardware stuff like fuel
injection systems. Windows and Linux are multitasking which make them near
useless for real time hardware stuff. Too much background house keeping
going on.

If it will run DOS it will probably run Quick Basic Compiler that can
access
the USB ports directly as serial ports in real time. I run QB in XP all
the
time.  Quick Basic has real time commands for directly controlling hard
ware
including serial ports. It is small enough that I can email it to you. It
is
very easy to learn. Many of us older computer users already know how to
program in QB. I have tons of source code including a moving map program
that takes in data from a GPS. UPS GPS receivers are available.One can
buy a USB to parallel adapter kit that will out put 8 bits at a time with
hand shaking. Each bit could control an injector. The key is what is
avaible
in USB as most note books or net books no longer have parallel printer
ports.

The other possibility is boot up DOS directly from a 3.5 inch floppy disk.

I have a VIA EPIA PC mother board at the hanger that cost less than $90
with
the processor on board with floppy connector. It has a PCI connector so a
4
parallel port card can be bought at low cost and plugged in. The
combination
is way more powerful than you need but the price is far far cheaper than
some embedded systems that are designed for hard ware control. A fuel
injection program can be written in minutes. The only thing missing is an
A
to D.
Of course any old mother board will work too.

http://www.via.com.tw/en/initiatives/empowered/pc3500_mainboard/index.jsp

I'll get it up and running tomorrow with DOS and QB.


Paul Lamar


Make a folder  under 7 called QB1. Save this zip file to that folder.
unzip it and delete the .zip file. Call up the command line. "cd" to the qb1
folder with a successions of "cd". When you get there type qb on the commad
line and the qb program integrated development system will run. You will come
up in the editor and you can run the the program directly from the editor or
compile it from the editor. The help is self contained. The editor is smart
and will automatically correct a lot of your syntax errors. It is the easiest
programming language ever written.

type in this program:

for x = 1 to 10
print "craig"
next
exit

A high speed data acq system is trivial to write.
We are talking 1000's, of samples per second here.

It could be as simple as this

Start:
data1= peek (xxxxx) 'where xxxxx is the address of the A to D hooked to
' the parallel port.
print data1
goto start

http://www.petesqbsite.com/sections/tutorials/zines/qboa/4-beginner.txt


Paul Lamar

Yes, package received. Thanks a bunch. This should be quite educational.
When you talk about the bounces, there is an automatic security block on
Ford corporate servers that trashes all messages with .zip files
Probably something similar happened with your post to other members. This
address is  my personal box, so it comes right through.
C. Smith

-------------------------------------------------------------------

Here it is my DOS QB EFI source code. Took me less time than I thought.

For illustration purposes I limited the A to D to 2 bits or four
possibilities. Same for the RPM so this is a crude system.
I simulated reading the A to D by a keyboard entry of an integer number
between 1 and 16.

4 MAP readings  times 4 RPM readings is 16 so all we have is 16 different
pulse widths. Consider the integer PW number of 60 as 6.0 ms.

This of course could be expanded to a 8 bit A TO D in that case there would
be 8 x 8 or 64 pulse width numbers. That should be sufficient to get the
engine in the mixture ball park.


The trade off here is a couple of hundred dollars worth of stock PC parts
compared to say something like a Megasquirt for easier programming. All sort
of other things can be done with the full screen of course in terms of
displaying all sorts of other data. For example the screen could read out the
real time value of the pulse width being used and the RPM. It could also
total the pulse widths and read out the GPH. It could also run my DOS-QB
based moving map software as I only need that data out of the GPS once per
second.

A program to access the USB port from DOS would be a big plus.

--------------------------------------------------

I improved the program somewhat by separating the RPM and the MAF inputs to
make it a bit more realistic.

I also added a pulse width generators as mPC hard ware does not come with one.

CLS
INPUT "Input RPM "; RPM
INPUT "Input MAP"; MAP
position = RPM * MAP '"address" in the mixture table
TYPE PWlist
PW AS INTEGER
END TYPE
DATA ,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,
FOR x = 0 TO position
READ PW
NEXT
PRINT
'pulse width generator
PRINT "00000000";
FOR y = 1 TO PW'delay up for  injector trigger.
PRINT "1";
NEXT y
PRINT "00000000"  'take the pulse back down

To change the mixture one modifies the numbers in the DATA line.
This version is still 2 bits to keep it simple.
3 bits would give us 7 combination each for RPM and MAF so the resolution
would increase to 49 pulse widths.

-----------------------------------------------------------------------
Is anybody else interested in this approach. I can do a PC board that
plugs into a printer port with injector drivers on it.

-------------------------------------------------------
Here is a start on building a low cost A to D that will interface to a
parallel printer port. Our mother board of choice has one. Most early mother
boards had a parallel printer port. The rest of the bits on the port can be
used for injector drivers. One card can do it all. However it might be easier
to program if the RS232 was used for the A to D input and the printer port
saved for driving the injectors. I'll look into that next.

The hex port addresses  for printer port can be PEEK'ed to read them in QB
directly in real time.  Don't be confused by the Linux code. DOS-QB can use
the addresses and read or out put data to the port just as well as this code.

http://tldp.org/LDP/LGNET/118/chong.html#Interfacing1

---------------------------------------------------------------------------
Here is a handy hex to decimal converter. Decimal numbers are easier to use.

http://easycalculation.com/hex-converter.php

Paul Lamar
-- 
The Rotary Engine NewsLetter. Powered by Linux.
ACRE NL web site. http://www.rotaryeng.net
Youtube key word UTUBPLEASE
Copyright 1998-2009 All world wide rights reserved.