OneWire Library for Arduino  version: 1.0.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator
OneWireSlave.h
Go to the documentation of this file.
1 /******************************************************************/
33 #ifndef OneWire_OneWireSlave
34 #define OneWire_OneWireSlave
35 
36 #include <stddef.h>
37 #include "Arduino.h"
38 #include "RomId/RomId.h"
39 #include "RomId/RomIterator.h"
40 
41 namespace OneWire
42 {
43  class OneWireMaster;
44 
47  {
48  public:
49  enum CmdResult
50  {
56  };
57 
60  RomId romId() const { return m_romId; }
61  void setRomId(const RomId & romId) { m_romId = romId; }
63 
64  private:
65  RomId m_romId;
66  RandomAccessRomIterator & m_selector;
67 
68  protected:
70  OneWireSlave(RandomAccessRomIterator & selector) : m_selector(selector) { }
71 
73  OneWireMaster::CmdResult selectDevice() const { return m_selector.selectDevice(m_romId); }
74 
76  OneWireMaster & master() const { return m_selector.master(); }
77  };
78 }
79 
80 #endif
Standard container for a 1-Wire ROM ID.
Definition: RomId.h:43
OneWireMaster & master() const
The 1-Wire master for this slave device.
Definition: OneWireSlave.h:76
Definition: OneWireSlave.h:54
RomId romId() const
Definition: OneWireSlave.h:60
Definition: OneWireSlave.h:52
OneWireSlave(RandomAccessRomIterator &selector)
Definition: OneWireSlave.h:70
Base class for all 1-Wire Slaves.
Definition: OneWireSlave.h:46
OneWireMaster & master() const
The 1-Wire master used to issue ROM commands.
Definition: RomIterator.h:57
CmdResult
Definition: OneWireSlave.h:49
Definition: DS2484.h:41
virtual OneWireMaster::CmdResult selectDevice(const RomId &romId)=0
Select the device with the given ROM ID.
Base class for all 1-Wire Masters.
Definition: OneWireMaster.h:43
Definition: OneWireSlave.h:53
Definition: OneWireSlave.h:51
CmdResult
Result of all 1-Wire commands.
Definition: OneWireMaster.h:68
OneWireMaster::CmdResult selectDevice() const
Select this slave device by ROM ID.
Definition: OneWireSlave.h:73
void setRomId(const RomId &romId)
Definition: OneWireSlave.h:61
Definition: OneWireSlave.h:55
Iterates though 1-Wire devices on the bus using random selection by ROM ID.
Definition: RomIterator.h:108