nanoFramework.Iot.Device.Dac63004
1.0.254
Prefix Reserved
See the version list below for details.
dotnet add package nanoFramework.Iot.Device.Dac63004 --version 1.0.254
NuGet\Install-Package nanoFramework.Iot.Device.Dac63004 -Version 1.0.254
<PackageReference Include="nanoFramework.Iot.Device.Dac63004" Version="1.0.254" />
paket add nanoFramework.Iot.Device.Dac63004 --version 1.0.254
#r "nuget: nanoFramework.Iot.Device.Dac63004, 1.0.254"
// Install nanoFramework.Iot.Device.Dac63004 as a Cake Addin #addin nuget:?package=nanoFramework.Iot.Device.Dac63004&version=1.0.254 // Install nanoFramework.Iot.Device.Dac63004 as a Cake Tool #tool nuget:?package=nanoFramework.Iot.Device.Dac63004&version=1.0.254
DAC63004/DAC63004W - Ultra-low-power quad-channel 12-bit smart DAC with I²C, SPI and PWM
This library supports DAC63004 and DAC63004W devices. Currently the implementation allows I2C connection to the device. SPI will be added in the future.
Documentation
Device & EVM
Device diagram |
Evaluation Module |
Usage
Warning: If using an ESP32, make sure to properly setup the I2C pins before creating the
I2cDevice
. Add a reference tonanoFramework.Hardware.ESP32
NuGet package and add the following code lines:
//////////////////////////////////////////////////////////////////////
// when connecting to an ESP32 device, need to configure the I2C GPIOs
// used for the bus
Configuration.SetPinFunction(21, DeviceFunction.I2C1_DATA);
Configuration.SetPinFunction(22, DeviceFunction.I2C1_CLOCK);
For other devices like STM32, please make sure you're using the preset pins for the I2C/SPI bus you want to use.
Hardware Required
- DAC63004W EVM
- Male/Female Jumper Wires
Circuit
- SCL - SCL
- SDA - SDA
- VCC - 5V
- GND - GND
Code
The following code creates an I2C configuration and instantiates a Dac63004 object. Then it prints the Minimum System Voltage detected by the device at boot. Last it enters a loop where it prints the current Vbus voltage each second.
I2cConnectionSettings settings = new I2cConnectionSettings(1, Bq25798.DefaultI2cAddress);
I2cDevice device = I2cDevice.Create(settings);
using (Bq25798 charger = new Bq25798(device))
{
Debug.WriteLine("");
Debug.WriteLine($"DAC63004 connected to I2C{device.ConnectionSettings.BusId}");
Debug.WriteLine("");
Debug.WriteLine($"Minimum System Voltage is config @ {charger.MinimalSystemVoltage.VoltsDc:N3}V");
while (true)
{
Debug.WriteLine($"Current Vbus: {charger.Vbus.VoltsDc:N3}V");
Debug.WriteLine("");
Thread.Sleep(1000);
}
}
Acknowledgments
The development of this library was kindly sponsored by OrgPal.IoT!
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET Framework | net is compatible. |
-
- nanoFramework.CoreLibrary (>= 1.15.5)
- nanoFramework.System.Device.I2c (>= 1.1.16)
- nanoFramework.System.Device.Model (>= 1.2.628)
- UnitsNet.nanoFramework.ElectricCurrent (>= 5.58.0)
- UnitsNet.nanoFramework.ElectricPotentialDc (>= 5.58.0)
- UnitsNet.nanoFramework.Temperature (>= 5.58.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
1.0.288 | 84 | 10/23/2024 |
1.0.271 | 84 | 10/3/2024 |
1.0.254 | 108 | 9/6/2024 |
1.0.246 | 100 | 8/28/2024 |
1.0.228 | 107 | 8/9/2024 |
1.0.216 | 81 | 7/26/2024 |
1.0.205 | 94 | 7/17/2024 |
1.0.188 | 115 | 6/19/2024 |
1.0.185 | 99 | 6/14/2024 |
1.0.151 | 115 | 4/15/2024 |
1.0.129 | 124 | 3/22/2024 |
1.0.109 | 102 | 2/28/2024 |
1.0.104 | 97 | 2/15/2024 |
1.0.89 | 125 | 1/24/2024 |
1.0.77 | 161 | 1/5/2024 |
1.0.73 | 131 | 12/20/2023 |
1.0.51 | 158 | 11/10/2023 |
1.0.31 | 112 | 11/8/2023 |
1.0.28 | 106 | 11/7/2023 |
1.0.20 | 127 | 10/6/2023 |
1.0.18 | 121 | 10/6/2023 |
1.0.11 | 128 | 9/27/2023 |
1.0.3 | 124 | 9/13/2023 |
1.0.1 | 127 | 9/9/2023 |