0.2.1 MCP9808_RT

This commit is contained in:
rob tillaart 2021-12-21 17:44:18 +01:00
parent fa76309027
commit 88aaa6428b
15 changed files with 43 additions and 41 deletions

View File

@ -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

View File

@ -1,7 +1,6 @@
//
// FILE: mcp9808_minimum.ino
// AUTHOR: Rob Tillaart
// VERSION: 0.1.0
// PURPOSE: demo
// DATE: 2020-11-12

View File

@ -1,7 +1,6 @@
//
// FILE: mcp9808_offset.ino
// AUTHOR: Rob Tillaart
// VERSION: 0.1.0
// PURPOSE: demo
// DATE: 2020-11-13

View File

@ -1,7 +1,6 @@
//
// FILE: mcp9808_performance.ino
// AUTHOR: Rob Tillaart
// VERSION: 0.1.0
// PURPOSE: demo
// DATE: 2020-11-13

View File

@ -1,7 +1,6 @@
//
// FILE: mcp9808_setResolution.ino
// AUTHOR: Rob Tillaart
// VERSION: 0.1.0
// PURPOSE: demo
// DATE: 2020-11-13

View File

@ -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"

View File

@ -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
// +----------+

View File

@ -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()
{

View File

@ -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 --

View 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

View File

@ -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"
}

View File

@ -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

View File

@ -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;
}

View File

@ -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

View File

@ -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());