Skip to content

Commit 5e2a636

Browse files
committed
IO: Reorganize OOP examples
1 parent 8542edd commit 5e2a636

File tree

17 files changed

+63
-43
lines changed

17 files changed

+63
-43
lines changed

java/libraries/io/examples/SPIAnalogDigitalOOP/SPIAnalogDigitalOOP.pde renamed to java/libraries/io/examples/AnalogDigital_SPI_MCP3001/AnalogDigital_SPI_MCP3001.pde

File renamed without changes.

java/libraries/io/examples/SPIAnalogDigitalOOP/MCP3001.pde renamed to java/libraries/io/examples/AnalogDigital_SPI_MCP3001/MCP3001.pde

File renamed without changes.

java/libraries/io/examples/SPIAnalogDigital/setup.png renamed to java/libraries/io/examples/AnalogDigital_SPI_MCP3001/setup.png

File renamed without changes.

java/libraries/io/examples/SPIAnalogDigitalOOP8/SPIAnalogDigitalOOP8.pde renamed to java/libraries/io/examples/AnalogDigital_SPI_MCP3008/AnalogDigital_SPI_MCP3008.pde

File renamed without changes.

java/libraries/io/examples/SPIAnalogDigitalOOP8/MCP3008.pde renamed to java/libraries/io/examples/AnalogDigital_SPI_MCP3008/MCP3008.pde

File renamed without changes.

java/libraries/io/examples/SPIAnalogDigitalOOP8/setup.png renamed to java/libraries/io/examples/AnalogDigital_SPI_MCP3008/setup.png

File renamed without changes.
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
import processing.io.*;
2+
HMC6352 compass;
3+
4+
// see setup.png in the sketch folder for wiring details
5+
6+
void setup() {
7+
// the module's I2C address can be changed by modifying values in its EEPROM
8+
// 0x21 is however the default address
9+
10+
//printArray(I2C.list());
11+
compass = new HMC6352("i2c-1", 0x21);
12+
}
13+
14+
void draw() {
15+
background(255);
16+
float deg = compass.heading();
17+
println(deg + " degrees");
18+
line(width/2, height/2, width/2+sin(radians(deg))*width/2, height/2-cos(radians(deg))*height/2);
19+
}
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
import processing.io.I2C;
2+
3+
// HMC6352 is a digital compass using I2C
4+
// datasheet: https://www.sparkfun.com/datasheets/Components/HMC6352.pdf
5+
6+
class HMC6352 extends I2C {
7+
int address;
8+
9+
HMC6352(String dev, int address) {
10+
super(dev);
11+
this.address = address;
12+
setHeadingMode();
13+
}
14+
15+
void setHeadingMode() {
16+
beginTransmission(address);
17+
// command byte for writing to EEPROM
18+
write(0x77);
19+
// address of the output data control byte
20+
write(0x4e);
21+
// give us the plain heading
22+
write(0x00);
23+
endTransmission();
24+
}
25+
26+
float heading() {
27+
beginTransmission(address);
28+
// command byte for reading the data
29+
write(0x41);
30+
byte[] in = read(2);
31+
endTransmission();
32+
// put bytes together to tenth of degrees
33+
// & 0xff makes sure the byte is not interpreted as a negative value
34+
int deg = (in[0] & 0xff) << 8 | (in[1] & 0xff);
35+
// return degrees
36+
return deg / 10.0;
37+
}
38+
}
File renamed without changes.

java/libraries/io/examples/I2CDigitalAnalogOOP/I2CDigitalAnalogOOP.pde renamed to java/libraries/io/examples/DigitalAnalog_I2C_MCP4725/DigitalAnalog_I2C_MCP4725.pde

File renamed without changes.

0 commit comments

Comments
 (0)