1 | #pragma once
|
2 |
|
3 | #include <avr/io.h>
|
4 | #include <stdio.h>
|
5 |
|
6 | #define THERM_PORT PORTD
|
7 | #define THERM_DDR DDRD
|
8 | #define THERM_PIN PIND
|
9 |
|
10 |
|
11 | #define THERM_INPUT_MODE(PIN) THERM_DDR&=~(1<<PIN)
|
12 | #define THERM_OUTPUT_MODE(PIN) THERM_DDR|=(1<<PIN)
|
13 | #define THERM_LOW(PIN) THERM_PORT&=~(1<<PIN)
|
14 | #define THERM_HIGH(PIN) THERM_PORT|=(1<<PIN)
|
15 |
|
16 | #define THERM_CMD_CONVERTTEMP 0x44
|
17 | #define THERM_CMD_RSCRATCHPAD 0xbe
|
18 | #define THERM_CMD_WSCRATCHPAD 0x4e
|
19 | #define THERM_CMD_CPYSCRATCHPAD 0x48
|
20 | #define THERM_CMD_RECEEPROM 0xb8
|
21 | #define THERM_CMD_RPWRSUPPLY 0xb4
|
22 | #define THERM_CMD_SEARCHROM 0xf0
|
23 | #define THERM_CMD_READROM 0x33
|
24 | #define THERM_CMD_MATCHROM 0x55
|
25 | #define THERM_CMD_SKIPROM 0xcc
|
26 | #define THERM_CMD_ALARMSEARCH 0xec
|
27 | /* constants */
|
28 | #define THERM_DECIMAL_STEPS_12BIT 625 //.0625
|
29 |
|
30 | void therm_delay(uint16_t delay);
|
31 | uint8_t therm_reset(uint8_t pin);
|
32 | void therm_write_bit(uint8_t bit, uint8_t pin);
|
33 | uint8_t therm_read_bit(uint8_t pin);
|
34 | uint8_t therm_read_byte(uint8_t pin);
|
35 | void therm_write_byte(uint8_t byte, uint8_t pin);
|
36 | float therm_read_temperature(uint8_t pin);
|