Driver C++ source code for MAX5216/MAX5214 16-bit/14-bit DAC SPI (50MHz) bus ICs. Low power Digital-to_Analog Converter chips which accept supply voltages of 2.7V to 5.5V. Features Rail-to-Rail Buffered Output Operation and Safe Power-On Reset (POR) to Zero DAC Output.
Dependents: MAX5216_16_Bit_DAC_Hello_Code
Fork of MAX5487_Digital_Pot_Potentiometer_Rheostat_Resistor_Wiper by
Diff: MAX5487.h
- Revision:
- 4:280d1e05f2ca
- Parent:
- 3:4d4053c4c29e
- Child:
- 5:bd8dbd9be2ac
diff -r 4d4053c4c29e -r 280d1e05f2ca MAX5487.h
--- a/MAX5487.h Sun Jul 15 03:49:41 2018 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,120 +0,0 @@
-/*******************************************************************************
-* @file MAX5487.h
-
-*******************************************************************************
-*/
-
-#ifndef MAX5487_H
-#define MAX5487_H
-
-#include "mbed.h"
-
-
-/**
-* @brief Dual Channel SPI Digital Potentiometers with Non Volatile Memory
-* for the MAX5487, MAX5488, MAX5489.
-*
-* @details The MAX5487 contains two SPI programmable potentiometers.
-* This driver enables setting the potentiometer wiper values as well
-* as the nonvolatile memory. This driver is compatible with the
-* MAX5487, MAX5488, MAX5489.
-*
-* @code
-* #include "mbed.h"
-* #include "max32630fthr.h"
-* #include "USBSerial.h"
-* #include "MAX5487.h"
-* MAX32630FTHR pegasus(MAX32630FTHR::VIO_3V3);
-* Serial daplink(P2_1, P2_0);
-* USBSerial microUSB;
-* DigitalOut led1(LED1); // led to blink
-* DigitalOut selectPin(P3_0); // Pin 6_0 is used to drive chip enable low
-* SPI spi(P5_1, P5_2, P5_0); // mosi, miso, sclk
-
-* int main()
-* {
-* MAX5487 test(spi, selectPin);
-* spi.format(8,0);
-* spi.frequency(1000000);
-* test.writeCommand(MAX5487::Wiper_RegA, 0x55);
-*
-* //... rest of application
-* }
-* @endcode
-*/
-
-
-
-class MAX5487{
- public:
- /**
- * @brief Commands supported by the potentiometer
- * @details write commands that don't involve copying
- * require an 8 bit value specified. Copy commands don't
- * requre sending an 8 bit value.
- */
- typedef enum {
- Wiper_RegA = 0x01, //Position of Wiper A
- Wiper_RegB = 0x02, //Position of Wiper B
- NV_RegA = 0x11, //Non Volatile Register A
- NV_RegB = 0x12, //Non Volatile Register B
- Copy_Wiper_RegA_to_NV_RegA = 0x21, //Copy Wiper A position to Non Volatile Register A
- Copy_Wiper_RegB_to_NV_RegB = 0x22, //Copy Wiper B position to Non Volatile Register B
- Copy_Wiper_RegAB_to_NV_RegAB = 0x23, //Copy both Wiper A & B positions to respective Non Volatile Registers
- Copy_NV_RegA_to_Wiper_RegA = 0x31, //Copy Non Volatile Register A to Wiper Register A
- Copy_NV_RegB_to_Wiper_RegB = 0x32, //Copy Non Volatile Register B to Wiper Register B
- Copy_NV_RegAB_to_Wiper_RegAB = 0x33 //Copy Non Volatile Register A & B to Wiper Register A & B
- } setting_t;
-
- /**********************************************************//**
- * @brief Constructor for MAX5487 Class.
- *
- * @details Requires an existing SPI object as well as a DigitalOut object.
- * The DigitalOut object is used for a chip enable signal
- *
- * On Entry:
- * @param[in] spi - pointer to existing SPI object
- * @param[in] pin - pointer to a DigitalOut pin object
- *
- * On Exit:
- *
- * @return None
- **************************************************************/
- MAX5487(SPI &spi, DigitalOut &pin);
-
- /**
- * @brief Send write command
- * @param setting - Command sent to MAX5487 register
- * @param value - 8 bit Value to write
- * @return void, output is sent through serial port
- */
- void writeCommand(MAX5487::setting_t setting, int value);
-
- /**
- * @brief Send copy command
- * @param setting - Command sent to MAX5487 register
- * @return void
- */
- void writeCommand(MAX5487::setting_t setting);
-
-
- /************************************************************
- * @brief Default destructor for MAX5487 Class.
- *
- * @details Destroys SPI object if owner
- *
- * On Entry:
- *
- * On Exit:
- *
- * @return None
- **************************************************************/
- ~MAX5487();
- private:
- // SPI object
- SPI &m_spi;
- // Selector pin object
- DigitalOut &m_pin;
-};
-
-#endif
\ No newline at end of file
