Library to communicate with Maxim OneWire protocol devices Modified timings and IRQ overrides

Dependents:   RdGasUseMonitor

Fork of Onewire by Simon Barker

Revision:
6:d2452e9b169b
Parent:
4:b678c7c8203c
Child:
7:0a87f8c2d9e6
--- a/Onewire.h	Mon Sep 28 10:31:58 2015 +0000
+++ b/Onewire.h	Mon Oct 05 14:03:29 2015 +0000
@@ -5,9 +5,15 @@
 
 #define ONEWIRE_ADDR_BYTES 8
 
-class Onewire{
+const int ONEWIRE_OK = 0;
+const int ONEWIRE_SEARCH_ALL_DONE = 1;
+const int ONEWIRE_SEARCH_INIT_FAIL = 2;
+const int ONEWIRE_SEARCH_NOT_FOUND = 3;
 
-public:
+class Onewire
+{
+
+public:    
     Onewire(PinName oneBus);
     void writeBit(int bit);
     int readBit();
@@ -18,10 +24,13 @@
 
     // Clear the search state so that if will start from the beginning again.
     void reset_search();
-    // Look for the next device. Returns 1 if a new address has been
-    // returned. A zero might mean that the bus is shorted, there are
-    // no devices, or you have already retrieved all of them.  It
-    // might be a good idea to check the CRC to make sure you didn't
+    // Look for the next device.
+    // Returns 
+    // ONEWIRE_OK if a new address has been returned.
+    // ONEWIRE_SEARCH_ALL_DONE = all devices found
+    // ONEWIRE_SEARCH_INIT_FAIL = failed to init
+    // ONEWIRE_SEARCH_NOT_FOUND = no devices found
+    // It might be a good idea to check the CRC to make sure you didn't
     // get garbage.  The order is deterministic. You will always get
     // the same devices in the same order.
     uint8_t search(uint8_t *newAddr);