From: wittend99 Date: Fri, 17 Aug 2012 20:50:27 +0000 (+0000) Subject: git-svn-id: https://svn.code.sf.net/p/freetel/code@626 01035d8c-6547-0410-b346-abe4f9... X-Git-Url: http://git.whiteaudio.com/gitweb/?a=commitdiff_plain;h=7acce49cebcf71b52de19a6129528a4601a911a3;p=freetel-svn-tracking.git git-svn-id: https://svn.code.sf.net/p/freetel/code@626 01035d8c-6547-0410-b346-abe4f91aad63 --- diff --git a/fdmdv2/fdmdv2basic/Release/.gitignore b/fdmdv2/fdmdv2basic/Release/.gitignore new file mode 100644 index 00000000..e69de29b diff --git a/fdmdv2/fdmdv2dll/.cdf b/fdmdv2/fdmdv2dll/.cdf deleted file mode 100644 index 4e6600d3..00000000 --- a/fdmdv2/fdmdv2dll/.cdf +++ /dev/null @@ -1,7 +0,0 @@ -[CatalogHeader] -Name=.cat -ResultDir=C:\Users\wittend\Projects\Radio\fdmdv2\fdmdv2dll - -[CatalogFiles] -= -= diff --git a/fdmdv2/fdmdv2dll/ReadMe.txt b/fdmdv2/fdmdv2dll/ReadMe.txt deleted file mode 100644 index 4657c08c..00000000 --- a/fdmdv2/fdmdv2dll/ReadMe.txt +++ /dev/null @@ -1,40 +0,0 @@ -======================================================================== - DYNAMIC LINK LIBRARY : win32-project Project Overview -======================================================================== - -AppWizard has created this win32-project DLL for you. - -This file contains a summary of what you will find in each of the files that -make up your win32-project application. - - -win32-project.vcxproj - This is the main project file for VC++ projects generated using an Application Wizard. - It contains information about the version of Visual C++ that generated the file, and - information about the platforms, configurations, and project features selected with the - Application Wizard. - -win32-project.vcxproj.filters - This is the filters file for VC++ projects generated using an Application Wizard. - It contains information about the association between the files in your project - and the filters. This association is used in the IDE to show grouping of files with - similar extensions under a specific node (for e.g. ".cpp" files are associated with the - "Source Files" filter). - -win32-project.cpp - This is the main DLL source file. - -///////////////////////////////////////////////////////////////////////////// -Other standard files: - -StdAfx.h, StdAfx.cpp - These files are used to build a precompiled header (PCH) file - named win32-project.pch and a precompiled types file named StdAfx.obj. - -///////////////////////////////////////////////////////////////////////////// -Other notes: - -AppWizard uses "TODO:" comments to indicate parts of the source code you -should add to or customize. - -///////////////////////////////////////////////////////////////////////////// diff --git a/fdmdv2/fdmdv2dll/Release/fdmdv2-dll.dll b/fdmdv2/fdmdv2dll/Release/fdmdv2-dll.dll deleted file mode 100644 index f4baa09f..00000000 Binary files a/fdmdv2/fdmdv2dll/Release/fdmdv2-dll.dll and /dev/null differ diff --git a/fdmdv2/fdmdv2dll/Release/fdmdv2-dll.lib b/fdmdv2/fdmdv2dll/Release/fdmdv2-dll.lib deleted file mode 100644 index 1bcac2da..00000000 Binary files a/fdmdv2/fdmdv2dll/Release/fdmdv2-dll.lib and /dev/null differ diff --git a/fdmdv2/fdmdv2dll/dllmain.cpp b/fdmdv2/fdmdv2dll/dllmain.cpp deleted file mode 100644 index eaa3831f..00000000 --- a/fdmdv2/fdmdv2dll/dllmain.cpp +++ /dev/null @@ -1,20 +0,0 @@ -// dllmain.cpp : Defines the entry point for the DLL application. -#include "stdafx.h" - -BOOL APIENTRY DllMain( HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReserved) -{ - switch (ul_reason_for_call) - { - case DLL_PROCESS_ATTACH: - case DLL_THREAD_ATTACH: - case DLL_THREAD_DETACH: - case DLL_PROCESS_DETACH: - { - //Disable thread notifications - DisableThreadLibraryCalls(hModule); - }; - break; - } - return TRUE; -} - diff --git a/fdmdv2/fdmdv2dll/fdmdv2-dll.aps b/fdmdv2/fdmdv2dll/fdmdv2-dll.aps deleted file mode 100644 index e358da82..00000000 Binary files a/fdmdv2/fdmdv2dll/fdmdv2-dll.aps and /dev/null differ diff --git a/fdmdv2/fdmdv2dll/fdmdv2-dll.cpp b/fdmdv2/fdmdv2dll/fdmdv2-dll.cpp deleted file mode 100644 index 0d1f8b8e..00000000 --- a/fdmdv2/fdmdv2dll/fdmdv2-dll.cpp +++ /dev/null @@ -1,1406 +0,0 @@ -/*---------------------------------------------------------------------------*\ - -FILE........: codec2-dll.cpp -AUTHOR......: David Witten -DATE CREATED: 21 May 2011 - -Wrapper for the Codec2 codec and fdmdv modem APIs. - -\*---------------------------------------------------------------------------*/ - -/* -All rights reserved. - -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU Lesser General Public License version 2.1, as -published by the Free Software Foundation. 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 Lesser General Public License -along with this program; if not, see . -*/ -#define __USE_MATH_DEFINES - -#include "stdafx.h" -#include -#include -#include -#include -#include -#include - -#include "fdmdv_internal.h" -#include "fdmdv2-dll.h" -#include "rn.h" -#include "test_bits.h" -#include "pilot_coeff.h" -#include "fft.h" -#include "hanning.h" -#include "os.h" -/* -// This is an example of an exported variable -WIN32PROJECT_API int nwin32project=0; - -// This is an example of an exported function. -WIN32PROJECT_API int fnwin32project(void) -{ - return 42; -} - -// This is the constructor of a class that has been exported. -// see win32-project.h for the class definition -Cwin32project::Cwin32project() -{ - return; -} -*/ - -/*---------------------------------------------------------------------------*\ - -FILE........: fdmdv.c -AUTHOR......: David Rowe -DATE CREATED: April 14 2012 - -Functions that implement the FDMDV modem. - -\*---------------------------------------------------------------------------*/ - -/* -Copyright (C) 2012 David Rowe - -All rights reserved. - -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU Lesser General Public License version 2.1, as -published by the Free Software Foundation. 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 Lesser General Public License -along with this program; if not, see . -*/ - -/*---------------------------------------------------------------------------*\ - -INCLUDES - -\*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*\ - -FUNCTIONS - -\*---------------------------------------------------------------------------*/ - - - -static inline double round(double val) -{ - return floor(val + 0.5); -} - - - -static COMP cneg(COMP a) -{ - COMP res; - - res.real = -a.real; - res.imag = -a.imag; - - return res; -} - -static COMP cconj(COMP a) -{ - COMP res; - - res.real = a.real; - res.imag = -a.imag; - - return res; -} - -static COMP cmult(COMP a, COMP b) -{ - COMP res; - - res.real = a.real*b.real - a.imag*b.imag; - res.imag = a.real*b.imag + a.imag*b.real; - - return res; -} - -static COMP fcmult(float a, COMP b) -{ - COMP res; - - res.real = a*b.real; - res.imag = a*b.imag; - - return res; -} - -static COMP cadd(COMP a, COMP b) -{ - COMP res; - - res.real = a.real + b.real; - res.imag = a.imag + b.imag; - - return res; -} - -static float cabsolute(COMP a) -{ - return sqrt((float)pow((float)a.real, (float)2.0) + (float)pow((float)a.imag, (float)2.0)); -} - -/*---------------------------------------------------------------------------*\ - -FUNCTION....: fdmdv_create -AUTHOR......: David Rowe -DATE CREATED: 16/4/2012 - -Create and initialise an instance of the modem. Returns a pointer -to the modem states or NULL on failure. One set of states is -sufficient for a full duplex modem. - -\*---------------------------------------------------------------------------*/ - -WIN32PROJECT_API struct FDMDV *fdmdv_create(void) -{ - struct FDMDV *f; - int c, i, k; - float carrier_freq; - - assert(FDMDV_BITS_PER_FRAME == NC*NB); - assert(FDMDV_NOM_SAMPLES_PER_FRAME == M); - assert(FDMDV_MAX_SAMPLES_PER_FRAME == (M+M/P)); - - f = (struct FDMDV*)malloc(sizeof(struct FDMDV)); - if (f == NULL) - return NULL; - - f->current_test_bit = 0; - for(i=0; irx_test_bits_mem[i] = 0; - - f->tx_pilot_bit = 0; - - for(c=0; cprev_tx_symbols[c].real = 1.0; - f->prev_tx_symbols[c].imag = 0.0; - f->prev_rx_symbols[c].real = 1.0; - f->prev_rx_symbols[c].imag = 0.0; - - for(k=0; ktx_filter_memory[c][k].real = 0.0; - f->tx_filter_memory[c][k].imag = 0.0; - f->rx_filter_memory[c][k].real = 0.0; - f->rx_filter_memory[c][k].imag = 0.0; - } - - /* Spread initial FDM carrier phase out as far as possible. - This helped PAPR for a few dB. We don't need to adjust rx - phase as DQPSK takes care of that. */ - - f->phase_tx[c].real = cos(2.0*PI*c/(NC+1)); - f->phase_tx[c].imag = sin(2.0*PI*c/(NC+1)); - - f->phase_rx[c].real = 1.0; - f->phase_rx[c].imag = 0.0; - - for(k=0; krx_filter_mem_timing[c][k].real = 0.0; - f->rx_filter_mem_timing[c][k].imag = 0.0; - } - for(k=0; krx_baseband_mem_timing[c][k].real = 0.0; - f->rx_baseband_mem_timing[c][k].imag = 0.0; - } - } - - /* Set up frequency of each carrier */ - - for(c=0; cfreq[c].real = cos(2.0*PI*carrier_freq/FS); - f->freq[c].imag = sin(2.0*PI*carrier_freq/FS); - } - - for(c=NC/2; cfreq[c].real = cos(2.0*PI*carrier_freq/FS); - f->freq[c].imag = sin(2.0*PI*carrier_freq/FS); - } - - f->freq[NC].real = cos(2.0*PI*FCENTRE/FS); - f->freq[NC].imag = sin(2.0*PI*FCENTRE/FS); - - /* Generate DBPSK pilot Look Up Table (LUT) */ - - generate_pilot_lut(f->pilot_lut, &f->freq[NC]); - - /* freq Offset estimation states */ - - for(i=0; ipilot_baseband1[i].real = f->pilot_baseband2[i].real = 0.0; - f->pilot_baseband1[i].imag = f->pilot_baseband2[i].imag = 0.0; - } - f->pilot_lut_index = 0; - f->prev_pilot_lut_index = 3*M; - - for(i=0; ipilot_lpf1[i].real = f->pilot_lpf2[i].real = 0.0; - f->pilot_lpf1[i].imag = f->pilot_lpf2[i].imag = 0.0; - } - - f->foff = 0.0; - f->foff_rect.real = 1.0; - f->foff_rect.imag = 0.0; - f->foff_phase_rect.real = 1.0; - f->foff_phase_rect.imag = 0.0; - - f->fest_state = 0; - f->coarse_fine = COARSE; - - for(c=0; csig_est[c] = 0.0; - f->noise_est[c] = 0.0; - } - - return f; -} - -/*---------------------------------------------------------------------------*\ - -FUNCTION....: fdmdv_destroy -AUTHOR......: David Rowe -DATE CREATED: 16/4/2012 - -Destroy an instance of the modem. - -\*---------------------------------------------------------------------------*/ - -WIN32PROJECT_API void fdmdv_destroy(struct FDMDV *fdmdv) -{ - assert(fdmdv != NULL); - free(fdmdv); -} - -/*---------------------------------------------------------------------------*\ - -FUNCTION....: fdmdv_get_test_bits() -AUTHOR......: David Rowe -DATE CREATED: 16/4/2012 - -Generate a frame of bits from a repeating sequence of random data. OK so -it's not very random if it repeats but it makes syncing at the demod easier -for test purposes. - -\*---------------------------------------------------------------------------*/ - -WIN32PROJECT_API void fdmdv_get_test_bits(struct FDMDV *f, int tx_bits[]) -{ - int i; - - for(i=0; icurrent_test_bit]; - f->current_test_bit++; - if (f->current_test_bit > (NTEST_BITS-1)) - f->current_test_bit = 0; - } -} - -/*---------------------------------------------------------------------------*\ - -FUNCTION....: bits_to_dqpsk_symbols() -AUTHOR......: David Rowe -DATE CREATED: 16/4/2012 - -Maps bits to parallel DQPSK symbols. Generate Nc+1 QPSK symbols from -vector of (1,Nc*Nb) input tx_bits. The Nc+1 symbol is the +1 -1 +1 -.... BPSK sync carrier. - -\*---------------------------------------------------------------------------*/ - -void bits_to_dqpsk_symbols(COMP tx_symbols[], COMP prev_tx_symbols[], int tx_bits[], int *pilot_bit) -{ - int c, msb, lsb; - COMP j = {0.0,1.0}; - - /* map tx_bits to to Nc DQPSK symbols */ - - for(c=0; cprev_tx_symbols, tx_bits, &fdmdv->tx_pilot_bit); - memcpy(fdmdv->prev_tx_symbols, tx_symbols, sizeof(COMP)*(NC+1)); - tx_filter(tx_baseband, tx_symbols, fdmdv->tx_filter_memory); - fdm_upconvert(tx_fdm, tx_baseband, fdmdv->phase_tx, fdmdv->freq); - - *sync_bit = fdmdv->tx_pilot_bit; -} - -/*---------------------------------------------------------------------------*\ - -FUNCTION....: generate_pilot_fdm() -AUTHOR......: David Rowe -DATE CREATED: 19/4/2012 - -Generate M samples of DBPSK pilot signal for Freq offset estimation. - -\*---------------------------------------------------------------------------*/ - -void generate_pilot_fdm(COMP *pilot_fdm, int *bit, float *symbol, float *filter_mem, COMP *phase, COMP *freq) -{ - int i,j,k; - float tx_baseband[M]; - - /* +1 -1 +1 -1 DBPSK sync carrier, once filtered becomes (roughly) - two spectral lines at +/- RS/2 */ - - if (*bit) - *symbol = -*symbol; - else - *symbol = *symbol; - if (*bit) - *bit = 0; - else - *bit = 1; - - /* filter DPSK symbol to create M baseband samples */ - - filter_mem[NFILTER-1] = (float)(sqrt(2.0)/2) * *symbol; - for(i=0; ireal; - pilot_fdm[i].imag = sqrt(2.0)*2*tx_baseband[i] * phase->imag; - } -} - -/*---------------------------------------------------------------------------*\ - -FUNCTION....: generate_pilot_lut() -AUTHOR......: David Rowe -DATE CREATED: 19/4/2012 - -Generate a 4M sample vector of DBPSK pilot signal. As the pilot signal -is periodic in 4M samples we can then use this vector as a look up table -for pilot signal generation in the demod. - -\*---------------------------------------------------------------------------*/ - -void generate_pilot_lut(COMP pilot_lut[], COMP *pilot_freq) -{ - int pilot_rx_bit = 0; - float pilot_symbol = sqrt(2.0); - COMP pilot_phase = {1.0, 0.0}; - float pilot_filter_mem[NFILTER]; - COMP pilot[M]; - int i,f; - - for(i=0; i= 4) - memcpy(&pilot_lut[M*(f-4)], pilot, M*sizeof(COMP)); - } - -} - -/*---------------------------------------------------------------------------*\ - -FUNCTION....: lpf_peak_pick() -AUTHOR......: David Rowe -DATE CREATED: 20/4/2012 - -LPF and peak pick part of freq est, put in a function as we call it twice. - -\*---------------------------------------------------------------------------*/ - -void lpf_peak_pick(float *foff, float *max, COMP pilot_baseband[], COMP pilot_lpf[], COMP S[], int nin) -{ - int i,j,k; - int mpilot; - float mag, imax; - int ix; - float r; - - /* LPF cutoff 200Hz, so we can handle max +/- 200 Hz freq offset */ - - for(i=0; i imax) - { - imax = mag; - ix = i; - } - } - r = 2.0*200.0/MPILOTFFT; /* maps FFT bin to frequency in Hz */ - - if (ix >= MPILOTFFT/2) - *foff = (ix - MPILOTFFT)*r; - else - *foff = (ix)*r; - *max = imax; - -} - -/*---------------------------------------------------------------------------*\ - -FUNCTION....: rx_est_freq_offset() -AUTHOR......: David Rowe -DATE CREATED: 19/4/2012 - -Estimate frequency offset of FDM signal using BPSK pilot. Note that -this algorithm is quite sensitive to pilot tone level wrt other -carriers, so test variations to the pilot amplitude carefully. - -\*---------------------------------------------------------------------------*/ - -float rx_est_freq_offset(struct FDMDV *f, float rx_fdm[], int nin) -{ - int i,j; - COMP pilot[M+M/P]; - COMP prev_pilot[M+M/P]; - float foff, foff1, foff2; - float max1, max2; - - assert(nin <= M+M/P); - - /* get pilot samples used for correlation/down conversion of rx signal */ - - for (i=0; ipilot_lut[f->pilot_lut_index]; - f->pilot_lut_index++; - if (f->pilot_lut_index >= 4*M) - f->pilot_lut_index = 0; - - prev_pilot[i] = f->pilot_lut[f->prev_pilot_lut_index]; - f->prev_pilot_lut_index++; - if (f->prev_pilot_lut_index >= 4*M) - f->prev_pilot_lut_index = 0; - } - - /* - Down convert latest M samples of pilot by multiplying by ideal - BPSK pilot signal we have generated locally. The peak of the - resulting signal is sensitive to the time shift between the - received and local version of the pilot, so we do it twice at - different time shifts and choose the maximum. - */ - - for(i=0; ipilot_baseband1[i] = f->pilot_baseband1[i+nin]; - f->pilot_baseband2[i] = f->pilot_baseband2[i+nin]; - } - - for(i=0,j=NPILOTBASEBAND-nin; ipilot_baseband1[j] = fcmult(rx_fdm[i], cconj(pilot[i])); - f->pilot_baseband2[j] = fcmult(rx_fdm[i], cconj(prev_pilot[i])); - } - - lpf_peak_pick(&foff1, &max1, f->pilot_baseband1, f->pilot_lpf1, f->S1, nin); - lpf_peak_pick(&foff2, &max2, f->pilot_baseband2, f->pilot_lpf2, f->S2, nin); - - if (max1 > max2) - foff = foff1; - else - foff = foff2; - - return foff; -} - -/*---------------------------------------------------------------------------*\ - -FUNCTION....: freq_shift() -AUTHOR......: David Rowe -DATE CREATED: 26/4/2012 - -Frequency shift modem signal. - -\*---------------------------------------------------------------------------*/ - -void freq_shift(COMP rx_fdm_fcorr[], float rx_fdm[], float foff, COMP *foff_rect, COMP *foff_phase_rect, int nin) -{ - int i; - - foff_rect->real = cos(2.0*PI*foff/FS); - foff_rect->imag = sin(2.0*PI*foff/FS); - for(i=0; i M) - rx_timing -= M; - if (rx_timing < -M) - rx_timing += M; - - /* rx_filt_mem_timing contains M + Nfilter + M samples of the - baseband signal at rate M this enables us to resample the - filtered rx symbol with M sample precision once we have - rx_timing */ - - for(c=0; c= 0) && (d.imag >= 0)) { - msb = 0; lsb = 0; - } - if ((d.real < 0) && (d.imag >= 0)) { - msb = 0; lsb = 1; - } - if ((d.real < 0) && (d.imag < 0)) { - msb = 1; lsb = 0; - } - if ((d.real >= 0) && (d.imag < 0)) { - msb = 1; lsb = 1; - } - rx_bits[2*c] = msb; - rx_bits[2*c+1] = lsb; - } - - /* Extract DBPSK encoded Sync bit and fine freq offset estimate */ - - phase_difference[NC] = cmult(rx_symbols[NC], cconj(prev_rx_symbols[NC])); - if (phase_difference[NC].real < 0) { - *sync_bit = 1; - ferr = phase_difference[NC].imag; - } - else { - *sync_bit = 0; - ferr = -phase_difference[NC].imag; - } - - /* pilot carrier gets an extra pi/4 rotation to make it consistent - with other carriers, as we need it for snr_update and scatter - diagram */ - - phase_difference[NC] = cmult(phase_difference[NC], pi_on_4); - - return ferr; -} - -/*---------------------------------------------------------------------------*\ - -FUNCTION....: snr_update() -AUTHOR......: David Rowe -DATE CREATED: 17 May 2012 - -Given phase differences update estimates of signal and noise levels. - -\*---------------------------------------------------------------------------*/ - -void snr_update(float sig_est[], float noise_est[], COMP phase_difference[]) -{ - float s[NC+1]; - COMP refl_symbols[NC+1]; - float n[NC+1]; - COMP pi_on_4; - int c; - - pi_on_4.real = cos(PI/4.0); - pi_on_4.imag = sin(PI/4.0); - - /* mag of each symbol is distance from origin, this gives us a - vector of mags, one for each carrier. */ - - for(c=0; crx_test_bits_mem[i] = f->rx_test_bits_mem[j]; - for(i=NTEST_BITS-FDMDV_BITS_PER_FRAME,j=0; irx_test_bits_mem[i] = rx_bits[j]; - - /* see how many bit errors we get when checked against test sequence */ - - *bit_errors = 0; - for(i=0; irx_test_bits_mem[i]; - //printf("%d %d %d %d\n", i, test_bits[i], f->rx_test_bits_mem[i], test_bits[i] ^ f->rx_test_bits_mem[i]); - } - - /* if less than a thresh we are aligned and in sync with test sequence */ - - ber = (float)*bit_errors/NTEST_BITS; - - *sync = 0; - if (ber < 0.2) - *sync = 1; - - *ntest_bits = NTEST_BITS; - -} - -/*---------------------------------------------------------------------------*\ - -FUNCTION....: freq_state(() -AUTHOR......: David Rowe -DATE CREATED: 24/4/2012 - -Freq offset state machine. Moves between coarse and fine states -based on BPSK pilot sequence. Freq offset estimator occasionally -makes mistakes when used continuously. So we use it until we have -acquired the BPSK pilot, then switch to a more robust "fine" -tracking algorithm. If we lose sync we switch back to coarse mode -for fast-requisition of large frequency offsets. - -\*---------------------------------------------------------------------------*/ - -int freq_state(int sync_bit, int *state) -{ - int next_state, coarse_fine; - - /* acquire state, look for 6 symbol 010101 sequence from sync bit */ - - next_state = *state; - switch(*state) { - case 0: - if (sync_bit == 0) - next_state = 1; - break; - case 1: - if (sync_bit == 1) - next_state = 2; - else - next_state = 0; - break; - case 2: - if (sync_bit == 0) - next_state = 3; - else - next_state = 0; - break; - case 3: - if (sync_bit == 1) - next_state = 4; - else - next_state = 0; - break; - case 4: - if (sync_bit == 0) - next_state = 5; - else - next_state = 0; - break; - case 5: - if (sync_bit == 1) - next_state = 6; - else - next_state = 0; - break; - - /* states 6 and above are track mode, make sure we keep - getting 0101 sync bit sequence */ - - case 6: - if (sync_bit == 0) - next_state = 7; - else - next_state = 0; - - break; - case 7: - if (sync_bit == 1) - next_state = 6; - else - next_state = 0; - break; - } - - *state = next_state; - if (*state >= 6) - coarse_fine = FINE; - else - coarse_fine = COARSE; - - return coarse_fine; -} - -/*---------------------------------------------------------------------------*\ - -FUNCTION....: fdmdv_demod() -AUTHOR......: David Rowe -DATE CREATED: 26/4/2012 - -FDMDV demodulator, take an array of FDMDV_SAMPLES_PER_FRAME -modulated symbols, returns an array of FDMDV_BITS_PER_FRAME bits, -plus the sync bit. - -The number of input samples nin will normally be M == -FDMDV_SAMPLES_PER_FRAME. However to adjust for differences in -transmit and receive sample clocks nin will occasionally be M-M/P, -or M+M/P. - -\*---------------------------------------------------------------------------*/ - -WIN32PROJECT_API void fdmdv_demod(struct FDMDV *fdmdv, int rx_bits[], int *sync_bit, float rx_fdm[], int *nin) -{ - float foff_coarse, foff_fine; - COMP rx_fdm_fcorr[M+M/P]; - COMP rx_baseband[NC+1][M+M/P]; - COMP rx_filt[NC+1][P+1]; - COMP rx_symbols[NC+1]; - float env[NT*P]; - - /* freq offset estimation and correction */ - - foff_coarse = rx_est_freq_offset(fdmdv, rx_fdm, *nin); - - if (fdmdv->coarse_fine == COARSE) - fdmdv->foff = foff_coarse; - freq_shift(rx_fdm_fcorr, rx_fdm, fdmdv->foff, &fdmdv->foff_rect, &fdmdv->foff_phase_rect, *nin); - - /* baseband processing */ - - fdm_downconvert(rx_baseband, rx_fdm_fcorr, fdmdv->phase_rx, fdmdv->freq, *nin); - rx_filter(rx_filt, rx_baseband, fdmdv->rx_filter_memory, *nin); - fdmdv->rx_timing = rx_est_timing(rx_symbols, rx_filt, rx_baseband, fdmdv->rx_filter_mem_timing, env, fdmdv->rx_baseband_mem_timing, *nin); - - /* adjust number of input samples to keep timing within bounds */ - - *nin = M; - - if (fdmdv->rx_timing > 2*M/P) - *nin += M/P; - - if (fdmdv->rx_timing < 0) - *nin -= M/P; - - foff_fine = qpsk_to_bits(rx_bits, sync_bit, fdmdv->phase_difference, fdmdv->prev_rx_symbols, rx_symbols); - memcpy(fdmdv->prev_rx_symbols, rx_symbols, sizeof(COMP)*(NC+1)); - snr_update(fdmdv->sig_est, fdmdv->noise_est, fdmdv->phase_difference); - - /* freq offset estimation state machine */ - - fdmdv->coarse_fine = freq_state(*sync_bit, &fdmdv->fest_state); - fdmdv->foff -= TRACK_COEFF*foff_fine; -} - -/*---------------------------------------------------------------------------*\ - -FUNCTION....: calc_snr() -AUTHOR......: David Rowe -DATE CREATED: 17 May 2012 - -Calculate current SNR estimate (3000Hz noise BW) - -\*---------------------------------------------------------------------------*/ - -float calc_snr(float sig_est[], float noise_est[]) -{ - float S, SdB; - float mean, N50, N50dB, N3000dB; - float snr_dB; - int c; - - S = 0.0; - for(c=0; csnr_est = calc_snr(fdmdv->sig_est, fdmdv->noise_est); - fdmdv_stats->fest_coarse_fine = fdmdv->coarse_fine; - fdmdv_stats->foff = fdmdv->foff; - fdmdv_stats->rx_timing = fdmdv->rx_timing; - fdmdv_stats->clock_offset = 0.0; /* TODO - implement clock offset estimation */ - - assert((NC+1) == FDMDV_NSYM); - - for(c=0; crx_symbols[c] = fdmdv->phase_difference[c]; - } -} - -/*---------------------------------------------------------------------------*\ - -FUNCTION....: fdmdv_8_to_48() -AUTHOR......: David Rowe -DATE CREATED: 9 May 2012 - -Changes the sample rate of a signal from 8 to 48 kHz. Experience -with PC based modems has shown that PC sound cards have a more -accurate sample clock when set for 48 kHz than 8 kHz. - -n is the number of samples at the 8 kHz rate, there are FDMDV_OS*n samples -at the 48 kHz rate. A memory of FDMDV_OS_TAPS/FDMDV_OS samples is reqd for -in8k[] (see t48_8.c unit test as example). - -This is a classic polyphase upsampler. We take the 8 kHz samples -and insert (FDMDV_OS-1) zeroes between each sample, then -FDMDV_OS_TAPS FIR low pass filter the signal at 4kHz. As most of -the input samples are zeroes, we only need to multiply non-zero -input samples by filter coefficients. The zero insertion and -filtering are combined in the code below and I'm too lazy to explain -it further right now.... - -\*---------------------------------------------------------------------------*/ - -WIN32PROJECT_API void fdmdv_8_to_48(float out48k[], float in8k[], int n) -{ - int i,j,k,l; - - for(i=0; i. -*/ - -// The following ifdef block is the standard way of creating macros which make exporting -// from a DLL simpler. All files within this DLL are compiled with the WIN32PROJECT_EXPORTS -// symbol defined on the command line. This symbol should not be defined on any project -// that uses this DLL. This way any other project whose source files include this file see -// WIN32PROJECT_API functions as being imported from a DLL, whereas this DLL sees symbols -// defined with this macro as being exported. -#ifdef WIN32PROJECT_EXPORTS -#define WIN32PROJECT_API __declspec(dllexport) -#else -#define WIN32PROJECT_API __declspec(dllimport) -#endif - -/* -// This class is exported from the win32-project.dll -class WIN32PROJECT_API Cwin32project -{ -public: - Cwin32project(void); -}; - -extern WIN32PROJECT_API int nwin32project; - -WIN32PROJECT_API int fnwin32project(void); -*/ - -#ifndef __FDMDV__ -#define __FDMDV__ - -#ifdef __cplusplus -extern "C" { -#endif - -#include "comp.h" - -WIN32PROJECT_API void fft(float x[], int n, int isign); - - -#define FDMDV_BITS_PER_FRAME 28 /* 20ms frames, 1400 bit/s */ -#define FDMDV_NOM_SAMPLES_PER_FRAME 160 /* modulator output samples/frame and nominal demod samples/frame */ - /* at 8000 Hz sample rate */ -#define FDMDV_MAX_SAMPLES_PER_FRAME 200 /* max demod samples/frame, use this to allocate storage */ -#define FDMDV_SCALE 1000 /* suggested scaling for 16 bit shorts */ -#define FDMDV_NSYM 15 - -/* 8 to 48 kHz sample rate conversion */ - -#define FDMDV_OS 6 /* oversampling rate */ -#define FDMDV_OS_TAPS 48 /* number of OS filter taps */ - -/* FDMDV states and stats structures */ - -struct FDMDV; - -struct FDMDV_STATS { - float snr_est; /* estimated SNR of rx signal in dB (3 kHz noise BW) */ - COMP rx_symbols[FDMDV_NSYM]; /* latest received symbols, for scatter plot */ - int fest_coarse_fine; /* freq est state, 0-coarse 1-fine */ - float foff; /* estimated freq offset in Hz */ - float rx_timing; /* estimated optimum timing offset in samples */ - float clock_offset; /* Estimated tx/rx sample clock offset in ppm */ -}; - -WIN32PROJECT_API struct FDMDV *fdmdv_create(void); -WIN32PROJECT_API void fdmdv_destroy(struct FDMDV *fdmdv_state); - -WIN32PROJECT_API void fdmdv_mod(struct FDMDV *fdmdv_state, COMP tx_fdm[], int tx_bits[], int *sync_bit); -WIN32PROJECT_API void fdmdv_demod(struct FDMDV *fdmdv_state, int rx_bits[], int *sync_bit, float rx_fdm[], int *nin); - -WIN32PROJECT_API void fdmdv_get_test_bits(struct FDMDV *fdmdv_state, int tx_bits[]); -WIN32PROJECT_API void fdmdv_put_test_bits(struct FDMDV *f, int *sync, int *bit_errors, int *ntest_bits, int rx_bits[]); - -WIN32PROJECT_API void fdmdv_get_demod_stats(struct FDMDV *fdmdv_state, struct FDMDV_STATS *fdmdv_stats); -WIN32PROJECT_API void fdmdv_get_waterfall_line(struct FDMDV *fdmdv_state, float magnitudes[], int *magnitude_points); - -#endif - -#ifdef __cplusplus -} -#endif diff --git a/fdmdv2/fdmdv2dll/fdmdv2-dll.rc b/fdmdv2/fdmdv2dll/fdmdv2-dll.rc deleted file mode 100644 index 0d7c7a75..00000000 Binary files a/fdmdv2/fdmdv2dll/fdmdv2-dll.rc and /dev/null differ diff --git a/fdmdv2/fdmdv2dll/fdmdv2-dll.sln b/fdmdv2/fdmdv2dll/fdmdv2-dll.sln deleted file mode 100644 index 554e3c07..00000000 --- a/fdmdv2/fdmdv2dll/fdmdv2-dll.sln +++ /dev/null @@ -1,42 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 11.00 -# Visual Studio 2010 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "fdmdv2-dll", "fdmdv2-project.vcxproj", "{25ED31A8-B64D-47A6-A8EA-9B6E3BCDD541}" -EndProject -Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "vbTest", "vbTest\vbTest.vbproj", "{36C01EFE-7F22-486B-82C4-07DF02101B1A}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Mixed Platforms = Debug|Mixed Platforms - Debug|Win32 = Debug|Win32 - Debug|x86 = Debug|x86 - Release|Mixed Platforms = Release|Mixed Platforms - Release|Win32 = Release|Win32 - Release|x86 = Release|x86 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {25ED31A8-B64D-47A6-A8EA-9B6E3BCDD541}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32 - {25ED31A8-B64D-47A6-A8EA-9B6E3BCDD541}.Debug|Mixed Platforms.Build.0 = Debug|Win32 - {25ED31A8-B64D-47A6-A8EA-9B6E3BCDD541}.Debug|Win32.ActiveCfg = Debug|Win32 - {25ED31A8-B64D-47A6-A8EA-9B6E3BCDD541}.Debug|Win32.Build.0 = Debug|Win32 - {25ED31A8-B64D-47A6-A8EA-9B6E3BCDD541}.Debug|x86.ActiveCfg = Debug|Win32 - {25ED31A8-B64D-47A6-A8EA-9B6E3BCDD541}.Release|Mixed Platforms.ActiveCfg = Release|Win32 - {25ED31A8-B64D-47A6-A8EA-9B6E3BCDD541}.Release|Mixed Platforms.Build.0 = Release|Win32 - {25ED31A8-B64D-47A6-A8EA-9B6E3BCDD541}.Release|Win32.ActiveCfg = Release|Win32 - {25ED31A8-B64D-47A6-A8EA-9B6E3BCDD541}.Release|Win32.Build.0 = Release|Win32 - {25ED31A8-B64D-47A6-A8EA-9B6E3BCDD541}.Release|x86.ActiveCfg = Release|Win32 - {36C01EFE-7F22-486B-82C4-07DF02101B1A}.Debug|Mixed Platforms.ActiveCfg = Debug|x86 - {36C01EFE-7F22-486B-82C4-07DF02101B1A}.Debug|Mixed Platforms.Build.0 = Debug|x86 - {36C01EFE-7F22-486B-82C4-07DF02101B1A}.Debug|Win32.ActiveCfg = Debug|x86 - {36C01EFE-7F22-486B-82C4-07DF02101B1A}.Debug|x86.ActiveCfg = Debug|x86 - {36C01EFE-7F22-486B-82C4-07DF02101B1A}.Debug|x86.Build.0 = Debug|x86 - {36C01EFE-7F22-486B-82C4-07DF02101B1A}.Release|Mixed Platforms.ActiveCfg = Release|x86 - {36C01EFE-7F22-486B-82C4-07DF02101B1A}.Release|Mixed Platforms.Build.0 = Release|x86 - {36C01EFE-7F22-486B-82C4-07DF02101B1A}.Release|Win32.ActiveCfg = Release|x86 - {36C01EFE-7F22-486B-82C4-07DF02101B1A}.Release|x86.ActiveCfg = Release|x86 - {36C01EFE-7F22-486B-82C4-07DF02101B1A}.Release|x86.Build.0 = Release|x86 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/fdmdv2/fdmdv2dll/fdmdv2-project.sdf b/fdmdv2/fdmdv2dll/fdmdv2-project.sdf deleted file mode 100644 index 0057a1c9..00000000 Binary files a/fdmdv2/fdmdv2dll/fdmdv2-project.sdf and /dev/null differ diff --git a/fdmdv2/fdmdv2dll/fdmdv2-project.vcxproj b/fdmdv2/fdmdv2dll/fdmdv2-project.vcxproj deleted file mode 100644 index 76e18b34..00000000 --- a/fdmdv2/fdmdv2dll/fdmdv2-project.vcxproj +++ /dev/null @@ -1,142 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - {25ED31A8-B64D-47A6-A8EA-9B6E3BCDD541} - Win32Proj - win32project - fdmdv2-dll - - - - DynamicLibrary - true - Unicode - - - DynamicLibrary - false - true - Unicode - - - - - - - - - - - - - true - - - false - - - - NotUsing - Level3 - Disabled - WIN32;_DEBUG;_WINDOWS;_USRDLL;WIN32PROJECT_EXPORTS;%(PreprocessorDefinitions) - 4244;%(DisableSpecificWarnings) - - - Windows - true - - - - - Level3 - NotUsing - MaxSpeed - true - true - WIN32;NDEBUG;_WINDOWS;_USRDLL;WIN32PROJECT_EXPORTS;%(PreprocessorDefinitions) - ..\..\codec2-dev\src - 4305;4244;%(DisableSpecificWarnings) - false - Sync - - - Windows - true - true - true - - - true - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Create - Create - - - - - - - - - \ No newline at end of file diff --git a/fdmdv2/fdmdv2dll/resource.h b/fdmdv2/fdmdv2dll/resource.h deleted file mode 100644 index 013e3a41..00000000 --- a/fdmdv2/fdmdv2dll/resource.h +++ /dev/null @@ -1,14 +0,0 @@ -//{{NO_DEPENDENCIES}} -// Microsoft Visual C++ generated include file. -// Used by fdmdv2-dll.rc - -// Next default values for new objects -// -#ifdef APSTUDIO_INVOKED -#ifndef APSTUDIO_READONLY_SYMBOLS -#define _APS_NEXT_RESOURCE_VALUE 101 -#define _APS_NEXT_COMMAND_VALUE 40001 -#define _APS_NEXT_CONTROL_VALUE 1001 -#define _APS_NEXT_SYMED_VALUE 101 -#endif -#endif diff --git a/fdmdv2/fdmdv2dll/stdafx.cpp b/fdmdv2/fdmdv2dll/stdafx.cpp deleted file mode 100644 index c47a01c2..00000000 --- a/fdmdv2/fdmdv2dll/stdafx.cpp +++ /dev/null @@ -1,8 +0,0 @@ -// stdafx.cpp : source file that includes just the standard includes -// win32-project.pch will be the pre-compiled header -// stdafx.obj will contain the pre-compiled type information - -#include "stdafx.h" - -// TODO: reference any additional headers you need in STDAFX.H -// and not in this file diff --git a/fdmdv2/fdmdv2dll/stdafx.h b/fdmdv2/fdmdv2dll/stdafx.h deleted file mode 100644 index 3ad2c6d1..00000000 --- a/fdmdv2/fdmdv2dll/stdafx.h +++ /dev/null @@ -1,16 +0,0 @@ -// stdafx.h : include file for standard system include files, -// or project specific include files that are used frequently, but -// are changed infrequently -// - -#pragma once - -#include "targetver.h" - -#define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers -// Windows Header Files: -#include - -static inline double round(double val); - -// TODO: reference additional headers your program requires here diff --git a/fdmdv2/fdmdv2dll/targetver.h b/fdmdv2/fdmdv2dll/targetver.h deleted file mode 100644 index 90e767bf..00000000 --- a/fdmdv2/fdmdv2dll/targetver.h +++ /dev/null @@ -1,8 +0,0 @@ -#pragma once - -// Including SDKDDKVer.h defines the highest available Windows platform. - -// If you wish to build your application for a previous Windows platform, include WinSDKVer.h and -// set the _WIN32_WINNT macro to the platform you wish to support before including SDKDDKVer.h. - -#include diff --git a/fdmdv2/fdmdv2dll/vbTest/App.config b/fdmdv2/fdmdv2dll/vbTest/App.config deleted file mode 100644 index b93bf408..00000000 --- a/fdmdv2/fdmdv2dll/vbTest/App.config +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/fdmdv2/fdmdv2dll/vbTest/Form1.Designer.vb b/fdmdv2/fdmdv2dll/vbTest/Form1.Designer.vb deleted file mode 100644 index dc510d07..00000000 --- a/fdmdv2/fdmdv2dll/vbTest/Form1.Designer.vb +++ /dev/null @@ -1,125 +0,0 @@ - _ -'Declare Sub fdmdv2-dll Lib "\Users\wittend\Projects\Radio\fdmdv2\fdmdv2dll\Release\fdmdv2-dll.dll" (ByVal Client As String, ByVal Dll As String) -Partial Class Form1 - Inherits System.Windows.Forms.Form - - 'Form overrides dispose to clean up the component list. - _ - Protected Overrides Sub Dispose(ByVal disposing As Boolean) - Try - If disposing AndAlso components IsNot Nothing Then - components.Dispose() - End If - Finally - MyBase.Dispose(disposing) - End Try - End Sub - - 'Required by the Windows Form Designer - Private components As System.ComponentModel.IContainer - - 'NOTE: The following procedure is required by the Windows Form Designer - 'It can be modified using the Windows Form Designer. - 'Do not modify it using the code editor. - _ - Private Sub InitializeComponent() -Me.TextBox1 = New System.Windows.Forms.TextBox() -Me.GroupBox1 = New System.Windows.Forms.GroupBox() -Me.Button1 = New System.Windows.Forms.Button() -Me.Button2 = New System.Windows.Forms.Button() -Me.Button3 = New System.Windows.Forms.Button() -Me.Button4 = New System.Windows.Forms.Button() -Me.Button5 = New System.Windows.Forms.Button() -Me.GroupBox1.SuspendLayout() -Me.SuspendLayout() -' -'TextBox1 -' -Me.TextBox1.Location = New System.Drawing.Point(183, 2) -Me.TextBox1.Multiline = True -Me.TextBox1.Name = "TextBox1" -Me.TextBox1.Size = New System.Drawing.Size(384, 395) -Me.TextBox1.TabIndex = 0 -' -'GroupBox1 -' -Me.GroupBox1.Controls.Add(Me.Button4) -Me.GroupBox1.Controls.Add(Me.Button3) -Me.GroupBox1.Controls.Add(Me.Button2) -Me.GroupBox1.Controls.Add(Me.Button1) -Me.GroupBox1.Location = New System.Drawing.Point(10, 10) -Me.GroupBox1.Name = "GroupBox1" -Me.GroupBox1.Size = New System.Drawing.Size(167, 337) -Me.GroupBox1.TabIndex = 1 -Me.GroupBox1.TabStop = False -Me.GroupBox1.Text = "Test FDMDV2" -' -'Button1 -' -Me.Button1.Location = New System.Drawing.Point(17, 31) -Me.Button1.Name = "Button1" -Me.Button1.Size = New System.Drawing.Size(135, 24) -Me.Button1.TabIndex = 0 -Me.Button1.Text = "Load" -Me.Button1.UseVisualStyleBackColor = True -' -'Button2 -' -Me.Button2.Location = New System.Drawing.Point(17, 61) -Me.Button2.Name = "Button2" -Me.Button2.Size = New System.Drawing.Size(135, 27) -Me.Button2.TabIndex = 1 -Me.Button2.Text = "Start" -Me.Button2.UseVisualStyleBackColor = True -' -'Button3 -' -Me.Button3.Location = New System.Drawing.Point(17, 94) -Me.Button3.Name = "Button3" -Me.Button3.Size = New System.Drawing.Size(135, 24) -Me.Button3.TabIndex = 2 -Me.Button3.Text = "Stop" -Me.Button3.UseVisualStyleBackColor = True -' -'Button4 -' -Me.Button4.Location = New System.Drawing.Point(17, 124) -Me.Button4.Name = "Button4" -Me.Button4.Size = New System.Drawing.Size(135, 24) -Me.Button4.TabIndex = 3 -Me.Button4.Text = "Unload" -Me.Button4.UseVisualStyleBackColor = True -' -'Button5 -' -Me.Button5.Location = New System.Drawing.Point(27, 356) -Me.Button5.Name = "Button5" -Me.Button5.Size = New System.Drawing.Size(135, 24) -Me.Button5.TabIndex = 2 -Me.Button5.Text = "Quit" -Me.Button5.UseVisualStyleBackColor = True -' -'Form1 -' -Me.AutoScaleDimensions = New System.Drawing.SizeF(8.0!, 16.0!) -Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font -Me.ClientSize = New System.Drawing.Size(568, 392) -Me.Controls.Add(Me.Button5) -Me.Controls.Add(Me.GroupBox1) -Me.Controls.Add(Me.TextBox1) -Me.Name = "Form1" -Me.Text = "Test FDMDV2.dll" -Me.GroupBox1.ResumeLayout(False) -Me.ResumeLayout(False) -Me.PerformLayout() - -End Sub - Friend WithEvents TextBox1 As System.Windows.Forms.TextBox - Friend WithEvents GroupBox1 As System.Windows.Forms.GroupBox - Friend WithEvents Button4 As System.Windows.Forms.Button - Friend WithEvents Button3 As System.Windows.Forms.Button - Friend WithEvents Button2 As System.Windows.Forms.Button - Friend WithEvents Button1 As System.Windows.Forms.Button - Friend WithEvents Button5 As System.Windows.Forms.Button - -End Class diff --git a/fdmdv2/fdmdv2dll/vbTest/Form1.resx b/fdmdv2/fdmdv2dll/vbTest/Form1.resx deleted file mode 100644 index 5ea0895e..00000000 --- a/fdmdv2/fdmdv2dll/vbTest/Form1.resx +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - \ No newline at end of file diff --git a/fdmdv2/fdmdv2dll/vbTest/Form1.vb b/fdmdv2/fdmdv2dll/vbTest/Form1.vb deleted file mode 100644 index c07edc44..00000000 --- a/fdmdv2/fdmdv2dll/vbTest/Form1.vb +++ /dev/null @@ -1,3 +0,0 @@ -Public Class Form1 - -End Class diff --git a/fdmdv2/fdmdv2dll/vbTest/My Project/Application.Designer.vb b/fdmdv2/fdmdv2dll/vbTest/My Project/Application.Designer.vb deleted file mode 100644 index da97349a..00000000 --- a/fdmdv2/fdmdv2dll/vbTest/My Project/Application.Designer.vb +++ /dev/null @@ -1,38 +0,0 @@ -'------------------------------------------------------------------------------ -' -' This code was generated by a tool. -' Runtime Version:4.0.30319.269 -' -' Changes to this file may cause incorrect behavior and will be lost if -' the code is regenerated. -' -'------------------------------------------------------------------------------ - -Option Strict On -Option Explicit On - - -Namespace My - - 'NOTE: This file is auto-generated; do not modify it directly. To make changes, - ' or if you encounter build errors in this file, go to the Project Designer - ' (go to Project Properties or double-click the My Project node in - ' Solution Explorer), and make changes on the Application tab. - ' - Partial Friend Class MyApplication - - _ - Public Sub New() - MyBase.New(Global.Microsoft.VisualBasic.ApplicationServices.AuthenticationMode.Windows) - Me.IsSingleInstance = false - Me.EnableVisualStyles = true - Me.SaveMySettingsOnExit = true - Me.ShutDownStyle = Global.Microsoft.VisualBasic.ApplicationServices.ShutdownMode.AfterMainFormCloses - End Sub - - _ - Protected Overrides Sub OnCreateMainForm() - Me.MainForm = Global.vbTest.Form1 - End Sub - End Class -End Namespace diff --git a/fdmdv2/fdmdv2dll/vbTest/My Project/Application.myapp b/fdmdv2/fdmdv2dll/vbTest/My Project/Application.myapp deleted file mode 100644 index 7b0c597d..00000000 --- a/fdmdv2/fdmdv2dll/vbTest/My Project/Application.myapp +++ /dev/null @@ -1,11 +0,0 @@ - - - true - Form1 - false - 0 - true - 0 - 0 - true - diff --git a/fdmdv2/fdmdv2dll/vbTest/My Project/AssemblyInfo.vb b/fdmdv2/fdmdv2dll/vbTest/My Project/AssemblyInfo.vb deleted file mode 100644 index c8fcf7d9..00000000 --- a/fdmdv2/fdmdv2dll/vbTest/My Project/AssemblyInfo.vb +++ /dev/null @@ -1,35 +0,0 @@ -Imports System -Imports System.Reflection -Imports System.Runtime.InteropServices - -' General Information about an assembly is controlled through the following -' set of attributes. Change these attribute values to modify the information -' associated with an assembly. - -' Review the values of the assembly attributes - - - - - - - - - - -'The following GUID is for the ID of the typelib if this project is exposed to COM - - -' Version information for an assembly consists of the following four values: -' -' Major Version -' Minor Version -' Build Number -' Revision -' -' You can specify all the values or you can default the Build and Revision Numbers -' by using the '*' as shown below: -' - - - diff --git a/fdmdv2/fdmdv2dll/vbTest/My Project/Resources.Designer.vb b/fdmdv2/fdmdv2dll/vbTest/My Project/Resources.Designer.vb deleted file mode 100644 index 32308cbe..00000000 --- a/fdmdv2/fdmdv2dll/vbTest/My Project/Resources.Designer.vb +++ /dev/null @@ -1,62 +0,0 @@ -'------------------------------------------------------------------------------ -' -' This code was generated by a tool. -' Runtime Version:4.0.30319.269 -' -' Changes to this file may cause incorrect behavior and will be lost if -' the code is regenerated. -' -'------------------------------------------------------------------------------ - -Option Strict On -Option Explicit On - - -Namespace My.Resources - - 'This class was auto-generated by the StronglyTypedResourceBuilder - 'class via a tool like ResGen or Visual Studio. - 'To add or remove a member, edit your .ResX file then rerun ResGen - 'with the /str option, or rebuild your VS project. - ''' - ''' A strongly-typed resource class, for looking up localized strings, etc. - ''' - _ - Friend Module Resources - - Private resourceMan As Global.System.Resources.ResourceManager - - Private resourceCulture As Global.System.Globalization.CultureInfo - - ''' - ''' Returns the cached ResourceManager instance used by this class. - ''' - _ - Friend ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager - Get - If Object.ReferenceEquals(resourceMan, Nothing) Then - Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("vbTest.Resources", GetType(Resources).Assembly) - resourceMan = temp - End If - Return resourceMan - End Get - End Property - - ''' - ''' Overrides the current thread's CurrentUICulture property for all - ''' resource lookups using this strongly typed resource class. - ''' - _ - Friend Property Culture() As Global.System.Globalization.CultureInfo - Get - Return resourceCulture - End Get - Set(ByVal value As Global.System.Globalization.CultureInfo) - resourceCulture = value - End Set - End Property - End Module -End Namespace diff --git a/fdmdv2/fdmdv2dll/vbTest/My Project/Resources.resx b/fdmdv2/fdmdv2dll/vbTest/My Project/Resources.resx deleted file mode 100644 index ffecec85..00000000 --- a/fdmdv2/fdmdv2dll/vbTest/My Project/Resources.resx +++ /dev/null @@ -1,117 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - \ No newline at end of file diff --git a/fdmdv2/fdmdv2dll/vbTest/My Project/Settings.Designer.vb b/fdmdv2/fdmdv2dll/vbTest/My Project/Settings.Designer.vb deleted file mode 100644 index 82bd1eb9..00000000 --- a/fdmdv2/fdmdv2dll/vbTest/My Project/Settings.Designer.vb +++ /dev/null @@ -1,73 +0,0 @@ -'------------------------------------------------------------------------------ -' -' This code was generated by a tool. -' Runtime Version:4.0.30319.269 -' -' Changes to this file may cause incorrect behavior and will be lost if -' the code is regenerated. -' -'------------------------------------------------------------------------------ - -Option Strict On -Option Explicit On - - -Namespace My - - _ - Partial Friend NotInheritable Class MySettings - Inherits Global.System.Configuration.ApplicationSettingsBase - - Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings), MySettings) - -#Region "My.Settings Auto-Save Functionality" -#If _MyType = "WindowsForms" Then - Private Shared addedHandler As Boolean - - Private Shared addedHandlerLockObject As New Object - - _ - Private Shared Sub AutoSaveSettings(ByVal sender As Global.System.Object, ByVal e As Global.System.EventArgs) - If My.Application.SaveMySettingsOnExit Then - My.Settings.Save() - End If - End Sub -#End If -#End Region - - Public Shared ReadOnly Property [Default]() As MySettings - Get - -#If _MyType = "WindowsForms" Then - If Not addedHandler Then - SyncLock addedHandlerLockObject - If Not addedHandler Then - AddHandler My.Application.Shutdown, AddressOf AutoSaveSettings - addedHandler = True - End If - End SyncLock - End If -#End If - Return defaultInstance - End Get - End Property - End Class -End Namespace - -Namespace My - - _ - Friend Module MySettingsProperty - - _ - Friend ReadOnly Property Settings() As Global.vbTest.My.MySettings - Get - Return Global.vbTest.My.MySettings.Default - End Get - End Property - End Module -End Namespace diff --git a/fdmdv2/fdmdv2dll/vbTest/My Project/Settings.settings b/fdmdv2/fdmdv2dll/vbTest/My Project/Settings.settings deleted file mode 100644 index 377f56d6..00000000 --- a/fdmdv2/fdmdv2dll/vbTest/My Project/Settings.settings +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/fdmdv2/fdmdv2dll/vbTest/bin/Debug/.gitignore b/fdmdv2/fdmdv2dll/vbTest/bin/Debug/.gitignore deleted file mode 100644 index e69de29b..00000000 diff --git a/fdmdv2/fdmdv2dll/vbTest/bin/Release/vbTest.exe b/fdmdv2/fdmdv2dll/vbTest/bin/Release/vbTest.exe deleted file mode 100644 index aa115821..00000000 Binary files a/fdmdv2/fdmdv2dll/vbTest/bin/Release/vbTest.exe and /dev/null differ diff --git a/fdmdv2/fdmdv2dll/vbTest/bin/Release/vbTest.pdb b/fdmdv2/fdmdv2dll/vbTest/bin/Release/vbTest.pdb deleted file mode 100644 index 20d166d1..00000000 Binary files a/fdmdv2/fdmdv2dll/vbTest/bin/Release/vbTest.pdb and /dev/null differ diff --git a/fdmdv2/fdmdv2dll/vbTest/bin/Release/vbTest.vshost.exe b/fdmdv2/fdmdv2dll/vbTest/bin/Release/vbTest.vshost.exe deleted file mode 100644 index 58da5217..00000000 Binary files a/fdmdv2/fdmdv2dll/vbTest/bin/Release/vbTest.vshost.exe and /dev/null differ diff --git a/fdmdv2/fdmdv2dll/vbTest/bin/Release/vbTest.vshost.exe.manifest b/fdmdv2/fdmdv2dll/vbTest/bin/Release/vbTest.vshost.exe.manifest deleted file mode 100644 index f96b1d6b..00000000 --- a/fdmdv2/fdmdv2dll/vbTest/bin/Release/vbTest.vshost.exe.manifest +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/fdmdv2/fdmdv2dll/vbTest/bin/Release/vbTest.xml b/fdmdv2/fdmdv2dll/vbTest/bin/Release/vbTest.xml deleted file mode 100644 index 38eaa1c7..00000000 --- a/fdmdv2/fdmdv2dll/vbTest/bin/Release/vbTest.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - - -vbTest - - - - - - Returns the cached ResourceManager instance used by this class. - - - - Overrides the current thread's CurrentUICulture property for all - resource lookups using this strongly typed resource class. - - - - A strongly-typed resource class, for looking up localized strings, etc. - - - - \ No newline at end of file diff --git a/fdmdv2/fdmdv2dll/vbTest/obj/x86/Debug/.gitignore b/fdmdv2/fdmdv2dll/vbTest/obj/x86/Debug/.gitignore deleted file mode 100644 index e69de29b..00000000 diff --git a/fdmdv2/fdmdv2dll/vbTest/obj/x86/Release/DesignTimeResolveAssemblyReferencesInput.cache b/fdmdv2/fdmdv2dll/vbTest/obj/x86/Release/DesignTimeResolveAssemblyReferencesInput.cache deleted file mode 100644 index 0699be2a..00000000 Binary files a/fdmdv2/fdmdv2dll/vbTest/obj/x86/Release/DesignTimeResolveAssemblyReferencesInput.cache and /dev/null differ diff --git a/fdmdv2/fdmdv2dll/vbTest/obj/x86/Release/GenerateResource-ResGen.read.1.tlog b/fdmdv2/fdmdv2dll/vbTest/obj/x86/Release/GenerateResource-ResGen.read.1.tlog deleted file mode 100644 index 49b02767..00000000 Binary files a/fdmdv2/fdmdv2dll/vbTest/obj/x86/Release/GenerateResource-ResGen.read.1.tlog and /dev/null differ diff --git a/fdmdv2/fdmdv2dll/vbTest/obj/x86/Release/GenerateResource-ResGen.write.1.tlog b/fdmdv2/fdmdv2dll/vbTest/obj/x86/Release/GenerateResource-ResGen.write.1.tlog deleted file mode 100644 index 9793cabe..00000000 Binary files a/fdmdv2/fdmdv2dll/vbTest/obj/x86/Release/GenerateResource-ResGen.write.1.tlog and /dev/null differ diff --git a/fdmdv2/fdmdv2dll/vbTest/obj/x86/Release/TempPE/My Project.Resources.Designer.vb.dll b/fdmdv2/fdmdv2dll/vbTest/obj/x86/Release/TempPE/My Project.Resources.Designer.vb.dll deleted file mode 100644 index 7b155551..00000000 Binary files a/fdmdv2/fdmdv2dll/vbTest/obj/x86/Release/TempPE/My Project.Resources.Designer.vb.dll and /dev/null differ diff --git a/fdmdv2/fdmdv2dll/vbTest/obj/x86/Release/vbTest.Form1.resources b/fdmdv2/fdmdv2dll/vbTest/obj/x86/Release/vbTest.Form1.resources deleted file mode 100644 index 06c24d06..00000000 Binary files a/fdmdv2/fdmdv2dll/vbTest/obj/x86/Release/vbTest.Form1.resources and /dev/null differ diff --git a/fdmdv2/fdmdv2dll/vbTest/obj/x86/Release/vbTest.Resources.resources b/fdmdv2/fdmdv2dll/vbTest/obj/x86/Release/vbTest.Resources.resources deleted file mode 100644 index 06c24d06..00000000 Binary files a/fdmdv2/fdmdv2dll/vbTest/obj/x86/Release/vbTest.Resources.resources and /dev/null differ diff --git a/fdmdv2/fdmdv2dll/vbTest/obj/x86/Release/vbTest.exe b/fdmdv2/fdmdv2dll/vbTest/obj/x86/Release/vbTest.exe deleted file mode 100644 index aa115821..00000000 Binary files a/fdmdv2/fdmdv2dll/vbTest/obj/x86/Release/vbTest.exe and /dev/null differ diff --git a/fdmdv2/fdmdv2dll/vbTest/obj/x86/Release/vbTest.pdb b/fdmdv2/fdmdv2dll/vbTest/obj/x86/Release/vbTest.pdb deleted file mode 100644 index 20d166d1..00000000 Binary files a/fdmdv2/fdmdv2dll/vbTest/obj/x86/Release/vbTest.pdb and /dev/null differ diff --git a/fdmdv2/fdmdv2dll/vbTest/obj/x86/Release/vbTest.vbproj.FileListAbsolute.txt b/fdmdv2/fdmdv2dll/vbTest/obj/x86/Release/vbTest.vbproj.FileListAbsolute.txt deleted file mode 100644 index a79bdde5..00000000 --- a/fdmdv2/fdmdv2dll/vbTest/obj/x86/Release/vbTest.vbproj.FileListAbsolute.txt +++ /dev/null @@ -1,11 +0,0 @@ -C:\Users\wittend\Projects\Radio\fdmdv2\fdmdv2dll\vbTest\bin\Release\vbTest.exe -C:\Users\wittend\Projects\Radio\fdmdv2\fdmdv2dll\vbTest\bin\Release\vbTest.pdb -C:\Users\wittend\Projects\Radio\fdmdv2\fdmdv2dll\vbTest\bin\Release\vbTest.xml -C:\Users\wittend\Projects\Radio\fdmdv2\fdmdv2dll\vbTest\obj\x86\Release\ResolveAssemblyReference.cache -C:\Users\wittend\Projects\Radio\fdmdv2\fdmdv2dll\vbTest\obj\x86\Release\vbTest.Form1.resources -C:\Users\wittend\Projects\Radio\fdmdv2\fdmdv2dll\vbTest\obj\x86\Release\vbTest.Resources.resources -C:\Users\wittend\Projects\Radio\fdmdv2\fdmdv2dll\vbTest\obj\x86\Release\GenerateResource-ResGen.read.1.tlog -C:\Users\wittend\Projects\Radio\fdmdv2\fdmdv2dll\vbTest\obj\x86\Release\GenerateResource-ResGen.write.1.tlog -C:\Users\wittend\Projects\Radio\fdmdv2\fdmdv2dll\vbTest\obj\x86\Release\vbTest.exe -C:\Users\wittend\Projects\Radio\fdmdv2\fdmdv2dll\vbTest\obj\x86\Release\vbTest.xml -C:\Users\wittend\Projects\Radio\fdmdv2\fdmdv2dll\vbTest\obj\x86\Release\vbTest.pdb diff --git a/fdmdv2/fdmdv2dll/vbTest/obj/x86/Release/vbTest.xml b/fdmdv2/fdmdv2dll/vbTest/obj/x86/Release/vbTest.xml deleted file mode 100644 index 38eaa1c7..00000000 --- a/fdmdv2/fdmdv2dll/vbTest/obj/x86/Release/vbTest.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - - -vbTest - - - - - - Returns the cached ResourceManager instance used by this class. - - - - Overrides the current thread's CurrentUICulture property for all - resource lookups using this strongly typed resource class. - - - - A strongly-typed resource class, for looking up localized strings, etc. - - - - \ No newline at end of file diff --git a/fdmdv2/fdmdv2dll/vbTest/vbTest.vbproj b/fdmdv2/fdmdv2dll/vbTest/vbTest.vbproj deleted file mode 100644 index f8e31f05..00000000 --- a/fdmdv2/fdmdv2dll/vbTest/vbTest.vbproj +++ /dev/null @@ -1,128 +0,0 @@ - - - - Debug - x86 - - - 2.0 - {36C01EFE-7F22-486B-82C4-07DF02101B1A} - WinExe - vbTest.My.MyApplication - vbTest - vbTest - 512 - WindowsForms - v3.0 - - - x86 - true - full - true - true - bin\Debug\ - vbTest.xml - 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 - - - x86 - pdbonly - false - true - true - bin\Release\ - vbTest.xml - 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 - - - On - - - Binary - - - Off - - - On - - - acrobat70.ico - - - - - - - - - - - - - - - - - - - - - - Form - - - Form1.vb - Form - - - - True - Application.myapp - - - True - True - Resources.resx - - - True - Settings.settings - True - - - - - Form1.vb - - - VbMyResourcesResXFileCodeGenerator - Resources.Designer.vb - My.Resources - Designer - - - - - MyApplicationCodeGenerator - Application.Designer.vb - - - SettingsSingleFileGenerator - My - Settings.Designer.vb - - - - - - - - \ No newline at end of file