mirror of
https://github.com/RobTillaart/Arduino.git
synced 2024-09-19 16:46:11 -04:00
0.4.1 AD9833
This commit is contained in:
parent
b88297df6b
commit
bf6dfb798c
@ -2,7 +2,7 @@
|
|||||||
// FILE: AD9833.cpp
|
// FILE: AD9833.cpp
|
||||||
// AUTHOR: Rob Tillaart
|
// AUTHOR: Rob Tillaart
|
||||||
// PURPOSE: Arduino library for AD9833 function generator
|
// PURPOSE: Arduino library for AD9833 function generator
|
||||||
// VERSION: 0.4.0
|
// VERSION: 0.4.1
|
||||||
// URL: https://github.com/RobTillaart/AD9833
|
// URL: https://github.com/RobTillaart/AD9833
|
||||||
//
|
//
|
||||||
|
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
// FILE: AD9833.h
|
// FILE: AD9833.h
|
||||||
// AUTHOR: Rob Tillaart
|
// AUTHOR: Rob Tillaart
|
||||||
// PURPOSE: Arduino library for AD9833 function generator.
|
// PURPOSE: Arduino library for AD9833 function generator.
|
||||||
// VERSION: 0.4.0
|
// VERSION: 0.4.1
|
||||||
// URL: https://github.com/RobTillaart/AD9833
|
// URL: https://github.com/RobTillaart/AD9833
|
||||||
|
|
||||||
|
|
||||||
@ -11,11 +11,14 @@
|
|||||||
#include "SPI.h"
|
#include "SPI.h"
|
||||||
|
|
||||||
|
|
||||||
#define AD9833_LIB_VERSION (F("0.4.0"))
|
#define AD9833_LIB_VERSION (F("0.4.1"))
|
||||||
|
|
||||||
|
|
||||||
#if !defined(__SPI_CLASS__)
|
#ifndef __SPI_CLASS__
|
||||||
#if defined(ARDUINO_ARCH_RP2040)
|
// MBED must be tested before RP2040
|
||||||
|
#if defined(ARDUINO_ARCH_MBED)
|
||||||
|
#define __SPI_CLASS__ SPIClass
|
||||||
|
#elif defined(ARDUINO_ARCH_RP2040)
|
||||||
#define __SPI_CLASS__ SPIClassRP2040
|
#define __SPI_CLASS__ SPIClassRP2040
|
||||||
#else
|
#else
|
||||||
#define __SPI_CLASS__ SPIClass
|
#define __SPI_CLASS__ SPIClass
|
||||||
|
@ -6,6 +6,11 @@ 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.4.1] - 2024-05-24
|
||||||
|
- add support for ARDUINO_ARCH_MBED
|
||||||
|
- add sweep example
|
||||||
|
- add version to examples
|
||||||
|
|
||||||
## [0.4.0] - 2024-01-20
|
## [0.4.0] - 2024-01-20
|
||||||
- Fix #14, improve handling SPI dependency.
|
- Fix #14, improve handling SPI dependency.
|
||||||
- update examples
|
- update examples
|
||||||
|
@ -77,7 +77,6 @@ Note: the parameters for pins have moved to the constructor.
|
|||||||
Note: the order of the parameters of the software SPI constructor has changed in 0.2.0.
|
Note: the order of the parameters of the software SPI constructor has changed in 0.2.0.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#### Related
|
#### Related
|
||||||
|
|
||||||
- https://github.com/RobTillaart/AD985X
|
- https://github.com/RobTillaart/AD985X
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
//
|
//
|
||||||
// FILE: AD9833_1000_Hz.ino
|
// FILE: AD9833_1000_Hz.ino
|
||||||
// AUTHOR: Rob Tillaart
|
// AUTHOR: Rob Tillaart
|
||||||
// DATE: 2023-08-25
|
|
||||||
// PURPOSE: create a 1000 Hz reference signal
|
// PURPOSE: create a 1000 Hz reference signal
|
||||||
|
// URL: https://github.com/RobTillaart/AD9833
|
||||||
|
|
||||||
|
|
||||||
#include "AD9833.h"
|
#include "AD9833.h"
|
||||||
@ -15,7 +15,11 @@ AD9833 AD(10, 11, 13); // SW SPI over the HW SPI pins (UNO);
|
|||||||
void setup()
|
void setup()
|
||||||
{
|
{
|
||||||
Serial.begin(115200);
|
Serial.begin(115200);
|
||||||
|
while(!Serial);
|
||||||
Serial.println(__FILE__);
|
Serial.println(__FILE__);
|
||||||
|
Serial.print("AD9833_LIB_VERSION: ");
|
||||||
|
Serial.println(AD9833_LIB_VERSION);
|
||||||
|
Serial.println();
|
||||||
|
|
||||||
SPI.begin();
|
SPI.begin();
|
||||||
|
|
||||||
|
@ -14,6 +14,9 @@ void setup()
|
|||||||
Serial.begin(115200);
|
Serial.begin(115200);
|
||||||
while(!Serial);
|
while(!Serial);
|
||||||
Serial.println(__FILE__);
|
Serial.println(__FILE__);
|
||||||
|
Serial.print("AD9833_LIB_VERSION: ");
|
||||||
|
Serial.println(AD9833_LIB_VERSION);
|
||||||
|
Serial.println();
|
||||||
|
|
||||||
SPI.begin();
|
SPI.begin();
|
||||||
|
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
//
|
//
|
||||||
// FILE: AD9833_minimal.ino
|
// FILE: AD9833_minimal.ino
|
||||||
// AUTHOR: Rob Tillaart
|
// AUTHOR: Rob Tillaart
|
||||||
// DATE: 2023-08-25
|
|
||||||
// PURPOSE: demo AD9833 wave form generator
|
// PURPOSE: demo AD9833 wave form generator
|
||||||
|
// URL: https://github.com/RobTillaart/AD9833
|
||||||
|
|
||||||
|
|
||||||
#include "AD9833.h"
|
#include "AD9833.h"
|
||||||
@ -14,7 +14,11 @@ AD9833 AD(10); // HW SPI, select pin 10
|
|||||||
void setup()
|
void setup()
|
||||||
{
|
{
|
||||||
Serial.begin(115200);
|
Serial.begin(115200);
|
||||||
|
while(!Serial);
|
||||||
Serial.println(__FILE__);
|
Serial.println(__FILE__);
|
||||||
|
Serial.print("AD9833_LIB_VERSION: ");
|
||||||
|
Serial.println(AD9833_LIB_VERSION);
|
||||||
|
Serial.println();
|
||||||
|
|
||||||
SPI.begin();
|
SPI.begin();
|
||||||
|
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
//
|
//
|
||||||
// FILE: AD9833_minimal.ino
|
// FILE: AD9833_minimal.ino
|
||||||
// AUTHOR: Rob Tillaart
|
// AUTHOR: Rob Tillaart
|
||||||
// DATE: 2023-08-25
|
|
||||||
// PURPOSE: demo AD9833 wave form generator
|
// PURPOSE: demo AD9833 wave form generator
|
||||||
|
// URL: https://github.com/RobTillaart/AD9833
|
||||||
|
|
||||||
|
|
||||||
#include "AD9833.h"
|
#include "AD9833.h"
|
||||||
@ -22,7 +22,11 @@ AD9833 AD(5, myspi);
|
|||||||
void setup()
|
void setup()
|
||||||
{
|
{
|
||||||
Serial.begin(115200);
|
Serial.begin(115200);
|
||||||
|
while(!Serial);
|
||||||
Serial.println(__FILE__);
|
Serial.println(__FILE__);
|
||||||
|
Serial.print("AD9833_LIB_VERSION: ");
|
||||||
|
Serial.println(AD9833_LIB_VERSION);
|
||||||
|
Serial.println();
|
||||||
|
|
||||||
myspi->begin();
|
myspi->begin();
|
||||||
|
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
// FILE: AD9833_multi_device.ino
|
// FILE: AD9833_multi_device.ino
|
||||||
// AUTHOR: Rob Tillaart
|
// AUTHOR: Rob Tillaart
|
||||||
// PURPOSE: demo AD9833 wave form generator on 4 devices
|
// PURPOSE: demo AD9833 wave form generator on 4 devices
|
||||||
|
// URL: https://github.com/RobTillaart/AD9833
|
||||||
//
|
//
|
||||||
// TODO: test with hardware
|
// TODO: test with hardware
|
||||||
|
|
||||||
@ -21,7 +22,11 @@ AD9833 AD[4] =
|
|||||||
void setup()
|
void setup()
|
||||||
{
|
{
|
||||||
Serial.begin(115200);
|
Serial.begin(115200);
|
||||||
|
while(!Serial);
|
||||||
Serial.println(__FILE__);
|
Serial.println(__FILE__);
|
||||||
|
Serial.print("AD9833_LIB_VERSION: ");
|
||||||
|
Serial.println(AD9833_LIB_VERSION);
|
||||||
|
Serial.println();
|
||||||
|
|
||||||
SPI.begin();
|
SPI.begin();
|
||||||
|
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
//
|
//
|
||||||
// FILE: AD9833_performance.ino
|
// FILE: AD9833_performance.ino
|
||||||
// AUTHOR: Rob Tillaart
|
// AUTHOR: Rob Tillaart
|
||||||
// DATE: 2023-08-25
|
|
||||||
// PURPOSE: demo AD9833 wave form generator
|
// PURPOSE: demo AD9833 wave form generator
|
||||||
|
// URL: https://github.com/RobTillaart/AD9833
|
||||||
|
|
||||||
|
|
||||||
#include "AD9833.h"
|
#include "AD9833.h"
|
||||||
@ -23,9 +23,11 @@ uint32_t start, stop;
|
|||||||
void setup()
|
void setup()
|
||||||
{
|
{
|
||||||
Serial.begin(115200);
|
Serial.begin(115200);
|
||||||
|
while(!Serial);
|
||||||
Serial.println(__FILE__);
|
Serial.println(__FILE__);
|
||||||
Serial.print("AD9833_LIB_VERSION: ");
|
Serial.print("AD9833_LIB_VERSION: ");
|
||||||
Serial.println(AD9833_LIB_VERSION);
|
Serial.println(AD9833_LIB_VERSION);
|
||||||
|
Serial.println();
|
||||||
delay(10);
|
delay(10);
|
||||||
|
|
||||||
SPI.begin();
|
SPI.begin();
|
||||||
|
44
libraries/AD9833/examples/AD9833_sweep/AD9833_sweep.ino
Normal file
44
libraries/AD9833/examples/AD9833_sweep/AD9833_sweep.ino
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
//
|
||||||
|
// FILE: AD9833_sweep.ino
|
||||||
|
// AUTHOR: Rob Tillaart
|
||||||
|
// PURPOSE: demo AD9833 wave form generator
|
||||||
|
// URL: https://github.com/RobTillaart/AD9833
|
||||||
|
|
||||||
|
#include "AD9833.h"
|
||||||
|
|
||||||
|
|
||||||
|
AD9833 AD(10); // HW SPI, select pin 10
|
||||||
|
|
||||||
|
int freq = 100;
|
||||||
|
bool up = true;
|
||||||
|
|
||||||
|
|
||||||
|
void setup()
|
||||||
|
{
|
||||||
|
Serial.begin(115200);
|
||||||
|
while (!Serial);
|
||||||
|
Serial.println(__FILE__);
|
||||||
|
Serial.print("AD9833_LIB_VERSION: ");
|
||||||
|
Serial.println(AD9833_LIB_VERSION);
|
||||||
|
Serial.println();
|
||||||
|
|
||||||
|
SPI.begin();
|
||||||
|
AD.begin();
|
||||||
|
AD.setWave(AD9833_SINE);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void loop()
|
||||||
|
{
|
||||||
|
if (up) freq++;
|
||||||
|
else freq--;
|
||||||
|
// reverse direction if needed
|
||||||
|
if (freq >= 1000) up = false;
|
||||||
|
if (freq <= 100) up = true;
|
||||||
|
AD.setFrequency(freq);
|
||||||
|
|
||||||
|
delay(100); // to simulate other tasks
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// -- END OF FILE --
|
@ -2,6 +2,7 @@
|
|||||||
// FILE: AD9833_switch_channel.ino
|
// FILE: AD9833_switch_channel.ino
|
||||||
// AUTHOR: Rob Tillaart
|
// AUTHOR: Rob Tillaart
|
||||||
// PURPOSE: demo AD9833 wave form generator
|
// PURPOSE: demo AD9833 wave form generator
|
||||||
|
// URL: https://github.com/RobTillaart/AD9833
|
||||||
|
|
||||||
|
|
||||||
#include "AD9833.h"
|
#include "AD9833.h"
|
||||||
@ -16,7 +17,11 @@ uint8_t channel = 0;
|
|||||||
void setup()
|
void setup()
|
||||||
{
|
{
|
||||||
Serial.begin(115200);
|
Serial.begin(115200);
|
||||||
|
while(!Serial);
|
||||||
Serial.println(__FILE__);
|
Serial.println(__FILE__);
|
||||||
|
Serial.print("AD9833_LIB_VERSION: ");
|
||||||
|
Serial.println(AD9833_LIB_VERSION);
|
||||||
|
Serial.println();
|
||||||
|
|
||||||
SPI.begin();
|
SPI.begin();
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
//
|
|
||||||
// FILE: AD9833_switch_phase.ino
|
// FILE: AD9833_switch_phase.ino
|
||||||
// AUTHOR: Rob Tillaart
|
// AUTHOR: Rob Tillaart
|
||||||
// PURPOSE: demo AD9833 wave form generator
|
// PURPOSE: demo AD9833 wave form generator
|
||||||
|
// URL: https://github.com/RobTillaart/AD9833
|
||||||
|
|
||||||
|
|
||||||
#include "AD9833.h"
|
#include "AD9833.h"
|
||||||
@ -16,7 +16,11 @@ uint8_t channel = 0;
|
|||||||
void setup()
|
void setup()
|
||||||
{
|
{
|
||||||
Serial.begin(115200);
|
Serial.begin(115200);
|
||||||
|
while(!Serial);
|
||||||
Serial.println(__FILE__);
|
Serial.println(__FILE__);
|
||||||
|
Serial.print("AD9833_LIB_VERSION: ");
|
||||||
|
Serial.println(AD9833_LIB_VERSION);
|
||||||
|
Serial.println();
|
||||||
|
|
||||||
SPI.begin();
|
SPI.begin();
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
// FILE: AD9833_test_10.ino
|
// FILE: AD9833_test_10.ino
|
||||||
// AUTHOR: Rob Tillaart
|
// AUTHOR: Rob Tillaart
|
||||||
// PURPOSE: test
|
// PURPOSE: test for issue 10
|
||||||
// URL: https://github.com/RobTillaart/AD9833/issues/10
|
// URL: https://github.com/RobTillaart/AD9833/issues/10
|
||||||
|
|
||||||
|
|
||||||
@ -14,6 +14,9 @@ void setup()
|
|||||||
Serial.begin(115200);
|
Serial.begin(115200);
|
||||||
while(!Serial);
|
while(!Serial);
|
||||||
Serial.println(__FILE__);
|
Serial.println(__FILE__);
|
||||||
|
Serial.print("AD9833_LIB_VERSION: ");
|
||||||
|
Serial.println(AD9833_LIB_VERSION);
|
||||||
|
Serial.println();
|
||||||
|
|
||||||
SPI.begin();
|
SPI.begin();
|
||||||
|
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/RobTillaart/AD9833.git"
|
"url": "https://github.com/RobTillaart/AD9833.git"
|
||||||
},
|
},
|
||||||
"version": "0.4.0",
|
"version": "0.4.1",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"frameworks": "*",
|
"frameworks": "*",
|
||||||
"platforms": "*",
|
"platforms": "*",
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
name=AD9833
|
name=AD9833
|
||||||
version=0.4.0
|
version=0.4.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 AD9833 function generator. Supports hardware SPI and software SPI.
|
sentence=Arduino library for AD9833 function generator. Supports hardware SPI and software SPI.
|
||||||
|
Loading…
Reference in New Issue
Block a user