Subject: DOS quick basic fuel injection software
From: Rotary Engine
Date: 11/24/2009, 5:32 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

   ----------------------------------------------------
   This makes the DOS-QB-EFI look much better.

    http://www.bootdisk.com/usb.htm

   All sorts of possibilities are opended up.
   Booting DOS from a USB stick would be ideal,
   No need for a fragile hard drive.
   Booting DOS from a small net book from a USB 3.5 floopy drive.
   USB to par. printer port for injector triggers.
   USB to RS232.

   The next thing is getting my tiny EeePC to boot DOS :)

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

   I wrote a short program to see how fast QB was in terms of instructions
   per second. This was QB running under Windows XP in a command window.
   This was my old HP notebook computer so I don't know how fast the
   processor is. My guess is 500 Mhz

   Here is the program
   CLS   'clear screen
   PRINT TIME$   'print the current time to the nearest second.
   FOR x = 1 to  9000000  'count up to nine million
   NEXT
   PRINT x
   PRINT TIME$

   The program completed in 3 second or 3 million QB instructions
   per second in interpreter mode. Plenty fast enough.

   With out compiling this program and disassembling the compiled
 code I don't  know how many machine level instructions were needed
 for each QB  instruction.  The compiled code size was 26K bytes. The
 compiled code took 8 seconds to  complete so something is strange.
 Compiled should be faster. I'll run the  same test on the stand
 alone DOS computer and report back.

   Paul Lamar

 http://www.cpuid.com/cpuz.php

 <http://www.cpuid.com/cpuz.phpThis will give you all the processor info.

 Vlad

  Have you guys seen the Jan Hot Rod. There is an article on the ISIS
multiplex system. I know it does not fit the inexpensive route, but the
master cell would run the engine ignition and EFI. With one slave the nav
lights etc could be run. Just interesting technology available.

DAle Davies


Can you scan it and send it to me?

Paul Lamar

As far as QB, I had
a course on it in the ninties when I was getting my BS.  We need to find an
inexpensive small computer that takes DOS. An outline of what hardware is
needed.  There seems to be QB sites on the web also.  I have a Timex around
here somewhere.

Joe Berki
Limo EZ

The VIA-EPIA- mother board I have cost $90 with the processor. All you need is a minimum amount of memory as DOS only uses 650K. I have not tried it but there may be enough memory in the cache so you may not need to buy memory at all.

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.