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/DS2465/DS2465.hpp
- Revision:
- 48:6f9208ae280e
- Parent:
- 47:307dc45952db
- Child:
- 49:36954b62f503
diff -r 307dc45952db -r 6f9208ae280e OneWire_Masters/DS2465/DS2465.hpp --- a/OneWire_Masters/DS2465/DS2465.hpp Thu Apr 07 10:26:26 2016 -0500 +++ b/OneWire_Masters/DS2465/DS2465.hpp Thu Apr 07 11:26:20 2016 -0500 @@ -6,6 +6,7 @@ namespace mbed { class I2C; } +/// Interfaces to the DS2465 1-Wire master and SHA-256 coprocessor class DS2465 : public OneWireMaster, public ISha256MacCoprocessor { public: @@ -119,7 +120,8 @@ virtual OneWireMaster::CmdResult OWReadBlock(std::uint8_t *rx_buf, std::uint8_t rx_len); virtual OneWireMaster::CmdResult OWWriteBlock(const std::uint8_t *tran_buf, std::uint8_t tran_len); virtual OneWireMaster::CmdResult OWSetSpeed(OWSpeed new_speed); - virtual OneWireMaster::CmdResult OWSetLevel(OWLevel new_level); // The DS2465 only supports enabling strong pullup following a 1-Wire read or write operation. + /// @note The DS2465 only supports enabling strong pullup following a 1-Wire read or write operation. + virtual OneWireMaster::CmdResult OWSetLevel(OWLevel new_level); virtual OneWireMaster::CmdResult OWTriplet(SearchDirection & search_direction, std::uint8_t & sbr, std::uint8_t & tsb); /// Write the last computed MAC to the 1-Wire bus @@ -162,10 +164,10 @@ OneWireMaster::CmdResult computeAuthMacSwap(unsigned int pageNum, PageRegion region) const { return computeAuthMac(true, pageNum, region); } // ISha256MacCoprocessor Commands - virtual ISha256MacCoprocessor::CmdResult setMasterSecret(const Secret & secret); + virtual ISha256MacCoprocessor::CmdResult setMasterSecret(const Secret & masterSecret); + virtual ISha256MacCoprocessor::CmdResult computeSlaveSecret(const DevicePage & devicePage, const DeviceScratchpad & deviceScratchpad, const SlaveSecretData & slaveSecretData); virtual ISha256MacCoprocessor::CmdResult computeWriteMac(const WriteMacData & writeMacData, Mac & mac) const; virtual ISha256MacCoprocessor::CmdResult computeAuthMac(const DevicePage & devicePage, const DeviceScratchpad & challenge, const AuthMacData & authMacData, Mac & mac) const; - virtual ISha256MacCoprocessor::CmdResult computeSlaveSecret(const DevicePage & devicePage, const DeviceScratchpad & deviceScratchpad, const SlaveSecretData & slaveSecretData); private: mbed::I2C & m_I2C_interface;