1 // *********************************************************************
    2 //   IQRF HWPIDs                                                       *
    3 // *********************************************************************
    4 // Copyright (c) IQRF Tech s.r.o.
    5 //
    6 // File:    $RCSfile: IQRF_HWPID.h,v $
    7 // Version: $Revision: 1.9 $
    8 // Date:    $Date: 2017/11/30 11:02:57 $
    9 //
   10 // Revision history:
   11 //   2017/11/16  Release for DPA 3.02
   12 //   2017/08/14  Release for DPA 3.01
   13 //
   14 // *********************************************************************
   15 
   16 // Online DPA documentation http://www.iqrf.org/DpaTechGuide/
   17 
   18 #ifndef _IQRFSTD_HWPID_
   19 #define _IQRFSTD_HWPID_
   20 
   21 //# Class #1 #################################################################################
   22 // Manufacturer: bits:0-9, bit.0=0 (even numbers, but not 0x0000)
   23 // Product: bits:10-15 (6 bits)
   24 //############################################################################################
   25 #define HWPID_CLS1(prod,man)  ( (uns16)(man) | ( (uns16)(prod) << 10 ) )
   26 
   27 // -------------------------------------------------------------------------------------------
   28 // MICRORISC s.r.o.
   29 #define HWPID_MICRORISC   0x002
   30 
   31 // DDC-SE01 sensor example 
   32 // (0002_DDC-SE01.c)
   33 #define HWPID_MICRORISC__DEMO_DDC_SE01                HWPID_CLS1( 0x00, HWPID_MICRORISC ) // 0x0002
   34 
   35 // DDC-SE01 + DDC-RE01 sensor example 
   36 // (0402_DDC-SE+RE.c)
   37 #define HWPID_MICRORISC__DEMO_DDC_SE01_RE01           HWPID_CLS1( 0x01, HWPID_MICRORISC ) // 0x0402
   38 
   39 // TR temperature sensor example 
   40 // (0802_TrThermometer.c)
   41 #define HWPID_MICRORISC__DEMO_TR_THERMOMETER          HWPID_CLS1( 0x02, HWPID_MICRORISC ) // 0x0802
   42 
   43 // Binary output example using LEDs and DDC-RE01 
   44 // (0C02_BinaryOutput-Template.c)
   45 #define HWPID_MICRORISC__DEMO_BINARY_OUTPUT           HWPID_CLS1( 0x03, HWPID_MICRORISC ) // 0x0C02
   46 
   47 // Light example 
   48 // (1002_Light-Template.c)
   49 #define HWPID_MICRORISC__DEMO_LIGHT                   HWPID_CLS1( 0x04, HWPID_MICRORISC ) // 0x1002
   50 
   51 // Sensor template 
   52 // (1402_Sensor-Template.c)
   53 #define HWPID_MICRORISC__DEMO_SENSOR_TEMPLATE         HWPID_CLS1( 0x05, HWPID_MICRORISC ) // 0x1402
   54 
   55 //# Class #2 #################################################################################
   56 // Manufacturer: bits:0-11, bit.0=1 (odd numbers, never value 0x???F)
   57 // Product: bits:12-15 (4 bits)
   58 //############################################################################################
   59 #define HWPID_CLS2(prod,man)  ( (uns16)(man) | ( (uns16)(prod) << 12 ) )
   60 
   61 // -------------------------------------------------------------------------------------------
   62 // PROTRONIX s.r.o.
   63 #define HWPID_PROTRONIX   0x001
   64 
   65 // Temperature+Humidity+CO2 sensor 
   66 // (0001_Protronix-T+RH+CO2.c)
   67 #define HWPID_PROTRONIX__TEMP_HUM_CO2                 HWPID_CLS2( 0x0, HWPID_PROTRONIX ) // 0x0001
   68 
   69 // Temperature+Humidity+VOC sensor 
   70 // (1001_Protronix-T+RH+VOC.c)
   71 #define HWPID_PROTRONIX__TEMP_HUM_VOC                 HWPID_CLS2( 0x1, HWPID_PROTRONIX ) // 0x1001
   72 
   73 // Temperature+Humidity+CO2 sensor + Relay
   74 // (2001_Protronix-T+RH+CO2+Relay.c)
   75 #define HWPID_PROTRONIX__TEMP_HUM_CO2_RELAY           HWPID_CLS2( 0x2, HWPID_PROTRONIX ) // 0x2001
   76 
   77 // Temperature+Humidity sensor 
   78 // (3001_Protronix-T+RH.c)
   79 #define HWPID_PROTRONIX__TEMP_HUM                     HWPID_CLS2( 0x3, HWPID_PROTRONIX ) // 0x3001
   80 
   81 // -------------------------------------------------------------------------------------------
   82 // NETIO products a.s.
   83 #define HWPID_NETIO       0x003
   84 
   85 // Cobra 1 - 1x power plug 
   86 // (0003-Netio-Cobra1.c)
   87 #define HWPID_NETIO__COBRA1                           HWPID_CLS2( 0x0, HWPID_NETIO )     // 0x0003
   88 
   89 // -------------------------------------------------------------------------------------------
   90 // DATmoLUX a.s.
   91 #define HWPID_DATMOLUX    0x005
   92 
   93 // -------------------------------------------------------------------------------------------
   94 // CITIQ s.r.o.
   95 #define HWPID_CITIQ       0x007
   96 
   97 // -------------------------------------------------------------------------------------------
   98 // Austyn International s.r.o.
   99 #define HWPID_AUSTYN      0x009
  100 
  101 // Room temperature controller 
  102 // (0009_RoomTemperatureController.c)
  103 #define HWPID_AUSTYN__ROOM_CONTROLLER                 HWPID_CLS2( 0x0, HWPID_AUSTYN )    // 0x0009
  104 
  105 // -------------------------------------------------------------------------------------------
  106 // Aledo s.r.o.
  107 #define HWPID_ALEDO       0x00B
  108 
  109 // Room temperature controller 
  110 // (000B_Aledo-Reader_R02A230.c)
  111 #define HWPID_ALEDO__READER_R02A230                   HWPID_CLS2( 0x0, HWPID_ALEDO )     // 0x000B
  112 
  113 // -------------------------------------------------------------------------------------------
  114 
  115 #endif  // _IQRFSTD_HWPID_
  116 
  117 //############################################################################################