X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=blobdiff_plain;f=src%2Fcore%2Fao_freq.c;fp=src%2Fcore%2Fao_freq.c;h=0000000000000000000000000000000000000000;hp=12496f6fdf785a2d94f5fac84c239092ede0e004;hb=24167015705ae831692b95735968b04a876f935e;hpb=bb9fdef607728cc326a82aa632e59724f272e53b diff --git a/src/core/ao_freq.c b/src/core/ao_freq.c deleted file mode 100644 index 12496f6f..00000000 --- a/src/core/ao_freq.c +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Copyright © 2012 Keith Packard - * - * 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; version 2 of the License. - * - * 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, write to the Free Software Foundation, Inc., - * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. - */ - -#include - -/* - * The provided 'calibration' value is - * that needed to tune the radio to precisely 434550kHz. - * Use that to 'walk' to the target frequency by following - * a 'bresenham' line from 434550kHz to the target - * frequency, and updating the radio setting along the way - */ - -int32_t ao_freq_to_set(int32_t freq, int32_t cal) __reentrant -{ - static __pdata int32_t set; - static __pdata uint8_t neg; - static __pdata int32_t error; - - set = 0; - neg = 0; - error = -434550 / 2; - - if ((freq -= 434550) < 0) { - neg = 1; - freq = -freq; - } - for (;;) { - if (error > 0) { - error -= 434550; - set++; - } else { - error += cal; - if (--freq < 0) - break; - } - } - if (neg) - set = -set; - return cal + set; -}