From owner-FreeBSD-users-jp@jp.freebsd.org  Thu Sep 14 16:32:34 2000
Received: (from daemon@localhost)
	by castle.jp.freebsd.org (8.9.3+3.2W/8.7.3) id QAA03458;
	Thu, 14 Sep 2000 16:32:34 +0900 (JST)
	(envelope-from owner-FreeBSD-users-jp@jp.FreeBSD.org)
Received: from ma1.seikyou.ne.jp (ma1.seikyou.ne.jp [202.211.152.220])
	by castle.jp.freebsd.org (8.9.3+3.2W/8.7.3) with ESMTP id QAA03451
	for <FreeBSD-users-jp@jp.freebsd.org>; Thu, 14 Sep 2000 16:32:29 +0900 (JST)
	(envelope-from don@don.am)
Received: from jupiter.don.am (uk-fwgw.seikyou.ne.jp [202.211.150.211])
	by ma1.seikyou.ne.jp (8.9.3/3.7WNSK99010601) with SMTP id QAA27843
	for <FreeBSD-users-jp@jp.freebsd.org>; Thu, 14 Sep 2000 16:32:28 +0900
Message-Id: <200009140732.AA02085@jupiter.don.am>
From: Kiyotaka Doumae <don@don.am>
Date: Thu, 14 Sep 2000 16:32:31 +0900
To: FreeBSD-users-jp@jp.freebsd.org
In-Reply-To: <200008231902.AA00118@sakura.seikyou.ne.jp>
References: <200008231902.AA00118@sakura.seikyou.ne.jp>
MIME-Version: 1.0
X-Mailer: AL-Mail32 Version 1.11
Content-Type: text/plain; charset=iso-2022-jp
Reply-To: FreeBSD-users-jp@jp.freebsd.org
Precedence: list
X-Distribute: distribute version 2.1 (Alpha) patchlevel 24e+000315
X-Sequence: FreeBSD-users-jp 55180
Subject: [FreeBSD-users-jp 55180] UPS & Serial (BX50XF) Re: UPS With FreeBSD3.x or 4.x
Errors-To: owner-FreeBSD-users-jp@jp.freebsd.org
Sender: owner-FreeBSD-users-jp@jp.freebsd.org
X-Originator: don@don.am

