max31855_constants.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2024 HAW Hamburg
3  *
4  * This file is subject to the terms and conditions of the GNU Lesser
5  * General Public License v2.1. See the file LICENSE in the top level
6  * directory for more details.
7  */
8 
9 #pragma once
10 
21 #ifdef __cplusplus
22 extern "C" {
23 #endif
24 
28 #define MAX31855_DATA_SIZE (4)
29 
33 #define MAX31855_THERMOCOUPLE_SIGN_SHIFT (31)
34 
38 #define MAX31855_THERMOCOUPLE_SIGN_MASK (1UL << MAX31855_THERMOCOUPLE_SIGN_SHIFT)
39 
43 #define MAX31855_THERMOCOUPLE_INTEGER_SHIFT (20)
44 
48 #define MAX31855_THERMOCOUPLE_INTEGER_MASK (0x7FFUL << MAX31855_THERMOCOUPLE_INTEGER_SHIFT)
49 
53 #define MAX31855_THERMOCOUPLE_FRACTIONAL_HALF_SHIFT (19)
54 
58 #define MAX31855_THERMOCOUPLE_FRACTIONAL_HALF_MASK (1UL << MAX31855_THERMOCOUPLE_FRACTIONAL_HALF_SHIFT)
59 
63 #define MAX31855_THERMOCOUPLE_FRACTIONAL_QUARTER_SHIFT (18)
64 
68 #define MAX31855_THERMOCOUPLE_FRACTIONAL_QUARTER_MASK (1UL << MAX31855_THERMOCOUPLE_FRACTIONAL_QUARTER_SHIFT)
69 
73 #define MAX31855_INTERNAL_SIGN_SHIFT (15)
74 
78 #define MAX31855_INTERNAL_SIGN_MASK (1UL << MAX31855_INTERNAL_SIGN_SHIFT)
79 
83 #define MAX31855_INTERNAL_INTEGER_SHIFT (8)
84 
88 #define MAX31855_INTERNAL_INTEGER_MASK (0x7FUL << MAX31855_INTERNAL_INTEGER_SHIFT)
89 
93 #define MAX31855_INTERNAL_FRACTIONAL_HALF_SHIFT (7)
94 
98 #define MAX31855_INTERNAL_FRACTIONAL_HALF_MASK (1UL << MAX31855_INTERNAL_FRACTIONAL_HALF_SHIFT)
99 
103 #define MAX31855_INTERNAL_FRACTIONAL_QUARTER_SHIFT (6)
104 
108 #define MAX31855_INTERNAL_FRACTIONAL_QUARTER_MASK (1UL << MAX31855_INTERNAL_FRACTIONAL_QUARTER_SHIFT)
109 
113 #define MAX31855_INTERNAL_FRACTIONAL_EIGHTH_SHIFT (5)
114 
118 #define MAX31855_INTERNAL_FRACTIONAL_EIGHTH_MASK (1UL << MAX31855_INTERNAL_FRACTIONAL_EIGHTH_SHIFT)
119 
123 #define MAX31855_INTERNAL_FRACTIONAL_SIXTEENTH_SHIFT (4)
124 
128 #define MAX31855_INTERNAL_FRACTIONAL_SIXTEENTH_MASK (1UL << MAX31855_INTERNAL_FRACTIONAL_SIXTEENTH_SHIFT)
129 
133 #define MAX31855_FAULT_VCC_SHORT_SHIFT (2)
134 
138 #define MAX31855_FAULT_VCC_SHORT_MASK (1UL << MAX31855_FAULT_VCC_SHORT_SHIFT)
139 
143 #define MAX31855_FAULT_GND_SHORT_SHIFT (1)
144 
148 #define MAX31855_FAULT_GND_SHORT_MASK (1UL << MAX31855_FAULT_GND_SHORT_SHIFT)
149 
153 #define MAX31855_FAULT_OPEN_CIRCUIT_SHIFT (0)
154 
158 #define MAX31855_FAULT_OPEN_CIRCUIT_MASK (1UL << MAX31855_FAULT_OPEN_CIRCUIT_SHIFT)
159 
163 #define MAX31855_FAULT_MASK (MAX31855_FAULT_VCC_SHORT_MASK | \
164  MAX31855_FAULT_GND_SHORT_MASK | \
165  MAX31855_FAULT_OPEN_CIRCUIT_MASK)
166 
167 #ifdef __cplusplus
168 }
169 #endif
170