Releases: ShaggyDog18/SignalGeneratorSD
SignalGeneratorSD based on AD9833 Module, Feb-2021
Change log:
- Improved navigation.
- New more friendly way of navigation in Frequency Input Mode: encoder is used for both moving through frequency value digits and changing a digit value.
- minor optimization of firmware.
SignalGeneratorSD based on AD9833 Module, August 2020
Added a new cool feature: Stepped Sweep Generator - the frequency is varied in a range defined by values set in Ch#0 (start of the range) and Ch#1 (end of the range) with signal settings of Ch#0 and discrete steps of 0,1 of a current running frequency (kind of logarithmic steps).
Frequency value steps either up or down from the start of the range depends on what channels' frequency is larger. Frequency is changed discretely every 250 mSec (can be changed at compilation).
The running Stepped Sweep Generator cycle is indicated by SWEEP
word that replaces the current Chanel number and a blinking cursor at the end of a frequency value. The feature can be activated for Ch#0 only and uses its signal settings.
While running, can be cancelled by short press and hold of OK button. When the end of the range is reached, it pauses for 3 sec and switches back to Ch#0 settings.
Sweep generators are commonly used to test the frequency response of electronic filter circuits. Read more about Sweep Generator in Wikipedia.
All code is well commented and easy to understand.
SignalGeneratorSD based on AD9833 Module, July 2020
Change log:
- More convenient and fast way of input frequency value by a rotary encoder : "Running" frequency - the value of frequency is applied "on the fly" with a small 0.5 sec delay so that you keep adjusting the frequency by encoder and the value is applied in 0.5 sec after your input is complete.
- minor code optimization
- minor bug fixing
SignalGeneratorSD based on AD9833 Module, July 2020
Change log:
-
Improved the way frequency value is displayed:
- option to hide leading zeros in frequency value (toggled by triple click of encoder button).
- option to delimit thousands by a separation sign (toggled by triple click to encoder button).
- a selected option (one out of four possible combinations) is stored to EEPROM (if enabled) and is set at start up.
-
New button function:
- Triple click anywhere -> change the way the frequency value is displayed: with/without leading zeros; with/without thousands separation sign. All four possible combinations are toggled in a loop. Default set: no leading zeros with a separation apostrophe.
The thousands delimiter is different from country to country. In the United States, this character is a comma (,) in Germany, a period (.), in Sweden, a space. So, you may re-define
DELIMITER
sign to one you аrе accustomed to: comma, period, space, astrisk, etc... Just search forDELIMITER
definition.
SignalGeneratorSD based on AD9833 Module, July 2020
Change Log:
- Removed the old AD9833 library: no sense to have it as an option... If you still love it, pick up the previous release.
- Improved Frequency value input experience: More convenient and fast way of input frequency by rotary encoder (if you still like the old way, comment
#define NEW_WAY_INPUT_FREQ
):- continuous input: if reach either '9' or '0' in a digit position, then it jumps over to the senior digit and decreases/increases it.
- fast input: if fast encoder rotation is detected, then it increases/decreases ten times of a current digit position
- Improved navigation (see Navigation section in the Readme).
- New option to hide leading Zeros in frequency representation.
SignalGeneratorSD based on AD9833 Module-initial release
- Improved, simplified, optimized, fixed bugs, used better/"standard" libraries for all components: the display, rotary encoder, button and, most important, for AD9833 module (I’ve never used a PHASE option... so, did not test it)
- Added graphic icons for signal representation on the display.
- Slightly changed navigation (see Navigation section below).
- Renamed FREQuency register on the display to CHANnel: so, now it looks like CHAN0 and CHAN1.
- Tied a signal mode to a CHANnel; so, now you may change signal form along with its frequency.
- Used EEPROM to store and recover settings.
- Added a new signal mode: square/meander signal wave at 1/2 frequency (for more accuracy of the output signal frequency). This is a standard feature of AD9833 module.