Skip to content

Commit c4b61e3

Browse files
authored
Merge pull request #2 from sparkfun/work
Refactor library.
2 parents 80ea606 + 7c06bf1 commit c4b61e3

File tree

14 files changed

+2007
-2279
lines changed

14 files changed

+2007
-2279
lines changed

examples/Example01_Basic_OneShot/Example01_Basic_OneShot.ino

Lines changed: 16 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -22,57 +22,58 @@
2222
https://www.sparkfun.com/products/23518 - Qwiic Mini
2323
*/
2424

25-
#include "SparkFun_AS7331.h"
25+
#include <Arduino.h>
26+
#include <Wire.h>
27+
#include <SparkFun_AS7331.h>
2628

2729
SfeAS7331ArdI2C myUVSensor;
2830

29-
int8_t result = SFE_BUS_OK;
30-
3131
void setup() {
3232
Serial.begin(115200);
3333
while(!Serial){delay(100);};
34-
Serial.println("UV LED Example.");
34+
Serial.println("AS7331 UV A/B/C Command (One-shot) mode Example.");
35+
36+
Wire.begin();
3537

3638
// Initialize sensor and run default setup.
3739
if(myUVSensor.begin() == false) {
3840
Serial.println("Sensor failed to begin. Please check your wiring!");
39-
Serial.println("Spinning...");
41+
Serial.println("Halting...");
4042
while(1);
4143
}
4244

4345
Serial.println("Sensor began.");
4446

4547
// Set measurement mode and change device operating mode to measure.
46-
if(myUVSensor.startMeasurement(MEAS_MODE_CMD) == false) {
48+
if(myUVSensor.prepareMeasurement(MEAS_MODE_CMD) == false) {
4749
Serial.println("Sensor did not get set properly.");
48-
Serial.println("Spinning...");
50+
Serial.println("Halting...");
4951
while(1);
5052
}
5153

5254
Serial.println("Set mode to command.");
53-
5455
}
5556

5657
void loop() {
5758

5859
// Send a start measurement command.
59-
if(SFE_BUS_OK != myUVSensor.setStartStateMode(START_STATE_ENABLED))
60+
if(kSTkErrOk != myUVSensor.setStartState(true))
6061
Serial.println("Error starting reading!");
6162

6263
// Wait for a bit longer than the conversion time.
63-
delay(2+(1 << myUVSensor.getConfigConversionTime()));
64+
delay(2+myUVSensor.getConversionTimeMillis());
6465

6566
// Read UV values.
66-
if(SFE_BUS_OK != myUVSensor.readAllUV())
67+
if(kSTkErrOk != myUVSensor.readAllUV())
6768
Serial.println("Error reading UV.");
6869

6970
Serial.print("UVA:");
70-
Serial.print(myUVSensor.measures.uva);
71+
Serial.print(myUVSensor.getUVA());
7172
Serial.print(" UVB:");
72-
Serial.print(myUVSensor.measures.uvb);
73+
Serial.print(myUVSensor.getUVB());
7374
Serial.print(" UVC:");
74-
Serial.println(myUVSensor.measures.uvc);
75+
Serial.println(myUVSensor.getUVC());
7576

7677
delay(2000);
7778

78-
};
79+
}

examples/Example02_CONT_Mode/Example02_CONT_Mode.ino

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,12 @@
2323
https://www.sparkfun.com/products/23518 - Qwiic Mini
2424
*/
2525

26-
#include "SparkFun_AS7331.h"
26+
#include <Arduino.h>
27+
#include <Wire.h>
28+
#include <SparkFun_AS7331.h>
2729

2830
SfeAS7331ArdI2C myUVSensor;
2931

30-
int8_t result = SFE_BUS_OK;
31-
3232
const uint8_t interruptPin = 26;
3333
volatile bool newDataReady = false;
3434

