Download Latest Version StepRateCalculator-Win10.zip (24.9 MB)
Email in envelope

Get an email when there's a new version of StepRateCalculator

Name Modified Size InfoDownloads / Week
Parent folder
RPM-GPG-KEY-jelectronics2 2020-04-04 3.5 kB
StepRateCalculator-1-1.x86_64.rpm 2020-04-04 28.1 kB
StepRateCalculator-Qt5-Linux.tar.gz 2020-04-04 18.7 kB
Totals: 3 Items   50.3 kB 0
StepRateCalculator

Calculate and save step rate tables for
an NCO (Numerically Controlled Oscillator)

Copyright (C) 2020  Allen Fairfield
joeelectronics43@outlook.com

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>


What it is
----------
I have been experimenting with microcontrollers, and in particular,
an NCO, to generate a sawtooth waveform for a possible DIY synthesizer.
With any luck, it will work with MIDI to play music.

If you don't know what an NCO is, check it out on Google. It uses
an "adder/accumulator", basically an adder with it's outputs stored
in a latch . The output of that is fed back into the adder, and is 
updated at regular intervals (sample rate), at the moment around 32KHz. 
The other set of inputs determines what number to add to the latch 
outputs, to skip steps, to vary the output frequency. That is the 
step rate, and this app calculates that for you. Just enter the 
sample rate you want to use, and the number of bits for the 
adder / accumulator - 16, 24 or 32 bits. It generates step rate data 
tables, for assembly language and C. Then you paste those into your 
source code for your microcontroller.

The created tables are labeled "BYTE0", "BYTE1", "BYTE2" and
"BYTE3". For 16 bits, you only get the first two. For 24 bits,
three, and for 32 bits, all four. Byte 0 is the low byte, and
they ascend to whatever your most significant byte is.


Updated Info:
-------------
I forgot to mention previously that this was written with Qt5
for the Linux version. You will need to have that installed,
and various "devel" packages to compile it. There used to be
just one devel package for Qt4, but Qt5 has a number of them.
Unfortunately, I forgot to write down which ones. Sorry about
that. The rpm installer might be best to try first. It was
created from OpenSuse Leap 15.1, but might install on other
Linux distributions. Maybe I'll try re-writing it in Lazarus...
Source: README, updated 2020-04-15