[Tinyos-2-commits] CVS: tinyos-2.x/tos/chips/tmp175
HalTMP175Advanced.nc, 1.1.2.1, 1.1.2.2 HalTMP175ControlP.nc,
1.1.2.1, 1.1.2.2 HalTMP175ReaderP.nc, 1.1.2.2,
1.1.2.3 HplTMP175LogicP.nc, 1.1.2.2, 1.1.2.3
Philip Buonadonna
philipb at users.sourceforge.net
Thu Jul 6 16:20:19 PDT 2006
- Previous message: [Tinyos-2-commits] CVS: tinyos-2.x/tos/chips/tsl2561
HalTsl2561Advanced.nc, NONE, 1.1.2.1 HalTsl2561ControlP.nc,
NONE, 1.1.2.1 HalTsl2561ReaderP.nc, NONE,
1.1.2.1 HplTSL2561LogicP.nc, 1.1.2.1, 1.1.2.2 HplTSL256x.nc,
1.1.2.1, 1.1.2.2
- Next message: [Tinyos-2-commits] CVS: tinyos-2.x/tos/chips/max136x
HalMAX136xAdvanced.nc, NONE, 1.1.2.1 HalMAX136xControlP.nc,
NONE, 1.1.2.1 HalMAX136xReaderP.nc, NONE,
1.1.2.1 HplMAX136x.nc, 1.1.2.1, 1.1.2.2 HplMAX136xLogicP.nc,
1.1.2.1, 1.1.2.2 MAX136x.h, 1.1.2.1, 1.1.2.2
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Update of /cvsroot/tinyos/tinyos-2.x/tos/chips/tmp175
In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv7862
Modified Files:
Tag: tinyos-2_0_devel-BRANCH
HalTMP175Advanced.nc HalTMP175ControlP.nc HalTMP175ReaderP.nc
HplTMP175LogicP.nc
Log Message:
Updated support for TI TMP175 sensor chip
Index: HalTMP175Advanced.nc
===================================================================
RCS file: /cvsroot/tinyos/tinyos-2.x/tos/chips/tmp175/Attic/HalTMP175Advanced.nc,v
retrieving revision 1.1.2.1
retrieving revision 1.1.2.2
diff -C2 -d -r1.1.2.1 -r1.1.2.2
*** HalTMP175Advanced.nc 19 Jun 2006 18:20:59 -0000 1.1.2.1
--- HalTMP175Advanced.nc 6 Jul 2006 23:20:16 -0000 1.1.2.2
***************
*** 38,41 ****
--- 38,43 ----
*/
+ #include "TMP175.h"
+
interface HalTMP175Advanced {
Index: HalTMP175ControlP.nc
===================================================================
RCS file: /cvsroot/tinyos/tinyos-2.x/tos/chips/tmp175/Attic/HalTMP175ControlP.nc,v
retrieving revision 1.1.2.1
retrieving revision 1.1.2.2
diff -C2 -d -r1.1.2.1 -r1.1.2.2
*** HalTMP175ControlP.nc 19 Jun 2006 18:20:59 -0000 1.1.2.1
--- HalTMP175ControlP.nc 6 Jul 2006 23:20:16 -0000 1.1.2.2
***************
*** 39,43 ****
*/
! generic module HplTMP175ReaderP()
{
provides interface HalTMP175Advanced;
--- 39,43 ----
*/
! module HalTMP175ControlP
{
provides interface HalTMP175Advanced;
***************
*** 54,58 ****
STATE_SET_FQ,
STATE_SET_RES,
! STATE_NONE;
};
--- 54,61 ----
STATE_SET_FQ,
STATE_SET_RES,
! STATE_NONE,
!
! STATE_SET_TLOW,
! STATE_SET_THIGH,
};
***************
*** 68,77 ****
mState = nextState;
! error = call HplTMP715.setConfigReg(val);
if (error) {
call TMP175Resource.release();
}
else {
! mConfigRegVal = newRegVal;
}
--- 71,103 ----
mState = nextState;
! error = call HplTMP175.setConfigReg(val);
!
if (error) {
call TMP175Resource.release();
}
else {
! mConfigRegVal = val;
! }
!
! return error;
!
! }
!
! static error_t setThresh(uint8_t nextState, uint32_t val) {
! error_t error;
!
!
! mState = nextState;
!
! if(mState == STATE_SET_TLOW)
! error = call HplTMP175.setTLowReg(val << 4);
! else
! error = call HplTMP175.setTHighReg(val << 4);
!
! if (error) {
! call TMP175Resource.release();
! }
! else {
! mConfigRegVal = val;
}
***************
*** 159,163 ****
}
! error = call HplTMP175.setTLowReg(val << 4);
if (error) {
--- 185,190 ----
}
! //error = call HplTMP175.setTLowReg(val << 4);
! error = setThresh(STATE_SET_TLOW, val);
if (error) {
***************
*** 176,180 ****
}
! error = call HplTMP175.setTHighReg(val << 4);
if (error) {
--- 203,208 ----
}
! //error = call HplTMP175.setTHighReg(val << 4);
! error = setThresh(STATE_SET_THIGH, val);
if (error) {
***************
*** 209,212 ****
--- 237,261 ----
}
+ task void handleTReg() {
+ error_t lasterror;
+ atomic lasterror = mHplError;
+ call TMP175Resource.release();
+ switch (mState) {
+ case STATE_SET_TLOW:
+ signal HalTMP175Advanced.setTLowDone(lasterror);
+ break;
+ case STATE_SET_THIGH:
+ signal HalTMP175Advanced.setTHighDone(lasterror);
+ break;
+ default:
+ break;
+ }
+ mState = STATE_NONE;
+ }
+
+ event void TMP175Resource.granted() {
+ // intentionally left blank
+ }
+
async event void HplTMP175.setConfigRegDone(error_t error) {
mHplError = error;
***************
*** 216,233 ****
async event void HplTMP175.setTLowRegDone(error_t error) {
!
}
async event void HplTMP175.setTHighRegDone(error_t error) {
!
!
}
async event void HplTMP175.alertThreshold() {
!
!
}
default event void HalTMP175Advanced.setTHighDone(error_t error) { return; }
default event void HalTMP175Advanced.setThermostatModeDone(error_t error){ return; }
--- 265,290 ----
async event void HplTMP175.setTLowRegDone(error_t error) {
! mHplError = error;
! post handleTReg();
}
async event void HplTMP175.setTHighRegDone(error_t error) {
! mHplError = error;
! post handleTReg();
}
async event void HplTMP175.alertThreshold() {
! // if in interrupt mode, need to clear interrupt, otherwise, just signal
! if(mConfigRegVal & TMP175_CFG_POL) {
! // this will clear the interrupt, just ignore the result
! call HplTMP175.measureTemperature();
! }
}
+ async event void HplTMP175.measureTemperatureDone(error_t error, uint16_t val) {
+ // intentionally left blank
+ }
+
default event void HalTMP175Advanced.setTHighDone(error_t error) { return; }
default event void HalTMP175Advanced.setThermostatModeDone(error_t error){ return; }
***************
*** 237,240 ****
default event void HalTMP175Advanced.setTLowDone(error_t error){ return; }
default event void HalTMP175Advanced.alertThreshold(){ return; }
!
}
--- 294,297 ----
default event void HalTMP175Advanced.setTLowDone(error_t error){ return; }
default event void HalTMP175Advanced.alertThreshold(){ return; }
!
}
Index: HalTMP175ReaderP.nc
===================================================================
RCS file: /cvsroot/tinyos/tinyos-2.x/tos/chips/tmp175/Attic/HalTMP175ReaderP.nc,v
retrieving revision 1.1.2.2
retrieving revision 1.1.2.3
diff -C2 -d -r1.1.2.2 -r1.1.2.3
*** HalTMP175ReaderP.nc 19 Jun 2006 18:23:10 -0000 1.1.2.2
--- HalTMP175ReaderP.nc 6 Jul 2006 23:20:16 -0000 1.1.2.3
***************
*** 40,44 ****
*/
! generic module HplTMP175ReaderP()
{
provides interface Read<uint16_t> as Temperature;
--- 40,44 ----
*/
! generic module HalTMP175ReaderP()
{
provides interface Read<uint16_t> as Temperature;
***************
*** 77,81 ****
}
! event void HplTMP175.measureTemperatureDone(error_t tmp175_error, uint16_t val) {
call TMP175Resource.release();
signal Temperature.readDone(tmp175_error,val);
--- 77,81 ----
}
! async event void HplTMP175.measureTemperatureDone(error_t tmp175_error, uint16_t val) {
call TMP175Resource.release();
signal Temperature.readDone(tmp175_error,val);
***************
*** 83,86 ****
--- 83,92 ----
}
+ // intentionally left empty
+ async event void HplTMP175.setTLowRegDone(error_t error) {}
+ async event void HplTMP175.setTHighRegDone(error_t error) {}
+ async event void HplTMP175.setConfigRegDone(error_t error) {}
+ async event void HplTMP175.alertThreshold() {}
+
default event void Temperature.readDone(error_t error, uint16_t val) {return ;}
Index: HplTMP175LogicP.nc
===================================================================
RCS file: /cvsroot/tinyos/tinyos-2.x/tos/chips/tmp175/Attic/HplTMP175LogicP.nc,v
retrieving revision 1.1.2.2
retrieving revision 1.1.2.3
diff -C2 -d -r1.1.2.2 -r1.1.2.3
*** HplTMP175LogicP.nc 19 Jun 2006 18:20:59 -0000 1.1.2.2
--- HplTMP175LogicP.nc 6 Jul 2006 23:20:16 -0000 1.1.2.3
***************
*** 41,44 ****
--- 41,47 ----
*/
+ #include "TMP175.h"
+ #include "I2C.h"
+
generic module HplTMP175LogicP(uint16_t devAddr)
{
***************
*** 47,52 ****
provides interface HplTMP175;
! uses interface I2CPacket;
uses interface GpioInterrupt as AlertInterrupt;
}
--- 50,56 ----
provides interface HplTMP175;
! uses interface I2CPacket<TI2CBasicAddr>;
uses interface GpioInterrupt as AlertInterrupt;
+ uses interface GeneralIO as InterruptPin;
}
***************
*** 68,75 ****
uint8_t mState;
uint8_t mConfigRegVal;
! norace error_t mmSSError;
static error_t doSetReg(uint8_t nextState, uint8_t reg, uint16_t val) {
! error_r error = SUCCESS;
atomic {
--- 72,79 ----
uint8_t mState;
uint8_t mConfigRegVal;
! norace error_t mSSError;
static error_t doSetReg(uint8_t nextState, uint8_t reg, uint16_t val) {
! error_t error = SUCCESS;
atomic {
***************
*** 96,100 ****
static error_t doSetRegWord(uint8_t nextState, uint8_t reg, uint16_t val) {
! error_r error = SUCCESS;
atomic {
--- 100,104 ----
static error_t doSetRegWord(uint8_t nextState, uint8_t reg, uint16_t val) {
! error_t error = SUCCESS;
atomic {
***************
*** 113,117 ****
mI2CBuffer[2] = val & 0xFF;
! error = call I2CPacket.writePacket((I2C_START | I2C_STOP),devAddr,3,mI2CBuffer);
if (error)
--- 117,121 ----
mI2CBuffer[2] = val & 0xFF;
! error = call I2CPacket.write((I2C_START | I2C_STOP),devAddr,3,mI2CBuffer);
if (error)
***************
*** 133,140 ****
}
! command error_t Init.init() {
mfPtrReset = FALSE;
mConfigRegVal = 0;
mState = STATE_STOPPED;
}
--- 137,148 ----
}
! command error_t Init.init() {
! // careful! this can be changed via polarity I believe
! call InterruptPin.makeInput();
! call AlertInterrupt.enableFallingEdge();
mfPtrReset = FALSE;
mConfigRegVal = 0;
mState = STATE_STOPPED;
+ return SUCCESS;
}
***************
*** 150,154 ****
}
! if error
return error;
--- 158,162 ----
}
! if (error)
return error;
***************
*** 171,183 ****
}
}
! if error
return error;
mI2CBuffer[0] = mI2CBuffer[1] = 0;
! error = call I2C.readPacket(devAddr,2,mI2CBuffer);
if (error)
! atomic mState = STATE_IDLE:
return error;
--- 179,191 ----
}
}
! if (error)
return error;
mI2CBuffer[0] = mI2CBuffer[1] = 0;
! error = call I2CPacket.read(I2C_START | I2C_STOP, devAddr,2,mI2CBuffer);
if (error)
! atomic mState = STATE_IDLE;
return error;
***************
*** 190,194 ****
command error_t HplTMP175.setTLowReg(uint16_t val){
! return doSetRegWord(STATE_SETLOW,TMP175_PTR_TLOW,val);
}
--- 198,202 ----
command error_t HplTMP175.setTLowReg(uint16_t val){
! return doSetRegWord(STATE_SETTLOW,TMP175_PTR_TLOW,val);
}
***************
*** 197,201 ****
}
! async event void I2CPacket.readDone(uint16_t chipAddr, uint8_t len, uint8_t *buf, error_t i2c_error) {
uint16_t tempVal;
--- 205,209 ----
}
! async event void I2CPacket.readDone(error_t i2c_error, uint16_t chipAddr, uint8_t len, uint8_t *buf) {
uint16_t tempVal;
***************
*** 205,209 ****
tempVal = ((tempVal << 8) | buf[1]);
mState = STATE_IDLE;
! signal HplTMP175.measureTemperatureDone(error,tempVal);
break;
default:
--- 213,217 ----
tempVal = ((tempVal << 8) | buf[1]);
mState = STATE_IDLE;
! signal HplTMP175.measureTemperatureDone(i2c_error,tempVal);
break;
default:
***************
*** 214,218 ****
}
! async event void I2CPacket.writeDone(uint16_t chipAddr, uint8_t len, uint8_t *buf, error_t i2c_error) {
error_t error = i2c_error;
--- 222,226 ----
}
! async event void I2CPacket.writeDone(error_t i2c_error, uint16_t chipAddr, uint8_t len, uint8_t *buf) {
error_t error = i2c_error;
***************
*** 244,248 ****
break;
default:
! mState = STATE_IDLE:
break;
}
--- 252,256 ----
break;
default:
! mState = STATE_IDLE;
break;
}
***************
*** 252,256 ****
mI2CBuffer[0] = TMP175_PTR_TEMP;
mfPtrReset = TRUE;
! call I2C.writePacket(devAddr,1,mI2CBuffer);
}
--- 260,264 ----
mI2CBuffer[0] = TMP175_PTR_TEMP;
mfPtrReset = TRUE;
! call I2CPacket.write(I2C_START | I2C_STOP, devAddr,1,mI2CBuffer);
}
***************
*** 267,275 ****
default event void SplitControl.startDone( error_t error ) { return; }
default event void SplitControl.stopDone( error_t error ) { return; }
! default event void HplTMP175.getTemperatureDone( error_t error, uint16_t val ){ return; }
! default event void HplTMP175.setConfigRegDone( error_t error ){ return; }
! default event void HplTMP175.setTHighRegDone(error_t error){ return; }
! default event void HplTMP175.setTLowRegDone(error_t error){ return; }
! default event void HplTMP175.alertThreshold(){ return; }
}
--- 275,283 ----
default event void SplitControl.startDone( error_t error ) { return; }
default event void SplitControl.stopDone( error_t error ) { return; }
! default async event void HplTMP175.measureTemperatureDone( error_t error, uint16_t val ){ return; }
! default async event void HplTMP175.setConfigRegDone( error_t error ){ return; }
! default async event void HplTMP175.setTHighRegDone(error_t error){ return; }
! default async event void HplTMP175.setTLowRegDone(error_t error){ return; }
! default async event void HplTMP175.alertThreshold(){ return; }
}
- Previous message: [Tinyos-2-commits] CVS: tinyos-2.x/tos/chips/tsl2561
HalTsl2561Advanced.nc, NONE, 1.1.2.1 HalTsl2561ControlP.nc,
NONE, 1.1.2.1 HalTsl2561ReaderP.nc, NONE,
1.1.2.1 HplTSL2561LogicP.nc, 1.1.2.1, 1.1.2.2 HplTSL256x.nc,
1.1.2.1, 1.1.2.2
- Next message: [Tinyos-2-commits] CVS: tinyos-2.x/tos/chips/max136x
HalMAX136xAdvanced.nc, NONE, 1.1.2.1 HalMAX136xControlP.nc,
NONE, 1.1.2.1 HalMAX136xReaderP.nc, NONE,
1.1.2.1 HplMAX136x.nc, 1.1.2.1, 1.1.2.2 HplMAX136xLogicP.nc,
1.1.2.1, 1.1.2.2 MAX136x.h, 1.1.2.1, 1.1.2.2
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the Tinyos-2-commits
mailing list