Apply clang-format to all source files
🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
parent
36f04e4e4b
commit
53884e9eb4
7 changed files with 177 additions and 130 deletions
0
.clang-format
Normal file → Executable file
0
.clang-format
Normal file → Executable file
0
.github/workflows/githubci.yml
vendored
Normal file → Executable file
0
.github/workflows/githubci.yml
vendored
Normal file → Executable file
0
.gitignore
vendored
Normal file → Executable file
0
.gitignore
vendored
Normal file → Executable file
109
Adafruit_QMC5883P.cpp
Normal file → Executable file
109
Adafruit_QMC5883P.cpp
Normal file → Executable file
|
|
@ -29,7 +29,9 @@
|
|||
/*!
|
||||
* @brief Instantiates a new QMC5883P class
|
||||
*/
|
||||
Adafruit_QMC5883P::Adafruit_QMC5883P(void) { i2c_dev = NULL; }
|
||||
Adafruit_QMC5883P::Adafruit_QMC5883P(void) {
|
||||
i2c_dev = NULL;
|
||||
}
|
||||
|
||||
/*!
|
||||
* @brief Cleans up the QMC5883P
|
||||
|
|
@ -60,7 +62,8 @@ bool Adafruit_QMC5883P::begin(uint8_t i2c_addr, TwoWire *wire) {
|
|||
}
|
||||
|
||||
// Check chip ID
|
||||
Adafruit_BusIO_Register chip_id_reg = Adafruit_BusIO_Register(i2c_dev, QMC5883P_REG_CHIPID);
|
||||
Adafruit_BusIO_Register chip_id_reg =
|
||||
Adafruit_BusIO_Register(i2c_dev, QMC5883P_REG_CHIPID);
|
||||
uint8_t chip_id = chip_id_reg.read();
|
||||
if (chip_id != 0x80) {
|
||||
return false;
|
||||
|
|
@ -83,7 +86,8 @@ bool Adafruit_QMC5883P::getRawMagnetic(int16_t *x, int16_t *y, int16_t *z) {
|
|||
uint8_t buffer[6];
|
||||
|
||||
// Read all 6 bytes (X,Y,Z LSB+MSB) starting from X LSB register
|
||||
Adafruit_BusIO_Register data_reg = Adafruit_BusIO_Register(i2c_dev, QMC5883P_REG_XOUT_LSB, 6);
|
||||
Adafruit_BusIO_Register data_reg =
|
||||
Adafruit_BusIO_Register(i2c_dev, QMC5883P_REG_XOUT_LSB, 6);
|
||||
if (!data_reg.read(buffer, 6)) {
|
||||
return false;
|
||||
}
|
||||
|
|
@ -148,8 +152,10 @@ bool Adafruit_QMC5883P::getGaussField(float *x, float *y, float *z) {
|
|||
* @return True if new data is ready, false otherwise
|
||||
*/
|
||||
bool Adafruit_QMC5883P::isDataReady() {
|
||||
Adafruit_BusIO_Register status_reg = Adafruit_BusIO_Register(i2c_dev, QMC5883P_REG_STATUS);
|
||||
Adafruit_BusIO_RegisterBits drdy_bit = Adafruit_BusIO_RegisterBits(&status_reg, 1, 0);
|
||||
Adafruit_BusIO_Register status_reg =
|
||||
Adafruit_BusIO_Register(i2c_dev, QMC5883P_REG_STATUS);
|
||||
Adafruit_BusIO_RegisterBits drdy_bit =
|
||||
Adafruit_BusIO_RegisterBits(&status_reg, 1, 0);
|
||||
return drdy_bit.read();
|
||||
}
|
||||
|
||||
|
|
@ -158,8 +164,10 @@ bool Adafruit_QMC5883P::isDataReady() {
|
|||
* @return True if overflow occurred, false otherwise
|
||||
*/
|
||||
bool Adafruit_QMC5883P::isOverflow() {
|
||||
Adafruit_BusIO_Register status_reg = Adafruit_BusIO_Register(i2c_dev, QMC5883P_REG_STATUS);
|
||||
Adafruit_BusIO_RegisterBits ovfl_bit = Adafruit_BusIO_RegisterBits(&status_reg, 1, 1);
|
||||
Adafruit_BusIO_Register status_reg =
|
||||
Adafruit_BusIO_Register(i2c_dev, QMC5883P_REG_STATUS);
|
||||
Adafruit_BusIO_RegisterBits ovfl_bit =
|
||||
Adafruit_BusIO_RegisterBits(&status_reg, 1, 1);
|
||||
return ovfl_bit.read();
|
||||
}
|
||||
|
||||
|
|
@ -169,8 +177,10 @@ bool Adafruit_QMC5883P::isOverflow() {
|
|||
* The operating mode to set
|
||||
*/
|
||||
void Adafruit_QMC5883P::setMode(qmc5883p_mode_t mode) {
|
||||
Adafruit_BusIO_Register ctrl1_reg = Adafruit_BusIO_Register(i2c_dev, QMC5883P_REG_CONTROL1);
|
||||
Adafruit_BusIO_RegisterBits mode_bits = Adafruit_BusIO_RegisterBits(&ctrl1_reg, 2, 0);
|
||||
Adafruit_BusIO_Register ctrl1_reg =
|
||||
Adafruit_BusIO_Register(i2c_dev, QMC5883P_REG_CONTROL1);
|
||||
Adafruit_BusIO_RegisterBits mode_bits =
|
||||
Adafruit_BusIO_RegisterBits(&ctrl1_reg, 2, 0);
|
||||
mode_bits.write(mode);
|
||||
}
|
||||
|
||||
|
|
@ -179,8 +189,10 @@ void Adafruit_QMC5883P::setMode(qmc5883p_mode_t mode) {
|
|||
* @return The current operating mode
|
||||
*/
|
||||
qmc5883p_mode_t Adafruit_QMC5883P::getMode() {
|
||||
Adafruit_BusIO_Register ctrl1_reg = Adafruit_BusIO_Register(i2c_dev, QMC5883P_REG_CONTROL1);
|
||||
Adafruit_BusIO_RegisterBits mode_bits = Adafruit_BusIO_RegisterBits(&ctrl1_reg, 2, 0);
|
||||
Adafruit_BusIO_Register ctrl1_reg =
|
||||
Adafruit_BusIO_Register(i2c_dev, QMC5883P_REG_CONTROL1);
|
||||
Adafruit_BusIO_RegisterBits mode_bits =
|
||||
Adafruit_BusIO_RegisterBits(&ctrl1_reg, 2, 0);
|
||||
return (qmc5883p_mode_t)mode_bits.read();
|
||||
}
|
||||
|
||||
|
|
@ -190,8 +202,10 @@ qmc5883p_mode_t Adafruit_QMC5883P::getMode() {
|
|||
* The output data rate to set
|
||||
*/
|
||||
void Adafruit_QMC5883P::setODR(qmc5883p_odr_t odr) {
|
||||
Adafruit_BusIO_Register ctrl1_reg = Adafruit_BusIO_Register(i2c_dev, QMC5883P_REG_CONTROL1);
|
||||
Adafruit_BusIO_RegisterBits odr_bits = Adafruit_BusIO_RegisterBits(&ctrl1_reg, 2, 2);
|
||||
Adafruit_BusIO_Register ctrl1_reg =
|
||||
Adafruit_BusIO_Register(i2c_dev, QMC5883P_REG_CONTROL1);
|
||||
Adafruit_BusIO_RegisterBits odr_bits =
|
||||
Adafruit_BusIO_RegisterBits(&ctrl1_reg, 2, 2);
|
||||
odr_bits.write(odr);
|
||||
}
|
||||
|
||||
|
|
@ -200,8 +214,10 @@ void Adafruit_QMC5883P::setODR(qmc5883p_odr_t odr) {
|
|||
* @return The current output data rate
|
||||
*/
|
||||
qmc5883p_odr_t Adafruit_QMC5883P::getODR() {
|
||||
Adafruit_BusIO_Register ctrl1_reg = Adafruit_BusIO_Register(i2c_dev, QMC5883P_REG_CONTROL1);
|
||||
Adafruit_BusIO_RegisterBits odr_bits = Adafruit_BusIO_RegisterBits(&ctrl1_reg, 2, 2);
|
||||
Adafruit_BusIO_Register ctrl1_reg =
|
||||
Adafruit_BusIO_Register(i2c_dev, QMC5883P_REG_CONTROL1);
|
||||
Adafruit_BusIO_RegisterBits odr_bits =
|
||||
Adafruit_BusIO_RegisterBits(&ctrl1_reg, 2, 2);
|
||||
return (qmc5883p_odr_t)odr_bits.read();
|
||||
}
|
||||
|
||||
|
|
@ -211,8 +227,10 @@ qmc5883p_odr_t Adafruit_QMC5883P::getODR() {
|
|||
* The over sample ratio to set
|
||||
*/
|
||||
void Adafruit_QMC5883P::setOSR(qmc5883p_osr_t osr) {
|
||||
Adafruit_BusIO_Register ctrl1_reg = Adafruit_BusIO_Register(i2c_dev, QMC5883P_REG_CONTROL1);
|
||||
Adafruit_BusIO_RegisterBits osr_bits = Adafruit_BusIO_RegisterBits(&ctrl1_reg, 2, 4);
|
||||
Adafruit_BusIO_Register ctrl1_reg =
|
||||
Adafruit_BusIO_Register(i2c_dev, QMC5883P_REG_CONTROL1);
|
||||
Adafruit_BusIO_RegisterBits osr_bits =
|
||||
Adafruit_BusIO_RegisterBits(&ctrl1_reg, 2, 4);
|
||||
osr_bits.write(osr);
|
||||
}
|
||||
|
||||
|
|
@ -221,8 +239,10 @@ void Adafruit_QMC5883P::setOSR(qmc5883p_osr_t osr) {
|
|||
* @return The current over sample ratio
|
||||
*/
|
||||
qmc5883p_osr_t Adafruit_QMC5883P::getOSR() {
|
||||
Adafruit_BusIO_Register ctrl1_reg = Adafruit_BusIO_Register(i2c_dev, QMC5883P_REG_CONTROL1);
|
||||
Adafruit_BusIO_RegisterBits osr_bits = Adafruit_BusIO_RegisterBits(&ctrl1_reg, 2, 4);
|
||||
Adafruit_BusIO_Register ctrl1_reg =
|
||||
Adafruit_BusIO_Register(i2c_dev, QMC5883P_REG_CONTROL1);
|
||||
Adafruit_BusIO_RegisterBits osr_bits =
|
||||
Adafruit_BusIO_RegisterBits(&ctrl1_reg, 2, 4);
|
||||
return (qmc5883p_osr_t)osr_bits.read();
|
||||
}
|
||||
|
||||
|
|
@ -232,8 +252,10 @@ qmc5883p_osr_t Adafruit_QMC5883P::getOSR() {
|
|||
* The downsample ratio to set
|
||||
*/
|
||||
void Adafruit_QMC5883P::setDSR(qmc5883p_dsr_t dsr) {
|
||||
Adafruit_BusIO_Register ctrl1_reg = Adafruit_BusIO_Register(i2c_dev, QMC5883P_REG_CONTROL1);
|
||||
Adafruit_BusIO_RegisterBits dsr_bits = Adafruit_BusIO_RegisterBits(&ctrl1_reg, 2, 6);
|
||||
Adafruit_BusIO_Register ctrl1_reg =
|
||||
Adafruit_BusIO_Register(i2c_dev, QMC5883P_REG_CONTROL1);
|
||||
Adafruit_BusIO_RegisterBits dsr_bits =
|
||||
Adafruit_BusIO_RegisterBits(&ctrl1_reg, 2, 6);
|
||||
dsr_bits.write(dsr);
|
||||
}
|
||||
|
||||
|
|
@ -242,8 +264,10 @@ void Adafruit_QMC5883P::setDSR(qmc5883p_dsr_t dsr) {
|
|||
* @return The current downsample ratio
|
||||
*/
|
||||
qmc5883p_dsr_t Adafruit_QMC5883P::getDSR() {
|
||||
Adafruit_BusIO_Register ctrl1_reg = Adafruit_BusIO_Register(i2c_dev, QMC5883P_REG_CONTROL1);
|
||||
Adafruit_BusIO_RegisterBits dsr_bits = Adafruit_BusIO_RegisterBits(&ctrl1_reg, 2, 6);
|
||||
Adafruit_BusIO_Register ctrl1_reg =
|
||||
Adafruit_BusIO_Register(i2c_dev, QMC5883P_REG_CONTROL1);
|
||||
Adafruit_BusIO_RegisterBits dsr_bits =
|
||||
Adafruit_BusIO_RegisterBits(&ctrl1_reg, 2, 6);
|
||||
return (qmc5883p_dsr_t)dsr_bits.read();
|
||||
}
|
||||
|
||||
|
|
@ -252,8 +276,10 @@ qmc5883p_dsr_t Adafruit_QMC5883P::getDSR() {
|
|||
* @return True if reset was successful, false otherwise
|
||||
*/
|
||||
bool Adafruit_QMC5883P::softReset() {
|
||||
Adafruit_BusIO_Register ctrl2_reg = Adafruit_BusIO_Register(i2c_dev, QMC5883P_REG_CONTROL2);
|
||||
Adafruit_BusIO_RegisterBits reset_bit = Adafruit_BusIO_RegisterBits(&ctrl2_reg, 1, 7);
|
||||
Adafruit_BusIO_Register ctrl2_reg =
|
||||
Adafruit_BusIO_Register(i2c_dev, QMC5883P_REG_CONTROL2);
|
||||
Adafruit_BusIO_RegisterBits reset_bit =
|
||||
Adafruit_BusIO_RegisterBits(&ctrl2_reg, 1, 7);
|
||||
|
||||
// Set reset bit
|
||||
reset_bit.write(1);
|
||||
|
|
@ -262,7 +288,8 @@ bool Adafruit_QMC5883P::softReset() {
|
|||
delay(50);
|
||||
|
||||
// Check if chip ID is still valid after reset
|
||||
Adafruit_BusIO_Register chip_id_reg = Adafruit_BusIO_Register(i2c_dev, QMC5883P_REG_CHIPID);
|
||||
Adafruit_BusIO_Register chip_id_reg =
|
||||
Adafruit_BusIO_Register(i2c_dev, QMC5883P_REG_CHIPID);
|
||||
uint8_t chip_id = chip_id_reg.read();
|
||||
return (chip_id == 0x80);
|
||||
}
|
||||
|
|
@ -272,8 +299,10 @@ bool Adafruit_QMC5883P::softReset() {
|
|||
* @return True if self-test passed, false otherwise
|
||||
*/
|
||||
bool Adafruit_QMC5883P::selfTest() {
|
||||
Adafruit_BusIO_Register ctrl2_reg = Adafruit_BusIO_Register(i2c_dev, QMC5883P_REG_CONTROL2);
|
||||
Adafruit_BusIO_RegisterBits test_bit = Adafruit_BusIO_RegisterBits(&ctrl2_reg, 1, 6);
|
||||
Adafruit_BusIO_Register ctrl2_reg =
|
||||
Adafruit_BusIO_Register(i2c_dev, QMC5883P_REG_CONTROL2);
|
||||
Adafruit_BusIO_RegisterBits test_bit =
|
||||
Adafruit_BusIO_RegisterBits(&ctrl2_reg, 1, 6);
|
||||
|
||||
// Set self-test bit
|
||||
test_bit.write(1);
|
||||
|
|
@ -292,8 +321,10 @@ bool Adafruit_QMC5883P::selfTest() {
|
|||
* The magnetic field range to set
|
||||
*/
|
||||
void Adafruit_QMC5883P::setRange(qmc5883p_range_t range) {
|
||||
Adafruit_BusIO_Register ctrl2_reg = Adafruit_BusIO_Register(i2c_dev, QMC5883P_REG_CONTROL2);
|
||||
Adafruit_BusIO_RegisterBits range_bits = Adafruit_BusIO_RegisterBits(&ctrl2_reg, 2, 2);
|
||||
Adafruit_BusIO_Register ctrl2_reg =
|
||||
Adafruit_BusIO_Register(i2c_dev, QMC5883P_REG_CONTROL2);
|
||||
Adafruit_BusIO_RegisterBits range_bits =
|
||||
Adafruit_BusIO_RegisterBits(&ctrl2_reg, 2, 2);
|
||||
range_bits.write(range);
|
||||
}
|
||||
|
||||
|
|
@ -302,8 +333,10 @@ void Adafruit_QMC5883P::setRange(qmc5883p_range_t range) {
|
|||
* @return The current magnetic field range
|
||||
*/
|
||||
qmc5883p_range_t Adafruit_QMC5883P::getRange() {
|
||||
Adafruit_BusIO_Register ctrl2_reg = Adafruit_BusIO_Register(i2c_dev, QMC5883P_REG_CONTROL2);
|
||||
Adafruit_BusIO_RegisterBits range_bits = Adafruit_BusIO_RegisterBits(&ctrl2_reg, 2, 2);
|
||||
Adafruit_BusIO_Register ctrl2_reg =
|
||||
Adafruit_BusIO_Register(i2c_dev, QMC5883P_REG_CONTROL2);
|
||||
Adafruit_BusIO_RegisterBits range_bits =
|
||||
Adafruit_BusIO_RegisterBits(&ctrl2_reg, 2, 2);
|
||||
return (qmc5883p_range_t)range_bits.read();
|
||||
}
|
||||
|
||||
|
|
@ -313,8 +346,10 @@ qmc5883p_range_t Adafruit_QMC5883P::getRange() {
|
|||
* The set/reset mode to set
|
||||
*/
|
||||
void Adafruit_QMC5883P::setSetResetMode(qmc5883p_setreset_t mode) {
|
||||
Adafruit_BusIO_Register ctrl2_reg = Adafruit_BusIO_Register(i2c_dev, QMC5883P_REG_CONTROL2);
|
||||
Adafruit_BusIO_RegisterBits setreset_bits = Adafruit_BusIO_RegisterBits(&ctrl2_reg, 2, 0);
|
||||
Adafruit_BusIO_Register ctrl2_reg =
|
||||
Adafruit_BusIO_Register(i2c_dev, QMC5883P_REG_CONTROL2);
|
||||
Adafruit_BusIO_RegisterBits setreset_bits =
|
||||
Adafruit_BusIO_RegisterBits(&ctrl2_reg, 2, 0);
|
||||
setreset_bits.write(mode);
|
||||
}
|
||||
|
||||
|
|
@ -323,7 +358,9 @@ void Adafruit_QMC5883P::setSetResetMode(qmc5883p_setreset_t mode) {
|
|||
* @return The current set/reset mode
|
||||
*/
|
||||
qmc5883p_setreset_t Adafruit_QMC5883P::getSetResetMode() {
|
||||
Adafruit_BusIO_Register ctrl2_reg = Adafruit_BusIO_Register(i2c_dev, QMC5883P_REG_CONTROL2);
|
||||
Adafruit_BusIO_RegisterBits setreset_bits = Adafruit_BusIO_RegisterBits(&ctrl2_reg, 2, 0);
|
||||
Adafruit_BusIO_Register ctrl2_reg =
|
||||
Adafruit_BusIO_Register(i2c_dev, QMC5883P_REG_CONTROL2);
|
||||
Adafruit_BusIO_RegisterBits setreset_bits =
|
||||
Adafruit_BusIO_RegisterBits(&ctrl2_reg, 2, 0);
|
||||
return (qmc5883p_setreset_t)setreset_bits.read();
|
||||
}
|
||||
3
Adafruit_QMC5883P.h
Normal file → Executable file
3
Adafruit_QMC5883P.h
Normal file → Executable file
|
|
@ -19,10 +19,11 @@
|
|||
#ifndef _ADAFRUIT_QMC5883P_H_
|
||||
#define _ADAFRUIT_QMC5883P_H_
|
||||
|
||||
#include "Arduino.h"
|
||||
#include <Adafruit_BusIO_Register.h>
|
||||
#include <Adafruit_I2CDevice.h>
|
||||
|
||||
#include "Arduino.h"
|
||||
|
||||
/*=========================================================================
|
||||
I2C ADDRESS/BITS
|
||||
-----------------------------------------------------------------------*/
|
||||
|
|
|
|||
0
README.md
Normal file → Executable file
0
README.md
Normal file → Executable file
27
examples/test_QMC5883P/test_QMC5883P.ino
Normal file → Executable file
27
examples/test_QMC5883P/test_QMC5883P.ino
Normal file → Executable file
|
|
@ -10,13 +10,15 @@ Adafruit_QMC5883P qmc;
|
|||
|
||||
void setup() {
|
||||
Serial.begin(115200);
|
||||
while (!Serial) delay(10);
|
||||
while (!Serial)
|
||||
delay(10);
|
||||
|
||||
Serial.println("QMC5883P Test");
|
||||
|
||||
if (!qmc.begin()) {
|
||||
Serial.println("Failed to find QMC5883P chip");
|
||||
while (1) delay(10);
|
||||
while (1)
|
||||
delay(10);
|
||||
}
|
||||
|
||||
Serial.println("QMC5883P Found!");
|
||||
|
|
@ -158,7 +160,8 @@ void loop() {
|
|||
|
||||
// Change range every 3 seconds
|
||||
if (millis() - last_range_change > 3000) {
|
||||
qmc5883p_range_t ranges[] = {QMC5883P_RANGE_2G, QMC5883P_RANGE_8G, QMC5883P_RANGE_12G, QMC5883P_RANGE_30G};
|
||||
qmc5883p_range_t ranges[] = {QMC5883P_RANGE_2G, QMC5883P_RANGE_8G,
|
||||
QMC5883P_RANGE_12G, QMC5883P_RANGE_30G};
|
||||
const char* range_names[] = {"±2G", "±8G", "±12G", "±30G"};
|
||||
|
||||
qmc.setRange(ranges[range_counter]);
|
||||
|
|
@ -175,14 +178,20 @@ void loop() {
|
|||
float gx, gy, gz;
|
||||
|
||||
if (qmc.getRawMagnetic(&x, &y, &z)) {
|
||||
Serial.print("Raw - X: "); Serial.print(x);
|
||||
Serial.print(" Y: "); Serial.print(y);
|
||||
Serial.print(" Z: "); Serial.print(z);
|
||||
Serial.print("Raw - X: ");
|
||||
Serial.print(x);
|
||||
Serial.print(" Y: ");
|
||||
Serial.print(y);
|
||||
Serial.print(" Z: ");
|
||||
Serial.print(z);
|
||||
|
||||
if (qmc.getGaussField(&gx, &gy, &gz)) {
|
||||
Serial.print(" | Gauss - X: "); Serial.print(gx, 3);
|
||||
Serial.print(" Y: "); Serial.print(gy, 3);
|
||||
Serial.print(" Z: "); Serial.println(gz, 3);
|
||||
Serial.print(" | Gauss - X: ");
|
||||
Serial.print(gx, 3);
|
||||
Serial.print(" Y: ");
|
||||
Serial.print(gy, 3);
|
||||
Serial.print(" Z: ");
|
||||
Serial.println(gz, 3);
|
||||
} else {
|
||||
Serial.println(" | Failed to convert to Gauss");
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue