The ADE5593R is a 8 Channel configurable DAC/ADC/GPO device using i2c communications. This is a C++ Library for usage on a Raspberry Pi.
Please see main.ccp as examples of calling the library functions
The constructor shown in main.ccp can take an extra parameter for the I2C device path, see below.
AD5593R ad5593r("/dev/i2c-1"); //Default i2c address AD5593R_BUS_BASE_ADDR (0x10)
Or
AD5593R ad5593r("/dev/i2c-1", AD5593R_BUS_BASE_ADDR, a0); // Replace AD5593R_BUS_BASE_ADDR with correct address if it is not 0x10
// a0 is the pin to switch address, in case multiple chips are in use
Note on the CJMCU the A0 pin is pulled high, requring a 0x11 address as standard, or pull it to GND with a link for default address
AD5593R ad5593r("/dev/i2c-1", 0x11);
g++ -o main main.cpp AD5593R.cpp -lwiringPi
The AD5593 is usually found in a TSSOP package and of course can be direct onto your board. If you are not using a board and want to look at a wired solution, or even perhaps avoid soldering on such a tiny level, there are pre-prepared boards.
This library was tested on a CJMCU.
Originally ported directly from the library for Arduino by @zzzbatmand Sir Wintour
Based on a simmilar project for the Si5351 by wwanc