diff 1wire.h @ 32:b0cb873c0206

Isolate the bus frobbing parts and the delays into a separate header. This means the user only has to edit a single file to suit their situation and allows the code to work with active drive systems as well as passive pullups (ie 1 vs 2 IO pins)
author darius
date Sun, 23 Apr 2006 22:57:16 +0930
parents 2b0ed085b95b
children 0aa6bf4b98ae
line wrap: on
line diff
--- a/1wire.h	Mon Apr 10 17:27:48 2006 +0930
+++ b/1wire.h	Sun Apr 23 22:57:16 2006 +0930
@@ -1,5 +1,5 @@
 /*
- * 1 wire header code
+ * 1 wire header which defines functions and constants
  *
  * $Id$
  *
@@ -28,6 +28,7 @@
  * SUCH DAMAGE.
  */
 
+void		OWInit(void);
 uint8_t		OWTouchReset(void);
 void		OWWriteBit(uint8_t bit);
 uint8_t		OWReadBit(void);
@@ -40,13 +41,6 @@
 void		OWCRC(uint8_t x, uint8_t *crc);
 void		OWSendCmd(uint8_t *ROM, uint8_t cmd);
 
-#define OWIREOUTPORT		PORTD
-#define OWIREOUTPIN		2
-
-#define OWIREINPORT		PIND
-#define OWIREDDR		DDRD
-#define OWIREINPIN		OWIREOUTPIN
-
 /* Return codes for OWFirst()/OWNext() */
 #define OW_BADWIRE		-3
 #define OW_BADCRC		-2
@@ -70,6 +64,13 @@
 #define OW_RECALL_CMD		0xb8
 #define OW_RD_PSU_CMD		0xb4
 
+/* DS2502 commands */
+#define OW_READ_MEMORY		0xf0
+#define OW_READ_STATUS		0xaa
+#define OW_GEN_CRC		0xc3
+#define OW_WRITE_MEMORY		0x0f
+#define OW_WRITE_STATUS		0x55
+
 /* Family codes */
 #define OW_FAMILY_ROM		0x09
 #define OW_FAMILY_TEMP		0x10