X-Git-Url: http://git.smho.de/gw/?p=owSlave2.git;a=blobdiff_plain;f=tools_cmd%2FrwOW%2Ftmexnet.c;fp=tools_cmd%2FrwOW%2Ftmexnet.c;h=0000000000000000000000000000000000000000;hp=3f9b77d8724e9914c197d8ecf19114a273a02c53;hb=5398c69061a72e7a6ad3423c4e17516ee6d09de6;hpb=22b81b6c288ca56f58d064627c310e437f9453a4 diff --git a/tools_cmd/rwOW/tmexnet.c b/tools_cmd/rwOW/tmexnet.c deleted file mode 100644 index 3f9b77d..0000000 --- a/tools_cmd/rwOW/tmexnet.c +++ /dev/null @@ -1,249 +0,0 @@ -//--------------------------------------------------------------------------- -// Copyright (C) 2001 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. -//--------------------------------------------------------------------------- -// -// tmexnet.C - Wrapper class to hook 1-Wire Public Domain API to TMEX API -// for network functions. -// -// Version: 3.00 -// -// - -#include "ownet.h" -#include - -uchar StateBuffer[MAX_PORTNUM][5120]; - -// external TMEX variables -extern long SessionHandle[MAX_PORTNUM]; -extern short far pascal TMSearch(long session_handle, void *start_buffer, - short ResetSearch, short PerformReset, - short SrchCmd); -extern short pascal TMFirst(long, void *); -extern short pascal TMNext(long, void *); -extern short pascal TMAccess(long, void *); -extern short pascal TMStrongAccess(long, void *); -extern short pascal TMStrongAlarmAccess(long, void *); -extern short pascal TMOverAccess(long, void *); -extern short pascal TMRom(long, void *, short *); -extern short pascal TMFirstAlarm(long, void *); -extern short pascal TMNextAlarm(long, void *); -extern short pascal TMFamilySearchSetup(long, void *, short); -extern short pascal TMSkipFamily(long, void *); -extern short pascal TMAutoOverDrive(long, void *, short); - - -//-------------------------------------------------------------------------- -// The 'owFirst' finds the first device on the 1-Wire Net This function -// contains one parameter 'alarm_only'. When -// 'alarm_only' is TRUE (1) the find alarm command 0xEC is -// sent instead of the normal search command 0xF0. -// Using the find alarm command 0xEC will limit the search to only -// 1-Wire devices that are in an 'alarm' state. -// -// 'portnum' - number 0 to MAX_PORTNUM-1. This number is provided to -// indicate the symbolic port number. -// 'do_reset' - TRUE (1) perform reset before search, FALSE (0) do not -// perform reset before search. -// 'alarm_only' - TRUE (1) the find alarm command 0xEC is -// sent instead of the normal search command 0xF0 -// -// Returns: TRUE (1) : when a 1-Wire device was found and it's -// Serial Number placed in the global SerialNum[portnum] -// FALSE (0): There are no devices on the 1-Wire Net. -// -SMALLINT owFirst(int portnum, SMALLINT do_reset, SMALLINT alarm_only) -{ - return (TMSearch(SessionHandle[portnum], StateBuffer[portnum], 1, - (short)do_reset, (short)((alarm_only) ? 0xEC : 0xF0)) == 1); -} - -//-------------------------------------------------------------------------- -// The 'owNext' function does a general search. This function -// continues from the previos search state. The search state -// can be reset by using the 'owFirst' function. -// This function contains one parameter 'alarm_only'. -// When 'alarm_only' is TRUE (1) the find alarm command -// 0xEC is sent instead of the normal search command 0xF0. -// Using the find alarm command 0xEC will limit the search to only -// 1-Wire devices that are in an 'alarm' state. -// -// 'portnum' - number 0 to MAX_PORTNUM-1. This number is provided to -// indicate the symbolic port number. -// 'do_reset' - TRUE (1) perform reset before search, FALSE (0) do not -// perform reset before search. -// 'alarm_only' - TRUE (1) the find alarm command 0xEC is -// sent instead of the normal search command 0xF0 -// -// Returns: TRUE (1) : when a 1-Wire device was found and it's -// Serial Number placed in the global SerialNum[portnum] -// FALSE (0): when no new device was found. Either the -// last search was the last device or there -// are no devices on the 1-Wire Net. -// -SMALLINT owNext(int portnum, SMALLINT do_reset, SMALLINT alarm_only) -{ - return (TMSearch(SessionHandle[portnum], StateBuffer[portnum], 0, - (short)do_reset, (short)((alarm_only) ? 0xEC : 0xF0)) == 1); -} - -//-------------------------------------------------------------------------- -// The 'owSerialNum' function either reads or sets the SerialNum buffer -// that is used in the search functions 'owFirst' and 'owNext'. -// This function contains two parameters, 'serialnum_buf' is a pointer -// to a buffer provided by the caller. 'serialnum_buf' should point to -// an array of 8 unsigned chars. The second parameter is a flag called -// 'do_read' that is TRUE (1) if the operation is to read and FALSE -// (0) if the operation is to set the internal SerialNum buffer from -// the data in the provided buffer. -// -// 'portnum' - number 0 to MAX_PORTNUM-1. This number is provided to -// indicate the symbolic port number. -// 'serialnum_buf' - buffer to that contains the serial number to set -// when do_read = FALSE (0) and buffer to get the serial -// number when do_read = TRUE (1). -// 'do_read' - flag to indicate reading (1) or setting (0) the current -// serial number. -// -void owSerialNum(int portnum, uchar *serialnum_buf, SMALLINT do_read) -{ - short ROM[8],i; - - // check if reading or writing - if (do_read) - { - ROM[0] = 0; - } - else - { - for (i = 0; i < 8; i++) - ROM[i] = serialnum_buf[i]; - } - - // call TMEX to read or set the current device - TMRom(SessionHandle[portnum], StateBuffer[portnum], ROM); - - // place in 'serialnum_buf' - if (do_read) - { - for (i = 0; i < 8; i++) - serialnum_buf[i] = (uchar)ROM[i]; - } -} - -//-------------------------------------------------------------------------- -// Setup the search algorithm to find a certain family of devices -// the next time a search function is called 'owNext'. -// -// 'portnum' - number 0 to MAX_PORTNUM-1. This number was provided to -// OpenCOM to indicate the port number. -// 'search_family' - family code type to set the search algorithm to find -// next. -// -void owFamilySearchSetup(int portnum, SMALLINT search_family) -{ - TMFamilySearchSetup(SessionHandle[portnum], StateBuffer[portnum], - (short)search_family); -} - -//-------------------------------------------------------------------------- -// Set the current search state to skip the current family code. -// -// 'portnum' - number 0 to MAX_PORTNUM-1. This number is provided to -// indicate the symbolic port number. -// -void owSkipFamily(int portnum) -{ - TMSkipFamily(SessionHandle[portnum], StateBuffer[portnum]); -} - -//-------------------------------------------------------------------------- -// The 'owAccess' function resets the 1-Wire and sends a MATCH Serial -// Number command followed by the current SerialNum code. After this -// function is complete the 1-Wire device is ready to accept device-specific -// commands. -// -// 'portnum' - number 0 to MAX_PORTNUM-1. This number is provided to -// indicate the symbolic port number. -// -// Returns: TRUE (1) : reset indicates present and device is ready -// for commands. -// FALSE (0): reset does not indicate presence or echos 'writes' -// are not correct. -// -SMALLINT owAccess(int portnum) -{ - return (TMAccess(SessionHandle[portnum], StateBuffer[portnum]) == 1); -} - -//---------------------------------------------------------------------- -// The function 'owVerify' verifies that the current device -// is in contact with the 1-Wire Net. -// Using the find alarm command 0xEC will verify that the device -// is in contact with the 1-Wire Net and is in an 'alarm' state. -// -// 'portnum' - number 0 to MAX_PORTNUM-1. This number is provided to -// indicate the symbolic port number. -// 'alarm_only' - TRUE (1) the find alarm command 0xEC -// is sent instead of the normal search -// command 0xF0. -// -// Returns: TRUE (1) : when the 1-Wire device was verified -// to be on the 1-Wire Net -// with alarm_only == FALSE -// or verified to be on the 1-Wire Net -// AND in an alarm state when -// alarm_only == TRUE. -// FALSE (0): the 1-Wire device was not on the -// 1-Wire Net or if alarm_only -// == TRUE, the device may be on the -// 1-Wire Net but in a non-alarm state. -// -SMALLINT owVerify(int portnum, SMALLINT alarm_only) -{ - if (alarm_only) - return (TMStrongAlarmAccess(SessionHandle[portnum], StateBuffer[portnum]) == 1); - else - return (TMStrongAccess(SessionHandle[portnum], StateBuffer[portnum]) == 1); -} - -//---------------------------------------------------------------------- -// Perform a overdrive MATCH command to select the 1-Wire device with -// the address in the ID data register. -// -// 'portnum' - number 0 to MAX_PORTNUM-1. This number is provided to -// indicate the symbolic port number. -// -// Returns: TRUE: If the device is present on the 1-Wire Net and -// can do overdrive then the device is selected. -// FALSE: Device is not present or not capable of overdrive. -// -// *Note: This function could be converted to send DS2480 -// commands in one packet. -// -SMALLINT owOverdriveAccess(int portnum) -{ - return (TMOverAccess(SessionHandle[portnum], StateBuffer[portnum]) == 1); -}