moved macros to implementation file, end-of-line normalization, code style

This commit is contained in:
Niclas Finne 2011-11-17 14:44:20 +01:00
parent 013571ed3f
commit 987b57b015
2 changed files with 384 additions and 385 deletions

View file

@ -26,11 +26,19 @@
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
*/
/*
$Id: v 0.1 2011/02/15 tchapelle Exp $
*/
#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
*
@ -47,23 +55,24 @@
*/
/* #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:
// ~1 usec for call, 1 for first compare and 1 for return
while(usec > 3) // 2 cycles for compare
{ // 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
usec -= 2; // 1 cycles for optimized decrement
}
} // 4 cycles for returning
/* The least we can wait is 3 usec: */
/* ~1 usec for call, 1 for first compare and 1 for return */
while(usec > 3) /* 2 cycles for compare */
{ /* 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 */
usec -= 2; /* 1 cycles for optimized decrement */
}
} /* 4 cycles for returning */
/**
@ -85,15 +94,17 @@ void halMcuWaitUs(uint16_t usec) // 5 cycles for calling
*
* @return none
*/
void sht15_send_start()
void
sht15_send_start(void)
{
// 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 clock line to 1 and data line to 1
// ___________ ________
// data line : _____/ \___________/
// ___________ ____________
// clock line : _________/ \___/
/* 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 clock line to 1 and data line to 1
___________ ________
data line : _____/ \___________/
___________ ____________
clock line : _________/ \___/
*/
DATA_OUT();
DATA_SET();
@ -115,47 +126,43 @@ void sht15_send_start()
*
* @return uint16_t
*/
uint16_t sht15_read16()
uint16_t
sht15_read16(void)
{
uint16_t i;
DATA_IN();
uint16_t i;
DATA_IN();
SCK_CLR();
uint16_t val = 0;
SCK_CLR();
uint16_t val = 0;
for(i = 0; i < 18; i++)
{
if((i != 8) && (i != 17))
{
SCK_SET();
if(DATA_VAL())
val |= 1;
for(i = 0; i < 18; i++) {
if((i != 8) && (i != 17)) {
SCK_SET();
if(DATA_VAL()) {
val |= 1;
}
val <<= 1;
SCK_CLR();
}
else if(i == 8) // Wait for first ACK from SHT15
{
DATA_OUT();
val <<= 1;
SCK_CLR();
} else if(i == 8) { /* Wait for first ACK from SHT15 */
DATA_OUT();
DATA_CLR();
DATA_CLR();
SCK_SET();
SCK_CLR();
SCK_SET();
SCK_CLR();
DATA_IN();
}
else if(i == 17) // Wait for second ACK from SHT15
{
DATA_OUT();
DATA_IN();
} else if(i == 17) { /* Wait for second ACK from SHT15 */
DATA_OUT();
DATA_SET();
DATA_SET();
SCK_SET();
SCK_CLR();
}
}
return val;
SCK_SET();
SCK_CLR();
}
}
return val;
}
/***********************************************************************************
* @fn sht15_write8
@ -168,38 +175,35 @@ uint16_t val = 0;
*
* @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++)
{
halMcuWaitUs(4);
SCK_CLR();
for(i = 0; i < 8; i++) {
halMcuWaitUs(4);
SCK_CLR();
if(val & 0x80)
{
DATA_SET();
}
else
{
DATA_CLR();
}
val <<= 1;
if(val & 0x80) {
DATA_SET();
} else {
DATA_CLR();
}
val <<= 1;
SCK_SET();
}
SCK_SET();
}
DATA_IN();
DATA_IN();
SCK_CLR();
SCK_CLR();
while(DATA_VAL());
while(DATA_VAL());
SCK_SET();
SCK_CLR();
SCK_SET();
SCK_CLR();
}
/***********************************************************************************
* @fn sht15_wait_measure
@ -212,9 +216,10 @@ void sht15_write8(uint8_t val)
*
* @return none
*/
void sht15_wait_measure()
void
sht15_wait_measure(void)
{
while(DATA_VAL());
while(DATA_VAL());
}
/***********************************************************************************
* @fn sht15_init
@ -227,16 +232,17 @@ void sht15_wait_measure()
*
* @return none
*/
void sht15_init()
void
sht15_init(void)
{
// DATA and SCK lines are I/O
P3SEL &= ~BIT7;
P5SEL &= ~BIT4;
// Set SCK and DATA as output
DATA_OUT();
SCK_OUT();
DATA_SET();
SCK_SET();
/* DATA and SCK lines are I/O */
P3SEL &= ~BIT7;
P5SEL &= ~BIT4;
/* Set SCK and DATA as output */
DATA_OUT();
SCK_OUT();
DATA_SET();
SCK_SET();
}
/***********************************************************************************
* @fn sht15_measure_temp
@ -249,10 +255,11 @@ void sht15_init()
*
* @return none
*/
void sht15_measure_temp()
void
sht15_measure_temp(void)
{
sht15_send_start();
sht15_write8(3);
sht15_send_start();
sht15_write8(3);
}
/***********************************************************************************
* @fn sht15_measure_hum
@ -267,8 +274,8 @@ void sht15_measure_temp()
*/
void sht15_measure_hum()
{
sht15_send_start();
sht15_write8(5);
sht15_send_start();
sht15_write8(5);
}
/***********************************************************************************
* @fn sht15_read_status
@ -281,10 +288,11 @@ void sht15_measure_hum()
*
* @return none
*/
void sht15_read_status()
void
sht15_read_status()
{
sht15_send_start();
sht15_write8(7);
sht15_send_start();
sht15_write8(7);
}
/***********************************************************************************
* @fn sht15_write_status
@ -297,10 +305,11 @@ void sht15_read_status()
*
* @return none
*/
void sht15_write_status()
void
sht15_write_status(void)
{
sht15_send_start();
sht15_write8(6);
sht15_send_start();
sht15_write8(6);
}
/***********************************************************************************
* @fn sht15_soft_reset
@ -313,8 +322,9 @@ void sht15_write_status()
*
* @return none
*/
void sht15_soft_reset()
void
sht15_soft_reset(void)
{
sht15_send_start();
sht15_write8(30);
sht15_send_start();
sht15_write8(30);
}

View file

@ -40,17 +40,6 @@
*/
#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
*/