From 130997ebdc0d668fb25dd3d03721f5ed03f918cb Mon Sep 17 00:00:00 2001 From: Poul-Henning Kamp Date: Tue, 4 Jan 2000 22:11:45 +0000 Subject: mlan is a of Dallas Semiconductors "TMEX" API for 1-wire / microlan devices. Only DS2480 bases serial port attachment is supported. Reviewed by: cpiazza --- comms/Makefile | 1 + comms/mlan/Makefile | 19 +++ comms/mlan/distinfo | 1 + comms/mlan/files/patch-aa | 22 +++ comms/mlan/files/patch-ab | 373 ++++++++++++++++++++++++++++++++++++++++++++++ comms/mlan/files/patch-ac | 11 ++ comms/mlan/pkg-comment | 1 + comms/mlan/pkg-descr | 6 + comms/mlan/pkg-plist | 8 + 9 files changed, 442 insertions(+) create mode 100644 comms/mlan/Makefile create mode 100644 comms/mlan/distinfo create mode 100644 comms/mlan/files/patch-aa create mode 100644 comms/mlan/files/patch-ab create mode 100644 comms/mlan/files/patch-ac create mode 100644 comms/mlan/pkg-comment create mode 100644 comms/mlan/pkg-descr create mode 100644 comms/mlan/pkg-plist (limited to 'comms') diff --git a/comms/Makefile b/comms/Makefile index d1880731c13f..1c80a9921df0 100644 --- a/comms/Makefile +++ b/comms/Makefile @@ -11,6 +11,7 @@ SUBDIR += lrzsz SUBDIR += mgetty+sendfax SUBDIR += minicom + SUBDIR += mlan SUBDIR += mserver SUBDIR += qpage SUBDIR += rzsz diff --git a/comms/mlan/Makefile b/comms/mlan/Makefile new file mode 100644 index 000000000000..ff03ece81595 --- /dev/null +++ b/comms/mlan/Makefile @@ -0,0 +1,19 @@ +# New ports collection makefile for: mlan +# Version required: 1.03 +# Date created: 4 January 2000 +# Whom: phk +# +# $FreeBSD$ +# + +DISTNAME= mlpb103 +PKGNAME= mlan-1.03 +CATEGORIES= devel +MASTER_SITES= ftp://ftp.dalsemi.com/pub/auto_id/public/ + +MAINTAINER= phk@FreeBSD.org + +USE_ZIP= yes +WRKSRC= ${WRKDIR} + +.include diff --git a/comms/mlan/distinfo b/comms/mlan/distinfo new file mode 100644 index 000000000000..393fcff676e4 --- /dev/null +++ b/comms/mlan/distinfo @@ -0,0 +1 @@ +MD5 (mlpb103.zip) = 9357520fc32a36fdc4e705d59e0027f0 diff --git a/comms/mlan/files/patch-aa b/comms/mlan/files/patch-aa new file mode 100644 index 000000000000..f0d32b32bcfb --- /dev/null +++ b/comms/mlan/files/patch-aa @@ -0,0 +1,22 @@ +diff -u --new-file -r ../R1/source/apps/tstmlane/tstmlane.c ./source/apps/tstmlane/tstmlane.c +--- ../R1/source/apps/tstmlane/tstmlane.c Tue Jun 8 01:03:00 1999 ++++ ./source/apps/tstmlane/tstmlane.c Tue Jan 4 21:32:02 2000 +@@ -36,7 +36,6 @@ + + #include + #include +-#include + #include "mlan.h" + + // external MLan functions to test +diff -u --new-file -r ../R1/source/lib/userial/ds2480ut.c ./source/lib/userial/ds2480ut.c +--- ../R1/source/lib/userial/ds2480ut.c Tue Jun 8 01:03:00 1999 ++++ ./source/lib/userial/ds2480ut.c Tue Jan 4 21:23:04 2000 +@@ -92,6 +92,7 @@ + if (WriteCOM(1,sendpacket) != 1) + return FALSE; + ++ sendpacket[sendlen++] = 0xC1; + // set the FLEX configuration parameters + // default PDSRC = 1.37Vus + sendpacket[sendlen++] = CMD_CONFIG | PARMSEL_SLEW | PARMSET_Slew1p37Vus; diff --git a/comms/mlan/files/patch-ab b/comms/mlan/files/patch-ab new file mode 100644 index 000000000000..6e35c77d7ccf --- /dev/null +++ b/comms/mlan/files/patch-ab @@ -0,0 +1,373 @@ +diff -u --new-file -r ../R1/examples/freebsd/Makefile ./examples/freebsd/Makefile +--- ../R1/examples/freebsd/Makefile Thu Jan 1 01:00:00 1970 ++++ ./examples/freebsd/Makefile Tue Jan 4 21:25:14 2000 +@@ -0,0 +1,3 @@ ++SUBDIR= lib mweather thermodl thermos tstfind tstmlan tstmlane ++ ++.include +diff -u --new-file -r ../R1/examples/freebsd/lib/Makefile ./examples/freebsd/lib/Makefile +--- ../R1/examples/freebsd/lib/Makefile Thu Jan 1 01:00:00 1970 ++++ ./examples/freebsd/lib/Makefile Tue Jan 4 21:40:23 2000 +@@ -0,0 +1,28 @@ ++ ++MLANDIR= ${.CURDIR}/../../../source/lib/userial ++.PATH: ${.CURDIR} ${MLANDIR} ++LIB= mlan ++CFLAGS= -I. -DUCHAR -Wall ++NOPROFILE= yes ++PREFIX?= /usr/local ++LIBDIR= ${PREFIX}/lib ++ ++SRCS= mlanfile.c mlanllu.c mlannetu.c mlansesu.c mlantrnu.c ++SRCS+= ds2480ut.c ++SRCS+= serial.c ++ ++serial.c: mlan.h ++ ++CLEANFILES+= mlan.h ++ ++beforedepend: mlan.h ++ @true ++ ++mlan.h: ${MLANDIR}/mlan.h ++ cp ${MLANDIR}/mlan.h . ++ ++beforeinstall: ++ ${INSTALL} ${COPY} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \ ++ ${_INSTALLFLAGS} mlan.h ${DESTDIR}/${PREFIX}/include ++ ++.include +diff -u --new-file -r ../R1/examples/freebsd/lib/serial.c ./examples/freebsd/lib/serial.c +--- ../R1/examples/freebsd/lib/serial.c Thu Jan 1 01:00:00 1970 ++++ ./examples/freebsd/lib/serial.c Tue Jan 4 21:22:19 2000 +@@ -0,0 +1,202 @@ ++//--------------------------------------------------------------------------- ++// Copyright (C) 1999 Dallas Semiconductor Corporation, All Rights Reserved. ++// ++// Permission is hereby granted, free of charge, to any person obtaining a ++// copy of this software and associated documentation files (the "Software"), ++// to deal in the Software without restriction, including without limitation ++// the rights to use, copy, modify, merge, publish, distribute, sublicense, ++// and/or sell copies of the Software, and to permit persons to whom the ++// Software is furnished to do so, subject to the following conditions: ++// ++// The above copyright notice and this permission notice shall be included ++// in all copies or substantial portions of the Software. ++// ++// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS ++// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF ++// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. ++// IN NO EVENT SHALL DALLAS SEMICONDUCTOR BE LIABLE FOR ANY CLAIM, DAMAGES ++// OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ++// ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR ++// OTHER DEALINGS IN THE SOFTWARE. ++// ++// Except as contained in this notice, the name of Dallas Semiconductor ++// shall not be used except as stated in the Dallas Semiconductor ++// Branding Policy. ++//--------------------------------------------------------------------------- ++// ++// TODO.C - COM functions required by MLANLL.C, MLANTRNU, MLANNETU.C and ++// MLanFile.C for MLANU to communicate with the DS2480 based ++// Universal Serial Adapter 'U'. Fill in the platform specific code. ++// ++// Version: 1.03 ++// ++// History: 1.00 -> 1.01 Added function msDelay. ++// ++// 1.01 -> 1.02 Changed to generic OpenCOM/CloseCOM for easier ++// use with other platforms. ++// ++// 1.02 -> 1.03 Removed caps in #includes for Linux capatibility ++// Add function msGettick() ++// ++ ++#include "mlan.h" ++#include ++#include ++#include ++#include ++ ++// exportable functions required for ++// MLANLL.C, MLANTRNU, or MLANNETU.C ++void FlushCOM(void); ++int WriteCOM(int, uchar *); ++int ReadCOM(int, uchar *); ++void BreakCOM(void); ++void msDelay(int); ++void SetBaudCOM(int); ++int OpenCOM(char *); ++void CloseCOM(void); ++long msGettick(void); ++ ++static int dsfd; ++static struct termios pstio; ++ ++//--------------------------------------------------------------------------- ++// Description: ++// flush the rx and tx buffers ++// ++void FlushCOM(void) ++{ ++ tcflush(dsfd, TCIOFLUSH); ++} ++ ++ ++//-------------------------------------------------------------------------- ++// Write an array of bytes to the COM port, verify that it was ++// sent out. Assume that baud rate has been set. ++// ++// Returns 1 for success and 0 for failure ++// ++int WriteCOM(int outlen, uchar *outbuf) ++{ ++ ++ if (outlen == write(dsfd, outbuf, outlen)) ++ return 1; ++ return 0; ++} ++ ++ ++//-------------------------------------------------------------------------- ++// Read an array of bytes to the COM port, verify that it was ++// sent out. Assume that baud rate has been set. ++// ++// Returns number of characters read ++// ++int ReadCOM(int inlen, uchar *inbuf) ++{ ++ int i, j; ++ ++ for(j = 0; j < inlen; ) { ++ i = read(dsfd, inbuf + j, inlen -j); ++ if (i <= 0) ++ break; ++ j += i; ++ } ++ return j; ++} ++ ++ ++//-------------------------------------------------------------------------- ++// Description: ++// Send a break on the com port for at least 2 ms ++// ++void BreakCOM(void) ++{ ++ tcsendbreak(dsfd, 1); ++} ++ ++ ++//-------------------------------------------------------------------------- ++// Description: ++// Delay for at least 'len' ms ++// ++void msDelay(int len) ++{ ++ usleep(len * 10000); ++} ++ ++ ++//-------------------------------------------------------------------------- ++// Set the baud rate on the com port. The possible baud rates for ++// 'new_baud' are: ++// ++// PARMSET_9600 0x00 ++// PARMSET_19200 0x02 ++// PARMSET_57600 0x04 ++// PARMSET_115200 0x06 ++// ++void SetBaudCOM(int new_baud) ++{ ++ switch (new_baud) { ++ case 0x00 /* PARMSET_9600 */: cfsetspeed(&pstio, B9600); break; ++ case 0x02 /* PARMSET_19200 */: cfsetspeed(&pstio, B19200); break; ++ case 0x04 /* PARMSET_57600 */: cfsetspeed(&pstio, B57600); break; ++ case 0x06 /* PARMSET_115200 */: cfsetspeed(&pstio, B115200); break; ++ } ++ tcsetattr(dsfd, TCSANOW, &pstio); ++} ++ ++ ++//--------------------------------------------------------------------------- ++// Attempt to open a com port. ++// Set the starting baud rate to 9600. ++// ++// 'port_zstr' - zero terminate port name. Format is platform ++// dependent. ++// ++// Returns: TRUE - success, COM port opened ++// ++int OpenCOM(char *port_zstr) ++{ ++ int i; ++ ++ dsfd = open(port_zstr, O_RDWR, 0); ++ if (dsfd < 0) ++ return (0); ++ i = tcgetattr(dsfd, &pstio); ++ if (i < 0) { ++ close(dsfd); ++ return (0); ++ } ++ cfmakeraw(&pstio); ++ pstio.c_cc[VTIME] = 20; ++ pstio.c_cc[VMIN] = 0; ++ cfsetspeed(&pstio, B9600); ++ i = tcsetattr(dsfd, TCSANOW, &pstio); ++ if (i < 0) { ++ close(dsfd); ++ return (0); ++ } ++ return 1; ++} ++ ++ ++//--------------------------------------------------------------------------- ++// Closes the connection to the port. ++// ++void CloseCOM(void) ++{ ++ close(dsfd); ++} ++ ++ ++//-------------------------------------------------------------------------- ++// Get the current millisecond tick count. Does not have to represent ++// an actual time, it just needs to be an incrementing timer. ++// ++long msGettick(void) ++{ ++ struct timeval tv; ++ ++ gettimeofday(&tv, NULL); ++ return (tv.tv_sec * 1000 + tv.tv_usec / 1000); ++} +diff -u --new-file -r ../R1/examples/freebsd/mweather/Makefile ./examples/freebsd/mweather/Makefile +--- ../R1/examples/freebsd/mweather/Makefile Thu Jan 1 01:00:00 1970 ++++ ./examples/freebsd/mweather/Makefile Tue Jan 4 21:39:47 2000 +@@ -0,0 +1,17 @@ ++ ++PROG= mweather ++ ++PREFIX?= /usr/local ++BINDIR= ${PREFIX}/bin ++MLANDIR= ${.CURDIR}/../../../source/ ++MLANLIB= ${.CURDIR}/../lib ++.PATH: ${MLANDIR}/apps/${PROG} ++CFLAGS= -I${MLANLIB} -DUCHAR -Wall ++LDADD= -L${MLANLIB} -lmlan ++DPADD= ${MLANLIB}/libmlan.a ++NOMAN= 1 ++ ++test: ${PROG} ++ ./${PROG} /dev/cuaa0 ++ ++.include +diff -u --new-file -r ../R1/examples/freebsd/thermodl/Makefile ./examples/freebsd/thermodl/Makefile +--- ../R1/examples/freebsd/thermodl/Makefile Thu Jan 1 01:00:00 1970 ++++ ./examples/freebsd/thermodl/Makefile Tue Jan 4 21:39:51 2000 +@@ -0,0 +1,18 @@ ++ ++PROG= thermodl ++SRCS= thermodl.c thermout.c ++ ++PREFIX?= /usr/local ++BINDIR= ${PREFIX}/bin ++MLANDIR= ${.CURDIR}/../../../source/ ++MLANLIB= ${.CURDIR}/../lib ++.PATH: ${MLANDIR}/apps/thermo ++CFLAGS= -I${MLANLIB} -DUCHAR -Wall ++LDADD= -L${MLANLIB} -lmlan ++DPADD= ${MLANLIB}/libmlan.a ++NOMAN= 1 ++ ++test: ${PROG} ++ ./${PROG} /dev/cuaa0 ++ ++.include +diff -u --new-file -r ../R1/examples/freebsd/thermos/Makefile ./examples/freebsd/thermos/Makefile +--- ../R1/examples/freebsd/thermos/Makefile Thu Jan 1 01:00:00 1970 ++++ ./examples/freebsd/thermos/Makefile Tue Jan 4 21:39:51 2000 +@@ -0,0 +1,18 @@ ++ ++PROG= thermoms ++SRCS= thermoms.c thermout.c ++ ++PREFIX?= /usr/local ++BINDIR= ${PREFIX}/bin ++MLANDIR= ${.CURDIR}/../../../source/ ++MLANLIB= ${.CURDIR}/../lib ++.PATH: ${MLANDIR}/apps/thermo ++CFLAGS= -I${MLANLIB} -DUCHAR -Wall ++LDADD= -L${MLANLIB} -lmlan ++DPADD= ${MLANLIB}/libmlan.a ++NOMAN= 1 ++ ++test: ${PROG} ++ ./${PROG} /dev/cuaa0 ++ ++.include +diff -u --new-file -r ../R1/examples/freebsd/tstfind/Makefile ./examples/freebsd/tstfind/Makefile +--- ../R1/examples/freebsd/tstfind/Makefile Thu Jan 1 01:00:00 1970 ++++ ./examples/freebsd/tstfind/Makefile Tue Jan 4 21:39:31 2000 +@@ -0,0 +1,17 @@ ++ ++PROG= tstfind ++ ++PREFIX?= /usr/local ++BINDIR= ${PREFIX}/bin ++MLANDIR= ${.CURDIR}/../../../source/ ++MLANLIB= ${.CURDIR}/../lib ++.PATH: ${MLANDIR}/apps/${PROG} ++CFLAGS= -I${MLANLIB} -DUCHAR -Wall ++LDADD= -L${MLANLIB} -lmlan ++DPADD= ${MLANLIB}/libmlan.a ++NOMAN= 1 ++ ++test: ${PROG} ++ ./${PROG} /dev/cuaa0 ++ ++.include +diff -u --new-file -r ../R1/examples/freebsd/tstmlan/Makefile ./examples/freebsd/tstmlan/Makefile +--- ../R1/examples/freebsd/tstmlan/Makefile Thu Jan 1 01:00:00 1970 ++++ ./examples/freebsd/tstmlan/Makefile Tue Jan 4 21:39:57 2000 +@@ -0,0 +1,17 @@ ++ ++PROG= tstmlan ++ ++PREFIX?= /usr/local ++BINDIR= ${PREFIX}/bin ++MLANDIR= ${.CURDIR}/../../../source/ ++MLANLIB= ${.CURDIR}/../lib ++.PATH: ${MLANDIR}/apps/${PROG} ++CFLAGS= -I${MLANLIB} -DUCHAR -Wall ++LDADD= -L${MLANLIB} -lmlan ++DPADD= ${MLANLIB}/libmlan.a ++NOMAN= 1 ++ ++test: ${PROG} ++ ./${PROG} /dev/cuaa0 ++ ++.include +diff -u --new-file -r ../R1/examples/freebsd/tstmlane/Makefile ./examples/freebsd/tstmlane/Makefile +--- ../R1/examples/freebsd/tstmlane/Makefile Thu Jan 1 01:00:00 1970 ++++ ./examples/freebsd/tstmlane/Makefile Tue Jan 4 21:40:03 2000 +@@ -0,0 +1,17 @@ ++ ++PROG= tstmlane ++ ++PREFIX?= /usr/local ++BINDIR= ${PREFIX}/bin ++MLANDIR= ${.CURDIR}/../../../source/ ++MLANLIB= ${.CURDIR}/../lib ++.PATH: ${MLANDIR}/apps/${PROG} ++CFLAGS= -I${MLANLIB} -DUCHAR -Wall ++LDADD= -L${MLANLIB} -lmlan ++DPADD= ${MLANLIB}/libmlan.a ++NOMAN= 1 ++ ++test: ${PROG} ++ ./${PROG} /dev/cuaa0 ++ ++.include diff --git a/comms/mlan/files/patch-ac b/comms/mlan/files/patch-ac new file mode 100644 index 000000000000..fc551bb53bf8 --- /dev/null +++ b/comms/mlan/files/patch-ac @@ -0,0 +1,11 @@ +diff -ur --new-file ./Makefile ../../A1/Makefile +--- ../../A1/Makefile Thu Jan 1 01:00:00 1970 ++++ ./Makefile Tue Jan 4 22:04:35 2000 +@@ -0,0 +1,7 @@ ++ ++all: ++ cd examples/freebsd ; make all ++ ++install: ++ cd examples/freebsd ; make install ++ diff --git a/comms/mlan/pkg-comment b/comms/mlan/pkg-comment new file mode 100644 index 000000000000..e8ea36fb1bc3 --- /dev/null +++ b/comms/mlan/pkg-comment @@ -0,0 +1 @@ +API for Dallas Semiconductors 1-wire lan devices diff --git a/comms/mlan/pkg-descr b/comms/mlan/pkg-descr new file mode 100644 index 000000000000..7bf9619c1ddd --- /dev/null +++ b/comms/mlan/pkg-descr @@ -0,0 +1,6 @@ +A port of Dallas Semiconductors TMEX api for accessing 1-wire LAN +devices. Only DS2480 serial port adapters are supported by this port. + +More doc & src at: ftp://ftp.dalsemi.com/pub/auto_id/softdev/softdev.html + +WWW: http://www.ibutton.com diff --git a/comms/mlan/pkg-plist b/comms/mlan/pkg-plist new file mode 100644 index 000000000000..64bf93f79aaa --- /dev/null +++ b/comms/mlan/pkg-plist @@ -0,0 +1,8 @@ +bin/mweather +bin/thermodl +bin/thermoms +bin/tstfind +bin/tstmlan +bin/tstmlane +include/mlan.h +lib/libmlan.a -- cgit v1.2.3