$BF2A0$G$9(B

$B@hF|(BML$B$K$b=q$$$F$$$^$7$?$,!"AjJQ$o$i$:$O$^$C$F$$$^$9!#(B

$B9XF~$7$?(BUPS$B$O(BOMRON$B$N(BBX50XF$B$G$9!#(B
http://www.omron.co.jp/ped-j/product/ups/bx50xf/bx50xf.htm

$B@bL@=q$K$h$l$P$3$N5!<o$N?.9f=PNO$O2<5-$N$h$&$K$J$C$F$$$^$9!#(B
---------------------------------------------------------------------
UPS(D-SUB9Pin)
1	BL
3	BS
5	COM
8	BU

UPS$B$+$i=PNO(B
BU-COM:$BDdEE;~(BON
BL-COM:$B%P%C%F%j!<(BLow$B;~(BON
$B!t$$$:$l$b%U%)%H%+%W%i$rMxMQ$7$?%*!<%W%s%3%l%/%?2sO)(B

UPS$B$X$NF~NO(B
BS-COM:UPS$B$rDd;_(B
$B!t30It$+$i(B4$BIC0J>e7QB3$9$kEE05?.9f(B(High)$B$rF~NO$9$k$HDd;_(B
---------------------------------------------------------------------

$B$^$?!"JLGd$j$N(BWindowsNT$BI8=`%7%c%C%H%@%&%sBP1~%1!<%V%k(B(BUC-16)$B$N7k@~$r(B
OMRON$B$N%+%9%?%^%5%]!<%H%;%s%?$NJ}$K65$($F$$$?$@$-!"$=$lAjEv$N%1!<%V%k$r(B
$B<+:n$7$^$7$?!#(B
$B7k@~$O(B($BEyI}%U%)%s%H$G$4Mw$/$@$5$$(B)
---------------------------------------------------------------------
PC$BB&!!!!!!!!!!!!!!!!!!!!!!!!!!!!(BUPS$BB&(B
$B!J%a%9B&!K!!!!!!!!!!!!!!!!!!!!!!!J%*%9B&!K(B
DCD$B!!(B1$B!!!!(B-------------------$B!!!!(B1$B!!(BDCD$B!!!!(B---$B!d!!(BBL

RX$B!!(B 2$B!!!!(B--$B!_!!!!!!!!!!!_(B---$B!!!!(B2$B!!(BRX

TX$B!!(B 3$B!!!!(B-------------------$B!!!!(B5$B!!(BGND

DTR$B!!(B4$B!!!!(B-------------------$B!!!!(B3$B!!(BTX$B!!!!(B---$B!d!!(BBS

GND$B!!(B5$B!!!!(B--$B!_!!!!!!!!!!!_(B---$B!!!!(B4$B!!(BDTR

DSR$B!!(B6$B!!!!(B--$B!_!!!!!!!!!!(B----- $B!!(B 6$B!!(BDSR$B!!!!(B---$B!d!!!J(BPnP$B!K(B
                       $B("(B
RTS$B!!(B7$B!!!!(B-------------------$B!!!!(B7$B!!(BRTS$B!!!!(B---$B!d!!!J(BPnP$B!K(B

CTS$B!!(B8$B!!!!(B-------------------$B!!!!(B8$B!!(BCTS$B!!!!(B---$B!d!!(BBU

Ring 9$B!!!!(B--$B!_!!!!!!!!!!!_(B---$B!!!!(B9$B!!(BRing
---------------------------------------------------------------------
$B$H$J$C$F$$$^$9!#(B

$B$3$N>uBV$G(BPC(FreeBSD3.4)$B$N(BCOM1$B$H@\B3$7!"2<5-$N$h$&$J%W%m%0%i%`$rAv$i$;(B
$B$F$_$?$N$G$9$,!";DG0$J$,$i(BUPS$B%3%s%;%s%H$r0z$C$3H4$$$F$_$F$bH?1~$,$"$j(B
$B$^$;$s!#3F?.9f@~$H$b(B0$B$,I=<($5$l$^$9!#(B

$B$3$l$G$O%7%c%C%H%@%&%s=hM}$K;}$A9~$`$3$H$,$G$-$^$;$s$N$G!"$I$&$K$+$7$F(B
PC$BB&$G?.9f$rG'<1$G$-$J$$$+6l?4$7$F$$$^$9!#(B

---------------------------------------------------------------------
#include <stdio.h>
#include <stdlib.h>
#include <signal.h>
#include <syslog.h>
#include <unistd.h>
#include <varargs.h>
#include <fcntl.h>
#include <errno.h>
#include <sys/uio.h>
#include <sys/types.h>
#include <sys/ioctl.h>
#include <sys/ttycom.h>
#include <sys/time.h>

#define PORT    "/dev/cuaa0"

int main(int argc, char *argv[]) {

    int pd;
    int zero=0;
    int status,oldstatus;
    int car,cts,dsr,rng;

    if ((pd = open(PORT, O_RDWR | O_NDELAY)) < 0){
        printf ("open: %s: %s\n", PORT, sys_errlist[errno]);
        exit(1);
    }

    printf ("open: %s: success\n", PORT);

    while (1){

        /* clear bits */
        if (ioctl(pd, TIOCMSET, &zero) < 0) {
            printf("ioctl: %s\n", sys_errlist[errno]);
            exit(1);
        }
        sleep (1);

        /* get device status */
        status = 0;
        if (ioctl(pd, TIOCMGET, &status) < 0) {
            printf("ioctl: %s\n", sys_errlist[errno]);
            exit(1);
        }

/*          if (status != oldstatus){       */

            if (status & TIOCM_CAR){
                car = 1;
            } else {
                car =0;
            }
            if (status & TIOCM_CTS){
                cts = 1;
            } else {
                cts =0;
            }
            if (status & TIOCM_DSR){
                dsr = 1;
            } else {
                dsr =0;
            }
            if (status & TIOCM_RNG){
                rng = 1;
            } else {
                rng =0;
            }

            printf ("CAR=%d, CTS=%d, DSR=%d, 
RNG=%d\tstatus=%d\n",car,cts,dsr,rng,status);

/*          }       */

        sleep (1);

    }
}
---------------------------------------------------------------------

$B$J$*!"F1$87k@~$GJL$N%W%m%0%i%`(B($B3d0&(B)$B$r;H$$(BDTR$B$r(BHigh$B$K$7$F$d$k$H(BUPS$B$r(B
$BDd;_$5$;$k$3$H$,$G$-$^$7$?!#(B


$B%7%j%"%k<~$j$O%O!<%I%&%'%"!"%=%U%H%&%'%"$H$b=i$a$F?($k$b$N$G!">e5-$N(B
$B%W%m%0%i%`$b2a5n$N(BML$B$J$I$r;2>H$7$F$D$.$O$.$G:n$C$?$b$s$G$9$,!"0lBN$I(B
$B$NJU$j$KLdBj$,$"$k$N$G$7$g$&$+!#(B
$B$I$J$?$+%"%I%P%$%9$r$$$?$@$1$^$;$s$G$7$g$&$+!#(B



_$B#D#O#N(B ($BF2A0(B $B@6N4(B) ______________________v(. .)v_
mailto:don@don.am        $B!X$J$s$H$+$J$k$h!#(B
http://www.don.am/~don/        $B@dBP!"Bg>fIW$@$h!#!Y(B
PGP fingerprint:                        (CC$B$5$/$i(B)
A920 DE27 3C98 A091 FD1E  D09D 2C4F 291E 50BC 4FD4
--------------------------------------------------
