@@ -30,145 +30,145 @@ Features as per datasheet
3030
3131/********************************** Constant Variable Definitions **********************************/
3232#define TMAG5273_DEVICE_ID_VALUE 0x5449 // Value found in the device ID register
33- #define TMAG5273_I2C_ADDRESS_INITIAL 0X22 // Initial I2C address value - can be changed using functions as seen below
33+ #define TMAG5273_I2C_ADDRESS_INITIAL 0x22 // Initial I2C address value - can be changed using functions as seen below
3434#define TMAG5273_TSENSE_T0 25.0f // Reference temperature for TADC_T0
3535#define TMAG5273_TADC_T0 17508 // Temp result in decimal value (from 16-buit format)
3636#define TMAG5273_TADC_RES 60.1f // Temperature sensing resolution (in 16-bit format)
3737
38- #define TMAG5273_CRC_DISABLE 0X0 // Disables I2C CRC byte to be sent
39- #define TMAG5273_CRC_ENABLE 0X1 // Enable I2C CRC byte to be sent
38+ #define TMAG5273_CRC_DISABLE 0x0 // Disables I2C CRC byte to be sent
39+ #define TMAG5273_CRC_ENABLE 0x1 // Enable I2C CRC byte to be sent
4040
41- #define TMAG5273_X1_CONVERSION 0X0 // 1X Average
42- #define TMAG5273_X2_CONVERSION 0X1 // 2X Average
43- #define TMAG5273_X4_CONVERSION 0X2 // 4X Average
44- #define TMAG5273_X8_CONVERSION 0X3 // 8X Average
45- #define TMAG5273_X16_CONVERSION 0X4 // 16X Average
46- #define TMAG5273_X32_CONVERSION 0X5 // 32X Average
41+ #define TMAG5273_X1_CONVERSION 0x0 // 1X Average
42+ #define TMAG5273_X2_CONVERSION 0x1 // 2X Average
43+ #define TMAG5273_X4_CONVERSION 0x2 // 4X Average
44+ #define TMAG5273_X8_CONVERSION 0x3 // 8X Average
45+ #define TMAG5273_X16_CONVERSION 0x4 // 16X Average
46+ #define TMAG5273_X32_CONVERSION 0x5 // 32X Average
4747
48- #define TMAG5273_I2C_MODE_3BYTE 0X0 // Standard I2C 3-byte read command
49- #define TMAG5273_I2C_MODE_1BYTE_16BIT 0X1 // 1-byte I2C read command for 16bit sensor data and conversion status
50- #define TMAG5273_I2C_MODE_1BYTE_8BIT 0X2 // 1-byte I2C read command for 8 bit sensor MSB data and conversion status
48+ #define TMAG5273_I2C_MODE_3BYTE 0x0 // Standard I2C 3-byte read command
49+ #define TMAG5273_I2C_MODE_1BYTE_16BIT 0x1 // 1-byte I2C read command for 16bit sensor data and conversion status
50+ #define TMAG5273_I2C_MODE_1BYTE_8BIT 0x2 // 1-byte I2C read command for 8 bit sensor MSB data and conversion status
5151
52- #define TMAG5273_LOW_ACTIVE_CURRENT_MODE 0X0 // Low active current mode
53- #define TMAG5273_LOW_NOISE_MODE 0X1 // Low noise mode
52+ #define TMAG5273_LOW_ACTIVE_CURRENT_MODE 0x0 // Low active current mode
53+ #define TMAG5273_LOW_NOISE_MODE 0x1 // Low noise mode
5454
55- #define TMAG5273_GLITCH_ON 0X0 // Glitch filter on
56- #define TMAG5273_GLITCH_OFF 0X1 // Glitch filter off
55+ #define TMAG5273_GLITCH_ON 0x0 // Glitch filter on
56+ #define TMAG5273_GLITCH_OFF 0x1 // Glitch filter off
5757
58- #define TMAG5273_STANDY_BY_MODE 0X0 // Stand-by mode
59- #define TMAG5273_SLEEP_MODE 0X1 // Sleep mode
60- #define TMAG5273_CONTINUOUS_MEASURE_MODE 0X2 // Continous measure mode
61- #define TMAG5273_WAKE_UP_AND_SLEEP_MODE 0X3 // Wake-up and sleep mode
58+ #define TMAG5273_STANDY_BY_MODE 0x0 // Stand-by mode
59+ #define TMAG5273_SLEEP_MODE 0x1 // Sleep mode
60+ #define TMAG5273_CONTINUOUS_MEASURE_MODE 0x2 // Continous measure mode
61+ #define TMAG5273_WAKE_UP_AND_SLEEP_MODE 0x3 // Wake-up and sleep mode
6262
6363// Sensor Channel Modes
6464#define TMAG5273_CHANNEL_MODE_BITS 0xF0 // Bits 7-4
6565#define TMAG5273_CHANNEL_MODE_LSB 4
66- #define TMAG5273_CHANNELS_OFF 0X0 // Turn all the magnetic channels off
67- #define TMAG5273_X_ENABLE 0X1 // X Channel enabled
68- #define TMAG5273_Y_ENABLE 0X2 // Y Channel enabled
69- #define TMAG5273_X_Y_ENABLE 0X3 // X, Y Channel enabled
70- #define TMAG5273_Z_ENABLE 0X4 // Z Channel enabled
71- #define TMAG5273_Z_X_ENABLE 0X5 // Z, X Channel enabled
72- #define TMAG5273_Y_Z_ENABLE 0X6 // Y, Z Channel enabled
73- #define TMAG5273_X_Y_Z_ENABLE 0X7 // X, Y, Z Channel enabled
74- #define TMAG5273_XYX_ENABLE 0X8 // XYX Channel enabled
75- #define TMAG5273_YXY_ENABLE 0X9 // YXY Channel enabled
76- #define TMAG5273_YZY_ENABLE 0XA // YZY Channel enabled
77- #define TMAG5273_XZX_ENABLE 0XB // XZX Channel enabled
66+ #define TMAG5273_CHANNELS_OFF 0x0 // Turn all the magnetic channels off
67+ #define TMAG5273_X_ENABLE 0x1 // X Channel enabled
68+ #define TMAG5273_Y_ENABLE 0x2 // Y Channel enabled
69+ #define TMAG5273_X_Y_ENABLE 0x3 // X, Y Channel enabled
70+ #define TMAG5273_Z_ENABLE 0x4 // Z Channel enabled
71+ #define TMAG5273_Z_X_ENABLE 0x5 // Z, X Channel enabled
72+ #define TMAG5273_Y_Z_ENABLE 0x6 // Y, Z Channel enabled
73+ #define TMAG5273_X_Y_Z_ENABLE 0x7 // X, Y, Z Channel enabled
74+ #define TMAG5273_XYX_ENABLE 0x8 // XYX Channel enabled
75+ #define TMAG5273_YXY_ENABLE 0x9 // YXY Channel enabled
76+ #define TMAG5273_YZY_ENABLE 0xA // YZY Channel enabled
77+ #define TMAG5273_XZX_ENABLE 0xB // XZX Channel enabled
7878
7979#define TMAG5273_SLEEP_MODE_BITS 0x0F // Bits 3-0
8080#define TMAG5273_SLEEP_MODE_LSB 0
81- #define TMAG5273_SLEEP_1MS 0X0 // 1ms
82- #define TMAG5273_SLEEP_5MS 0X1 // 5ms
83- #define TMAG5273_SLEEP_10MS 0X2 // 10 ms
84- #define TMAG5273_SLEEP_15MS 0X3 // 15ms
85- #define TMAG5273_SLEEP_20MS 0X4 // 20ms
86- #define TMAG5273_SLEEP_30MS 0X5 // 30ms
87- #define TMAG5273_SLEEP_50MS 0X6 // 50ms
88- #define TMAG5273_SLEEP_100MS 0X7 // 100ms
89- #define TMAG5273_SLEEP_500MS 0X8 // 500ms
90- #define TMAG5273_SLEEP_1000MS 0X9 // 1000ms
91- #define TMAG5273_SLEEP_2000MS 0XA // 2000ms
92- #define TMAG5273_SLEEP_5000MS 0XB // 5000ms
93- #define TMAG5273_SLEEP_20000MS 0XC // 20000ms
81+ #define TMAG5273_SLEEP_1MS 0x0 // 1ms
82+ #define TMAG5273_SLEEP_5MS 0x1 // 5ms
83+ #define TMAG5273_SLEEP_10MS 0x2 // 10 ms
84+ #define TMAG5273_SLEEP_15MS 0x3 // 15ms
85+ #define TMAG5273_SLEEP_20MS 0x4 // 20ms
86+ #define TMAG5273_SLEEP_30MS 0x5 // 30ms
87+ #define TMAG5273_SLEEP_50MS 0x6 // 50ms
88+ #define TMAG5273_SLEEP_100MS 0x7 // 100ms
89+ #define TMAG5273_SLEEP_500MS 0x8 // 500ms
90+ #define TMAG5273_SLEEP_1000MS 0x9 // 1000ms
91+ #define TMAG5273_SLEEP_2000MS 0xA // 2000ms
92+ #define TMAG5273_SLEEP_5000MS 0xB // 5000ms
93+ #define TMAG5273_SLEEP_20000MS 0xC // 20000ms
9494
95- #define TMAG5273_THRESHOLD_1 0X0 // 1 Threshold crossing
96- #define TMAG5273_THRESHOLD_4 0X1 // 4 Threshold crossing
95+ #define TMAG5273_THRESHOLD_1 0x0 // 1 Threshold crossing
96+ #define TMAG5273_THRESHOLD_4 0x1 // 4 Threshold crossing
9797
98- #define TMAG5273_THRESHOLD_INT_ABOVE 0X0 // Sets interrupt for field above the threshold
99- #define TMAG5273_THRESHOLD_INT_BELOW 0X1 // Sets interrupt for field below the threshold
98+ #define TMAG5273_THRESHOLD_INT_ABOVE 0x0 // Sets interrupt for field above the threshold
99+ #define TMAG5273_THRESHOLD_INT_BELOW 0x1 // Sets interrupt for field below the threshold
100100
101- #define TMAG5273_GAIN_ADJUST_CHANNEL_1 0X0 // 1st channel is selected for gain adjustment
102- #define TMAG5273_GAIN_ADJUST_CHANNEL_2 0X1 // 2nd channel is selected for gain adjustment
101+ #define TMAG5273_GAIN_ADJUST_CHANNEL_1 0x0 // 1st channel is selected for gain adjustment
102+ #define TMAG5273_GAIN_ADJUST_CHANNEL_2 0x1 // 2nd channel is selected for gain adjustment
103103
104- #define TMAG5273_NO_ANGLE_CALCULATION 0X0 // No angle calculation, magnetic gain, and offset correction enabled
105- #define TMAG5273_XY_ANGLE_CALCULATION 0X1 // X 1st, Y 2nd
106- #define TMAG5273_YZ_ANGLE_CALCULATION 0X2 // Y 1st, Z 2nd
107- #define TMAG5273_XZ_ANGLE_CALCULATION 0X3 // X 1st, Z 2nd
104+ #define TMAG5273_NO_ANGLE_CALCULATION 0x0 // No angle calculation, magnetic gain, and offset correction enabled
105+ #define TMAG5273_XY_ANGLE_CALCULATION 0x1 // X 1st, Y 2nd
106+ #define TMAG5273_YZ_ANGLE_CALCULATION 0x2 // Y 1st, Z 2nd
107+ #define TMAG5273_XZ_ANGLE_CALCULATION 0x3 // X 1st, Z 2nd
108108
109- #define TMAG5273_RANGE_40MT 0X0 // +/-40mT, DEFAULT
110- #define TMAG5273_RANGE_80MT 0X1 // +/-80mT, DEFAULT
109+ #define TMAG5273_RANGE_40MT 0x0 // +/-40mT, DEFAULT
110+ #define TMAG5273_RANGE_80MT 0x1 // +/-80mT, DEFAULT
111111
112- #define TMAG5273_TEMPERATURE_DISABLE 0X0 // Temperature channel disabled
113- #define TMAG5273_TEMPERATURE_ENABLE 0X1 // Temperature channel enabled
112+ #define TMAG5273_TEMPERATURE_DISABLE 0x0 // Temperature channel disabled
113+ #define TMAG5273_TEMPERATURE_ENABLE 0x1 // Temperature channel enabled
114114
115- #define TMAG5273_INTERRUPT_NOT_ASSERTED 0X0 // Interrupt is not asserved when set
116- #define TMAG5273_INTERRUPT_ASSERTED 0X1 // Interrupt is asserted
115+ #define TMAG5273_INTERRUPT_NOT_ASSERTED 0x0 // Interrupt is not asserved when set
116+ #define TMAG5273_INTERRUPT_ASSERTED 0x1 // Interrupt is asserted
117117
118- #define TMAG5273_NO_INTERRUPT 0X0 // No interrupt
119- #define TMAG5273_INTERRUPT_THROUGH_INT 0X1 // Interrupt thru INT
120- #define TMAG5273_INTERRUPT_THROUGH_INT_I2C 0X2 // Interrupt thru INT except when I2C bus is busy
121- #define TMAG5273_INTERRUPT_THROUGH_SCL 0X3 // Interrupt thru SCL
122- #define TMAG5273_INTERRUPT_THROUGH_SCL_I2C 0X4 // Interrupt thru SCL except when I2C bus is busy
118+ #define TMAG5273_NO_INTERRUPT 0x0 // No interrupt
119+ #define TMAG5273_INTERRUPT_THROUGH_INT 0x1 // Interrupt thru INT
120+ #define TMAG5273_INTERRUPT_THROUGH_INT_I2C 0x2 // Interrupt thru INT except when I2C bus is busy
121+ #define TMAG5273_INTERRUPT_THROUGH_SCL 0x3 // Interrupt thru SCL
122+ #define TMAG5273_INTERRUPT_THROUGH_SCL_I2C 0x4 // Interrupt thru SCL except when I2C bus is busy
123123
124- #define TMAG5273_INTERRUPT_ENABLED 0X0 // Interrupt pin is enabled
125- #define TMAG5273_INTERRUPT_DISABLED 0X1 // Interrupt pin is disabled
124+ #define TMAG5273_INTERRUPT_ENABLED 0x0 // Interrupt pin is enabled
125+ #define TMAG5273_INTERRUPT_DISABLED 0x1 // Interrupt pin is disabled
126126
127- #define TMAG5273_INT_PIN_ENABLE 0X0 // INT pin is enabled
128- #define TMAG5273_INT_PIN_DISABLE 0X1 // INT pin is disabled (for wake-up and trigger functions)
127+ #define TMAG5273_INT_PIN_ENABLE 0x0 // INT pin is enabled
128+ #define TMAG5273_INT_PIN_DISABLE 0x1 // INT pin is disabled (for wake-up and trigger functions)
129129
130- #define TMAG5273_I2C_ADDRESS_CHANGE_DISABLE 0X0 // Disable update of I2C address
131- #define TMAG5273_I2C_ADDRESS_CHANGE_ENABLE 0X1 // Enable update of I2C address
130+ #define TMAG5273_I2C_ADDRESS_CHANGE_DISABLE 0x0 // Disable update of I2C address
131+ #define TMAG5273_I2C_ADDRESS_CHANGE_ENABLE 0x1 // Enable update of I2C address
132132
133- #define TMAG5273_NO_POR 0X0 // Conversion data not complete
134- #define TMAG5273_YES_POR 0X1 // Conversion data complete
133+ #define TMAG5273_NO_POR 0x0 // Conversion data not complete
134+ #define TMAG5273_YES_POR 0x1 // Conversion data complete
135135
136- #define TMAG5273_OSCILLATOR_ERROR_UNDETECTED 0X0 // No Oscillator error detected
137- #define TMAG5273_OSCILLATOR_ERROR_DETECTED 0X1 // Oscillator error detected
136+ #define TMAG5273_OSCILLATOR_ERROR_UNDETECTED 0x0 // No Oscillator error detected
137+ #define TMAG5273_OSCILLATOR_ERROR_DETECTED 0x1 // Oscillator error detected
138138
139- #define TMAG5273_INT_ERROR_UNDETECTED 0X0 // No INT error detected
140- #define TMAG5273_INT_ERROR_DETECTED 0X1 // INT error detected
139+ #define TMAG5273_INT_ERROR_UNDETECTED 0x0 // No INT error detected
140+ #define TMAG5273_INT_ERROR_DETECTED 0x1 // INT error detected
141141
142142/********************************** Register Definitions **********************************/
143143
144- const uint8_t TMAG5273_REG_DEVICE_CONFIG_1 = 0X00 ;
145- const uint8_t TMAG5273_REG_DEVICE_CONFIG_2 = 0X01 ;
146- const uint8_t TMAG5273_REG_SENSOR_CONFIG_1 = 0X02 ;
147- const uint8_t TMAG5273_REG_SENSOR_CONFIG_2 = 0X03 ;
148- const uint8_t TMAG5273_REG_X_THR_CONFIG = 0X04 ;
149- const uint8_t TMAG5273_REG_Y_THR_CONFIG = 0X05 ;
150- const uint8_t TMAG5273_REG_Z_THR_CONFIG = 0X06 ;
151- const uint8_t TMAG5273_REG_T_CONFIG = 0X07 ;
152- const uint8_t TMAG5273_REG_INT_CONFIG_1 = 0X08 ;
153- const uint8_t TMAG5273_REG_MAG_GAIN_CONFIG = 0X09 ;
154- const uint8_t TMAG5273_REG_MAG_OFFSET_CONFIG_1 = 0X0A ;
155- const uint8_t TMAG5273_REG_MAG_OFFSET_CONFIG_2 = 0X0B ;
156- const uint8_t TMAG5273_REG_I2C_ADDRESS = 0X0C ;
157- const uint8_t TMAG5273_REG_DEVICE_ID = 0X0D ;
158- const uint8_t TMAG5273_REG_MANUFACTURER_ID_LSB = 0X0E ;
159- const uint8_t TMAG5273_REG_MANUFACTURER_ID_MSB = 0X0F ;
160- const uint8_t TMAG5273_REG_T_MSB_RESULT = 0X10 ;
161- const uint8_t TMAG5273_REG_T_LSB_RESULT = 0X11 ;
162- const uint8_t TMAG5273_REG_X_MSB_RESULT = 0X12 ;
163- const uint8_t TMAG5273_REG_X_LSB_RESULT = 0X13 ;
164- const uint8_t TMAG5273_REG_Y_MSB_RESULT = 0X14 ;
165- const uint8_t TMAG5273_REG_Y_LSB_RESULT = 0X15 ;
166- const uint8_t TMAG5273_REG_Z_MSB_RESULT = 0X16 ;
167- const uint8_t TMAG5273_REG_Z_LSB_RESULT = 0X17 ;
168- const uint8_t TMAG5273_REG_CONV_STATUS = 0X18 ;
169- const uint8_t TMAG5273_REG_ANGLE_RESULT_MSB = 0X19 ;
170- const uint8_t TMAG5273_REG_ANGLE_RESULT_LSB = 0X1A ;
171- const uint8_t TMAG5273_REG_MAGNITUDE_RESULT = 0X1B ;
172- const uint8_t TMAG5273_REG_DEVICE_STATUS = 0X1C ;
144+ const uint8_t TMAG5273_REG_DEVICE_CONFIG_1 = 0x00 ;
145+ const uint8_t TMAG5273_REG_DEVICE_CONFIG_2 = 0x01 ;
146+ const uint8_t TMAG5273_REG_SENSOR_CONFIG_1 = 0x02 ;
147+ const uint8_t TMAG5273_REG_SENSOR_CONFIG_2 = 0x03 ;
148+ const uint8_t TMAG5273_REG_X_THR_CONFIG = 0x04 ;
149+ const uint8_t TMAG5273_REG_Y_THR_CONFIG = 0x05 ;
150+ const uint8_t TMAG5273_REG_Z_THR_CONFIG = 0x06 ;
151+ const uint8_t TMAG5273_REG_T_CONFIG = 0x07 ;
152+ const uint8_t TMAG5273_REG_INT_CONFIG_1 = 0x08 ;
153+ const uint8_t TMAG5273_REG_MAG_GAIN_CONFIG = 0x09 ;
154+ const uint8_t TMAG5273_REG_MAG_OFFSET_CONFIG_1 = 0x0A ;
155+ const uint8_t TMAG5273_REG_MAG_OFFSET_CONFIG_2 = 0x0B ;
156+ const uint8_t TMAG5273_REG_I2C_ADDRESS = 0x0C ;
157+ const uint8_t TMAG5273_REG_DEVICE_ID = 0x0D ;
158+ const uint8_t TMAG5273_REG_MANUFACTURER_ID_LSB = 0x0E ;
159+ const uint8_t TMAG5273_REG_MANUFACTURER_ID_MSB = 0x0F ;
160+ const uint8_t TMAG5273_REG_T_MSB_RESULT = 0x10 ;
161+ const uint8_t TMAG5273_REG_T_LSB_RESULT = 0x11 ;
162+ const uint8_t TMAG5273_REG_X_MSB_RESULT = 0x12 ;
163+ const uint8_t TMAG5273_REG_X_LSB_RESULT = 0x13 ;
164+ const uint8_t TMAG5273_REG_Y_MSB_RESULT = 0x14 ;
165+ const uint8_t TMAG5273_REG_Y_LSB_RESULT = 0x15 ;
166+ const uint8_t TMAG5273_REG_Z_MSB_RESULT = 0x16 ;
167+ const uint8_t TMAG5273_REG_Z_LSB_RESULT = 0x17 ;
168+ const uint8_t TMAG5273_REG_CONV_STATUS = 0x18 ;
169+ const uint8_t TMAG5273_REG_ANGLE_RESULT_MSB = 0x19 ;
170+ const uint8_t TMAG5273_REG_ANGLE_RESULT_LSB = 0x1A ;
171+ const uint8_t TMAG5273_REG_MAGNITUDE_RESULT = 0x1B ;
172+ const uint8_t TMAG5273_REG_DEVICE_STATUS = 0x1C ;
173173
174174#endif
0 commit comments