@@ -37,28 +37,32 @@ void setup() {
3737
while(!Serial){delay(100);};
3838
Serial.println("AS7331 UV A/B/C Continuous mode example.");
3939

40+
Wire.begin();
41+
4042
// Configure Interrupt.
4143
pinMode(interruptPin, INPUT);
4244
attachInterrupt(digitalPinToInterrupt(interruptPin), dataReadyInterrupt, RISING);
4345

4446
// Initialize sensor and run default setup.
4547
if(myUVSensor.begin() == false) {
4648
Serial.println("Sensor failed to begin. Please check your wiring!");
47-
Serial.println("Spinning...");
49+
Serial.println("Halting...");
4850
while(1);
4951
}
5052

5153
Serial.println("Sensor began.");
5254

55+
// Set the delay between measurements so that the processor can read out the
56+
// results without interfering with the ADC.
5357
// Set break time to 900us (112 * 8us) to account for the time it takes to poll data.
54-
if(SFE_BUS_OK != myUVSensor.setBreakTime(112)) {
58+
if(kSTkErrOk != myUVSensor.setBreakTime(112)) {
5559
Serial.println("Sensor did not set break time properly.");
56-
Serial.println("Spinning...");
60+
Serial.println("Halting...");
5761
while(1);
5862
}
5963

6064
// Set measurement mode and change device operating mode to measure.
61-
if(myUVSensor.startMeasurement(MEAS_MODE_CONT) == false) {
65+
if(myUVSensor.prepareMeasurement(MEAS_MODE_CONT) == false) {
6266
Serial.println("Sensor did not get set properly.");
6367
Serial.println("Spinning...");
6468
while(1);
@@ -67,7 +71,7 @@ void setup() {
6771
Serial.println("Set mode to continuous. Starting measurement...");
6872

6973
// Begin measurement.
70-
if(SFE_BUS_OK != myUVSensor.setStartStateMode(START_STATE_ENABLED))
74+
if(kSTkErrOk != myUVSensor.setStartState(true))
7175
Serial.println("Error starting reading!");
7276

7377
}
@@ -78,15 +82,15 @@ void loop() {
7882
if(newDataReady) {
7983
newDataReady = false;
8084

81-
if(SFE_BUS_OK != myUVSensor.readAllUV())
85+
if(kSTkErrOk != myUVSensor.readAllUV())
8286
Serial.println("Error reading UV.");
8387

8488
Serial.print("UVA:");
85-
Serial.print(myUVSensor.measures.uva);
89+
Serial.print(myUVSensor.getUVA());
8690
Serial.print(" UVB:");
87-
Serial.print(myUVSensor.measures.uvb);
91+
Serial.print(myUVSensor.getUVB());
8892
Serial.print(" UVC:");
89-
Serial.println(myUVSensor.measures.uvc);
93+
Serial.println(myUVSensor.getUVC());
9094
}
9195

9296
}

examples/Example03_SYNS_Mode/Example03_SYNS_Mode.ino

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -24,12 +24,12 @@
2424
https://www.sparkfun.com/products/23518 - Qwiic Mini
2525
*/
2626

27-
#include "SparkFun_AS7331.h"
27+
#include <Arduino.h>
28+
#include <Wire.h>
29+
#include <SparkFun_AS7331.h>
2830

2931
SfeAS7331ArdI2C myUVSensor;
3032

31-
int8_t result = SFE_BUS_OK;
32-
3333
const uint8_t synPin = 27;
3434

3535
const uint8_t interruptPin = 26;
@@ -40,6 +40,8 @@ void setup() {
4040
while(!Serial){delay(100);};
4141
Serial.println("AS7331 UV A/B/C Synchronous Start mode example.");
4242

43+
Wire.begin();
44+
4345
// Configure SYN pin.
4446
pinMode(synPin, OUTPUT);
4547
digitalWrite(synPin, HIGH); // Active low, so start high.
@@ -51,23 +53,23 @@ void setup() {
5153
// Initialize sensor and run default setup.
5254
if(myUVSensor.begin() == false) {
5355
Serial.println("Sensor failed to begin. Please check your wiring!");
54-
Serial.println("Spinning...");
56+
Serial.println("Halting...");
5557
while(1);
5658
}
5759

5860
Serial.println("Sensor began.");
5961

6062
// Set measurement mode and change device operating mode to measure.
61-
if(myUVSensor.startMeasurement(MEAS_MODE_SYNS) == false) {
63+
if(myUVSensor.prepareMeasurement(MEAS_MODE_SYNS) == false) {
6264
Serial.println("Sensor did not get set properly.");
63-
Serial.println("Spinning...");
65+
Serial.println("Halting...");
6466
while(1);
6567
}
6668

6769
Serial.println("Set mode to synchronous start (SYNS). Starting measurement...");
6870

6971
// Set device to be ready to measure.
70-
if(SFE_BUS_OK != myUVSensor.setStartStateMode(START_STATE_ENABLED))
72+
if(kSTkErrOk != myUVSensor.setStartState(true))
7173
Serial.println("Error starting reading!");
7274

7375
// Send start toggle.
@@ -83,7 +85,7 @@ void loop() {
8385
if(newDataReady) {
8486
newDataReady = false;
8587

86-
if(SFE_BUS_OK != myUVSensor.readAllUV())
88+
if(kSTkErrOk != myUVSensor.readAllUV())
8789
Serial.println("Error reading UV.");
8890

8991
// Start next measurement
@@ -92,11 +94,11 @@ void loop() {
9294
digitalWrite(synPin, HIGH);
9395

9496
Serial.print("UVA:");
95-
Serial.print(myUVSensor.measures.uva);
97+
Serial.print(myUVSensor.getUVA());
9698
Serial.print(" UVB:");
97-
Serial.print(myUVSensor.measures.uvb);
99+
Serial.print(myUVSensor.getUVB());
98100
Serial.print(" UVC:");
99-
Serial.println(myUVSensor.measures.uvc);
101+
Serial.println(myUVSensor.getUVC());
100102
}
101103

102104
}

examples/Example04_SYND_Mode/Example04_SYND_Mode.ino

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -24,43 +24,45 @@
2424
https://www.sparkfun.com/products/23518 - Qwiic Mini
2525
*/
2626

27-
#include "SparkFun_AS7331.h"
27+
#include <Arduino.h>
28+
#include <Wire.h>
29+
#include <SparkFun_AS7331.h>
2830

2931
SfeAS7331ArdI2C myUVSensor;
3032

31-
int8_t result = SFE_BUS_OK;
32-
3333
const uint8_t synPin = 27;
3434

3535
void setup() {
3636
Serial.begin(115200);
3737
while(!Serial){delay(100);};
3838
Serial.println("AS7331 UV A/B/C Synchronous Start and End (SYND) mode example.");
3939

40+
Wire.begin();
41+
4042
// Configure SYN pin.
4143
pinMode(synPin, OUTPUT);
4244
digitalWrite(synPin, HIGH); // Active low, so start high.
4345

4446
// Initialize sensor and run default setup.
4547
if(myUVSensor.begin() == false) {
4648
Serial.println("Sensor failed to begin. Please check your wiring!");
47-
Serial.println("Spinning...");
49+
Serial.println("Halting...");
4850
while(1);
4951
}
5052

5153
Serial.println("Sensor began.");
5254

5355
// Set measurement mode and change device operating mode to measure.
54-
if(myUVSensor.startMeasurement(MEAS_MODE_SYND) == false) {
56+
if(myUVSensor.prepareMeasurement(MEAS_MODE_SYND) == false) {
5557
Serial.println("Sensor did not get set properly.");
56-
Serial.println("Spinning...");
58+
Serial.println("Halting...");
5759
while(1);
5860
}
5961

6062
Serial.println("Set mode to synchronous start/end (SYND). Starting measurement...");
6163

6264
// Set device to be ready to measure.
63-
if(SFE_BUS_OK != myUVSensor.setStartStateMode(START_STATE_ENABLED))
65+
if(kSTkErrOk != myUVSensor.setStartState(true))
6466
Serial.println("Error starting reading!");
6567

6668
// Send start toggle.
@@ -79,15 +81,15 @@ void loop() {
7981
delay(1);
8082
digitalWrite(synPin, HIGH);
8183

82-
if(SFE_BUS_OK != myUVSensor.readAllUV())
84+
if(kSTkErrOk != myUVSensor.readAllUV())
8385
Serial.println("Error reading UV.");
8486

8587
Serial.print("UVA:");
86-
Serial.print(myUVSensor.measures.uva);
88+
Serial.print(myUVSensor.getUVA());
8789
Serial.print(" UVB:");
88-
Serial.print(myUVSensor.measures.uvb);
90+
Serial.print(myUVSensor.getUVB());
8991
Serial.print(" UVC:");
90-
Serial.println(myUVSensor.measures.uvc);
92+
Serial.println(myUVSensor.getUVC());
9193

9294
// Start next measurement.
9395
digitalWrite(synPin, LOW);

0 commit comments

Comments
 (0)