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.

Revision:
76:84e6c4994e29
Parent:
75:8b627804927c
Child:
84:708b7be59fb2
diff -r 8b627804927c -r 84e6c4994e29 Masters/DS2480B/DS2480B.h
--- a/Masters/DS2480B/DS2480B.h	Fri May 13 14:52:50 2016 -0500
+++ b/Masters/DS2480B/DS2480B.h	Sat May 14 14:27:56 2016 -0500
@@ -40,104 +40,101 @@
 
 namespace OneWire
 {
-    namespace Masters
+    class DS2480B : public OneWireMaster
     {
-        class DS2480B : public OneWireMaster
+    public:
+        enum Baud
         {
-        public:
-            enum Baud
-            {
-                Bps9600 = 0,
-                Bps19200 = 2,
-                Bps57600 = 4,
-                Bps115200 = 6
-            };
+            Bps9600 = 0,
+            Bps19200 = 2,
+            Bps57600 = 4,
+            Bps115200 = 6
+        };
 
-            /**********************************************************//**
-            * @brief DS2480B constructor
-            *
-            * @details allows user to use existing Serial object
-            *
-            * On Entry:
-            *     @param[in] p_serial - pointer to existing serial object
-            *
-            * On Exit:
-            *    @return
-            **************************************************************/
-            DS2480B(mbed::Serial &p_serial);
+        /**********************************************************//**
+        * @brief DS2480B constructor
+        *
+        * @details allows user to use existing Serial object
+        *
+        * On Entry:
+        *     @param[in] p_serial - pointer to existing serial object
+        *
+        * On Exit:
+        *    @return
+        **************************************************************/
+        DS2480B(mbed::Serial &p_serial);
 
 
-            /**********************************************************//**
-            * @brief DS2480B constructor
-            *
-            * @details Object instantiates a new serial object with no
-            *          public access
-            *
-            * On Entry:
-            *     @param[in] tx - tx pin of uart to be used
-            *     @param[in] rx - rx pin of uart to be used
-            *     @param[in] baud - baudrate for uart
-            *
-            * On Exit:
-            *    @return
-            **************************************************************/
-            DS2480B(PinName tx, PinName rx);
+        /**********************************************************//**
+        * @brief DS2480B constructor
+        *
+        * @details Object instantiates a new serial object with no
+        *          public access
+        *
+        * On Entry:
+        *     @param[in] tx - tx pin of uart to be used
+        *     @param[in] rx - rx pin of uart to be used
+        *     @param[in] baud - baudrate for uart
+        *
+        * On Exit:
+        *    @return
+        **************************************************************/
+        DS2480B(PinName tx, PinName rx);
 
 
-            /**********************************************************//**
-            * @brief DS2480B destructor
-            *
-            * @details deletes serial object if owner
-            *
-            * On Entry:
-            *
-            * On Exit:
-            *    @return
-            **************************************************************/
-            virtual ~DS2480B();
+        /**********************************************************//**
+        * @brief DS2480B destructor
+        *
+        * @details deletes serial object if owner
+        *
+        * On Entry:
+        *
+        * On Exit:
+        *    @return
+        **************************************************************/
+        virtual ~DS2480B();
 
 
-            OneWireMaster::CmdResult DS2480B_ChangeBaud(Baud newBaud);
-
-            virtual OneWireMaster::CmdResult OWInitMaster();
-            virtual OneWireMaster::CmdResult OWReset();
-            virtual OneWireMaster::CmdResult OWTouchBitSetLevel(uint8_t & sendRecvBit, OWLevel afterLevel);
-            virtual OneWireMaster::CmdResult OWWriteByteSetLevel(uint8_t sendByte, OWLevel afterLevel);
-            virtual OneWireMaster::CmdResult OWReadByteSetLevel(uint8_t & recvByte, OWLevel afterLevel);
-            virtual OneWireMaster::CmdResult OWSetSpeed(OWSpeed newSpeed);
-            virtual OneWireMaster::CmdResult OWSetLevel(OWLevel newLevel);
+        OneWireMaster::CmdResult DS2480B_ChangeBaud(Baud newBaud);
 
-        private:
-            void rx_callback(void);
+        virtual OneWireMaster::CmdResult OWInitMaster();
+        virtual OneWireMaster::CmdResult OWReset();
+        virtual OneWireMaster::CmdResult OWTouchBitSetLevel(uint8_t & sendRecvBit, OWLevel afterLevel);
+        virtual OneWireMaster::CmdResult OWWriteByteSetLevel(uint8_t sendByte, OWLevel afterLevel);
+        virtual OneWireMaster::CmdResult OWReadByteSetLevel(uint8_t & recvByte, OWLevel afterLevel);
+        virtual OneWireMaster::CmdResult OWSetSpeed(OWSpeed newSpeed);
+        virtual OneWireMaster::CmdResult OWSetLevel(OWLevel newLevel);
 
-            OneWireMaster::CmdResult DS2480B_Detect(void);
-            OneWireMaster::CmdResult WriteCOM(uint32_t outlen, uint8_t *outbuf);
-            OneWireMaster::CmdResult ReadCOM(uint32_t inlen, uint8_t *inbuf);
-            void BreakCOM(void);
-            void FlushCOM(void);
-            void SetBaudCOM(uint8_t new_baud);
-            int32_t bitacc(uint32_t op, uint32_t state, uint32_t loc, uint8_t *buf);
+    private:
+        void rx_callback(void);
 
-            mbed::Serial *_p_serial;
-            bool _serial_owner;
+        OneWireMaster::CmdResult DS2480B_Detect(void);
+        OneWireMaster::CmdResult WriteCOM(uint32_t outlen, uint8_t *outbuf);
+        OneWireMaster::CmdResult ReadCOM(uint32_t inlen, uint8_t *inbuf);
+        void BreakCOM(void);
+        void FlushCOM(void);
+        void SetBaudCOM(uint8_t new_baud);
+        int32_t bitacc(uint32_t op, uint32_t state, uint32_t loc, uint8_t *buf);
 
-            // DS2480B state
-            OWLevel _ULevel; // 1-Wire level
-            Baud _UBaud;  // baud rate
-            uint8_t _UMode;  // command or data mode state
-            uint8_t _USpeed; // 1-Wire communication speed
+        mbed::Serial *_p_serial;
+        bool _serial_owner;
 
-            static const size_t MAX_RX_BUFFER_LEN = 256;
-            volatile struct ds2480b_circular_buff_s
-            {
-                uint8_t w_idx;
-                uint8_t r_idx;
-                uint8_t rx_bytes_available;
-                bool wrap_error;
-                uint8_t buff[MAX_RX_BUFFER_LEN];
-            }rx_buffer;
-        };
-    }
+        // DS2480B state
+        OWLevel _ULevel; // 1-Wire level
+        Baud _UBaud;  // baud rate
+        uint8_t _UMode;  // command or data mode state
+        uint8_t _USpeed; // 1-Wire communication speed
+
+        static const size_t MAX_RX_BUFFER_LEN = 256;
+        volatile struct ds2480b_circular_buff_s
+        {
+            uint8_t w_idx;
+            uint8_t r_idx;
+            uint8_t rx_bytes_available;
+            bool wrap_error;
+            uint8_t buff[MAX_RX_BUFFER_LEN];
+        }rx_buffer;
+    };
 }
 
 #endif