 * All information below was taken from apcd.c & apcd.h
 *
 * Definitons file for APC SmartUPS daemon
 *
 * Copyright (c) 1995 Pavel Korensky
 * All rights reserved
 *
 * A few words regarding the APC serial protocol
 * 
 * Firstly, the cable:
 * You will need a simple 3 wires cable connected as follows:
 *
 * PC (9 pin)     APC
 *  2 RxD          2
 *  3 TxD          1
 *  5 GND          9
 *
 * Insert by Andre Hedrick
 *
 * Use APC Cables #940-0024B and #940-0024C
 * This has been tested on a SmartUPS SU700/1400RM only.
 * Will work with SMNP card in SmartAccesories Slot
 *
 * Communication protocol which is used for controlling the APC SmartUPS
 * is very simple ASCII protocol.
 * The serial communication is 2400 Bd, 8N1
 *
 * Basically, your computer send a character to the UPS and UPS answer
 * with the requested information in the form of the ASCII string terminated
 * with CR/LF.
 * In some cases, the UPS answer is the action like battery test etc.
 *
 * There are two exceptions. If the UPS is switching to the battery, the
 * characters "!!" are sent to the computer. If the UPS is switching back
 * on-line, the charater '$' is sent to the computer. If battery is low,
 * '%' is sent to the computer. When battery is recharged to more than 15%,
 * '+' is sent to the computer.
 *
 * The protocol description is not based on informations obtained from APC.
 * I tried to analyse the protocol on RS-232 port, so my description
 * is not complete.
 *
 * Command are:
 *
 * SEND  ANSWER
 *
 * f     Battery status in %   100 = fully loaded
 * N     Line minimum voltage (V)
 * M     Line maximum voltage (V)
 * Q     Status byte 8 bits long.
 *         - 08  On-line LED ON
 *         - 10  On Battery LED ON
 *         - 18  Both LEDs ON
 *         - 02  UPS in shut down state, waiting for AC                  
 *         - 50  if the battery power is almost used up,
 *                and the UPS starts beeping without pause.
 *
 *         0 - If 1, UPS is in calibration
 *         1 - If 1, UPS is sleeping
 *         2 -
 *         3 - If 1, AC is here
 *         4 - If 1, UPS is running on battery
 *         5 -
 *         6 - If 1, Battery is low
 *         7 -
 *
 * P     UPS load (VA)
 * F     Line frequency (Hz)
 * L     Line voltage (V)
 * O     Output voltage (V)
 * C     Inside temperature (Celsius degrees)
 * B     Battery voltage
 *
 * Some signals for UPS control
 *
 * Y     Attention
 * W     Switch on battery
 * X     Switch back on-line
 * A     Lights test
 * U     Power failure test
 * c     UPS identification ???
 *
 * One very special signal
 *
 * Z ~1500ms pause Z  Switch off the UPS completely and imediately
 *
 *
 * Special thanks to Kevin D. Smolkowski (kevins@tigger.oslc.org)
 *  who observed other control codes
 *
 * D     Runtime calibration   ON/OFF
 * V     Firmware revison
 * c     UPS Identification
 * k     UPS Warning (Power Fail, Power Fail + 30, Low Battery, OFF      
 * l     Low transfer point
 * m     Manufacture date
 * n     UPS serial number
 * o     Nominal UPS output
 * p     UPS turn off delay "020" "180" "300" "600" Cycles
 * q     Low battery signal time "02" "05" "07" "10" Cycles
 * r     Wakeup Delay
 * s     Sensitivity "H" "M" "L"
 * u     High transfer point
 * x     Battery replacement date
 * y     Brand "(C) APCC"
 * 7     Option switch settings (Hex) "0F" "0E" "0C" "08" "00"
 *
 * -     Change prev. settings
 *
 * To change UPS name   c - /n newname /n
 *
 *
 * Further codes, not fully tested
 *
 * S     Soft shutdown, UPS will go back on-line when AC is back
 * @222  Soft shutdown, UPS will NOT go back when AC is back
 * U     Power failure test
 * G     Return 'T' if there was a power failure 
 *       Return 'S' if there was not a power failure
 *       Return 'L' if there was a power failure during sleep mode.
 *       UPS Test will reset the value to the 'S'
 * K 1500ms pause K        Switch off UPS completely after delay
 *
 * BK Pro addition
 *
 * ^a    UPS identification
 * R     Puts UPS into DUMB Mode
 *
 * 8     always reports 00
 * 9     reports FF when on line, 00 when on battery
 *       (the windows 95 monitoring software is always sending to the ups ???)
 * -     always reports NO (also reported as indicates discharged battery)
 * +     always reports NO
 * '     always reports 00
 *
 * ?     right after power-up
 * !     power-fail on battery
 * $     back on line
 * %     indicates discharged battery
 * +     indicates batteries recharged
 *
 *
 */
