1 // ********************************************************************* 2 // IQRF HWPIDs * 3 // ********************************************************************* 4 // Copyright (c) MICRORISC s.r.o. 5 // 6 // File: $RCSfile: IQRF_HWPID.h,v $ 7 // Version: $Revision: 1.179 $ 8 // Date: $Date: 2024/12/05 09:32:46 $ 9 // 10 // Revision history: 11 // 2024/11/05 Release for DPA 4.32 12 // 2024/04/17 Release for DPA 4.31 13 // 2023/03/07 Release for DPA 4.30 14 // 2022/10/05 Release for DPA 4.18 15 // 2022/02/24 Release for DPA 4.17 16 // 2021/08/20 Release for DPA 4.16 17 // 2020/09/03 Release for DPA 4.15 18 // 2020/04/03 Release for DPA 4.14 19 // 2020/02/27 Release for DPA 4.13 20 // 2020/01/09 Release for DPA 4.12 21 // 2019/12/11 Release for DPA 4.11 22 // 2019/10/09 Release for DPA 4.10 23 // 2019/06/12 Release for DPA 4.03 24 // 2019/06/03 Release for DPA 4.02 25 // 2019/03/07 Release for DPA 4.01 26 // 2019/01/20 Release for DPA 4.00 27 // 2018/10/25 Release for DPA 3.03 28 // 2017/11/16 Release for DPA 3.02 29 // 2017/08/14 Release for DPA 3.01 30 // 31 // ********************************************************************* 32 33 // Online DPA documentation https://doc.iqrf.org/DpaTechGuide/ 34 // IQRF Standards documentation https://doc.iqrf.org/ 35 36 #ifndef _IQRFSTD_HWPID_ 37 #define _IQRFSTD_HWPID_ 38 39 //# Class #1 ################################################################################# 40 // Manufacturer: bits:0-9, bit.0=0, bit.3-9=[0000000] (even numbers, but not 0x000) 41 // Product: bits:10-15 (6 bits) 42 //############################################################################################ 43 #ifdef __CC5X__ 44 #define HWPID_CLS1(prod,man) \ 45 #if prod < 0 || prod > 0x3F \ 46 #error "HWPID_CLS1: invalid product number" \ 47 #endif \ 48 #if man <= 0 || man > 0x007 || ( man & 1 ) != 0 \ 49 #error "HWPID_CLS1: invalid manufacturer number" \ 50 #endif \ 51 ( (uns16)(man) | ( (uns16)(prod) << 10 ) ) 52 #else 53 #define HWPID_CLS1(prod,man) ( (uns16)(man) | ( (uns16)(prod) << 10 ) ) 54 #endif 55 56 // ------------------------------------------------------------------------------------------- 57 // IQRF Tech s.r.o. 58 #define HWPID_IQRF_TECH1 0x002 59 60 // DDC-SE-01 sensor example 61 // (0002_DDC-SE01.c) 62 #define HWPID_IQRF_TECH__DEMO_DDC_SE01 HWPID_CLS1( 0x00, HWPID_IQRF_TECH1 ) // 0x0002 63 64 // DDC-SE-01 + DDC-RE-01 sensor example 65 // (0402_DDC-SE+RE.c) 66 #define HWPID_IQRF_TECH__DEMO_DDC_SE01_RE01 HWPID_CLS1( 0x01, HWPID_IQRF_TECH1 ) // 0x0402 67 68 // TR temperature sensor example 69 // (0802_TrThermometer.c) 70 #define HWPID_IQRF_TECH__DEMO_TR_THERMOMETER HWPID_CLS1( 0x02, HWPID_IQRF_TECH1 ) // 0x0802 71 72 // Binary output example using LEDs and DDC-RE-01 73 // (0C02_BinaryOutput-Template.c) 74 #define HWPID_IQRF_TECH__DEMO_BINARY_OUTPUT HWPID_CLS1( 0x03, HWPID_IQRF_TECH1 ) // 0x0C02 75 76 // Light example 77 // (1002_Light-Template.c) 78 #define HWPID_IQRF_TECH__DEMO_LIGHT HWPID_CLS1( 0x04, HWPID_IQRF_TECH1 ) // 0x1002 79 80 // Sensor template 81 // (1402_Sensor-Template.c) 82 #define HWPID_IQRF_TECH__DEMO_SENSOR_TEMPLATE HWPID_CLS1( 0x05, HWPID_IQRF_TECH1 ) // 0x1402 83 84 // ToDo Description DK-SW2-01 85 // ToDo (?.c) 86 #define HWPID_IQRF_TECH__DK_SW2_01 HWPID_CLS1( 0x06, HWPID_IQRF_TECH1 ) // 0x1802 87 88 // ToDo Description IQD-SW1-01 89 // ToDo (?.c) 90 #define HWPID_IQRF_TECH__IQD_SW1_01 HWPID_CLS1( 0x07, HWPID_IQRF_TECH1 ) // 0x1C02 91 92 // ToDo Description IQD-SW2-01 93 // ToDo (?.c) 94 #define HWPID_IQRF_TECH__IQD_SW2_01 HWPID_CLS1( 0x08, HWPID_IQRF_TECH1 ) // 0x2002 95 96 // ToDo Description IQD-RC3-01 97 // ToDo (?.c) 98 #define HWPID_IQRF_TECH__IQD_RC3_01 HWPID_CLS1( 0x09, HWPID_IQRF_TECH1 ) // 0x2402 99 100 // ToDo Description IQD-SM1 101 // ToDo (2802_IQD-SM1.c) 102 #define HWPID_IQRF_TECH__IQD_SM1 HWPID_CLS1( 0x0A, HWPID_IQRF_TECH1 ) // 0x2802 103 104 // ToDo Description IQD-RC4-01 105 // ToDo (?.c) 106 #define HWPID_IQRF_TECH__RC4_01 HWPID_CLS1( 0x0B, HWPID_IQRF_TECH1 ) // 0x2C02 107 108 // ToDo Description IQD-RC4-02 109 // ToDo (?.c) 110 #define HWPID_IQRF_TECH__RC4_02 HWPID_CLS1( 0x0C, HWPID_IQRF_TECH1 ) // 0x3002 111 112 // ToDo Description IQD-REP-01 113 // ToDo (?.c) 114 #define HWPID_IQRF_TECH__REP_01 HWPID_CLS1( 0x0D, HWPID_IQRF_TECH1 ) // 0x3402 115 116 // ToDo Description IQD-SW1-02 117 // ToDo (?.c) 118 #define HWPID_IQRF_TECH__IQD_SW1_02 HWPID_CLS1( 0x0F, HWPID_IQRF_TECH1 ) // 0x3C02 119 120 // DDC-SE-01 + DDC-RE-01 sensor + binary output example - LP version 121 // (4402_DDC-SE+RE_LP.c) 122 #define HWPID_IQRF_TECH__DEMO_DDC_SE01_RE01_LP HWPID_CLS1( 0x11, HWPID_IQRF_TECH1 ) // 0x4402 123 124 // DDC-RE-01 binary output example - LP version 125 // (4802_DDC-RE_LP.c) 126 #define HWPID_IQRF_TECH__DEMO_DDC_RE01_LP HWPID_CLS1( 0x12, HWPID_IQRF_TECH1 ) // 0x4802 127 128 // DDC-SE-01 sensor example - LP version 129 // (4C02_DDC-SE_LP.c) 130 #define HWPID_IQRF_TECH__DEMO_DDC_SE01_LP HWPID_CLS1( 0x13, HWPID_IQRF_TECH1 ) // 0x4C02 131 132 //#define ? HWPID_CLS1( 0x14, HWPID_IQRF_TECH1 ) // 0x5002 133 134 //#define ? HWPID_CLS1( 0x15, HWPID_IQRF_TECH1 ) // 0x5402 135 136 // LIGHT_TEMPLATE 137 // (5802_LIGHT_TEMPLATE.c) 138 #define HWPID_IQRF_TECH__LIGHT_TEMPLATE HWPID_CLS1( 0x16, HWPID_IQRF_TECH1 ) // 0x5802 139 140 // IQD-REP-03 141 // (5C02_P-IQD-REP-03.c) 142 #define HWPID_IQRF_TECH__P_IQD_REP_03 HWPID_CLS1( 0x17, HWPID_IQRF_TECH1 ) // 0x5C02 143 144 // IQD_REP_02_W2D 145 // (6002_IQD_REP_02_W2D.c + IQD_REP_02_x1D) 146 #define HWPID_IQRF_TECH__IQD_REP_02_W2D HWPID_CLS1( 0x18, HWPID_IQRF_TECH1 ) // 0x6002 147 148 // IQD_REP_02_S2D 149 // (6402_IQD_REP_02_S2D.c + IQD_REP_02_x1D) 150 #define HWPID_IQRF_TECH__IQD_REP_02_S2D HWPID_CLS1( 0x19, HWPID_IQRF_TECH1 ) // 0x6402 151 152 // DDC-SE-01 + DDC-RE-01 sensor example G version 153 // (6802_DDC-SE+RE-G.c) 154 #define HWPID_IQRF_TECH__DEMO_DDC_SE01_RE01_G HWPID_CLS1( 0x1A, HWPID_IQRF_TECH1 ) // 0x6802 155 156 157 // ------------------------------------------------------------------------------------------- 158 // MICRORISC s.r.o. 159 #define HWPID_MICRORISC 0x004 160 161 // IQD_SE04 162 // (0004_IQD-SE04.c) 163 #define HWPID_MICRORISC__IQD_SE04 HWPID_CLS1( 0x00, HWPID_MICRORISC ) // 0x0004 164 165 // IQD-REP-04-1WA.c 166 // (0404-IQD-REP-04-1WA.c) 167 #define HWPID_MICRORISC__IQD_REP_04_1WA HWPID_CLS1( 0x01, HWPID_MICRORISC ) // 0x0404 168 169 // IQD-DB1M-01 170 // (0804_IQD-DB1M-01.c) 171 #define HWPID_MICRORISC__IQD_DB1M_01 HWPID_CLS1( 0x02, HWPID_MICRORISC ) // 0x0804 172 173 // P-IQD-TEMP-01 174 // (0C04_P-IQD-TEMP-01.c) 175 #define HWPID_MICRORISC__P_IQD_TEMP_01 HWPID_CLS1( 0x03, HWPID_MICRORISC ) // 0x0C04 176 177 // IQD-TEMP-02 [MSp] - > Recyklovat 178 // (1004_IQD-TEMP-02.c) 179 #define HWPID_MICRORISC__IQD_TEMP_02 HWPID_CLS1( 0x04, HWPID_MICRORISC ) // 0x1004 180 181 // IQD-CNT-01 182 // (1404_IQD-CNT-01.c) 183 #define HWPID_MICRORISC__IQD_CNT_01 HWPID_CLS1( 0x05, HWPID_MICRORISC ) // 0x1404 184 185 // IQD-CNT-02 [MSp] - > Recyklovat 186 // (1804_IQD-CNT-02.c) 187 #define HWPID_MICRORISC__IQD_CNT_02 HWPID_CLS1( 0x06, HWPID_MICRORISC ) // 0x1804 188 189 // IQD-CNT1-01-T-E-01 190 // (1C04_IQD-CNT1-01-T-E-01.c) 191 #define HWPID_MICRORISC_IQD_CNT1_01_T_E_01 HWPID_CLS1( 0x07, HWPID_MICRORISC ) // 0x1C04 192 193 // IQD-CNT1-01-TH-I-01 194 // (2004_IQD-CNT1-01-TH-I-01.c) 195 #define HWPID_MICRORISC_IQD_CNT1_01_TH_I_01 HWPID_CLS1( 0x08, HWPID_MICRORISC ) // 0x2004 196 197 // IQD-CNT1-01-TH-F-01 198 // (2404_IQD-CNT1-01-TH-F-01.c) 199 #define HWPID_MICRORISC_IQD_CNT1_01_TH_F_01 HWPID_CLS1( 0x09, HWPID_MICRORISC ) // 0x2404 200 201 // IQD-REP-02-W1D 202 // (2804_IQD-REP-02-W1D.c) 203 #define HWPID_MICRORISC_IQD_REP_02_W1D HWPID_CLS1( 0x0A, HWPID_MICRORISC ) // 0x2804 204 205 // IQD-REP-02-S1D 206 // (2C04_IQD-REP-02-S1D.c) 207 #define HWPID_MICRORISC_IQD_REP_02_S1D HWPID_CLS1( 0x0B, HWPID_MICRORISC ) // 0x2C04 208 209 // KON-OPI-02 210 // (3004_KON-OPI-02.c) 211 #define HWPID_MICRORISC_KON_OPI_02 HWPID_CLS1( 0x0C, HWPID_MICRORISC ) // 0x3004 212 213 // IQD-SW1-06 [MSp] - > Recyklovat 214 // (3404_IQD-SW1-06.c) 215 #define HWPID_MICRORISC_IQD_SW1_06 HWPID_CLS1( 0x0D, HWPID_MICRORISC ) // 0x3404 216 217 // IQD-SE01-xxR 218 // (3804_IQD-SE01-xxR.c) 219 #define HWPID_MICRORISC_IQD_SE01_xxR HWPID_CLS1( 0x0E, HWPID_MICRORISC ) // 0x3804 220 221 // IQD-SE01-xxRT 222 // (3C04_IQD-SE01-xxRT.c) 223 #define HWPID_MICRORISC_IQD_SE01_xxRT HWPID_CLS1( 0x0F, HWPID_MICRORISC ) // 0x3C04 224 225 // IQD-SE01-xxVT [MSp] - > Recyklovat 226 // (4004_IQD-SE01-xxVT.c) 227 #define HWPID_MICRORISC_IQD_SE01_xxVT HWPID_CLS1( 0x10, HWPID_MICRORISC ) // 0x4004 228 229 // IQD-SE01-xxLT 230 // (4404_IQD-SE01-xxLT.c) 231 #define HWPID_MICRORISC_IQD_SE01_xxLT HWPID_CLS1( 0x11, HWPID_MICRORISC ) // 0x4404 232 233 // IQD-SE03-xxFL 234 // (4804_IQD-SE03-xxFL.c) 235 #define HWPID_MICRORISC_IQD_SE03_05FL HWPID_CLS1( 0x12, HWPID_MICRORISC ) // 0x4804 236 237 // IQD-SE03-xxLUX 238 // (4C04_IQD-SE03-xxLUX.c) 239 #define HWPID_MICRORISC_IQD_SE03_06LUX HWPID_CLS1( 0x13, HWPID_MICRORISC ) // 0x4C04 240 241 // IQD-CNT2-02, Sensor teploty a vlhkosti, rozířená přesnost, krabička Italtronic [MSp] - > Recyklovat 242 // (5004_IQD_CNT2_02_TH.c) 243 #define HWPID_MICRORISC_IQD_CNT2_02_TH HWPID_CLS1( 0x14, HWPID_MICRORISC ) // 0x5004 244 245 // IQD-SE01-xxI, Intensita osvětlení pro detekci polohy aluzií (v krabičce IQD-SM1) 246 // (5404_IQD_SE01_xxI.c) 247 #define HWPID_MICRORISC_IQD_SE01_xxI HWPID_CLS1( 0x15, HWPID_MICRORISC ) // 0x5404 248 249 // IQD-SE03-04IR, Detekce polohy aluzií, reflexní IR čidlo [MSp] - > Recyklovat 250 #define HWPID_MICRORISC_IQD_SE03_04IR HWPID_CLS1( 0x16, HWPID_MICRORISC ) // 0x5804 251 252 // IQD-SE04-01PIR, Detekce pohybu, čidlo PIR 253 // (5C04_IQD-SE04-01PIR.c) 254 #define HWPID_MICRORISC_IQD_SE04_01PIR HWPID_CLS1( 0x17, HWPID_MICRORISC ) // 0x5C04 255 256 // CHOR-IQ, Kouřový sensor 257 #define HWPID_MICRORISC_CHOR_IQ HWPID_CLS1( 0x18, HWPID_MICRORISC ) // 0x6004 258 259 // IQD-CNT-01-TH 260 // (6404_IQD-CNT-01-TH.c) 261 #define HWPID_MICRORISC__IQD_CNT_01_TH HWPID_CLS1( 0x19, HWPID_MICRORISC ) // 0x6404 262 263 // P-IQD-SM2-T.c 264 // (6804_P_IQD_SM2_T.c) 265 #define HWPID_MICRORISC__P_IQD_SM2_T HWPID_CLS1( 0x1A, HWPID_MICRORISC ) // 0x6804 266 267 // IQD-REP-04-1W.c 268 // (6C04_IQD_REP_04_1W.c) 269 #define HWPID_MICRORISC__IQD_REP_04_1W HWPID_CLS1( 0x1B, HWPID_MICRORISC ) // 0x6C04 270 271 // IQD-REP-02-S1D-T 272 // (7004_IQD-REP-02-S1D-T.c) 273 #define HWPID_MICRORISC_IQD_REP_02_S1D_T HWPID_CLS1( 0x1C, HWPID_MICRORISC ) // 0x7004 274 275 // IQD-UPS01 276 // (7404_IQD_UPS01.c) 277 #define HWPID_MICRORISC_IQD_UPS01 HWPID_CLS1( 0x1D, HWPID_MICRORISC ) // 0x7404 278 279 // IQD-LCZH-01 (formerly IQD-SL02) 280 // (7804_IQD-LCZH-01.c) 281 #define HWPID_MICRORISC_IQD_LCZH_01 HWPID_CLS1( 0x1E, HWPID_MICRORISC ) // 0x7804 282 283 // IQD-LCNE-01 (formerly IQD-SL01) 284 // (7C04_IQD-LCNE-01.c) 285 #define HWPID_MICRORISC_IQD_LCNE_01 HWPID_CLS1( 0x1F, HWPID_MICRORISC ) // 0x7C04 286 287 // IQD-SE01-14RT 288 // (8004_IQD-SE01-14RT.c) 289 #define HWPID_MICRORISC_IQD_SE01_14RT HWPID_CLS1( 0x20, HWPID_MICRORISC ) // 0x8004 290 291 // IQD-SE02-0xRTH 292 // (8404_IQD-SE02-0xRTH.c) 293 #define HWPID_MICRORISC_IQD_SE02_0xRTH HWPID_CLS1( 0x21, HWPID_MICRORISC ) // 0x8404 294 295 // IQD_SW10_01 296 // (8804_IQD_SW10_00.c) 297 #define HWPID_MICRORISC_IQD_SW10_00 HWPID_CLS1( 0x22, HWPID_MICRORISC ) // 0x8804 298 299 // KON-OPI-02 G version 300 // (8C04_KON-OPI-02-G.c)[MSp] - > Recyklovat 301 #define HWPID_MICRORISC_KON_OPI_02_G HWPID_CLS1( 0x23, HWPID_MICRORISC ) // 0x8C04 302 303 // IQD_SE03_07T 304 // (9004_IQD_SE03_07T.c) 305 #define HWPID_MICRORISC_IQD_SE03_07T HWPID_CLS1( 0x24, HWPID_MICRORISC ) // 0x9004 306 307 // IQD-REP-04-1S.c 308 // (9404_IQD_REP_04_1S.c) 309 #define HWPID_MICRORISC__IQD_REP_04_1S HWPID_CLS1( 0x25, HWPID_MICRORISC ) // 0x9404 310 311 // KONA-UPI-01 312 // (9804_KONA-UPI-01.c) 313 #define HWPID_MICRORISC_KONA_UPI_01 HWPID_CLS1( 0x26, HWPID_MICRORISC ) // 0x9804 314 315 // IQD-SE01-10VT 316 // (9C04_IQD_SE01_10VT.c) 317 #define HWPID_MICRORISC_IQD_SE01_10VT HWPID_CLS1( 0x27, HWPID_MICRORISC ) // 0x9C04 318 319 // IQD-SE01-10LT 320 // (A004_IQD-SE01-10LT.c) 321 #define HWPID_MICRORISC_IQD_SE01_10LT HWPID_CLS1( 0x28, HWPID_MICRORISC ) // 0xA004 322 323 // IQD-GW04 324 // (A404_IQD-GW04.c) 325 #define HWPID_MICRORISC_IQD_GW04 HWPID_CLS1( 0x29, HWPID_MICRORISC ) // 0xA404 326 327 // IQD-PIR02-01 328 // (A804_IQD-PIR02-01.c) 329 #define HWPID_MICRORISC_IQD_PIR02_01 HWPID_CLS1( 0x2A, HWPID_MICRORISC ) // 0xA804 330 331 // IQD-PIR02-02 332 // (AC04_IQD-PIR02-02.c) 333 #define HWPID_MICRORISC_IQD_PIR02_02 HWPID_CLS1( 0x2B, HWPID_MICRORISC ) // 0xAC04 334 335 // KONA-RASP04 336 // (B004_KONA-RASP04.c) 337 #define HWPID_MICRORISC_KONA_RASP04 HWPID_CLS1( 0x2C, HWPID_MICRORISC ) // 0xB004 338 339 // IQD-PIR01-01 340 // (B404_IQD-PIR01-01.c) 341 #define HWPID_MICRORISC_IQD_PIR01_01 HWPID_CLS1( 0x2D, HWPID_MICRORISC ) // 0xB404 342 343 // IQD-SE02-04B 344 // (B804_IQD-SE02-04B.c) 345 #define HWPID_MICRORISC_IQD_SE02_04B HWPID_CLS1( 0x2E, HWPID_MICRORISC ) // 0xB804 346 347 // IQD-SE02-05A 348 // (BC04_IQD-SE02-05A.c) 349 #define HWPID_MICRORISC_IQD_SE02_05A HWPID_CLS1( 0x2F, HWPID_MICRORISC ) // 0xBC04 350 351 // IQD-LCZH-02-05A 352 // (C004_IQD-LCZH-02-05A.c) 353 #define HWPID_MICRORISC_IQD_LCZH_02_05A HWPID_CLS1( 0x30, HWPID_MICRORISC ) // 0xC004 354 355 // IQD-LCZH-02-01A 356 // (C404_IQD-LCZH-02-01A.c) 357 #define HWPID_MICRORISC_IQD_LCZH_02_01A HWPID_CLS1( 0x31, HWPID_MICRORISC ) // 0xC404 358 359 // IQD-LCZH-02-02B 360 // (C804_IQD-LCZH-02-02B.c) 361 #define HWPID_MICRORISC_IQD_LCZH_02_02B HWPID_CLS1( 0x32, HWPID_MICRORISC ) // 0xC804 362 363 // IQD-LCZH-02-06B 364 // (CC04_IQD-LCZH-02-06B.c) 365 #define HWPID_MICRORISC_IQD_LCZH_02_06B HWPID_CLS1( 0x33, HWPID_MICRORISC ) // 0xCC04 366 367 // IQHUBS-01 368 // (D004_IQHUBS-01.c) 369 #define HWPID_MICRORISC_IQHUBS_01 HWPID_CLS1( 0x34, HWPID_MICRORISC ) // 0xD004 370 371 // IQD-GW04-02 372 // (D404_IQD-GW04-02.c) 373 #define HWPID_MICRORISC_IQD_GW04_02 HWPID_CLS1( 0x35, HWPID_MICRORISC ) // 0xD404 374 375 // IQD-REP-04-1SA.c 376 // (D804-IQD-REP-04-1SA.c) 377 #define HWPID_MICRORISC__IQD_REP_04_1SA HWPID_CLS1( 0x36, HWPID_MICRORISC ) // 0xD804 378 379 // IQD-LCZH-02-03C 380 // (DC04_IQD-LCZH-02-03C.c) 381 #define HWPID_MICRORISC_IQD_LCZH_02_03C HWPID_CLS1( 0x37, HWPID_MICRORISC ) // 0xDC04 382 383 // IQD-LCZH-02-04D 384 // (E004_IQD-LCZH-02-04D.c) 385 #define HWPID_MICRORISC_IQD_LCZH_02_04D HWPID_CLS1( 0x38, HWPID_MICRORISC ) // 0xE004 386 387 // IQD-LCZH-02-07C 388 // (E404_IQD-LCZH-02-07C.c) 389 #define HWPID_MICRORISC_IQD_LCZH_02_07C HWPID_CLS1( 0x39, HWPID_MICRORISC ) // 0xE404 390 391 // IQD-LCZH-02-08D 392 // (E804_IQD-LCZH-02-08D.c) 393 #define HWPID_MICRORISC_IQD_LCZH_02_08D HWPID_CLS1( 0x3A, HWPID_MICRORISC ) // 0xE804 394 395 // IQD-DB1M-02A 396 // (EC04_IQD-DB1M-02A.c) 397 #define HWPID_MICRORISC__IQD_DB1M_02A HWPID_CLS1( 0x3B, HWPID_MICRORISC ) // 0xEC04 398 399 // IQD-RC05-00A 400 // (F004_IQD-RC05-00A.c) 401 #define HWPID_MICRORISC__IQD_RC05_00A HWPID_CLS1( 0x3C, HWPID_MICRORISC ) // 0xF004 402 403 // IQD-SE01-14RT 404 // (F404_IQD-SE01-14RT_A.c) 405 #define HWPID_MICRORISC_IQD_SE01_14RT_A HWPID_CLS1( 0x3D, HWPID_MICRORISC ) // 0xF404 406 407 // GW-OFFGRID01 408 // (F804_GW-OFFGRID01.c) 409 #define HWPID_MICRORISC_GW_OFFGRID01 HWPID_CLS1( 0x3E, HWPID_MICRORISC ) // 0xF804 410 411 // IQD-SE02-07C 412 // (FC04_IQD-SE02-07C.c) 413 #define HWPID_MICRORISC_IQD_SE02_07C HWPID_CLS1( 0x3F, HWPID_MICRORISC ) // 0xFC04 414 415 //# Class #2 ################################################################################# 416 // Manufacturer: bits:0-11, bit.0=1, bit.5-11=[0000000] (odd numbers, never value 0x??F) 417 // Product: bits:12-15 (4 bits) 418 //############################################################################################ 419 #ifdef __CC5X__ 420 #define HWPID_CLS2(prod,man) \ 421 #if prod < 0 || prod > 0xF \ 422 #error "HWPID_CLS2: invalid product number" \ 423 #endif \ 424 #if man < 0 || man > 0x01F || ( man & 1 ) == 0 || ( man & 0xF ) == 0xF \ 425 #error "HWPID_CLS2: invalid manufacturer number" \ 426 #endif \ 427 ( (uns16)(man) | ( (uns16)(prod) << 12 ) ) 428 #else 429 #define HWPID_CLS2(prod,man) ( (uns16)(man) | ( (uns16)(prod) << 12 ) ) 430 #endif 431 // ------------------------------------------------------------------------------------------- 432 // PROTRONIX s.r.o. 433 #define HWPID_PROTRONIX 0x001 434 435 // Temperature+Humidity+CO2 sensor 436 // (0001_Protronix-T+RH+CO2.c) 437 #define HWPID_PROTRONIX__TEMP_HUM_CO2 HWPID_CLS2( 0x0, HWPID_PROTRONIX ) // 0x0001 438 439 // Temperature+Humidity+VOC sensor 440 // (1001_Protronix-T+RH+VOC.c) 441 #define HWPID_PROTRONIX__TEMP_HUM_VOC HWPID_CLS2( 0x1, HWPID_PROTRONIX ) // 0x1001 442 443 // 2001_Protronix__IL_PM40 444 #define HWPID_PROTRONIX__IL_PM40 HWPID_CLS2( 0x2, HWPID_PROTRONIX ) // 0x2001 445 446 // Temperature+Humidity sensor 447 // (3001_Protronix-T+RH.c) 448 #define HWPID_PROTRONIX__TEMP_HUM HWPID_CLS2( 0x3, HWPID_PROTRONIX ) // 0x3001 449 450 // Temperature+Humidity+CO2 sensor [LP] 451 // (4001_Protronix-LP-T+RH+CO2.c) 452 #define HWPID_PROTRONIX__LP_TEMP_HUM_CO2 HWPID_CLS2( 0x4, HWPID_PROTRONIX ) // 0x4001 453 454 // Temperature+Humidity sensor [LP] 455 // (5001_Protronix-LP-T+RH.c) 456 #define HWPID_PROTRONIX__LP_TEMP_HUM HWPID_CLS2( 0x5, HWPID_PROTRONIX ) // 0x5001 457 458 // PM 2,5 sensor [LP] 459 // (6001_Protronix-NLII_PM25.c) 460 #define HWPID_PROTRONIX__NLII_PM25 HWPID_CLS2( 0x6, HWPID_PROTRONIX ) // 0x6001 461 462 // Temperature+Humidity+CO2 sensor Beaming 463 // (7001_Protronix-NLB-CO2+RH+T-Beaming.c) 464 #define HWPID_PROTRONIX__NLB_CO2_R_T_Beaming HWPID_CLS2( 0x7, HWPID_PROTRONIX ) // 0x7001 465 466 // TVOX+RH+T 467 #define HWPID_PROTRONIX__NLII_TVOC_RH_T HWPID_CLS2( 0x8, HWPID_PROTRONIX ) // 0x8001 468 469 // NOX 470 #define HWPID_PROTRONIX__NLII_NOX HWPID_CLS2( 0x9, HWPID_PROTRONIX ) // 0x9001 471 472 // OL-NOX-IQRF 473 #define HWPID_PROTRONIX__OL_NOX_IQRF HWPID_CLS2( 0xA, HWPID_PROTRONIX ) // 0xA001 474 475 // NLII-CO2+TVOC-5-IQRF 476 #define HWPID_PROTRONIX__NLII_CO2_TVOC_5_IQRF HWPID_CLS2( 0xB, HWPID_PROTRONIX ) // 0xB001 477 478 // Temperature+Humidity+TVOC-PC01 479 // (C001_Protronix-T+RH+TVOC-PC01.c) 480 #define HWPID_PROTRONIX__TEMP_HUM_TVOC_PC01 HWPID_CLS2( 0xC, HWPID_PROTRONIX ) // 0xC001 481 482 // PM 2,5 sensor-PC01 483 // (D001_Protronix-NLII_PM25-PC01.c) 484 #define HWPID_PROTRONIX__NLII_PM25_PC01 HWPID_CLS2( 0xD, HWPID_PROTRONIX ) // 0xD001 485 486 // NLB-RH+T-Beaming 487 // (E001_Protronix-NLB-RH+T-Beaming.c) 488 #define HWPID_PROTRONIX__NLB_RH_T_Beaming HWPID_CLS2( 0xE, HWPID_PROTRONIX ) // 0xE001 489 490 // ADS-RN 491 #define HWPID_PROTRONIX__ADS_RN HWPID_CLS2( 0xF, HWPID_PROTRONIX ) // 0xF001 492 493 // ------------------------------------------------------------------------------------------- 494 // NETIO products a.s. 495 #define HWPID_NETIO 0x003 496 497 // Cobra 1 - 1x power plug 498 // (0003_Netio-Cobra1.c) 499 #define HWPID_NETIO__COBRA1 HWPID_CLS2( 0x0, HWPID_NETIO ) // 0x0003 500 501 // Cobra 1 - 1x power plug [LP] 502 // (1003_Netio-LP-Cobra1.c) 503 #define HWPID_NETIO__LP_COBRA1 HWPID_CLS2( 0x1, HWPID_NETIO ) // 0x1003 504 505 // ------------------------------------------------------------------------------------------- 506 // DATmoLUX a.s. 507 #define HWPID_DATMOLUX 0x005 508 509 // DATmoLUX Light 510 // 0005_DATmoLUX-Light.* 511 #define HWPID_DATMOLUX__LIGHT HWPID_CLS2( 0x0, HWPID_DATMOLUX ) // 0x0005 512 513 // ------------------------------------------------------------------------------------------- 514 // CITIQ s.r.o. 515 #define HWPID_CITIQ 0x007 516 517 // ------------------------------------------------------------------------------------------- 518 // Austyn International s.r.o. 519 #define HWPID_AUSTYN 0x009 520 521 // Room temperature controller 522 // (0009_RoomTemperatureController.c) 523 #define HWPID_AUSTYN__ROOM_CONTROLLER HWPID_CLS2( 0x0, HWPID_AUSTYN ) // 0x0009 524 525 // Austyn repeater for radiator heads 526 // (1009_RepHlaAust-02.c) 527 #define HWPID_AUSTYN__RepHlaAust_02 HWPID_CLS2( 0x1, HWPID_AUSTYN ) // 0x1009 528 529 // Austyn radiator head 530 // (2009_HlaAust-02.c) 531 #define HWPID_AUSTYN__HlaAust_02 HWPID_CLS2( 0x2, HWPID_AUSTYN ) // 0x2009 532 533 // Austyn repeater for radiator heads + SET01 534 // (3009_RepHlaAust-02-T.c) 535 #define HWPID_AUSTYN__RepHlaAust_02_T HWPID_CLS2( 0x3, HWPID_AUSTYN ) // 0x3009 536 537 // Austyn repeater for radiator heads, new version + TR-G 538 // (4009_IQD-REP-04-05C.c) 539 #define HWPID_AUSTYN__IQD_REP_04_05C HWPID_CLS2( 0x4, HWPID_AUSTYN ) // 0x4009 540 541 // Austyn repeater for radiator heads, new version + TR-G, no temperature sensor 542 // (5009_IQD-REP-04-03D.c) 543 #define HWPID_AUSTYN__IQD_REP_04_03D HWPID_CLS2( 0x5, HWPID_AUSTYN ) // 0x5009 544 545 // Austyn radiator head with G module (added by Mp) 546 // (6009_HlaAust-02.c) 547 #define HWPID_AUSTYN__HLA-AUST02-02A HWPID_CLS2( 0x6, HWPID_AUSTYN ) // 0x6009 548 549 // ------------------------------------------------------------------------------------------- 550 // Aledo s.r.o. 551 #define HWPID_ALEDO 0x00B 552 553 // Room temperature controller 554 // (000B_Aledo-Reader_R02A230.c) 555 #define HWPID_ALEDO__READER_R02A230 HWPID_CLS2( 0x0, HWPID_ALEDO ) // 0x000B 556 557 // ------------------------------------------------------------------------------------------- 558 // SANELA spol. s r. o. 559 #define HWPID_SANELA 0x00D 560 561 // Sanela SL626 Person presence sensor 562 // (000D_Sanela-SL626.c) 563 #define HWPID_SANELA__SL626 HWPID_CLS2( 0x0, HWPID_SANELA ) // 0x000D 564 565 // Sanela SL626A sink sensor 566 // (100D_Sanela-SL626A.c) 567 #define HWPID_SANELA__SL626A HWPID_CLS2( 0x1, HWPID_SANELA ) // 0x100D 568 569 // ------------------------------------------------------------------------------------------- 570 // TESLA Blatná, a.s. 571 #define HWPID_TESLA_BLATNA 0x011 572 573 // TESLA Blatná Smart City environmental module 574 // (0011_TESLA_Blatna-EnvironmentalModule.c) 575 #define HWPID_TESLA_BLATNA__EnvironmentalModule HWPID_CLS2( 0x0, HWPID_TESLA_BLATNA ) // 0x0011 576 577 // ------------------------------------------------------------------------------------------- 578 // JoTio Tech s.r.o. 579 #define HWPID_JOTIO_TECH 0x013 580 581 // IRIS 582 #define HWPID_JOTIO_TECH__IRIS HWPID_CLS2( 0x0, HWPID_JOTIO_TECH ) // 0x0013 583 584 // ALTAIR 585 #define HWPID_JOTIO_TECH__ALTAIR HWPID_CLS2( 0x1, HWPID_JOTIO_TECH ) // 0x1013 586 587 // ------------------------------------------------------------------------------------------- 588 // HARDWARIO s.r.o. (BigClown) 589 #define HWPID_HARDWARIO 0x015 590 591 // Presence sensor 592 #define HWPID_HARDWARIO_PRESENCE_SENSOR HWPID_CLS2( 0x0, HWPID_HARDWARIO ) // 0x0015 593 594 // COOPER 595 // (1015_HARDWARIO-COPPER.c) 596 #define HWPID_HARDWARIO_COOPER HWPID_CLS2( 0x1, HWPID_HARDWARIO ) // 0x1015 597 598 // ------------------------------------------------------------------------------------------- 599 // 4IOTECH s.r.o. 600 #define HWPID_4IOTECH 0x017 601 602 // 4IOT-SEN-01 603 #define HWPID_4IOTECH_4IOT_SEN_01 HWPID_CLS2( 0x0, HWPID_4IOTECH ) // 0x0017 604 605 // ------------------------------------------------------------------------------------------- 606 // Liteplan Ltd. 607 #define HWPID_LITEPLAN 0x019 608 609 // IQD-DALI-01 610 #define HWPID_LITEPLAN_IQD_DALI_01 HWPID_CLS2( 0x0, HWPID_LITEPLAN ) // 0x0019 611 612 // ------------------------------------------------------------------------------------------- 613 // Danlers https://www.danlers.co.uk/ 614 #define HWPID_DANLERS 0x01B 615 616 // DANLERS-PIR 617 // (001B_DANLERS-PIR.c) 618 #define HWPID_DANLERS_PIR HWPID_CLS2( 0x0, HWPID_DANLERS ) // 0x001B 619 620 //# Class #3 ################################################################################# 621 // Manufacturer: bits:0-11, bit.0=0, bit.3-9 != [0000000] (even numbers, but not 0x000) 622 // Product: bits:12-15 (4 bits) 623 //############################################################################################ 624 #ifdef __CC5X__ 625 #define HWPID_CLS3(prod,man) \ 626 #if prod < 0 || prod > 0xF \ 627 #error "HWPID_CLS3: invalid product number" \ 628 #endif \ 629 #if man <= 0 || man > 0xFFF || ( man & 0x3F8 ) == 0 || ( man & 1 ) != 0 \ 630 #error "HWPID_CLS3: invalid manufacturer number" \ 631 #endif \ 632 ( (uns16)(man) | ( (uns16)(prod) << 12 ) ) 633 #else 634 #define HWPID_CLS3(prod,man) ( (uns16)(man) | ( (uns16)(prod) << 12 ) ) 635 #endif 636 637 // ------------------------------------------------------------------------------------------- 638 // IQRF Tech s.r.o. 639 #define HWPID_IQRF_TECH3 0x05E 640 // For the fixed HWPID=C05E used by a special handler 641 642 // (CustomDpaHandler-ChangeIQRFOS.c) 643 #define HWPID_IQRF_TECH_ChangeIQRFOS HWPID_CLS3( 0xC, HWPID_IQRF_TECH3 ) // 0xC05E 644 645 //# Class #4 ################################################################################# 646 // Manufacturer: bits:0-13, bit.0=1, bit.5-11 != [0000000] (odd numbers, never value 0x??F) 647 // Product: bits:14-15 (2 bits) 648 //############################################################################################ 649 #ifdef __CC5X__ 650 #define HWPID_CLS4(prod,man) \ 651 #if prod < 0 || prod > 0x3 \ 652 #error "HWPID_CLS4: invalid product number" \ 653 #endif \ 654 #if man < 0 || man > 0x3FFF || ( man & 1 ) == 0 || ( man & 0xFE0 ) == 0 || ( man & 0xF ) == 0xF \ 655 #error "HWPID_CLS4: invalid manufacturer number" \ 656 #endif \ 657 ( (uns16)(man) | ( (uns16)(prod) << 14 ) ) 658 #else 659 #define HWPID_CLS4(prod,man) ( (uns16)(man) | ( (uns16)(prod) << 14 ) ) 660 #endif 661 662 // ------------------------------------------------------------------------------------------- 663 664 //############################################################################################ 665 #endif // _IQRFSTD_HWPID_ 666 //############################################################################################