1-Wire® library for mbed. Complete 1-Wire library that supports our silicon masters along with a bit-bang master on the MAX32600MBED platform with one common interface for mbed. Slave support has also been included and more slaves will be added as time permits.
Dependents: MAXREFDES131_Qt_Demo MAX32630FTHR_iButton_uSD_Logger MAX32630FTHR_DS18B20_uSD_Logger MAXREFDES130_131_Demo ... more
Superseded by MaximInterface.
Diff: OneWire_Masters/OneWireMaster.h
- Revision:
- 24:8942d8478d68
- Parent:
- 23:e8e403d61359
- Child:
- 26:a361e3f42ba5
--- a/OneWire_Masters/OneWireMaster.h Mon Mar 21 23:18:45 2016 +0000 +++ b/OneWire_Masters/OneWireMaster.h Tue Mar 22 14:24:53 2016 -0500 @@ -41,18 +41,7 @@ class OneWireMaster { - public: - - enum OW_ROM_CMD - { - READ_ROM = 0x33, - MATCH_ROM = 0x55, - SEARCH_ROM = 0xF0, - SKIP_ROM = 0xCC, - RESUME = 0xA5, - OVERDRIVE_SKIP = 0x3C, - OVERDRIVE_MATCH = 0x69 - }; +public: enum OW_SPEED { @@ -291,8 +280,7 @@ virtual CmdResult OWReadBitPower(uint8_t applyPowerResponse) = 0; - virtual CmdResult OWReadBytePower(uint8_t & recvbyte) = 0; - //{ return OperationFailure; } + virtual CmdResult OWReadBytePower(uint8_t & recvbyte) = 0; //Part of OneWireInterface that should only be implemented once @@ -311,7 +299,7 @@ * * @return CmdResult - zero on success, non-zero on failure **************************************************************/ - virtual CmdResult OWWriteBit(uint8_t sendbit); + CmdResult OWWriteBit(uint8_t sendbit); /**********************************************************//** @@ -326,7 +314,7 @@ * * @return CmdResult - zero on success, non-zero on failure **************************************************************/ - virtual CmdResult OWReadBit(uint8_t & recvbit); + CmdResult OWReadBit(uint8_t & recvbit); /**********************************************************//** @@ -378,7 +366,7 @@ * * @return CmdResult - zero on success, non-zero on failure **************************************************************/ - virtual CmdResult OWFirst(RomId & romId); + CmdResult OWFirst(RomId & romId); /**********************************************************//** @@ -392,7 +380,7 @@ * * @return CmdResult - zero on success, non-zero on failure **************************************************************/ - virtual CmdResult OWNext(RomId & romId); + CmdResult OWNext(RomId & romId); /**********************************************************//** @@ -407,7 +395,7 @@ * * @return CmdResult - zero on success, non-zero on failure **************************************************************/ - virtual CmdResult OWVerify(const RomId & romId); + CmdResult OWVerify(const RomId & romId); /**********************************************************//** @@ -423,7 +411,7 @@ * * @return **************************************************************/ - virtual void OWTargetSetup(RomId & romId); + void OWTargetSetup(RomId & romId); /**********************************************************//** @@ -438,7 +426,7 @@ * * @return **************************************************************/ - virtual void OWFamilySkipSetup(void); + void OWFamilySkipSetup(void); /**********************************************************//** @@ -454,7 +442,7 @@ * * @return CmdResult - zero on success, non-zero on failure **************************************************************/ - virtual CmdResult OWReadROM(RomId & romId); + CmdResult OWReadROM(RomId & romId); /**********************************************************//** @@ -468,7 +456,7 @@ * * @return CmdResult - zero on success, non-zero on failure **************************************************************/ - virtual CmdResult OWSkipROM(void); + CmdResult OWSkipROM(void); /**********************************************************//** @@ -483,7 +471,7 @@ * * @return CmdResult - zero on success, non-zero on failure **************************************************************/ - virtual CmdResult OWMatchROM(const RomId & romId); + CmdResult OWMatchROM(const RomId & romId); /**********************************************************//** @@ -498,7 +486,7 @@ * * @return CmdResult - zero on success, non-zero on failure **************************************************************/ - virtual CmdResult OWOverdriveSkipROM(void); + CmdResult OWOverdriveSkipROM(void); /**********************************************************//** @@ -513,7 +501,7 @@ * * @return CmdResult - zero on success, non-zero on failure **************************************************************/ - virtual CmdResult OWOverdriveMatchROM(const RomId & romId); + CmdResult OWOverdriveMatchROM(const RomId & romId); /**********************************************************//** @@ -531,16 +519,27 @@ * * @return CmdResult - zero on success, non-zero on failure **************************************************************/ - virtual CmdResult OWResume(void); + CmdResult OWResume(void); - protected: +protected: + + enum OW_ROM_CMD + { + READ_ROM = 0x33, + MATCH_ROM = 0x55, + SEARCH_ROM = 0xF0, + SKIP_ROM = 0xCC, + RESUME = 0xA5, + OVERDRIVE_SKIP_ROM = 0x3C, + OVERDRIVE_MATCH_ROM = 0x69 + }; // Search state uint8_t _last_discrepancy; uint8_t _last_family_discrepancy; bool _last_device_flag; - private: +private: static const uint16_t _oddparity[16]; };