mirror of
https://github.com/RobTillaart/Arduino.git
synced 2024-10-03 18:09:02 -04:00
0.3.1 AD520X
This commit is contained in:
parent
aa20622e3c
commit
fffe2ad15b
@ -6,7 +6,7 @@ jobs:
|
|||||||
lint:
|
lint:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v3
|
||||||
- uses: arduino/arduino-lint-action@v1
|
- uses: arduino/arduino-lint-action@v1
|
||||||
with:
|
with:
|
||||||
library-manager: update
|
library-manager: update
|
||||||
|
@ -8,7 +8,7 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v3
|
||||||
- uses: ruby/setup-ruby@v1
|
- uses: ruby/setup-ruby@v1
|
||||||
with:
|
with:
|
||||||
ruby-version: 2.6
|
ruby-version: 2.6
|
||||||
|
@ -10,7 +10,7 @@ jobs:
|
|||||||
test:
|
test:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v3
|
||||||
- name: json-syntax-check
|
- name: json-syntax-check
|
||||||
uses: limitusus/json-syntax-check@v1
|
uses: limitusus/json-syntax-check@v1
|
||||||
with:
|
with:
|
||||||
|
@ -2,12 +2,11 @@
|
|||||||
// FILE: AD520X.cpp
|
// FILE: AD520X.cpp
|
||||||
// AUTHOR: Rob Tillaart
|
// AUTHOR: Rob Tillaart
|
||||||
// DATE: 2020-07-24
|
// DATE: 2020-07-24
|
||||||
// VERSION: 0.3.0
|
// VERSION: 0.3.1
|
||||||
// PURPOSE: Arduino library for AD5204 and AD5206 digital potentiometers
|
// PURPOSE: Arduino library for AD5204 and AD5206 digital potentiometers
|
||||||
// (+ AD8400, AD8402, AD8403)
|
// (+ AD8400, AD8402, AD8403)
|
||||||
// URL: https://github.com/RobTillaart/AD520X
|
// URL: https://github.com/RobTillaart/AD520X
|
||||||
//
|
|
||||||
// HISTORY: see CHANGELOG.md
|
|
||||||
|
|
||||||
#include "AD520X.h"
|
#include "AD520X.h"
|
||||||
|
|
||||||
@ -70,21 +69,10 @@ void AD520X::begin(uint8_t value)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#if defined(ESP32)
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
void AD520X::setGPIOpins(uint8_t clk, uint8_t miso, uint8_t mosi, uint8_t select)
|
//
|
||||||
{
|
// SET VALUE
|
||||||
_clock = clk;
|
//
|
||||||
_dataOut = mosi;
|
|
||||||
_select = select;
|
|
||||||
pinMode(_select, OUTPUT);
|
|
||||||
digitalWrite(_select, HIGH);
|
|
||||||
|
|
||||||
mySPI->end(); // disable SPI and restart
|
|
||||||
mySPI->begin(clk, miso, mosi, select);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
bool AD520X::setValue(uint8_t pm, uint8_t value)
|
bool AD520X::setValue(uint8_t pm, uint8_t value)
|
||||||
{
|
{
|
||||||
if (pm >= _pmCount) return false;
|
if (pm >= _pmCount) return false;
|
||||||
@ -93,6 +81,14 @@ bool AD520X::setValue(uint8_t pm, uint8_t value)
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
uint8_t AD520X::getValue(uint8_t pm)
|
||||||
|
{
|
||||||
|
if (pm >= _pmCount) return 0;
|
||||||
|
return _value[pm];
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// STEREO same value
|
// STEREO same value
|
||||||
bool AD520X::setValue(uint8_t pmA, uint8_t pmB, uint8_t value)
|
bool AD520X::setValue(uint8_t pmA, uint8_t pmB, uint8_t value)
|
||||||
{
|
{
|
||||||
@ -115,13 +111,25 @@ void AD520X::setAll(uint8_t value)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
uint8_t AD520X::getValue(uint8_t pm)
|
void AD520X::setGroupValue(uint8_t mask, uint8_t value)
|
||||||
{
|
{
|
||||||
if (pm >= _pmCount) return 0;
|
uint8_t m = 0x01;
|
||||||
return _value[pm];
|
for (uint8_t pm = 0; pm < _pmCount; pm++ )
|
||||||
|
{
|
||||||
|
if (mask & m)
|
||||||
|
{
|
||||||
|
_value[pm] = value;
|
||||||
|
updateDevice(pm, value);
|
||||||
|
}
|
||||||
|
m <<= 1;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
//
|
||||||
|
// SET PERCENTAGE
|
||||||
|
//
|
||||||
bool AD520X::setPercentage(uint8_t pm, float percentage)
|
bool AD520X::setPercentage(uint8_t pm, float percentage)
|
||||||
{
|
{
|
||||||
if ((percentage < 0) || (percentage > 100.0)) return false;
|
if ((percentage < 0) || (percentage > 100.0)) return false;
|
||||||
@ -129,14 +137,6 @@ bool AD520X::setPercentage(uint8_t pm, float percentage)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// STEREO same percentage
|
|
||||||
bool AD520X::setPercentage(uint8_t pmA, uint8_t pmB, float percentage)
|
|
||||||
{
|
|
||||||
if ((percentage < 0) || (percentage > 100.0)) return false;
|
|
||||||
return setValue(pmA, pmB, round(percentage * (255.0 / 100.0)));
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
float AD520X::getPercentage(uint8_t pm)
|
float AD520X::getPercentage(uint8_t pm)
|
||||||
{
|
{
|
||||||
if (pm >= _pmCount) return 0;
|
if (pm >= _pmCount) return 0;
|
||||||
@ -146,6 +146,32 @@ float AD520X::getPercentage(uint8_t pm)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// STEREO same percentage
|
||||||
|
bool AD520X::setPercentage(uint8_t pmA, uint8_t pmB, float percentage)
|
||||||
|
{
|
||||||
|
if ((percentage < 0) || (percentage > 100.0)) return false;
|
||||||
|
return setValue(pmA, pmB, round(percentage * (255.0 / 100.0)));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void AD520X::setGroupPercentage(uint8_t mask, float percentage)
|
||||||
|
{
|
||||||
|
uint8_t m = 0x01;
|
||||||
|
for (uint8_t pm = 0; pm < _pmCount; pm++ )
|
||||||
|
{
|
||||||
|
if (mask & m)
|
||||||
|
{
|
||||||
|
setValue(pm, round(percentage * (255.0 / 100.0)));
|
||||||
|
}
|
||||||
|
m <<= 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
//
|
||||||
|
// OTHER
|
||||||
|
//
|
||||||
void AD520X::reset(uint8_t value)
|
void AD520X::reset(uint8_t value)
|
||||||
{
|
{
|
||||||
digitalWrite(_reset, LOW);
|
digitalWrite(_reset, LOW);
|
||||||
@ -154,6 +180,34 @@ void AD520X::reset(uint8_t value)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
uint8_t AD520X::pmCount()
|
||||||
|
{
|
||||||
|
return _pmCount;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void AD520X::powerOn()
|
||||||
|
{
|
||||||
|
digitalWrite(_shutdown, HIGH);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void AD520X::powerOff()
|
||||||
|
{
|
||||||
|
digitalWrite(_shutdown, LOW);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
bool AD520X::isPowerOn()
|
||||||
|
{
|
||||||
|
return digitalRead(_shutdown) == HIGH;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
//
|
||||||
|
// SPI
|
||||||
|
//
|
||||||
void AD520X::setSPIspeed(uint32_t speed)
|
void AD520X::setSPIspeed(uint32_t speed)
|
||||||
{
|
{
|
||||||
_SPIspeed = speed;
|
_SPIspeed = speed;
|
||||||
@ -161,6 +215,59 @@ void AD520X::setSPIspeed(uint32_t speed)
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
uint32_t AD520X::getSPIspeed()
|
||||||
|
{
|
||||||
|
return _SPIspeed;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
bool AD520X::usesHWSPI()
|
||||||
|
{
|
||||||
|
return _hwSPI;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
#if defined(ESP32)
|
||||||
|
|
||||||
|
void AD520X::selectHSPI()
|
||||||
|
{
|
||||||
|
_useHSPI = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void AD520X::selectVSPI()
|
||||||
|
{
|
||||||
|
_useHSPI = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
bool AD520X::usesHSPI()
|
||||||
|
{
|
||||||
|
return _useHSPI;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
bool AD520X::usesVSPI()
|
||||||
|
{
|
||||||
|
return !_useHSPI;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void AD520X::setGPIOpins(uint8_t clk, uint8_t miso, uint8_t mosi, uint8_t select)
|
||||||
|
{
|
||||||
|
_clock = clk;
|
||||||
|
_dataOut = mosi;
|
||||||
|
_select = select;
|
||||||
|
pinMode(_select, OUTPUT);
|
||||||
|
digitalWrite(_select, HIGH);
|
||||||
|
|
||||||
|
mySPI->end(); // disable SPI and restart
|
||||||
|
mySPI->begin(clk, miso, mosi, select);
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
// PROTECTED
|
// PROTECTED
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
// FILE: AD520X.h
|
// FILE: AD520X.h
|
||||||
// AUTHOR: Rob Tillaart
|
// AUTHOR: Rob Tillaart
|
||||||
// DATE: 2020-07-24
|
// DATE: 2020-07-24
|
||||||
// VERSION: 0.3.0
|
// VERSION: 0.3.1
|
||||||
// PURPOSE: Arduino library for AD5204 and AD5206 digital potentiometers
|
// PURPOSE: Arduino library for AD5204 and AD5206 digital potentiometers
|
||||||
// (+ AD8400, AD8402, AD8403)
|
// (+ AD8400, AD8402, AD8403)
|
||||||
// URL: https://github.com/RobTillaart/AD520X
|
// URL: https://github.com/RobTillaart/AD520X
|
||||||
@ -15,7 +15,7 @@
|
|||||||
#include "SPI.h"
|
#include "SPI.h"
|
||||||
|
|
||||||
|
|
||||||
#define AD520X_LIB_VERSION (F("0.3.0"))
|
#define AD520X_LIB_VERSION (F("0.3.1"))
|
||||||
|
|
||||||
|
|
||||||
#ifndef AD520X_MIDDLE_VALUE
|
#ifndef AD520X_MIDDLE_VALUE
|
||||||
@ -30,51 +30,60 @@ public:
|
|||||||
|
|
||||||
void begin(uint8_t value = AD520X_MIDDLE_VALUE);
|
void begin(uint8_t value = AD520X_MIDDLE_VALUE);
|
||||||
|
|
||||||
|
|
||||||
// MONO / SINGLE
|
// MONO / SINGLE
|
||||||
bool setValue(uint8_t pm = 0, uint8_t value = AD520X_MIDDLE_VALUE);
|
bool setValue(uint8_t pm = 0, uint8_t value = AD520X_MIDDLE_VALUE);
|
||||||
|
uint8_t getValue(uint8_t pm = 0);
|
||||||
// STEREO / DOUBLE
|
// STEREO / DOUBLE
|
||||||
bool setValue(uint8_t pmA, uint8_t pmB, uint8_t value);
|
bool setValue(uint8_t pmA, uint8_t pmB, uint8_t value);
|
||||||
|
// GROUP
|
||||||
void setAll(uint8_t value = AD520X_MIDDLE_VALUE);
|
void setAll(uint8_t value = AD520X_MIDDLE_VALUE);
|
||||||
uint8_t getValue(uint8_t pm = 0);
|
void setGroupValue(uint8_t mask, uint8_t value = AD520X_MIDDLE_VALUE);
|
||||||
|
|
||||||
|
|
||||||
// MONO / SINGLE
|
// MONO / SINGLE
|
||||||
bool setPercentage(uint8_t pm = 0, float percentage = 50);
|
bool setPercentage(uint8_t pm = 0, float percentage = 50);
|
||||||
|
float getPercentage(uint8_t pm = 0);
|
||||||
// STEREO / DOUBLE
|
// STEREO / DOUBLE
|
||||||
bool setPercentage(uint8_t pmA, uint8_t pmB, float percentage);
|
bool setPercentage(uint8_t pmA, uint8_t pmB, float percentage);
|
||||||
float getPercentage(uint8_t pm = 0);
|
// GROUP
|
||||||
|
void setGroupPercentage(uint8_t mask, float percentage);
|
||||||
|
|
||||||
|
|
||||||
void reset(uint8_t value = AD520X_MIDDLE_VALUE);
|
void reset(uint8_t value = AD520X_MIDDLE_VALUE);
|
||||||
uint8_t pmCount() { return _pmCount; };
|
uint8_t pmCount();
|
||||||
|
|
||||||
|
void powerOn();
|
||||||
|
void powerOff();;
|
||||||
|
bool isPowerOn();
|
||||||
|
|
||||||
void powerOn() { digitalWrite(_shutdown, HIGH); };
|
|
||||||
void powerOff() { digitalWrite(_shutdown, LOW); };
|
|
||||||
bool isPowerOn() { return digitalRead(_shutdown) == HIGH; };
|
|
||||||
|
|
||||||
// speed in Hz
|
// speed in Hz
|
||||||
void setSPIspeed(uint32_t speed);
|
void setSPIspeed(uint32_t speed);
|
||||||
uint32_t getSPIspeed() { return _SPIspeed; };
|
uint32_t getSPIspeed();
|
||||||
|
|
||||||
// debugging
|
// debugging
|
||||||
bool usesHWSPI() { return _hwSPI; };
|
bool usesHWSPI();
|
||||||
|
|
||||||
// ESP32 specific
|
// ESP32 specific
|
||||||
#if defined(ESP32)
|
#if defined(ESP32)
|
||||||
void selectHSPI() { _useHSPI = true; };
|
void selectHSPI();
|
||||||
void selectVSPI() { _useHSPI = false; };
|
void selectVSPI();
|
||||||
bool usesHSPI() { return _useHSPI; };
|
bool usesHSPI();
|
||||||
bool usesVSPI() { return !_useHSPI; };
|
bool usesVSPI();
|
||||||
|
|
||||||
// to overrule ESP32 default hardware pins
|
// to overrule ESP32 default hardware pins
|
||||||
void setGPIOpins(uint8_t clk, uint8_t miso, uint8_t mosi, uint8_t select);
|
void setGPIOpins(uint8_t clk, uint8_t miso, uint8_t mosi, uint8_t select);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
uint8_t _dataOut;
|
uint8_t _dataOut;
|
||||||
uint8_t _clock;
|
uint8_t _clock;
|
||||||
uint8_t _select;
|
uint8_t _select;
|
||||||
uint8_t _reset;
|
uint8_t _reset;
|
||||||
uint8_t _shutdown;
|
uint8_t _shutdown;
|
||||||
bool _hwSPI = 3;
|
bool _hwSPI;
|
||||||
uint32_t _SPIspeed = 16000000;
|
uint32_t _SPIspeed = 16000000;
|
||||||
|
|
||||||
uint8_t _value[6];
|
uint8_t _value[6];
|
||||||
|
@ -6,6 +6,14 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/)
|
|||||||
and this project adheres to [Semantic Versioning](http://semver.org/).
|
and this project adheres to [Semantic Versioning](http://semver.org/).
|
||||||
|
|
||||||
|
|
||||||
|
## [0.3.1] - 2023-01-10
|
||||||
|
- update GitHub actions
|
||||||
|
- update license
|
||||||
|
- add setGroupValue(mask, value)
|
||||||
|
- add setGroupPercentage(mask, percentage)
|
||||||
|
- move all code to .cpp file
|
||||||
|
|
||||||
|
|
||||||
## [0.3.0] - 2022-10-12
|
## [0.3.0] - 2022-10-12
|
||||||
- Fix 13 shutdown / reset. (kudos to Ale11Re)
|
- Fix 13 shutdown / reset. (kudos to Ale11Re)
|
||||||
- Fix 14 wrong SPI mode. (kudos to Ale11Re)
|
- Fix 14 wrong SPI mode. (kudos to Ale11Re)
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
MIT License
|
MIT License
|
||||||
|
|
||||||
Copyright (c) 2020-2022 Rob Tillaart
|
Copyright (c) 2020-2023 Rob Tillaart
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
@ -72,9 +72,10 @@ Returns true if successful, false if not.
|
|||||||
- **void setAll(uint8_t value = 128)** set all potentiometers to the same value e.g. 0 or max or mid value.
|
- **void setAll(uint8_t value = 128)** set all potentiometers to the same value e.g. 0 or max or mid value.
|
||||||
Can typically be used for **mute**.
|
Can typically be used for **mute**.
|
||||||
- **uint8_t getValue(uint8_t pm = 0)** returns the last set value of a specific potentiometer.
|
- **uint8_t getValue(uint8_t pm = 0)** returns the last set value of a specific potentiometer.
|
||||||
|
- **setGroupValue(mask, value)** bit mask to set 0..8 channels in one call.
|
||||||
|
|
||||||
|
|
||||||
#### percentage
|
#### Percentage
|
||||||
|
|
||||||
- **bool setPercentage(uint8_t pm = 0, float percentage = 50)** similar to setValue, percentage from 0..100%
|
- **bool setPercentage(uint8_t pm = 0, float percentage = 50)** similar to setValue, percentage from 0..100%
|
||||||
Returns true when successful, false if not.
|
Returns true when successful, false if not.
|
||||||
@ -82,7 +83,7 @@ Returns true when successful, false if not.
|
|||||||
Note, no default value.
|
Note, no default value.
|
||||||
Returns true when successful, false if not.
|
Returns true when successful, false if not.
|
||||||
- **float getPercentage(uint8_t pm = 0)** return the value of potentiometer pm as percentage.
|
- **float getPercentage(uint8_t pm = 0)** return the value of potentiometer pm as percentage.
|
||||||
|
- **setGroupPercentage(mask, value)** bit mask to set 0..8 channels in one call.
|
||||||
|
|
||||||
The library has defined **#define AD520X_MIDDLE_VALUE 128**
|
The library has defined **#define AD520X_MIDDLE_VALUE 128**
|
||||||
|
|
||||||
@ -130,27 +131,12 @@ See examples.
|
|||||||
## Future
|
## Future
|
||||||
|
|
||||||
|
|
||||||
#### 0.3.1
|
|
||||||
|
|
||||||
- **setGroupValue(mask, value)** bit mask to set 0..8 channels in one call
|
|
||||||
- loop over mask ?
|
|
||||||
- **setGroupPercentage(mask, value)** bit mask to set 0..8 channels in one call
|
|
||||||
- wrapper
|
|
||||||
- move all code to .cpp file
|
|
||||||
|
|
||||||
|
|
||||||
#### Must
|
#### Must
|
||||||
|
|
||||||
|
|
||||||
#### Should
|
#### Should
|
||||||
|
|
||||||
- **void setInvert(uint8_t pm)** invert flag per potentiometer.
|
- extend unit tests
|
||||||
- 0..255 -> 255..0
|
|
||||||
- 1 uint8_t can hold 8 flags
|
|
||||||
- will slow performance.
|
|
||||||
- how does this work with **stereo** functions.
|
|
||||||
- at what level should invert work.
|
|
||||||
- **bool getInvert(uint8_t pm)**
|
|
||||||
|
|
||||||
|
|
||||||
#### Could (only if requested.)
|
#### Could (only if requested.)
|
||||||
@ -159,6 +145,13 @@ See examples.
|
|||||||
- **setSWSPIdelay()** to tune software SPI?
|
- **setSWSPIdelay()** to tune software SPI?
|
||||||
- bit delay / not byte delay
|
- bit delay / not byte delay
|
||||||
- unit microseconds
|
- unit microseconds
|
||||||
|
- **void setInvert(uint8_t pm)** invert flag per potentiometer.
|
||||||
|
- 0..255 -> 255..0
|
||||||
|
- 1 uint8_t can hold 8 flags
|
||||||
|
- **will slow performance**
|
||||||
|
- how does this work with **stereo** functions.
|
||||||
|
- at what level should invert work.
|
||||||
|
- **bool getInvert(uint8_t pm)**
|
||||||
|
|
||||||
|
|
||||||
#### Wont
|
#### Wont
|
||||||
|
@ -14,9 +14,11 @@ begin KEYWORD2
|
|||||||
setValue KEYWORD2
|
setValue KEYWORD2
|
||||||
setAll KEYWORD2
|
setAll KEYWORD2
|
||||||
getValue KEYWORD2
|
getValue KEYWORD2
|
||||||
|
setGroupValue KEYWORD2
|
||||||
|
|
||||||
setPercentage KEYWORD2
|
setPercentage KEYWORD2
|
||||||
getPercentage KEYWORD2
|
getPercentage KEYWORD2
|
||||||
|
setGroupPercentage KEYWORD2
|
||||||
|
|
||||||
reset KEYWORD2
|
reset KEYWORD2
|
||||||
|
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/RobTillaart/AD520X.git"
|
"url": "https://github.com/RobTillaart/AD520X.git"
|
||||||
},
|
},
|
||||||
"version": "0.3.0",
|
"version": "0.3.1",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"frameworks": "arduino",
|
"frameworks": "arduino",
|
||||||
"platforms": "*",
|
"platforms": "*",
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
name=AD520X
|
name=AD520X
|
||||||
version=0.3.0
|
version=0.3.1
|
||||||
author=Rob Tillaart <rob.tillaart@gmail.com>
|
author=Rob Tillaart <rob.tillaart@gmail.com>
|
||||||
maintainer=Rob Tillaart <rob.tillaart@gmail.com>
|
maintainer=Rob Tillaart <rob.tillaart@gmail.com>
|
||||||
sentence=Arduino library for SPI AD5204 and AD5206 digital potentiometers
|
sentence=Arduino library for SPI AD5204 and AD5206 digital potentiometers
|
||||||
|
@ -156,4 +156,4 @@ unittest(test_pm_count)
|
|||||||
|
|
||||||
unittest_main()
|
unittest_main()
|
||||||
|
|
||||||
// --------
|
// -- END OF FILE --
|
||||||
|
Loading…
Reference in New Issue
Block a user