moved macros to implementation file, end-of-line normalization, code style
This commit is contained in:
parent
013571ed3f
commit
987b57b015
2 changed files with 384 additions and 385 deletions
|
@ -26,11 +26,19 @@
|
||||||
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
POSSIBILITY OF SUCH DAMAGE.
|
POSSIBILITY OF SUCH DAMAGE.
|
||||||
*/
|
*/
|
||||||
/*
|
|
||||||
$Id: v 0.1 2011/02/15 tchapelle Exp $
|
|
||||||
*/
|
|
||||||
#include "dev/sht15.h"
|
#include "dev/sht15.h"
|
||||||
|
|
||||||
|
#define DATA_OUT() P3DIR |= BIT7
|
||||||
|
#define DATA_IN() P3DIR &= ~BIT7
|
||||||
|
#define DATA_SET() P3OUT |= BIT7; halMcuWaitUs(10)
|
||||||
|
#define DATA_CLR() P3OUT &= ~BIT7; halMcuWaitUs(10)
|
||||||
|
#define DATA_VAL() (P3IN & BIT7)
|
||||||
|
|
||||||
|
#define SCK_OUT() P5DIR |= BIT4
|
||||||
|
#define SCK_SET() P5OUT |= BIT4; halMcuWaitUs(10)
|
||||||
|
#define SCK_CLR() P5OUT &= ~BIT4; halMcuWaitUs(10)
|
||||||
|
|
||||||
|
|
||||||
/***********************************************************************************
|
/***********************************************************************************
|
||||||
* @fn halMcuWaitUs
|
* @fn halMcuWaitUs
|
||||||
*
|
*
|
||||||
|
@ -47,23 +55,24 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* #pragma optimize=none */
|
/* #pragma optimize=none */
|
||||||
void halMcuWaitUs(uint16_t usec) // 5 cycles for calling
|
void
|
||||||
|
halMcuWaitUs(uint16_t usec) /* 5 cycles for calling */
|
||||||
{
|
{
|
||||||
// The least we can wait is 3 usec:
|
/* The least we can wait is 3 usec: */
|
||||||
// ~1 usec for call, 1 for first compare and 1 for return
|
/* ~1 usec for call, 1 for first compare and 1 for return */
|
||||||
while(usec > 3) // 2 cycles for compare
|
while(usec > 3) /* 2 cycles for compare */
|
||||||
{ // 2 cycles for jump
|
{ /* 2 cycles for jump */
|
||||||
nop(); // 1 cycles for nop
|
nop(); /* 1 cycles for nop */
|
||||||
nop(); // 1 cycles for nop
|
nop(); /* 1 cycles for nop */
|
||||||
nop(); // 1 cycles for nop
|
nop(); /* 1 cycles for nop */
|
||||||
nop(); // 1 cycles for nop
|
nop(); /* 1 cycles for nop */
|
||||||
nop(); // 1 cycles for nop
|
nop(); /* 1 cycles for nop */
|
||||||
nop(); // 1 cycles for nop
|
nop(); /* 1 cycles for nop */
|
||||||
nop(); // 1 cycles for nop
|
nop(); /* 1 cycles for nop */
|
||||||
nop(); // 1 cycles for nop
|
nop(); /* 1 cycles for nop */
|
||||||
usec -= 2; // 1 cycles for optimized decrement
|
usec -= 2; /* 1 cycles for optimized decrement */
|
||||||
}
|
}
|
||||||
} // 4 cycles for returning
|
} /* 4 cycles for returning */
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -85,15 +94,17 @@ void halMcuWaitUs(uint16_t usec) // 5 cycles for calling
|
||||||
*
|
*
|
||||||
* @return none
|
* @return none
|
||||||
*/
|
*/
|
||||||
void sht15_send_start()
|
void
|
||||||
|
sht15_send_start(void)
|
||||||
{
|
{
|
||||||
// Sequence is to set data line to 1 then clock line to 1
|
/* Sequence is to set data line to 1 then clock line to 1
|
||||||
// then set data line to 0, clock line to 0
|
then set data line to 0, clock line to 0
|
||||||
// then set clock line to 1 and data line to 1
|
then set clock line to 1 and data line to 1
|
||||||
// ___________ ________
|
___________ ________
|
||||||
// data line : _____/ \___________/
|
data line : _____/ \___________/
|
||||||
// ___________ ____________
|
___________ ____________
|
||||||
// clock line : _________/ \___/
|
clock line : _________/ \___/
|
||||||
|
*/
|
||||||
|
|
||||||
DATA_OUT();
|
DATA_OUT();
|
||||||
DATA_SET();
|
DATA_SET();
|
||||||
|
@ -115,27 +126,25 @@ void sht15_send_start()
|
||||||
*
|
*
|
||||||
* @return uint16_t
|
* @return uint16_t
|
||||||
*/
|
*/
|
||||||
uint16_t sht15_read16()
|
uint16_t
|
||||||
|
sht15_read16(void)
|
||||||
{
|
{
|
||||||
uint16_t i;
|
uint16_t i;
|
||||||
DATA_IN();
|
DATA_IN();
|
||||||
|
|
||||||
SCK_CLR();
|
SCK_CLR();
|
||||||
uint16_t val = 0;
|
uint16_t val = 0;
|
||||||
|
|
||||||
for(i = 0; i < 18; i++)
|
for(i = 0; i < 18; i++) {
|
||||||
{
|
if((i != 8) && (i != 17)) {
|
||||||
if((i != 8) && (i != 17))
|
|
||||||
{
|
|
||||||
SCK_SET();
|
SCK_SET();
|
||||||
if(DATA_VAL())
|
if(DATA_VAL()) {
|
||||||
val |= 1;
|
val |= 1;
|
||||||
|
}
|
||||||
|
|
||||||
val <<= 1;
|
val <<= 1;
|
||||||
SCK_CLR();
|
SCK_CLR();
|
||||||
}
|
} else if(i == 8) { /* Wait for first ACK from SHT15 */
|
||||||
else if(i == 8) // Wait for first ACK from SHT15
|
|
||||||
{
|
|
||||||
DATA_OUT();
|
DATA_OUT();
|
||||||
|
|
||||||
DATA_CLR();
|
DATA_CLR();
|
||||||
|
@ -144,9 +153,7 @@ uint16_t val = 0;
|
||||||
SCK_CLR();
|
SCK_CLR();
|
||||||
|
|
||||||
DATA_IN();
|
DATA_IN();
|
||||||
}
|
} else if(i == 17) { /* Wait for second ACK from SHT15 */
|
||||||
else if(i == 17) // Wait for second ACK from SHT15
|
|
||||||
{
|
|
||||||
DATA_OUT();
|
DATA_OUT();
|
||||||
|
|
||||||
DATA_SET();
|
DATA_SET();
|
||||||
|
@ -168,23 +175,20 @@ uint16_t val = 0;
|
||||||
*
|
*
|
||||||
* @return none
|
* @return none
|
||||||
*/
|
*/
|
||||||
void sht15_write8(uint8_t val)
|
void
|
||||||
|
sht15_write8(uint8_t val)
|
||||||
{
|
{
|
||||||
uint16_t i;
|
uint16_t i;
|
||||||
|
|
||||||
DATA_OUT();
|
DATA_OUT();
|
||||||
|
|
||||||
for(i = 0; i < 8; i++)
|
for(i = 0; i < 8; i++) {
|
||||||
{
|
|
||||||
halMcuWaitUs(4);
|
halMcuWaitUs(4);
|
||||||
SCK_CLR();
|
SCK_CLR();
|
||||||
|
|
||||||
if(val & 0x80)
|
if(val & 0x80) {
|
||||||
{
|
|
||||||
DATA_SET();
|
DATA_SET();
|
||||||
}
|
} else {
|
||||||
else
|
|
||||||
{
|
|
||||||
DATA_CLR();
|
DATA_CLR();
|
||||||
}
|
}
|
||||||
val <<= 1;
|
val <<= 1;
|
||||||
|
@ -212,7 +216,8 @@ void sht15_write8(uint8_t val)
|
||||||
*
|
*
|
||||||
* @return none
|
* @return none
|
||||||
*/
|
*/
|
||||||
void sht15_wait_measure()
|
void
|
||||||
|
sht15_wait_measure(void)
|
||||||
{
|
{
|
||||||
while(DATA_VAL());
|
while(DATA_VAL());
|
||||||
}
|
}
|
||||||
|
@ -227,12 +232,13 @@ void sht15_wait_measure()
|
||||||
*
|
*
|
||||||
* @return none
|
* @return none
|
||||||
*/
|
*/
|
||||||
void sht15_init()
|
void
|
||||||
|
sht15_init(void)
|
||||||
{
|
{
|
||||||
// DATA and SCK lines are I/O
|
/* DATA and SCK lines are I/O */
|
||||||
P3SEL &= ~BIT7;
|
P3SEL &= ~BIT7;
|
||||||
P5SEL &= ~BIT4;
|
P5SEL &= ~BIT4;
|
||||||
// Set SCK and DATA as output
|
/* Set SCK and DATA as output */
|
||||||
DATA_OUT();
|
DATA_OUT();
|
||||||
SCK_OUT();
|
SCK_OUT();
|
||||||
DATA_SET();
|
DATA_SET();
|
||||||
|
@ -249,7 +255,8 @@ void sht15_init()
|
||||||
*
|
*
|
||||||
* @return none
|
* @return none
|
||||||
*/
|
*/
|
||||||
void sht15_measure_temp()
|
void
|
||||||
|
sht15_measure_temp(void)
|
||||||
{
|
{
|
||||||
sht15_send_start();
|
sht15_send_start();
|
||||||
sht15_write8(3);
|
sht15_write8(3);
|
||||||
|
@ -281,7 +288,8 @@ void sht15_measure_hum()
|
||||||
*
|
*
|
||||||
* @return none
|
* @return none
|
||||||
*/
|
*/
|
||||||
void sht15_read_status()
|
void
|
||||||
|
sht15_read_status()
|
||||||
{
|
{
|
||||||
sht15_send_start();
|
sht15_send_start();
|
||||||
sht15_write8(7);
|
sht15_write8(7);
|
||||||
|
@ -297,7 +305,8 @@ void sht15_read_status()
|
||||||
*
|
*
|
||||||
* @return none
|
* @return none
|
||||||
*/
|
*/
|
||||||
void sht15_write_status()
|
void
|
||||||
|
sht15_write_status(void)
|
||||||
{
|
{
|
||||||
sht15_send_start();
|
sht15_send_start();
|
||||||
sht15_write8(6);
|
sht15_write8(6);
|
||||||
|
@ -313,7 +322,8 @@ void sht15_write_status()
|
||||||
*
|
*
|
||||||
* @return none
|
* @return none
|
||||||
*/
|
*/
|
||||||
void sht15_soft_reset()
|
void
|
||||||
|
sht15_soft_reset(void)
|
||||||
{
|
{
|
||||||
sht15_send_start();
|
sht15_send_start();
|
||||||
sht15_write8(30);
|
sht15_write8(30);
|
||||||
|
|
|
@ -40,17 +40,6 @@
|
||||||
*/
|
*/
|
||||||
#include "contiki.h"
|
#include "contiki.h"
|
||||||
|
|
||||||
#define DATA_OUT() P3DIR |= BIT7
|
|
||||||
#define DATA_IN() P3DIR &= ~BIT7
|
|
||||||
#define DATA_SET() P3OUT |= BIT7; halMcuWaitUs(10)
|
|
||||||
#define DATA_CLR() P3OUT &= ~BIT7; halMcuWaitUs(10)
|
|
||||||
#define DATA_VAL() (P3IN & BIT7)
|
|
||||||
|
|
||||||
#define SCK_OUT() P5DIR |= BIT4
|
|
||||||
#define SCK_SET() P5OUT |= BIT4; halMcuWaitUs(10)
|
|
||||||
#define SCK_CLR() P5OUT &= ~BIT4; halMcuWaitUs(10)
|
|
||||||
|
|
||||||
|
|
||||||
/***********************************************************************************
|
/***********************************************************************************
|
||||||
* SHT15 functions
|
* SHT15 functions
|
||||||
*/
|
*/
|
||||||
|
|
Loading…
Add table
Reference in a new issue