Skip to content

Commit ae68f51

Browse files
Push from janky .ino
1 parent 11a9251 commit ae68f51

File tree

5 files changed

+144
-1
lines changed

5 files changed

+144
-1
lines changed

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
2+
*.bin

MCP9600_Test/MCP9600_Test.ino

Lines changed: 102 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,102 @@
1+
#include <Wire.h>
2+
// register pointers for various device functions
3+
#define DEV_ADDR 0x66
4+
#define RESOLUTION 0.0625
5+
6+
enum MCP9600_Register {
7+
HOT_JUNC_TEMP = 0x00,
8+
DELTA_JUNCT_TEMP = 0x01,
9+
COLD_JUNC_TEMP = 0x02,
10+
STATUS = 0x04,
11+
THERMO_SENSOR_CONFIG = 0x05,
12+
DEVICE_CONFIG = 0x06,
13+
DEVICE_ID = 0x20,
14+
};
15+
16+
uint8_t readSingleRegister(MCP9600_Register reg){
17+
Wire.beginTransmission(DEV_ADDR);
18+
Wire.write(reg);
19+
Wire.endTransmission();
20+
Wire.requestFrom(DEV_ADDR, 1);
21+
22+
if(Wire.available()){
23+
uint8_t data = Wire.read();
24+
Wire.endTransmission();
25+
return data;
26+
}
27+
28+
else{
29+
return 0;
30+
}
31+
}
32+
33+
uint16_t readDoubleRegister(MCP9600_Register reg){
34+
Wire.beginTransmission(DEV_ADDR);
35+
Wire.write(reg);
36+
Wire.endTransmission();
37+
Wire.requestFrom(DEV_ADDR, 2);
38+
39+
while(!(Wire.available() < 2)){
40+
uint16_t data = Wire.read() << 8;
41+
data |= Wire.read();
42+
Wire.endTransmission();
43+
return data;
44+
}
45+
}
46+
47+
uint16_t getDeviceID(){
48+
return readDoubleRegister(DEVICE_ID);
49+
}
50+
51+
int16_t getDelta(){
52+
Wire.beginTransmission(DEV_ADDR);
53+
Wire.write(DELTA_JUNCT_TEMP);
54+
Wire.endTransmission();
55+
Wire.requestFrom(DEV_ADDR, 2);
56+
57+
while(!(Wire.available() < 2)){
58+
int16_t data = Wire.read() << 8;
59+
data |= Wire.read();
60+
Wire.endTransmission();
61+
return data;
62+
}
63+
}
64+
65+
void setup() {
66+
Wire.begin();
67+
Serial.begin(115200);
68+
Wire.beginTransmission(DEV_ADDR);
69+
70+
//make sure the device will ack
71+
if(Wire.endTransmission() != 0){
72+
Serial.println("Device Setup Failed");
73+
while(1);
74+
}
75+
76+
else{
77+
Serial.print("Device setup okay");
78+
}
79+
}
80+
81+
void loop() {
82+
uint16_t hot = readDoubleRegister(HOT_JUNC_TEMP);
83+
uint16_t cold = readDoubleRegister(COLD_JUNC_TEMP);
84+
uint16_t delta = getDelta();
85+
Serial.print("Device ID: ");
86+
Serial.print(getDeviceID(), BIN);
87+
Serial.print(" Hot Junction: ");
88+
Serial.print(hot);
89+
Serial.print(" (");
90+
Serial.print((float)hot*RESOLUTION);
91+
Serial.print(" °C) Cold Junction: ");
92+
Serial.print(cold);
93+
Serial.print(" (");
94+
Serial.print(cold*RESOLUTION);
95+
Serial.print(" °C) Delta Junction: ");
96+
Serial.print(delta);
97+
Serial.print(" (");
98+
Serial.print((float)delta*RESOLUTION);
99+
Serial.print(" °C)");
100+
Serial.println();
101+
delay(10);
102+
}

README.md

Lines changed: 0 additions & 1 deletion
This file was deleted.

keywords.txt

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
######################################################################
2+
# Syntax Coloring Map for SparkFun TMP117 Temperature Sensor Library #
3+
######################################################################
4+
# Class
5+
######################################################################
6+
7+
TMP117 KEYWORD1
8+
9+
######################################################################
10+
# Methods and Functions
11+
######################################################################
12+
13+
begin KEYWORD2
14+
getAddress KEYWORD2
15+
setAddress KEYWORD2
16+
readTempC KEYWORD2
17+
readTempF KEYWORD2
18+
getTemperatureOffset KEYWORD2
19+
setTemperatureOffset KEYWORD2
20+
getLowLimit KEYWORD2
21+
setLowLimit KEYWORD2
22+
getHighLimit KEYWORD2
23+
setHighLimit KEYWORD2
24+
getConversionCycleTime KEYWORD2
25+
setConversionCycleTime KEYWORD2
26+
getConversionMode KEYWORD2
27+
setConversionMode KEYWORD2
28+
dataReady KEYWORD2
29+
softReset KEYWORD2
30+
readRegister KEYWORD2
31+
writeRegister KEYWORD2

library.properties

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
name=SparkFun TMP117 Breakout
2+
version=1.0.0
3+
author=SparkFun Electronics <techsupport@sparkfun.com>
4+
maintainer=Madison Chodikov <madison.chodikov@sparkfun.com>
5+
sentence=A library to drive the Texas Instruments TMP117 by I2C.
6+
paragraph=Communicates with the TMP117 over I2C to quickly integrate a temperature sensor into your project.
7+
category=Sensors
8+
url= //No webpage yet
9+
architectures=*

0 commit comments

Comments
 (0)