mirror of
https://github.com/RobTillaart/Arduino.git
synced 2024-09-20 00:55:58 -04:00
0.2.1 MCP9808_RT
This commit is contained in:
parent
fa76309027
commit
88aaa6428b
@ -1,6 +1,6 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2020-2021 Rob Tillaart
|
||||
Copyright (c) 2020-2022 Rob Tillaart
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
|
@ -1,7 +1,6 @@
|
||||
//
|
||||
// FILE: mcp9808_minimum.ino
|
||||
// AUTHOR: Rob Tillaart
|
||||
// VERSION: 0.1.0
|
||||
// PURPOSE: demo
|
||||
// DATE: 2020-11-12
|
||||
|
||||
|
@ -1,7 +1,6 @@
|
||||
//
|
||||
// FILE: mcp9808_offset.ino
|
||||
// AUTHOR: Rob Tillaart
|
||||
// VERSION: 0.1.0
|
||||
// PURPOSE: demo
|
||||
// DATE: 2020-11-13
|
||||
|
||||
|
@ -1,7 +1,6 @@
|
||||
//
|
||||
// FILE: mcp9808_performance.ino
|
||||
// AUTHOR: Rob Tillaart
|
||||
// VERSION: 0.1.0
|
||||
// PURPOSE: demo
|
||||
// DATE: 2020-11-13
|
||||
|
||||
|
@ -1,7 +1,6 @@
|
||||
//
|
||||
// FILE: mcp9808_setResolution.ino
|
||||
// AUTHOR: Rob Tillaart
|
||||
// VERSION: 0.1.0
|
||||
// PURPOSE: demo
|
||||
// DATE: 2020-11-13
|
||||
|
||||
|
@ -1,11 +1,8 @@
|
||||
//
|
||||
// FILE: mcp9808_test.ino
|
||||
// AUTHOR: Rob Tillaart
|
||||
// VERSION: 0.1.1
|
||||
// PURPOSE: demo
|
||||
// DATE: 2020-05-03
|
||||
// (c) : MIT
|
||||
//
|
||||
|
||||
|
||||
#include "mcp9808.h"
|
||||
|
@ -1,12 +1,8 @@
|
||||
//
|
||||
// FILE: mcp9808_test_alert.ino
|
||||
// AUTHOR: Rob Tillaart
|
||||
// VERSION: 0.1.0
|
||||
// PURPOSE: demo alert
|
||||
// DATE: 2020-11-12
|
||||
// (c) : MIT
|
||||
//
|
||||
|
||||
//
|
||||
// MCP9808 breakout board
|
||||
// +----------+
|
||||
|
@ -1,12 +1,8 @@
|
||||
//
|
||||
// FILE: mcp9808_test_alert_irq.ino
|
||||
// AUTHOR: Rob Tillaart
|
||||
// VERSION: 0.1.0
|
||||
// PURPOSE: demo alert to interrupt 0 = PIN2 of Arduino UNO.
|
||||
// DATE: 2020-11-16
|
||||
// (c) : MIT
|
||||
//
|
||||
|
||||
//
|
||||
// MCP9808 breakout board
|
||||
// +----------+
|
||||
@ -29,6 +25,7 @@ MCP9808 ts(24);
|
||||
const uint8_t ALERTPIN = 2; // ADJUST IF NEEDED
|
||||
volatile bool flag = false;
|
||||
|
||||
|
||||
// interrupt routine
|
||||
void detectAlert()
|
||||
{
|
||||
|
@ -1,12 +1,8 @@
|
||||
//
|
||||
// FILE: mcp9808_test_alert_polling.ino
|
||||
// AUTHOR: Rob Tillaart
|
||||
// VERSION: 0.1.0
|
||||
// PURPOSE: demo alert to PIN5 of Arduino UNO.
|
||||
// DATE: 2020-11-16
|
||||
// (c) : MIT
|
||||
//
|
||||
|
||||
//
|
||||
// MCP9808 breakout board
|
||||
// +----------+
|
||||
@ -82,3 +78,4 @@ void loop()
|
||||
|
||||
|
||||
// -- END OF FILE --
|
||||
|
||||
|
@ -1,8 +1,10 @@
|
||||
# Syntax Colouring Map For MCP9808
|
||||
|
||||
|
||||
# Data types (KEYWORD1)
|
||||
MCP9808 KEYWORD1
|
||||
|
||||
|
||||
# Methods and Functions (KEYWORD2)
|
||||
setAddress KEYWORD2
|
||||
setConfigRegister KEYWORD2
|
||||
@ -31,6 +33,7 @@ getRevision KEYWORD2
|
||||
|
||||
# Constants (LITERAL1)
|
||||
MCP9808_LIB_VERSION LITERAL1
|
||||
|
||||
MCP9808_THYSTERESIS LITERAL1
|
||||
MCP9808_SHUTDOWN LITERAL1
|
||||
MCP9808_CRIT_LOCK LITERAL1
|
||||
|
@ -15,8 +15,9 @@
|
||||
"type": "git",
|
||||
"url": "https://github.com/RobTillaart/MCP9808_RT.git"
|
||||
},
|
||||
"version": "0.1.4",
|
||||
"version": "0.2.1",
|
||||
"license": "MIT",
|
||||
"frameworks": "arduino",
|
||||
"platforms": "*"
|
||||
"platforms": "*",
|
||||
"headers": "mcp9808.h"
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
name=MCP9808_RT
|
||||
version=0.1.4
|
||||
version=0.2.1
|
||||
author=Rob Tillaart <rob.tillaart@gmail.com>
|
||||
maintainer=Rob Tillaart <rob.tillaart@gmail.com>
|
||||
sentence=Arduino Library for I2C MCP9808 temperature sensor
|
||||
|
@ -1,7 +1,7 @@
|
||||
//
|
||||
// FILE: mcp9808.cpp
|
||||
// AUTHOR: Rob Tillaart
|
||||
// VERSION: 0.1.4
|
||||
// VERSION: 0.2.1
|
||||
// PURPOSE: Arduino Library for I2C mcp9808 temperature sensor
|
||||
// DATE: 2020-05-03
|
||||
// URL: https://github.com/RobTillaart/MCP9808_RT
|
||||
@ -11,10 +11,12 @@
|
||||
// 0.1.1 2020-11-12 refactor
|
||||
// 0.1.2 2020-11-16 removed hasAlert, removed setAlertPin,
|
||||
// added 2 alert examples, refactor low level
|
||||
// 0.1.3 2021-01-01 arduino-ci + unit test
|
||||
// 0.1.3 2021-01-01 Arduino-ci + unit test
|
||||
// 0.1.4 2021-11-08 update build-CI, badges
|
||||
// default offset for offset
|
||||
// default Wire for I2C bus - setAddress()
|
||||
// 0.2.0 2021-11-19 fix #7 negative temperature
|
||||
// 0.2.1 2021-12-21 update library.json, license, minor edits
|
||||
|
||||
|
||||
#include "mcp9808.h"
|
||||
@ -214,7 +216,7 @@ float MCP9808::readFloat(uint8_t reg)
|
||||
}
|
||||
if (val & 0x1000) // negative value
|
||||
{
|
||||
return 256 - (val & 0x0FFF) * 0.0625;
|
||||
return ((val & 0x0FFF) * 0.0625) - 256.0;
|
||||
}
|
||||
return (val & 0x0FFF) * 0.0625;
|
||||
}
|
||||
|
@ -2,7 +2,7 @@
|
||||
//
|
||||
// FILE: mcp9808.h
|
||||
// AUTHOR: Rob Tillaart
|
||||
// VERSION: 0.1.4
|
||||
// VERSION: 0.2.1
|
||||
// PURPOSE: Arduino Library for I2C mcp9808 temperature sensor
|
||||
// DATE: 2020-05-03
|
||||
// URL: https://github.com/RobTillaart/MCP9808_RT
|
||||
@ -17,21 +17,21 @@
|
||||
// 24..31 == 0x18..0x1F
|
||||
|
||||
|
||||
#define MCP9808_LIB_VERSION (F("0.1.4"))
|
||||
#define MCP9808_LIB_VERSION (F("0.2.1"))
|
||||
|
||||
|
||||
// CONFIGURATION REGISTER MASKS
|
||||
// check the datasheet for exact usage
|
||||
#define MCP9808_THYSTERESIS 0x0600
|
||||
#define MCP9808_SHUTDOWN 0x0100
|
||||
#define MCP9808_CRIT_LOCK 0x0080
|
||||
#define MCP9808_WIN_LOCK 0x0040
|
||||
#define MCP9808_INT_CLEAR 0x0020
|
||||
#define MCP9808_ALERT_STATUS 0x0010
|
||||
#define MCP9808_ALERT_CTRL 0x0008
|
||||
#define MCP9808_ALERT_SELECT 0x0004
|
||||
#define MCP9808_ALERT_POLAR 0x0002
|
||||
#define MCP9808_ALERT_MODE 0x0001
|
||||
#define MCP9808_THYSTERESIS 0x0600
|
||||
#define MCP9808_SHUTDOWN 0x0100
|
||||
#define MCP9808_CRIT_LOCK 0x0080
|
||||
#define MCP9808_WIN_LOCK 0x0040
|
||||
#define MCP9808_INT_CLEAR 0x0020
|
||||
#define MCP9808_ALERT_STATUS 0x0010
|
||||
#define MCP9808_ALERT_CTRL 0x0008
|
||||
#define MCP9808_ALERT_SELECT 0x0004
|
||||
#define MCP9808_ALERT_POLAR 0x0002
|
||||
#define MCP9808_ALERT_MODE 0x0001
|
||||
|
||||
|
||||
class MCP9808
|
||||
|
@ -39,6 +39,7 @@
|
||||
|
||||
unittest_setup()
|
||||
{
|
||||
fprintf(stderr, "MCP9808_LIB_VERSION: %s\n", (char *) MCP9808_LIB_VERSION);
|
||||
}
|
||||
|
||||
unittest_teardown()
|
||||
@ -46,12 +47,24 @@ unittest_teardown()
|
||||
}
|
||||
|
||||
|
||||
// TODO more can be tested if there is a Godmode->Wire stub
|
||||
unittest(test_constants)
|
||||
{
|
||||
assertEqual(MCP9808_THYSTERESIS , 0x0600);
|
||||
assertEqual(MCP9808_SHUTDOWN , 0x0100);
|
||||
assertEqual(MCP9808_CRIT_LOCK , 0x0080);
|
||||
assertEqual(MCP9808_WIN_LOCK , 0x0040);
|
||||
assertEqual(MCP9808_INT_CLEAR , 0x0020);
|
||||
assertEqual(MCP9808_ALERT_STATUS, 0x0010);
|
||||
assertEqual(MCP9808_ALERT_CTRL , 0x0008);
|
||||
assertEqual(MCP9808_ALERT_SELECT, 0x0004);
|
||||
assertEqual(MCP9808_ALERT_POLAR , 0x0002);
|
||||
assertEqual(MCP9808_ALERT_MODE , 0x0001);
|
||||
}
|
||||
|
||||
|
||||
// TODO more can be tested if there is a Godmode->Wire stub
|
||||
unittest(test_constructor)
|
||||
{
|
||||
fprintf(stderr, "VERSION: %s\n", (char *) MCP9808_LIB_VERSION);
|
||||
|
||||
MCP9808 ts(24);
|
||||
assertTrue(ts.setAddress(24, &Wire) );
|
||||
assertTrue(ts.isConnected());
|
||||
|
Loading…
Reference in New Issue
Block a user