Skip to content

Commit d4c4ac0

Browse files
authored
Merge pull request #15 from sparkfun/develop
Pulling the latest work from Dev to Main in prep for next version release
2 parents 5eb6a08 + 9a0a7e2 commit d4c4ac0

File tree

15 files changed

+1738
-2164
lines changed

15 files changed

+1738
-2164
lines changed

LICENSE

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2025 SparkFun Electronics
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

LICENSE.md

Lines changed: 0 additions & 55 deletions
This file was deleted.

README.md

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,16 @@
1-
SparkFun TMAG5273 Arduino Library
2-
========================================
31

2+
![SparkFun Linear 3D Hall-effect Snsor (Qwiic))](docs/images/gh-banner-arduino-tmag5273.png "SparkFun Linear 3D Hall-effect Sensor")
43

5-
This is the SparkFun library for the Texas Instruments TMAG5273 low-power linear 3D Hall-effect sensor with I<sup>2</sup>C interface as used on the [SparkFun IoT Motor Driver (ESP32 WROOM, TMC6300)](https://www.sparkfun.com/products/22132).
4+
# SparkFun TMAG5273 Arduino Library
5+
6+
This is the SparkFun library for the Texas Instruments TMAG5273 low-power linear 3D Hall-effect sensor with I<sup>2</sup>C interface.
7+
8+
![GitHub License](https://img.shields.io/github/license/sparkfun/SparkFun_TMAG5273_Arduino_Library)
9+
![Release](https://img.shields.io/github/v/release/sparkfun/SparkFun_TMAG5273_Arduino_Library)
10+
![Release Date](https://img.shields.io/github/release-date/sparkfun/SparkFun_TMAG5273_Arduino_Library)
11+
![Documentation - build](https://img.shields.io/github/actions/workflow/status/sparkfun/SparkFun_TMAG5273_Arduino_Library/build-deploy-ghpages.yml?label=doc%20build)
12+
[![Compile Test](https://github.com/sparkfun/SparkFun_FPC2534_Arduino_Library/actions/workflows/test-compile-sketch.yml/badge.svg)](https://github.com/sparkfun/SparkFun_TMAG5273_Arduino_Library/actions/workflows/test-compile-sketch.yml)
13+
![GitHub issues](https://img.shields.io/github/issues/sparkfun/SparkFun_TMAG5273_Arduino_Library)
614

715
Repository Contents
816
-------------------
@@ -14,7 +22,6 @@ Repository Contents
1422
* **library.properties** - General library properties for the Arduino package manager.
1523
* **[CONTRIBUTING.md](./CONTRIBUTING.md)** - guidance on how to contribute to this library.
1624

17-
1825
Documentation
1926
--------------
2027

@@ -25,14 +32,14 @@ Documentation
2532
License Information
2633
-------------------
2734

28-
This product is _**open source**_!
35+
This product is _**open source**_!
2936

30-
Please review the LICENSE.md file for license information.
37+
Please review the LICENSE.md file for license information.
3138

3239
If you have any questions or concerns on licensing, please contact technical support on our [SparkFun forums](https://forum.sparkfun.com/viewforum.php?f=152).
3340

3441
Distributed as-is; no warranty is given.
3542

36-
- Your friends at SparkFun.
43+
* Your friends at SparkFun.
3744

3845
_<COLLABORATION CREDIT>_
250 KB
Loading

docs/images/sfe_flame.png

3.74 KB
Loading
Lines changed: 78 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -1,63 +1,91 @@
1-
#include <Wire.h> // Used to establish serial communication on the I2C bus
1+
/*
2+
* ---------------------------------------------------------------------------------
3+
* Copyright (c) 2025, SparkFun Electronics Inc.
4+
*
5+
* SPDX-License-Identifier: MIT
6+
* ---------------------------------------------------------------------------------
7+
*/
8+
9+
/*
10+
* Example 1: Basic Readings
11+
* -------------------------
12+
* This example shows the most basic way to read magnetic and temperature data from the TMAG5273 sensor.
13+
* The example initializes the sensor, then continuously reads and prints the X, Y, Z magnetic field
14+
* values along with the temperature to the Serial Monitor.
15+
*
16+
* Hardware Connections:
17+
* - Connect the TMAG5273 sensor to the SparkFun Qwiic connector on your SparkFun microcontroller board.
18+
*
19+
* Note: Make sure to install the SparkFun TMAG5273 Arduino Library before running this example.
20+
* You can install it via the Arduino Library Manager or download it from:
21+
* https://github.com/sparkfun/SparkFun_TMAG5273_Arduino_Library
22+
*
23+
*/
24+
225
#include "SparkFun_TMAG5273_Arduino_Library.h" // Used to send and recieve specific information from our sensor
26+
#include <Wire.h> // Used to establish serial communication on the I2C bus
327

428
TMAG5273 sensor; // Initialize hall-effect sensor
529

630
// I2C default address
731
uint8_t i2cAddress = TMAG5273_I2C_ADDRESS_INITIAL;
832

9-
void setup()
33+
void setup()
1034
{
11-
Wire.begin();
12-
// Start serial communication at 115200 baud
13-
Serial.begin(115200);
14-
15-
// Begin example of the magnetic sensor code (and add whitespace for easy reading)
16-
Serial.println("TMAG5273 Example 1: Basic Readings");
17-
Serial.println("");
18-
19-
// If begin is successful (0), then start example
20-
if(sensor.begin(i2cAddress, Wire) == 1)
21-
{
22-
Serial.println("Begin");
23-
}
24-
else // Otherwise, infinite loop
25-
{
26-
Serial.println("Device failed to setup - Freezing code.");
27-
while(1); // Runs forever
28-
}
35+
delay(1000);
36+
Wire.begin();
37+
// Start serial communication at 115200 baud
38+
Serial.begin(115200);
2939

30-
}
40+
// Begin example of the magnetic sensor code (and add whitespace for easy reading)
41+
Serial.println("");
42+
Serial.println("------------------------------------------------------------------");
43+
Serial.println("TMAG5273 Example 1: Basic Readings");
44+
Serial.println("------------------------------------------------------------------");
45+
Serial.println("");
3146

47+
// If begin is successful (0), then start example
48+
if (sensor.begin(i2cAddress, Wire) == 1)
49+
{
50+
Serial.println("Begin");
51+
}
52+
else // Otherwise, infinite loop
53+
{
54+
Serial.println("Device failed to setup - Freezing code.");
55+
while (1)
56+
; // Runs forever
57+
}
58+
}
3259

33-
void loop()
60+
void loop()
3461
{
35-
// Checks if mag channels are on - turns on in setup
36-
if(sensor.getMagneticChannel() != 0)
37-
{
38-
sensor.setTemperatureEn(true);
39-
40-
float magX = sensor.getXData();
41-
float magY = sensor.getYData();
42-
float magZ = sensor.getZData();
43-
float temp = sensor.getTemp();
44-
45-
Serial.print("(");
46-
Serial.print(magX);
47-
Serial.print(", ");
48-
Serial.print(magY);
49-
Serial.print(", ");
50-
Serial.print(magZ);
51-
Serial.println(") mT");
52-
Serial.print(temp);
53-
Serial.println(" C");
54-
}
55-
else
56-
{
57-
// If there is an issue, stop the magnetic readings and restart sensor/example
58-
Serial.println("Mag Channels disabled, stopping..");
59-
while(1);
60-
}
61-
62-
delay(100);
62+
// Checks if mag channels are on - turns on in setup
63+
if (sensor.getMagneticChannel() != 0)
64+
{
65+
sensor.setTemperatureEn(true);
66+
67+
float magX = sensor.getXData();
68+
float magY = sensor.getYData();
69+
float magZ = sensor.getZData();
70+
float temp = sensor.getTemp();
71+
72+
Serial.print("Data - Magnetic: [ X: ");
73+
Serial.print(magX);
74+
Serial.print(", Y: ");
75+
Serial.print(magY);
76+
Serial.print(", Z: ");
77+
Serial.print(magZ);
78+
Serial.print(" ] mT, Temp: ");
79+
Serial.print(temp);
80+
Serial.println(" C");
81+
}
82+
else
83+
{
84+
// If there is an issue, stop the magnetic readings and restart sensor/example
85+
Serial.println("Mag Channels disabled, stopping..");
86+
while (1)
87+
;
88+
}
89+
90+
delay(300);
6391
}

0 commit comments

Comments
 (0)