home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #16 / NN_1992_16.iso / spool / comp / windows / x / 14180 < prev    next >
Encoding:
Text File  |  1992-07-22  |  5.8 KB  |  161 lines

  1. Newsgroups: comp.windows.x
  2. Path: sparky!uunet!europa.asd.contel.com!darwin.sura.net!news.udel.edu!diu!lance
  3. From: lance@diu.cms.udel.edu (Dan Lentz)
  4. Subject: xview, UPS, etc
  5. Message-ID: <Brsq8D.5zu@news.udel.edu>
  6. Sender: usenet@news.udel.edu
  7. Nntp-Posting-Host: diu.cms.udel.edu
  8. Reply-To: lance@diu.cms.udel.edu
  9. Organization: U of Delaware, College of Marine Studies / Lewes
  10. Date: Wed, 22 Jul 1992 15:12:12 GMT
  11. Lines: 148
  12.  
  13.  
  14. The following is the README for a little desktop toy I made to interact with our
  15. UPS.  If anyone is interested, please email me and I'll get you a copy.  I used
  16. xview 3.0 and sun's devguide, but (they tell me) it can be compiled even if you
  17. don't have the devguide. 
  18.  
  19. ---------------------------------------------------------------------------
  20.  
  21.                    X U P S
  22.  
  23.                  Version 1.3
  24.            (Don't get excited; the rest were internal)
  25.  
  26.                  By Dan Lentz
  27.  
  28.                    7/22/92
  29.  
  30. lance@diu.cms.udel.edu
  31. ---------------------------------------------------------------------------
  32.  
  33. 0.9 WHO YOU SHOULD BE
  34.  
  35.     You need to be a person who has access to an X station
  36. complete with the XView libraries.  You also need to have a BEST MD
  37. series UPS, or compatible hooked up to the serial port as described in
  38. the manual.  This program can be modified, or course, to run with
  39. other UPS's.  I'll talk about that later.
  40.     And also you need your kernel configured for shared memory.
  41. This program is untested, except on a SPARC IPX running SunOS 4.1.1.
  42. I didn't do anything terribly bizarre, though, so any changes that
  43. need to be made should be minimal.
  44.     
  45.  
  46. 1.0 THE PURPOSE 
  47.  
  48.     The xups package is basically something designed so that you can
  49. have yet another nifty window on your desktop.  Other than that, it
  50. allows you to monitor the status of the UPS and create a shell script
  51. that will execute whenever the inverter clicks on.  
  52.  
  53. 1.1 THE NATURE OF THE BEAST
  54.  
  55.     This package works in two parts: UPSD and XUPS.  UPSD runs in
  56. the background all the time.  It allocates 81 bytes of shared memory
  57. to hold the 80 character hex status string that the UPS sends back.
  58. Then, once a second it polls the UPS and updates that status string.
  59. Once per minute it writes some stats to a logfile.  XUPS is the front
  60. end.  It sets ups a timer to parse that 81 character shared memory
  61. string once per second, and update the display.  It also executes a
  62. shell script (specified in config.h) when the inverter goes on, and
  63. draws a new bitmap in the base window.  
  64.     Xups was created using ansi C (compiled with sun CC) and sun's
  65. devguide 3.0. 
  66.  
  67. 2.0 INSTALLATION
  68.  
  69.     First, edit config.h to reflect your local setup.
  70.  
  71.     Decide now if your UPS is set up for 4800 baud transmission.
  72. If not, you can either change the UPS's baud setting, or go into ups.c
  73. and alter the function open_port to set it up for some other data
  74. rate. For example, for 1200 baud, change B4800 to B1200.  Pretty
  75. straightforward, really.  My UPS's entry in the /etc/ttytab looks like
  76. this:
  77.  
  78. ttyb    "/usr/etc/getty std.9600"       unknown         off local secure
  79.  
  80. A good test is that if you can edit your /etc/remote and add a line
  81. something like:
  82.  
  83.             ups:dv=/dev/ttyb:br#4800:
  84.  
  85. and then                tip ups
  86. and get connected and interact with it, then you're ok.  If you can't,
  87. chances are that it isn't set up correctly.  If everything works ok,
  88. then you may proceed:
  89.  
  90.           make -f Makefile.upsd 
  91.     Then      make
  92.     Then       make clean
  93.  
  94.  
  95.     If you happen to be that sort of person, everything will be
  96. working at this point.  Start the upsd, let it run for a second and
  97. then you're free to start as many xups windows as you like.  Just one
  98. is recommended, but more won't hurt.  Just remember that each copy
  99. will execute the shell script if the inverter clicks on.   
  100.  
  101.  
  102.     On the other hand, you may not be compatible with me UPS-wise.
  103. If that happens, then first decide if you know how to program or not.
  104. If you have some experience with C, than it shouldn't be too hard to
  105. change the program to be compatible with your UPS.  You need to edit
  106. the files ups.c and upsd.c and change the annotated parts which query
  107. the ups, and parse the return string.  Other than that, once you get
  108. the values from your ups into my UpsData struct, everything should
  109. work ok.
  110.  
  111. 2.1 FEATURES TO BE ADDED
  112.  
  113.     If I ever get around to it, I was thinking about a couple of
  114. things:
  115.  
  116.     o    Make the daemon execute the shell script instead of
  117.         the front end.  This would ensure that it only gets
  118.         executed once, and that it would get executed even if
  119.         the person were not logged in.
  120.  
  121.     o    Another set of bitmaps, for the discriminating user
  122.  
  123.     o    Something so that you could actually change the
  124.         settings of the UPS from this interface.  That
  125.         wouldn't be too hard, I don't think, but would make
  126.         the program even more BEST MD specific.  
  127.  
  128.     o    The BEST MD gives you a nice waveform when you type P.
  129.         So, I was thinking about opening up another canvas and
  130.         painting that, but it seems to be a lot of trouble for
  131.         nothing, really.  I might do it anyway, though, for
  132.         the play value...
  133.  
  134.     o    Maybe support for other UPS's? 
  135.  
  136. 2.1 FEATURES NOT TO BE ADDED
  137.  
  138.     o    A built-in WYSIWYG typesetter
  139.  
  140.     o    A patch to make your sparc twelve times as fast when it is
  141.         running this program.
  142.  
  143.     o    Yet another xbiff 
  144.  
  145.  
  146. 2.2 WHAT ARE YOU WAITING FOR? GO COMPILE THE DAMN THING
  147.  
  148.     Any questions need to be sent to me: lance@diu.cms.udel.edu.
  149. If you change anything, you need to contact me.  Esp if you set it up
  150. for another UPS, get in touch with me and I'll add it in.  There's a
  151. bunch of standard stuff that I'm sure you're aware of.  The software
  152. is copywrite 1992 by the University of Delaware, it can't be used for
  153. commerical gain, or included in any commercial product without prior
  154. written consent from me.  This software may be freely distributed in
  155. the original form.  You may modify this for your own use, but may not
  156. distribute modified copies.  
  157.  
  158. This is BeerWare.  If you like it, send me some Guinness Extra Stout. 
  159.  
  160.  
  161.