?lang_form? ?lang_select? ?lang_submit? ?lang_endform?
{HEADER END}
{FILE START}

library

?curdirlinks? - Rev 6

?prevdifflink? - Blame - ?getfile?

//*****************************************************************************
// File Name    : ds18b20.c
// Title                : Dallas 1-Wire DS18B20 Temperature Sensor Library
// Revision             : 3
// Notes                : 
// Target MCU   : Atmel AVR series
// Editor Tabs  : 4
// 
// Revision History:
// When                 Who                     Rev             Description of change
// -----------  -----------     ------- -----------------------
// 28-Sep-2003  rwatson         3               Added Print
// 27-Sep-2003  rwatson         2               Added Setup, Start, Result, StartAndResult
// 27-Sep-2003  rwatson         1               Created the program structure
//*****************************************************************************

#ifndef ds18b20_h
#define ds18b20_h

//----- Include Files ---------------------------------------------------------
#include "global.h"

//----- Defines ---------------------------------------------------------------
#define ds18b20_rev                                     3

// family code
#define DS18B20_FAMILY                          0x28

// function commands
#define DS18B20_CONVERT_TEMP            0x44
#define DS18B20_WRITE_SCRATCHPAD        0x4E
#define DS18B20_READ_SCRATCHPAD         0xBE
#define DS18B20_COPY_SCRATCHPAD         0x48
#define DS18B20_RECALL_E2                       0xB8
#define DS18B20_READ_POWER                      0xB4

// resolution min and max
#define DS18B20_RES_MIN                         9
#define DS18B20_RES_MAX                         12

// no alarm values for high and low
#define DS18B20_NO_ALARM_LOW            -56             // min temp read is -55C
#define DS18B20_NO_ALARM_HIGH           126             // max temp read is 125C

//----- Functions ---------------------------------------------------------------

// ds18b20Init()
//     initializes the dallas 1-wire bus
void ds18b20Init(void);

// ds18b20Setup
//     Sets up the device
//     The parameters are the rom id of the device,
//     the resolution [9-12], and the low and high alarm values.
//     If no low and/or high alarm is desired, use the values -55 and/or 126
//     Returns either the corresponding error or DALLAS_NO_ERROR
u08 ds18b20Setup(dallas_rom_id_T* rom_id, u08 resolution, s08 alarm_low, s08 alarm_high);

// ds18b20Start()
//     Start the conversion for the given device
//     Returns either the corresponding error or DALLAS_NO_ERROR
u08 ds18b20Start(dallas_rom_id_T* rom_id);

// ds18b20Result()
//     Gets the result of the conversion and stores it in *result
//     Returns either the corresponding error or DALLAS_NO_ERROR
u08 ds18b20Result(dallas_rom_id_T* rom_id, u16 *result);

// ds18b20StartAndResult();
//     1-step command to start the conversion and store the result in *result
//     The conversion takes some time to do, so it can be more efficient
//     to do the 1-step commands Start() and Result()
//     Returns either the corresponding error or DALLAS_NO_ERROR
u08 ds18b20StartAndResult(dallas_rom_id_T* rom_id, u16 *result);

// ds18b20Print()
//     Does a formatted print on the given resultat the given resolution: +xx x/xx
void ds18b20Print(u16 result, u08 resolution);

#endif
{FILE END}
{FOOTER START}

Powered by WebSVN v2.8.3