OpenCores
URL https://opencores.org/ocsvn/sockit_owm/sockit_owm/trunk

Subversion Repositories sockit_owm

[/] [sockit_owm/] [trunk/] [HAL/] [src/] [findtype.c] - Blame information for rev 2

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 iztok
//---------------------------------------------------------------------------
2
// Copyright (C) 2000 Dallas Semiconductor Corporation, All Rights Reserved.
3
//
4
// Permission is hereby granted, free of charge, to any person obtaining a
5
// copy of this software and associated documentation files (the "Software"),
6
// to deal in the Software without restriction, including without limitation
7
// the rights to use, copy, modify, merge, publish, distribute, sublicense,
8
// and/or sell copies of the Software, and to permit persons to whom the
9
// Software is furnished to do so, subject to the following conditions:
10
//
11
// The above copyright notice and this permission notice shall be included
12
// in all copies or substantial portions of the Software.
13
//
14
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
15
// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
// MERCHANTABILITY,  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
17
// IN NO EVENT SHALL DALLAS SEMICONDUCTOR BE LIABLE FOR ANY CLAIM, DAMAGES
18
// OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
19
// ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
20
// OTHER DEALINGS IN THE SOFTWARE.
21
//
22
// Except as contained in this notice, the name of Dallas Semiconductor
23
// shall not be used except as stated in the Dallas Semiconductor
24
// Branding Policy.
25
//---------------------------------------------------------------------------
26
//
27
//  findtype.c - Test module to find all devices of one type.
28
//
29
//  Version: 2.00
30
//
31
//----------------------------------------------------------------------
32
//
33
//
34
#include "ownet.h"
35
#include "findtype.h"
36
 
37
//----------------------------------------------------------------------
38
// Search for devices
39
//
40
// 'portnum'  - number 0 to MAX_PORTNUM-1.  This number is provided to
41
//              indicate the symbolic port number.
42
// 'FamilySN' - an array of all the serial numbers with the matching
43
//              family code
44
// 'family_code' - the family code of the devices to search for on the
45
//                 1-Wire Net
46
// 'MAXDEVICES'  - the maximum number of devices to look for with the
47
//                 family code passed.
48
//
49
// Returns: TRUE(1)  success, device type found
50
//          FALSE(0) device not found
51
//
52
SMALLINT FindDevices(int portnum, uchar FamilySN[][8], SMALLINT family_code, int MAXDEVICES)
53
{
54
   int NumDevices=0;
55
 
56
   // find the devices
57
   // set the search to first find that family code
58
   owFamilySearchSetup(portnum,family_code);
59
 
60
   // loop to find all of the devices up to MAXDEVICES
61
   NumDevices = 0;
62
   do
63
   {
64
      // perform the search
65
      if (!owNext(portnum,TRUE, FALSE))
66
         break;
67
 
68
      owSerialNum(portnum,FamilySN[NumDevices], TRUE);
69
      if ((FamilySN[NumDevices][0] & 0x7F) == (family_code & 0x7F))
70
      {
71
         NumDevices++;
72
      }
73
   }
74
   while (NumDevices < (MAXDEVICES - 1));
75
 
76
   // check if not at least 1 device
77
   return NumDevices;
78
}

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.