Compare commits

...

24 commits

Author SHA1 Message Date
Stephen Hicks 542fd84eb8 Update README.md
Fix email for developer help
2016-01-08 07:56:56 -06:00
Ed Gonzalez 4c9a92b6b4 FreeDV GUI and Installer now v1.0.5.0 to match .ssdr_waveform. Compatible with SmartSDR v1.6 2015-12-22 10:31:46 -06:00
Ed Gonzalez 20588edcd9 FreeDV.ssdr_waveform now v1.0.5. Compatible with SmartSDR v1.6 2015-12-22 10:28:04 -06:00
Ed Gonzalez b5f9805e3b Change scaling for FDV to compensate for no extra gain in TX chain with waveform shims in SmartSDR v1.6 2015-12-22 10:23:06 -06:00
Ed Gonzalez 415f75ab28 FDV now v1.0.4 - Underlying mode is now USB to support EQ and COMPRESION 2015-10-28 10:26:03 -05:00
Ed Gonzalez 029c181de8 Update ssdr-waveform package with changing in audio gain 2015-09-14 13:48:15 -05:00
Ed Gonzalez 0834002d06 Do not change FDV slice audio gain to 90 since it is confusing and conflicts with profiles 2015-09-14 13:46:32 -05:00
Abed Haque 9afc4dc380 Copying license files in FreeDV waveform inno setup installer. 2015-09-09 19:43:49 -05:00
Abed Haque f1db9a9cc9 Modified installer MyAppVersion defines so that they can be passed in as parameters by a build script. 2015-09-09 11:55:10 -05:00
Abed Haque e7d07018e7 Modified FreeDV installer name for consistency. 2015-09-09 11:18:25 -05:00
Abed Haque a559214cee Added version number to FreeDV desktop shortcut. Updated version numbers. 2015-09-09 11:08:46 -05:00
Abed Haque 0f82854d76 Now referencing .dlls in Libs folder. Removed supporting projects from FreeDV.sln. 2015-09-09 11:05:12 -05:00
Abed Haque 95d6b204e6 Changed AppId for FreeDV Waveform installer. 2015-09-08 17:23:49 -05:00
Abed Haque b8977d6f21 Added inno setup installer for FreeDV. Renamed program to 'SmartSDR FreeDV Waveform'. 2015-09-08 17:15:06 -05:00
Ed Gonzalez f616cc6150 Fix versino string problem in FDV 2015-09-08 15:19:41 -05:00
Ed Gonzalez 9e90c7141f Add FreeDV.ssdr_waveform to GIT and move CFG file location 2015-09-08 15:16:21 -05:00
Ed Gonzalez 7810670ef8 Update installer icons and shortcuts 2015-09-08 15:08:13 -05:00
Abed Haque b4879c09cd Adding FreeDV.csproj. 2015-09-04 17:36:39 -05:00
Abed Haque 0b5cf02cd4 Merge branch 'develop' of https://github.com/n5ac/smartsdr-dsp into develop 2015-09-04 17:32:59 -05:00
Abed Haque bd01ce9ff6 Adding FreeDV.sln. 2015-09-04 17:32:44 -05:00
Ed Gonzalez f5b96ceb1e Add code to flush waveform buffers on unkey requested. Allows radio to unkey 2015-09-04 11:51:45 -05:00
Ed Gonzalez 367f54e3db Send commands to set audio level and digu_offset when a slice enters FDV mode 2015-09-04 11:25:25 -05:00
Ed Gonzalez 6f8c45fac3 Add new build configuration for FreeDV in Angstrom environemtn 2015-09-04 11:22:48 -05:00
Abed Haque f61451fba8 FDV gui and installer renaming changes. 2015-08-04 15:26:25 -05:00
28 changed files with 742 additions and 334 deletions

View file

@ -5,16 +5,16 @@
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="cdt.managedbuild.config.gnu.exe.debug.1657845058" moduleId="org.eclipse.cdt.core.settings" name="Debug">
<externalSettings/>
<extensions>
<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
</extensions>
</storageModule>
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
<configuration artifactName="${ProjName}" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug,org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe" cleanCommand="rm -rf" description="" id="cdt.managedbuild.config.gnu.exe.debug.1657845058" name="Debug" parent="cdt.managedbuild.config.gnu.exe.debug">
<configuration artifactName="${ProjName}" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug" cleanCommand="rm -rf" description="" id="cdt.managedbuild.config.gnu.exe.debug.1657845058" name="Debug" parent="cdt.managedbuild.config.gnu.exe.debug">
<folderInfo id="cdt.managedbuild.config.gnu.exe.debug.1657845058." name="/" resourcePath="">
<toolChain id="cdt.managedbuild.toolchain.gnu.exe.debug.129177593" name="Linux GCC" superClass="cdt.managedbuild.toolchain.gnu.exe.debug">
<targetPlatform id="cdt.managedbuild.target.gnu.platform.exe.debug.1657808751" name="Debug Platform" superClass="cdt.managedbuild.target.gnu.platform.exe.debug"/>
@ -49,16 +49,16 @@
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="cdt.managedbuild.config.gnu.exe.release.2130310972" moduleId="org.eclipse.cdt.core.settings" name="Release">
<externalSettings/>
<extensions>
<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
</extensions>
</storageModule>
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
<configuration artifactName="freedv" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.release,org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe" cleanCommand="rm -rf" description="" id="cdt.managedbuild.config.gnu.exe.release.2130310972" name="Release" parent="cdt.managedbuild.config.gnu.exe.release" postannouncebuildStep="Install in BeagleBone at /home/debian/bin" postbuildStep="scp freedv root@192.168.20.33:/home/debian/bin/">
<configuration artifactName="freedv" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.release" cleanCommand="rm -rf" description="" id="cdt.managedbuild.config.gnu.exe.release.2130310972" name="Release" parent="cdt.managedbuild.config.gnu.exe.release" postannouncebuildStep="Install in BeagleBone at /home/debian/bin" postbuildStep="scp freedv root@192.168.20.33:/home/debian/bin/">
<folderInfo id="cdt.managedbuild.config.gnu.exe.release.2130310972." name="/" resourcePath="">
<toolChain id="cdt.managedbuild.toolchain.gnu.exe.release.1484889450" name="Linux GCC" superClass="cdt.managedbuild.toolchain.gnu.exe.release">
<targetPlatform id="cdt.managedbuild.target.gnu.platform.exe.release.545007599" name="Debug Platform" superClass="cdt.managedbuild.target.gnu.platform.exe.release"/>
@ -99,6 +99,61 @@
</storageModule>
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
</cconfiguration>
<cconfiguration id="cdt.managedbuild.config.gnu.exe.release.2130310972.351910004">
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="cdt.managedbuild.config.gnu.exe.release.2130310972.351910004" moduleId="org.eclipse.cdt.core.settings" name="FreeDV_Angstrom_Release">
<externalSettings/>
<extensions>
<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
</extensions>
</storageModule>
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
<configuration artifactName="freedv" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.release" cleanCommand="rm -rf" description="" id="cdt.managedbuild.config.gnu.exe.release.2130310972.351910004" name="FreeDV_Angstrom_Release" parent="cdt.managedbuild.config.gnu.exe.release" postannouncebuildStep="" postbuildStep="cp freedv /nfsroots/microburst/home/root/">
<folderInfo id="cdt.managedbuild.config.gnu.exe.release.2130310972.351910004." name="/" resourcePath="">
<toolChain id="cdt.managedbuild.toolchain.gnu.exe.release.1814046069" name="Linux GCC" superClass="cdt.managedbuild.toolchain.gnu.exe.release">
<targetPlatform id="cdt.managedbuild.target.gnu.platform.exe.release.2115284977" name="Debug Platform" superClass="cdt.managedbuild.target.gnu.platform.exe.release"/>
<builder buildPath="${workspace_loc:/DSP_API/Release}" id="cdt.managedbuild.target.gnu.builder.exe.release.463650048" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Gnu Make Builder" superClass="cdt.managedbuild.target.gnu.builder.exe.release"/>
<tool id="cdt.managedbuild.tool.gnu.archiver.base.562092365" name="GCC Archiver" superClass="cdt.managedbuild.tool.gnu.archiver.base"/>
<tool id="cdt.managedbuild.tool.gnu.cpp.compiler.exe.release.1132645145" name="GCC C++ Compiler" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.exe.release">
<option id="gnu.cpp.compiler.exe.release.option.optimization.level.1577721429" name="Optimization Level" superClass="gnu.cpp.compiler.exe.release.option.optimization.level" value="gnu.cpp.compiler.optimization.level.most" valueType="enumerated"/>
<option id="gnu.cpp.compiler.exe.release.option.debugging.level.1897047182" name="Debug Level" superClass="gnu.cpp.compiler.exe.release.option.debugging.level" value="gnu.cpp.compiler.debugging.level.none" valueType="enumerated"/>
</tool>
<tool command="arm-angstrom-linux-gnueabi-gcc" id="cdt.managedbuild.tool.gnu.c.compiler.exe.release.730264738" name="GCC C Compiler" superClass="cdt.managedbuild.tool.gnu.c.compiler.exe.release">
<option defaultValue="gnu.c.optimization.level.most" id="gnu.c.compiler.exe.release.option.optimization.level.34776975" name="Optimization Level" superClass="gnu.c.compiler.exe.release.option.optimization.level" valueType="enumerated"/>
<option id="gnu.c.compiler.exe.release.option.debugging.level.1069368982" name="Debug Level" superClass="gnu.c.compiler.exe.release.option.debugging.level" value="gnu.c.debugging.level.none" valueType="enumerated"/>
<option id="gnu.c.compiler.option.include.paths.1871625445" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" valueType="includePath">
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/SmartSDR_Interface}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/CODEC2_FREEDV}&quot;"/>
</option>
<option id="gnu.c.compiler.option.optimization.flags.1619566614" name="Other optimization flags" superClass="gnu.c.compiler.option.optimization.flags" value="-mcpu=cortex-a8 -mfpu=neon -mfloat-abi=softfp -ftree-vectorize" valueType="string"/>
<inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.1227293402" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
</tool>
<tool command="arm-angstrom-linux-gnueabi-gcc" id="cdt.managedbuild.tool.gnu.c.linker.exe.release.1384250058" name="GCC C Linker" superClass="cdt.managedbuild.tool.gnu.c.linker.exe.release">
<option id="gnu.c.link.option.libs.1980935393" name="Libraries (-l)" superClass="gnu.c.link.option.libs" valueType="libs">
<listOptionValue builtIn="false" value="m"/>
<listOptionValue builtIn="false" value="pthread"/>
<listOptionValue builtIn="false" value="rt"/>
</option>
<inputType id="cdt.managedbuild.tool.gnu.c.linker.input.1252890419" superClass="cdt.managedbuild.tool.gnu.c.linker.input">
<additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
<additionalInput kind="additionalinput" paths="$(LIBS)"/>
</inputType>
</tool>
<tool id="cdt.managedbuild.tool.gnu.cpp.linker.exe.release.117887840" name="GCC C++ Linker" superClass="cdt.managedbuild.tool.gnu.cpp.linker.exe.release"/>
<tool command="arm-angstrom-linux-gnueabi-as" id="cdt.managedbuild.tool.gnu.assembler.exe.release.1649405795" name="GCC Assembler" superClass="cdt.managedbuild.tool.gnu.assembler.exe.release">
<inputType id="cdt.managedbuild.tool.gnu.assembler.input.333979625" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
</tool>
</toolChain>
</folderInfo>
</configuration>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
</cconfiguration>
</storageModule>
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
<project id="DSP_API.cdt.managedbuild.target.gnu.exe.1129142882" name="Executable" projectType="cdt.managedbuild.target.gnu.exe"/>
@ -114,4 +169,6 @@
</storageModule>
<storageModule moduleId="refreshScope"/>
<storageModule moduleId="org.eclipse.cdt.make.core.buildtargets"/>
<storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
<storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/>
</cproject>

View file

@ -89,7 +89,7 @@ C_DEPS += \
CODEC2_FREEDV/%.o: ../CODEC2_FREEDV/%.c
@echo 'Building file: $<'
@echo 'Invoking: GCC C Compiler'
arm-linux-gnueabihf-gcc -static -I"/home/graham/workspace/smartsdr-dsp/DSP_API" -I"/home/graham/workspace/smartsdr-dsp/DSP_API/SmartSDR_Interface" -I"/home/graham/workspace/smartsdr-dsp/DSP_API/CODEC2_FREEDV" -O3 -Wall -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -o "$@" "$<"
arm-linux-gnueabihf-gcc -static -I"/src/flex-git/smartsdr-dsp/DSP_API" -I"/src/flex-git/smartsdr-dsp/DSP_API/SmartSDR_Interface" -I"/src/flex-git/smartsdr-dsp/DSP_API/CODEC2_FREEDV" -O3 -Wall -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -o "$@" "$<"
@echo 'Finished building: $<'
@echo ' '

View file

@ -53,7 +53,7 @@ C_DEPS += \
SmartSDR_Interface/%.o: ../SmartSDR_Interface/%.c
@echo 'Building file: $<'
@echo 'Invoking: GCC C Compiler'
arm-linux-gnueabihf-gcc -static -I"/home/graham/workspace/smartsdr-dsp/DSP_API" -I"/home/graham/workspace/smartsdr-dsp/DSP_API/SmartSDR_Interface" -I"/home/graham/workspace/smartsdr-dsp/DSP_API/CODEC2_FREEDV" -O3 -Wall -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -o "$@" "$<"
arm-linux-gnueabihf-gcc -static -I"/src/flex-git/smartsdr-dsp/DSP_API" -I"/src/flex-git/smartsdr-dsp/DSP_API/SmartSDR_Interface" -I"/src/flex-git/smartsdr-dsp/DSP_API/CODEC2_FREEDV" -O3 -Wall -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -o "$@" "$<"
@echo 'Finished building: $<'
@echo ' '

View file

@ -37,7 +37,7 @@ freedv: $(OBJS) $(USER_OBJS)
# Other Targets
clean:
-$(RM) $(OBJS)$(C_DEPS)$(EXECUTABLES) freedv
-$(RM) $(EXECUTABLES) $(OBJS) $(C_DEPS) freedv
-@echo ' '
post-build:

View file

@ -2,14 +2,14 @@
# Automatically-generated file. Do not edit!
################################################################################
O_SRCS :=
C_SRCS :=
S_UPPER_SRCS :=
OBJ_SRCS :=
ASM_SRCS :=
C_SRCS :=
O_SRCS :=
S_UPPER_SRCS :=
EXECUTABLES :=
OBJS :=
C_DEPS :=
EXECUTABLES :=
# Every subdirectory with source files must be described here
SUBDIRS := \

View file

@ -23,7 +23,7 @@ C_DEPS += \
%.o: ../%.c
@echo 'Building file: $<'
@echo 'Invoking: GCC C Compiler'
arm-linux-gnueabihf-gcc -static -I"/home/graham/workspace/smartsdr-dsp/DSP_API" -I"/home/graham/workspace/smartsdr-dsp/DSP_API/SmartSDR_Interface" -I"/home/graham/workspace/smartsdr-dsp/DSP_API/CODEC2_FREEDV" -O3 -Wall -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -o "$@" "$<"
arm-linux-gnueabihf-gcc -static -I"/src/flex-git/smartsdr-dsp/DSP_API" -I"/src/flex-git/smartsdr-dsp/DSP_API/SmartSDR_Interface" -I"/src/flex-git/smartsdr-dsp/DSP_API/CODEC2_FREEDV" -O3 -Wall -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -o "$@" "$<"
@echo 'Finished building: $<'
@echo ' '

View file

@ -142,8 +142,8 @@ void sched_waveform_signal()
#define SCALE_RX_IN 8000.0 // Multiplier // Was 16000 GGH Jan 30, 2015
#define SCALE_RX_OUT 8000.0 // Divisor
#define SCALE_TX_IN 32000.0 // Multiplier // Was 16000 GGH Jan 30, 2015
#define SCALE_TX_OUT 32768.0 // Divisor
#define SCALE_TX_IN 24000.0 // Multiplier // Was 16000 GGH Jan 30, 2015
#define SCALE_TX_OUT 24000.0 // Divisor
#define FILTER_TAPS 48
#define DECIMATION_FACTOR 3
@ -159,6 +159,8 @@ static struct my_callback_state _my_cb_state;
#define MAX_RX_STRING_LENGTH 40
static char _rx_string[MAX_RX_STRING_LENGTH + 5];
static BOOL _end_of_transmission = FALSE;
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// Circular Buffer Declarations
@ -249,6 +251,10 @@ void freedv_set_string(uint32 slice, char* string)
output(ANSI_MAGENTA "new TX string is '%s'\n",string);
}
void sched_waveform_setEndOfTX(BOOL end_of_transmission)
{
_end_of_transmission = TRUE;
}
@ -284,7 +290,8 @@ static void* _sched_waveform_thread(void* param)
float tx_float_in_24k[PACKET_SAMPLES * DECIMATION_FACTOR + FILTER_TAPS];
float tx_float_out_24k[PACKET_SAMPLES * DECIMATION_FACTOR ];
BOOL inhibit_tx = FALSE;
BOOL flush_tx = FALSE;
// ======================= Initialization Section =========================
@ -394,7 +401,9 @@ static void* _sched_waveform_thread(void* param)
// Set the transmit 'initial' flag
initial_tx = TRUE;
inhibit_tx = FALSE;
flush_tx = FALSE;
_end_of_transmission = FALSE;
// Check for new receiver input packet & move to RX1_cb.
// TODO - If transmit packet, discard here?
@ -528,6 +537,7 @@ static void* _sched_waveform_thread(void* param)
initial_rx = FALSE;
}
emit_waveform_output(buf_desc);
} else if ( (buf_desc->stream_id & 1) == 1) { //TX BUFFER
// If 'initial_rx' flag, clear buffers TX1, TX2, TX3, TX4
@ -558,7 +568,7 @@ static void* _sched_waveform_thread(void* param)
// Check for new receiver input packet & move to TX1_cb.
// TODO - If transmit packet, discard here?
if ( !inhibit_tx ) {
for( i = 0 ; i < PACKET_SAMPLES ; i++ )
{
//output("Outputting ")
@ -567,7 +577,7 @@ static void* _sched_waveform_thread(void* param)
}
//
//
// Check for >= 384 samples in TX1_cb and spin downsampler
// Convert to shorts and move to TX2_cb.
if(cfbContains(TX1_cb) >= 384)
@ -586,8 +596,8 @@ static void* _sched_waveform_thread(void* param)
}
}
//
// // Check for >= 320 samples in TX2_cb and spin vocoder
//
// // Check for >= 320 samples in TX2_cb and spin vocoder
// Move output to TX3_cb.
@ -624,7 +634,7 @@ static void* _sched_waveform_thread(void* param)
}
//Sig2Noise = (_freedvS->fdmdv_stats.snr_est);
}
}
// Check for >= 128 samples in RX4_cb. Form packet and
// export.
@ -633,6 +643,10 @@ static void* _sched_waveform_thread(void* param)
if(initial_tx)
tx_check_samples = PACKET_SAMPLES * 3;
if ( _end_of_transmission )
flush_tx = TRUE;
if ( !inhibit_tx ) {
if(cfbContains(TX4_cb) >= tx_check_samples )
{
for( i = 0 ; i < PACKET_SAMPLES ; i++)
@ -653,11 +667,48 @@ static void* _sched_waveform_thread(void* param)
initial_tx = FALSE;
}
emit_waveform_output(buf_desc);
if ( flush_tx ) {
inhibit_tx = TRUE;
while ( cfbContains(TX4_cb) > 0 ) {
if ( cfbContains(TX4_cb) > PACKET_SAMPLES ) {
for( i = 0 ; i < PACKET_SAMPLES ; i++)
{
// Set up the outbound packet
fsample = cbReadFloat(TX4_cb);
// put the fsample into the outbound packet
((Complex*)buf_desc->buf_ptr)[i].real = fsample;
((Complex*)buf_desc->buf_ptr)[i].imag = fsample;
}
} else {
int end_index = 0;
for ( i = 0 ; i <= cfbContains(TX4_cb); i++ ) {
fsample = cbReadFloat(TX4_cb);
((Complex*)buf_desc->buf_ptr)[i].real = fsample;
((Complex*)buf_desc->buf_ptr)[i].imag = fsample;
end_index = i+1;
}
for ( i = end_index ; i < PACKET_SAMPLES ; i++ ) {
((Complex*)buf_desc->buf_ptr)[i].real = 0.0f;
((Complex*)buf_desc->buf_ptr)[i].imag = 0.0f;
}
}
emit_waveform_output(buf_desc);
}
}
}
}
emit_waveform_output(buf_desc);
hal_BufferRelease(&buf_desc);
}

View file

@ -41,5 +41,5 @@ void sched_waveform_Init(void);
void sched_waveform_signal(void);
void sched_waveformTreadExit(void);
void sched_waveform_setEndOfTX(BOOL end_of_transmission);
#endif /* SCHED_WAVEFORM_H_ */

View file

@ -312,6 +312,8 @@ uint32 register_mode(void)
output(ANSI_CYAN "FreeDV: SUCCESS, closed config file %s\n", cfg_file);
}
tc_sendSmartSDRcommand("sub slice all", FALSE, NULL);
return SUCCESS;
}

View file

@ -37,6 +37,7 @@
#include "common.h"
#include "traffic_cop.h"
#include "sched_waveform.h"
static void _handle_status(char* string)
{
@ -49,6 +50,7 @@ static void _handle_status(char* string)
char* start = strtok_r(string,"|",&save);
start = strtok_r(NULL,"|",&save);
// first let's look for a slice status -- these are most important
if (strncmp(start, "slice", strlen("slice")) == 0)
{
@ -77,7 +79,11 @@ static void _handle_status(char* string)
if (strncmp(smode,"FDV",3) == 0)
{
// we are now in FDV mode
output(ANSI_MAGENTA "slice %d is now in FDV mode\n",slc);
output(ANSI_MAGENTA "slice %d is now in FDV mode - sendig commands\n",slc);
char cmd[512] = {0};
sprintf(cmd, "slice s %d digu_offset=1500", slc);
tc_sendSmartSDRcommand(cmd, FALSE, NULL);
}
else
{
@ -137,6 +143,11 @@ static void _handle_status(char* string)
{
output(ANSI_MAGENTA "we are receiving\n");
}
else if ( strncmp(state, "UNKEY_REQUESTED", strlen("UNKEY_REQUESTED")) == 0 )
{
output(ANSI_MAGENTA "unkey requested \n");
sched_waveform_setEndOfTX(TRUE);
}
}
}

Binary file not shown.

View file

@ -1,6 +1,6 @@
[header]
Name: FreeDV
Version: 1.0.2
Version: "1.0.5"
Minimum-SmartSDR-Version: 1.3.1.0
Author: FlexRadio Systems
Support-email: support@flexradio.com
@ -9,7 +9,7 @@ License: GPL7.3
Executable: "freedv"
[setup]
waveform create name=FreeDV mode=FDV
waveform create name=FreeDV mode=FDV underlying_mode=USB version=1.0.5
waveform set FreeDV tx=1
waveform set FreeDV rx_filter low_cut=600
waveform set FreeDV rx_filter high_cut=2400

BIN
DSP_API/Waveform/FreeDV/freedv Executable file

Binary file not shown.

View file

@ -19,4 +19,4 @@ This interface, by using VITA-49 Ethernet packets for control, status and data t
For information on this and other APIs, see the FlexRadio web page at www.flexradio.com and the FlexRadio Community at community.flexradio.com
If you are totally lost, you may send an email at developer /at/ flex radio 0x2E com
If you are totally lost, you may send an email at devhelp /at/ flex radio 0x2E com

View file

@ -1,72 +0,0 @@

Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FreeDV", "CODEC2 GUI\FreeDV.csproj", "{19634B34-7569-4D1D-8182-B10AC27E13FF}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FlexLib", "..\..\..\smartsdr-win\FlexLib\FlexLib.csproj", "{7927817C-D5EF-4A9E-B38E-29668F308343}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UiWpfFramework", "..\..\..\smartsdr-win\UiWpfFramework\UiWpfFramework.csproj", "{9C0AD871-92FD-461B-84FF-3738D701814F}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Util", "..\..\..\smartsdr-win\Util\Util.csproj", "{38935DC9-FF48-470C-B876-473A3AE8BD32}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Vita", "..\..\..\smartsdr-win\Vita\Vita.csproj", "{6ED364FB-7444-44DA-9196-1D8679425B3E}"
EndProject
Project("{54435603-DBB4-11D2-8724-00A0C9A8B90C}") = "CODEC2_GUI_INSTALLER", "CODEC2_GUI_INSTALLER\CODEC2_GUI_INSTALLER.vdproj", "{AABE6A3C-F038-4448-981F-F68A6D5069C3}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Debug|x86 = Debug|x86
Release|Any CPU = Release|Any CPU
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{19634B34-7569-4D1D-8182-B10AC27E13FF}.Debug|Any CPU.ActiveCfg = Debug|x86
{19634B34-7569-4D1D-8182-B10AC27E13FF}.Debug|Any CPU.Build.0 = Debug|x86
{19634B34-7569-4D1D-8182-B10AC27E13FF}.Debug|x86.ActiveCfg = Debug|x86
{19634B34-7569-4D1D-8182-B10AC27E13FF}.Debug|x86.Build.0 = Debug|x86
{19634B34-7569-4D1D-8182-B10AC27E13FF}.Release|Any CPU.ActiveCfg = Release|x86
{19634B34-7569-4D1D-8182-B10AC27E13FF}.Release|Any CPU.Build.0 = Release|x86
{19634B34-7569-4D1D-8182-B10AC27E13FF}.Release|x86.ActiveCfg = Release|x86
{19634B34-7569-4D1D-8182-B10AC27E13FF}.Release|x86.Build.0 = Release|x86
{7927817C-D5EF-4A9E-B38E-29668F308343}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{7927817C-D5EF-4A9E-B38E-29668F308343}.Debug|Any CPU.Build.0 = Debug|Any CPU
{7927817C-D5EF-4A9E-B38E-29668F308343}.Debug|x86.ActiveCfg = Debug|x86
{7927817C-D5EF-4A9E-B38E-29668F308343}.Debug|x86.Build.0 = Debug|x86
{7927817C-D5EF-4A9E-B38E-29668F308343}.Release|Any CPU.ActiveCfg = Release|Any CPU
{7927817C-D5EF-4A9E-B38E-29668F308343}.Release|Any CPU.Build.0 = Release|Any CPU
{7927817C-D5EF-4A9E-B38E-29668F308343}.Release|x86.ActiveCfg = Release|x86
{7927817C-D5EF-4A9E-B38E-29668F308343}.Release|x86.Build.0 = Release|x86
{9C0AD871-92FD-461B-84FF-3738D701814F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{9C0AD871-92FD-461B-84FF-3738D701814F}.Debug|Any CPU.Build.0 = Debug|Any CPU
{9C0AD871-92FD-461B-84FF-3738D701814F}.Debug|x86.ActiveCfg = Debug|x86
{9C0AD871-92FD-461B-84FF-3738D701814F}.Debug|x86.Build.0 = Debug|x86
{9C0AD871-92FD-461B-84FF-3738D701814F}.Release|Any CPU.ActiveCfg = Release|Any CPU
{9C0AD871-92FD-461B-84FF-3738D701814F}.Release|Any CPU.Build.0 = Release|Any CPU
{9C0AD871-92FD-461B-84FF-3738D701814F}.Release|x86.ActiveCfg = Release|x86
{9C0AD871-92FD-461B-84FF-3738D701814F}.Release|x86.Build.0 = Release|x86
{38935DC9-FF48-470C-B876-473A3AE8BD32}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{38935DC9-FF48-470C-B876-473A3AE8BD32}.Debug|Any CPU.Build.0 = Debug|Any CPU
{38935DC9-FF48-470C-B876-473A3AE8BD32}.Debug|x86.ActiveCfg = Debug|x86
{38935DC9-FF48-470C-B876-473A3AE8BD32}.Debug|x86.Build.0 = Debug|x86
{38935DC9-FF48-470C-B876-473A3AE8BD32}.Release|Any CPU.ActiveCfg = Release|Any CPU
{38935DC9-FF48-470C-B876-473A3AE8BD32}.Release|Any CPU.Build.0 = Release|Any CPU
{38935DC9-FF48-470C-B876-473A3AE8BD32}.Release|x86.ActiveCfg = Release|x86
{38935DC9-FF48-470C-B876-473A3AE8BD32}.Release|x86.Build.0 = Release|x86
{6ED364FB-7444-44DA-9196-1D8679425B3E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{6ED364FB-7444-44DA-9196-1D8679425B3E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{6ED364FB-7444-44DA-9196-1D8679425B3E}.Debug|x86.ActiveCfg = Debug|x86
{6ED364FB-7444-44DA-9196-1D8679425B3E}.Debug|x86.Build.0 = Debug|x86
{6ED364FB-7444-44DA-9196-1D8679425B3E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{6ED364FB-7444-44DA-9196-1D8679425B3E}.Release|Any CPU.Build.0 = Release|Any CPU
{6ED364FB-7444-44DA-9196-1D8679425B3E}.Release|x86.ActiveCfg = Release|x86
{6ED364FB-7444-44DA-9196-1D8679425B3E}.Release|x86.Build.0 = Release|x86
{AABE6A3C-F038-4448-981F-F68A6D5069C3}.Debug|Any CPU.ActiveCfg = Debug
{AABE6A3C-F038-4448-981F-F68A6D5069C3}.Debug|x86.ActiveCfg = Debug
{AABE6A3C-F038-4448-981F-F68A6D5069C3}.Release|Any CPU.ActiveCfg = Release
{AABE6A3C-F038-4448-981F-F68A6D5069C3}.Release|x86.ActiveCfg = Release
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

View file

@ -47,7 +47,7 @@
this.ClientSize = new System.Drawing.Size(284, 112);
this.Controls.Add(this.label1);
this.Name = "Form1";
this.Text = "FreeDV";
this.Text = "SmartSDR FreeDV Waveform";
this.Load += new System.EventHandler(this.Form1_Load);
this.ResumeLayout(false);
this.PerformLayout();

View file

@ -292,7 +292,7 @@ namespace CODEC2_GUI
if(status.StartsWith("string"))
{
Debug.WriteLine(status);
string x = "ASDLKFJASLDKJ";
//string x = "ASDLKFJASLDKJ";
int start_pos = status.IndexOf("\"");
// did we find beginning quotes?

View file

@ -0,0 +1,148 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">x86</Platform>
<ProductVersion>8.0.30703</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{51F7B7D3-E411-4E6B-86A2-B4290DBFF89E}</ProjectGuid>
<OutputType>WinExe</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>FreeDV</RootNamespace>
<AssemblyName>SmartSDR_FreeDV_Waveform</AssemblyName>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<TargetFrameworkProfile>Client</TargetFrameworkProfile>
<FileAlignment>512</FileAlignment>
<PublishUrl>publish\</PublishUrl>
<Install>true</Install>
<InstallFrom>Disk</InstallFrom>
<UpdateEnabled>false</UpdateEnabled>
<UpdateMode>Foreground</UpdateMode>
<UpdateInterval>7</UpdateInterval>
<UpdateIntervalUnits>Days</UpdateIntervalUnits>
<UpdatePeriodically>false</UpdatePeriodically>
<UpdateRequired>false</UpdateRequired>
<MapFileExtensions>true</MapFileExtensions>
<ApplicationRevision>0</ApplicationRevision>
<ApplicationVersion>1.0.0.%2a</ApplicationVersion>
<IsWebBootstrapper>false</IsWebBootstrapper>
<UseApplicationTrust>false</UseApplicationTrust>
<BootstrapperEnabled>true</BootstrapperEnabled>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
<PlatformTarget>x86</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
<PlatformTarget>x86</PlatformTarget>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="Flex.UiWpfFramework, Version=1.0.1.19540, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>Libs\Flex.UiWpfFramework.dll</HintPath>
</Reference>
<Reference Include="FlexLib, Version=1.5.1.25306, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>Libs\FlexLib.dll</HintPath>
</Reference>
<Reference Include="Ionic.Zip, Version=1.9.1.8, Culture=neutral, PublicKeyToken=edbe51ad942a3f5c, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>Libs\Ionic.Zip.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Deployment" />
<Reference Include="System.Drawing" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" />
<Reference Include="Util, Version=1.0.1.19540, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>Libs\Util.dll</HintPath>
</Reference>
<Reference Include="Vita, Version=1.0.1.19540, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>Libs\Vita.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>
<Compile Include="Form1.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Form1.Designer.cs">
<DependentUpon>Form1.cs</DependentUpon>
</Compile>
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<EmbeddedResource Include="Form1.resx">
<DependentUpon>Form1.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Properties\Resources.resx">
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
<SubType>Designer</SubType>
</EmbeddedResource>
<Compile Include="Properties\Resources.Designer.cs">
<AutoGen>True</AutoGen>
<DependentUpon>Resources.resx</DependentUpon>
<DesignTime>True</DesignTime>
</Compile>
<None Include="Properties\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator>
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
</None>
<Compile Include="Properties\Settings.Designer.cs">
<AutoGen>True</AutoGen>
<DependentUpon>Settings.settings</DependentUpon>
<DesignTimeSharedInput>True</DesignTimeSharedInput>
</Compile>
</ItemGroup>
<ItemGroup>
<BootstrapperPackage Include=".NETFramework,Version=v4.0,Profile=Client">
<Visible>False</Visible>
<ProductName>Microsoft .NET Framework 4 Client Profile %28x86 and x64%29</ProductName>
<Install>true</Install>
</BootstrapperPackage>
<BootstrapperPackage Include="Microsoft.Net.Client.3.5">
<Visible>False</Visible>
<ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName>
<Install>false</Install>
</BootstrapperPackage>
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
<Visible>False</Visible>
<ProductName>.NET Framework 3.5 SP1</ProductName>
<Install>false</Install>
</BootstrapperPackage>
<BootstrapperPackage Include="Microsoft.Windows.Installer.3.1">
<Visible>False</Visible>
<ProductName>Windows Installer 3.1</ProductName>
<Install>true</Install>
</BootstrapperPackage>
</ItemGroup>
<ItemGroup>
<Content Include="Images\FDVLogo.ico" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

After

Width:  |  Height:  |  Size: 361 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View file

@ -5,12 +5,12 @@ using 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.
[assembly: AssemblyTitle("CODEC2 GUI")]
[assembly: AssemblyTitle("SmartSDR FreeDV Waveform")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("FlexRadio Systems")]
[assembly: AssemblyProduct("CODEC2 GUI")]
[assembly: AssemblyCopyright("Copyright © FlexRadio Systems 2014")]
[assembly: AssemblyProduct("SmartSDR_FreeDV_Waveform")]
[assembly: AssemblyCopyright("Copyright © FlexRadio Systems 2015")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: AssemblyVersion("1.0.5.0")]
[assembly: AssemblyFileVersion("1.0.5.0")]

View file

@ -13,6 +13,36 @@
"SccProvider" = "8:"
"Hierarchy"
{
"Entry"
{
"MsmKey" = "8:_0766D6B5F67085FA6951B8F3A110AC52"
"OwnerKey" = "8:_6B67ECD422687C0C1F634130CF5E98FB"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_0766D6B5F67085FA6951B8F3A110AC52"
"OwnerKey" = "8:_33ACE5F9EC81402FB03BD1F8D09D0621"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_0E77A05C3E32375759743EEADF09A07D"
"OwnerKey" = "8:_33ACE5F9EC81402FB03BD1F8D09D0621"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_0E77A05C3E32375759743EEADF09A07D"
"OwnerKey" = "8:_6B67ECD422687C0C1F634130CF5E98FB"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_33ACE5F9EC81402FB03BD1F8D09D0621"
"OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_44FE594CB4324BE091F300EB9369B6CC"
@ -27,68 +57,44 @@
}
"Entry"
{
"MsmKey" = "8:_5CEDCDF93E5B7CFBE321CF19FD2C7803"
"OwnerKey" = "8:_F9BAD375B293446A9F0FF56E3C1BC4E9"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_5CEDCDF93E5B7CFBE321CF19FD2C7803"
"OwnerKey" = "8:_B0841DE114E3AF989C6F57AD9D41984C"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_6748E4DC3B32BC179308D4851C35E7C1"
"OwnerKey" = "8:_F9BAD375B293446A9F0FF56E3C1BC4E9"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_6748E4DC3B32BC179308D4851C35E7C1"
"OwnerKey" = "8:_B0841DE114E3AF989C6F57AD9D41984C"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_88C1D5A632F74D7EBC8A5FDC131505EE"
"MsmKey" = "8:_6B37D49588874BAEB27974FF554C7D0C"
"OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_AE42FAD06947980DC7F9C55738272477"
"OwnerKey" = "8:_F9BAD375B293446A9F0FF56E3C1BC4E9"
"MsmKey" = "8:_6B67ECD422687C0C1F634130CF5E98FB"
"OwnerKey" = "8:_33ACE5F9EC81402FB03BD1F8D09D0621"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_AE42FAD06947980DC7F9C55738272477"
"OwnerKey" = "8:_B0841DE114E3AF989C6F57AD9D41984C"
"MsmKey" = "8:_BF7C891FD48893917AC2212F0D71946D"
"OwnerKey" = "8:_6B67ECD422687C0C1F634130CF5E98FB"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_B0841DE114E3AF989C6F57AD9D41984C"
"OwnerKey" = "8:_F9BAD375B293446A9F0FF56E3C1BC4E9"
"MsmKey" = "8:_BF7C891FD48893917AC2212F0D71946D"
"OwnerKey" = "8:_33ACE5F9EC81402FB03BD1F8D09D0621"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_B357A8AC90A6A97181BBB20C00BD936F"
"OwnerKey" = "8:_F9BAD375B293446A9F0FF56E3C1BC4E9"
"MsmKey" = "8:_BF7C891FD48893917AC2212F0D71946D"
"OwnerKey" = "8:_E01867FA37CD77344818571B20736D3B"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_B357A8AC90A6A97181BBB20C00BD936F"
"OwnerKey" = "8:_B0841DE114E3AF989C6F57AD9D41984C"
"MsmKey" = "8:_E01867FA37CD77344818571B20736D3B"
"OwnerKey" = "8:_6B67ECD422687C0C1F634130CF5E98FB"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_B357A8AC90A6A97181BBB20C00BD936F"
"OwnerKey" = "8:_5CEDCDF93E5B7CFBE321CF19FD2C7803"
"MsmKey" = "8:_E01867FA37CD77344818571B20736D3B"
"OwnerKey" = "8:_33ACE5F9EC81402FB03BD1F8D09D0621"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
@ -99,44 +105,38 @@
}
"Entry"
{
"MsmKey" = "8:_F9BAD375B293446A9F0FF56E3C1BC4E9"
"OwnerKey" = "8:_UNDEFINED"
"MsmKey" = "8:_UNDEFINED"
"OwnerKey" = "8:_6B67ECD422687C0C1F634130CF5E98FB"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_UNDEFINED"
"OwnerKey" = "8:_B0841DE114E3AF989C6F57AD9D41984C"
"OwnerKey" = "8:_0766D6B5F67085FA6951B8F3A110AC52"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_UNDEFINED"
"OwnerKey" = "8:_F9BAD375B293446A9F0FF56E3C1BC4E9"
"OwnerKey" = "8:_E01867FA37CD77344818571B20736D3B"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_UNDEFINED"
"OwnerKey" = "8:_AE42FAD06947980DC7F9C55738272477"
"OwnerKey" = "8:_BF7C891FD48893917AC2212F0D71946D"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_UNDEFINED"
"OwnerKey" = "8:_5CEDCDF93E5B7CFBE321CF19FD2C7803"
"OwnerKey" = "8:_33ACE5F9EC81402FB03BD1F8D09D0621"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_UNDEFINED"
"OwnerKey" = "8:_B357A8AC90A6A97181BBB20C00BD936F"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_UNDEFINED"
"OwnerKey" = "8:_6748E4DC3B32BC179308D4851C35E7C1"
"OwnerKey" = "8:_0E77A05C3E32375759743EEADF09A07D"
"MsmSig" = "8:_UNDEFINED"
}
}
@ -157,6 +157,27 @@
"PrivateKeyFile" = "8:"
"TimeStampServer" = "8:"
"InstallerBootstrapper" = "3:2"
"BootstrapperCfg:{63ACBE69-63AA-4F98-B2B6-99F9E24495F2}"
{
"Enabled" = "11:TRUE"
"PromptEnabled" = "11:TRUE"
"PrerequisitesLocation" = "2:1"
"Url" = "8:"
"ComponentsUrl" = "8:"
"Items"
{
"{EDC2488A-8267-493A-A98E-7D9C3B36CDF3}:.NETFramework,Version=v4.0,Profile=Client"
{
"Name" = "8:Microsoft .NET Framework 4 Client Profile (x86 and x64)"
"ProductCode" = "8:.NETFramework,Version=v4.0,Profile=Client"
}
"{EDC2488A-8267-493A-A98E-7D9C3B36CDF3}:Microsoft.Windows.Installer.3.1"
{
"Name" = "8:Windows Installer 3.1"
"ProductCode" = "8:Microsoft.Windows.Installer.3.1"
}
}
}
}
"Release"
{
@ -173,6 +194,27 @@
"PrivateKeyFile" = "8:"
"TimeStampServer" = "8:"
"InstallerBootstrapper" = "3:2"
"BootstrapperCfg:{63ACBE69-63AA-4F98-B2B6-99F9E24495F2}"
{
"Enabled" = "11:TRUE"
"PromptEnabled" = "11:TRUE"
"PrerequisitesLocation" = "2:1"
"Url" = "8:"
"ComponentsUrl" = "8:"
"Items"
{
"{EDC2488A-8267-493A-A98E-7D9C3B36CDF3}:.NETFramework,Version=v4.0,Profile=Client"
{
"Name" = "8:Microsoft .NET Framework 4 Client Profile (x86 and x64)"
"ProductCode" = "8:.NETFramework,Version=v4.0,Profile=Client"
}
"{EDC2488A-8267-493A-A98E-7D9C3B36CDF3}:Microsoft.Windows.Installer.3.1"
{
"Name" = "8:Windows Installer 3.1"
"ProductCode" = "8:Microsoft.Windows.Installer.3.1"
}
}
}
}
}
"Deployable"
@ -202,6 +244,68 @@
}
"File"
{
"{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_0766D6B5F67085FA6951B8F3A110AC52"
{
"AssemblyRegister" = "3:1"
"AssemblyIsInGAC" = "11:FALSE"
"AssemblyAsmDisplayName" = "8:Flex.UiWpfFramework, Version=1.0.1.30307, Culture=neutral, processorArchitecture=MSIL"
"ScatterAssemblies"
{
"_0766D6B5F67085FA6951B8F3A110AC52"
{
"Name" = "8:Flex.UiWpfFramework.dll"
"Attributes" = "3:512"
}
}
"SourcePath" = "8:Flex.UiWpfFramework.dll"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_40196D409E904F29B144A3CC2149E747"
"Condition" = "8:"
"Transitive" = "11:FALSE"
"Vital" = "11:TRUE"
"ReadOnly" = "11:FALSE"
"Hidden" = "11:FALSE"
"System" = "11:FALSE"
"Permanent" = "11:FALSE"
"SharedLegacy" = "11:FALSE"
"PackageAs" = "3:1"
"Register" = "3:1"
"Exclude" = "11:FALSE"
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
"{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_0E77A05C3E32375759743EEADF09A07D"
{
"AssemblyRegister" = "3:1"
"AssemblyIsInGAC" = "11:FALSE"
"AssemblyAsmDisplayName" = "8:Ionic.Zip, Version=1.9.1.8, Culture=neutral, PublicKeyToken=edbe51ad942a3f5c, processorArchitecture=MSIL"
"ScatterAssemblies"
{
"_0E77A05C3E32375759743EEADF09A07D"
{
"Name" = "8:Ionic.Zip.dll"
"Attributes" = "3:512"
}
}
"SourcePath" = "8:Ionic.Zip.dll"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_40196D409E904F29B144A3CC2149E747"
"Condition" = "8:"
"Transitive" = "11:FALSE"
"Vital" = "11:TRUE"
"ReadOnly" = "11:FALSE"
"Hidden" = "11:FALSE"
"System" = "11:FALSE"
"Permanent" = "11:FALSE"
"SharedLegacy" = "11:FALSE"
"PackageAs" = "3:1"
"Register" = "3:1"
"Exclude" = "11:FALSE"
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_44FE594CB4324BE091F300EB9369B6CC"
{
"SourcePath" = "8:..\\CODEC2 GUI\\Images\\FDVLogo.ico"
@ -242,72 +346,10 @@
"IsDependency" = "11:FALSE"
"IsolateTo" = "8:"
}
"{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_5CEDCDF93E5B7CFBE321CF19FD2C7803"
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_6B37D49588874BAEB27974FF554C7D0C"
{
"AssemblyRegister" = "3:1"
"AssemblyIsInGAC" = "11:FALSE"
"AssemblyAsmDisplayName" = "8:Vita, Version=1.0.1.26108, Culture=neutral, processorArchitecture=MSIL"
"ScatterAssemblies"
{
"_5CEDCDF93E5B7CFBE321CF19FD2C7803"
{
"Name" = "8:Vita.dll"
"Attributes" = "3:512"
}
}
"SourcePath" = "8:Vita.dll"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_40196D409E904F29B144A3CC2149E747"
"Condition" = "8:"
"Transitive" = "11:FALSE"
"Vital" = "11:TRUE"
"ReadOnly" = "11:FALSE"
"Hidden" = "11:FALSE"
"System" = "11:FALSE"
"Permanent" = "11:FALSE"
"SharedLegacy" = "11:FALSE"
"PackageAs" = "3:1"
"Register" = "3:1"
"Exclude" = "11:FALSE"
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
"{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_6748E4DC3B32BC179308D4851C35E7C1"
{
"AssemblyRegister" = "3:1"
"AssemblyIsInGAC" = "11:FALSE"
"AssemblyAsmDisplayName" = "8:Ionic.Zip, Version=1.9.1.8, Culture=neutral, PublicKeyToken=edbe51ad942a3f5c, processorArchitecture=MSIL"
"ScatterAssemblies"
{
"_6748E4DC3B32BC179308D4851C35E7C1"
{
"Name" = "8:Ionic.Zip.dll"
"Attributes" = "3:512"
}
}
"SourcePath" = "8:Ionic.Zip.dll"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_40196D409E904F29B144A3CC2149E747"
"Condition" = "8:"
"Transitive" = "11:FALSE"
"Vital" = "11:TRUE"
"ReadOnly" = "11:FALSE"
"Hidden" = "11:FALSE"
"System" = "11:FALSE"
"Permanent" = "11:FALSE"
"SharedLegacy" = "11:FALSE"
"PackageAs" = "3:1"
"Register" = "3:1"
"Exclude" = "11:FALSE"
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_88C1D5A632F74D7EBC8A5FDC131505EE"
{
"SourcePath" = "8:FreeDV_Release.ssdr_waveform"
"TargetName" = "8:FreeDV_Release.ssdr_waveform"
"SourcePath" = "8:..\\CODEC2 GUI\\WaveformPackages\\FreeDV.ssdr_waveform"
"TargetName" = "8:FreeDV.ssdr_waveform"
"Tag" = "8:"
"Folder" = "8:_377DE1BBED84443D8A1631B8496FDC4E"
"Condition" = "8:"
@ -324,45 +366,14 @@
"IsDependency" = "11:FALSE"
"IsolateTo" = "8:"
}
"{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_AE42FAD06947980DC7F9C55738272477"
"{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_6B67ECD422687C0C1F634130CF5E98FB"
{
"AssemblyRegister" = "3:1"
"AssemblyIsInGAC" = "11:FALSE"
"AssemblyAsmDisplayName" = "8:Flex.UiWpfFramework, Version=1.0.1.26108, Culture=neutral, processorArchitecture=MSIL"
"AssemblyAsmDisplayName" = "8:FlexLib, Version=1.4.25.30307, Culture=neutral, processorArchitecture=MSIL"
"ScatterAssemblies"
{
"_AE42FAD06947980DC7F9C55738272477"
{
"Name" = "8:Flex.UiWpfFramework.dll"
"Attributes" = "3:512"
}
}
"SourcePath" = "8:Flex.UiWpfFramework.dll"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_40196D409E904F29B144A3CC2149E747"
"Condition" = "8:"
"Transitive" = "11:FALSE"
"Vital" = "11:TRUE"
"ReadOnly" = "11:FALSE"
"Hidden" = "11:FALSE"
"System" = "11:FALSE"
"Permanent" = "11:FALSE"
"SharedLegacy" = "11:FALSE"
"PackageAs" = "3:1"
"Register" = "3:1"
"Exclude" = "11:FALSE"
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
"{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_B0841DE114E3AF989C6F57AD9D41984C"
{
"AssemblyRegister" = "3:1"
"AssemblyIsInGAC" = "11:FALSE"
"AssemblyAsmDisplayName" = "8:FlexLib, Version=1.3.17.26108, Culture=neutral, processorArchitecture=MSIL"
"ScatterAssemblies"
{
"_B0841DE114E3AF989C6F57AD9D41984C"
"_6B67ECD422687C0C1F634130CF5E98FB"
{
"Name" = "8:FlexLib.dll"
"Attributes" = "3:512"
@ -386,14 +397,14 @@
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
"{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_B357A8AC90A6A97181BBB20C00BD936F"
"{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_BF7C891FD48893917AC2212F0D71946D"
{
"AssemblyRegister" = "3:1"
"AssemblyIsInGAC" = "11:FALSE"
"AssemblyAsmDisplayName" = "8:Util, Version=1.0.1.26107, Culture=neutral, processorArchitecture=MSIL"
"AssemblyAsmDisplayName" = "8:Util, Version=1.0.1.30307, Culture=neutral, processorArchitecture=MSIL"
"ScatterAssemblies"
{
"_B357A8AC90A6A97181BBB20C00BD936F"
"_BF7C891FD48893917AC2212F0D71946D"
{
"Name" = "8:Util.dll"
"Attributes" = "3:512"
@ -417,6 +428,37 @@
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
"{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_E01867FA37CD77344818571B20736D3B"
{
"AssemblyRegister" = "3:1"
"AssemblyIsInGAC" = "11:FALSE"
"AssemblyAsmDisplayName" = "8:Vita, Version=1.0.1.30307, Culture=neutral, processorArchitecture=MSIL"
"ScatterAssemblies"
{
"_E01867FA37CD77344818571B20736D3B"
{
"Name" = "8:Vita.dll"
"Attributes" = "3:512"
}
}
"SourcePath" = "8:Vita.dll"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_40196D409E904F29B144A3CC2149E747"
"Condition" = "8:"
"Transitive" = "11:FALSE"
"Vital" = "11:TRUE"
"ReadOnly" = "11:FALSE"
"Hidden" = "11:FALSE"
"System" = "11:FALSE"
"Permanent" = "11:FALSE"
"SharedLegacy" = "11:FALSE"
"PackageAs" = "3:1"
"Register" = "3:1"
"Exclude" = "11:FALSE"
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_F5493E84A58F4E0D993B24BAD4694555"
{
"SourcePath" = "8:..\\CODEC2 GUI\\Licenses\\FlexLib License.txt"
@ -526,9 +568,9 @@
{
"Name" = "8:Microsoft Visual Studio"
"ProductName" = "8:FreeDV"
"ProductCode" = "8:{31966E85-47C4-49D4-80B5-3051D960ADC0}"
"PackageCode" = "8:{4151C606-CE2E-419B-B8A3-5EA149790371}"
"UpgradeCode" = "8:{BA448748-24DA-43CE-BAA7-FC4F549589E8}"
"ProductCode" = "8:{A08FA802-12C1-4DE8-B124-6DEDA0BEF4F7}"
"PackageCode" = "8:{8EADBEC9-F204-462E-A822-8ACCEF52D1F5}"
"UpgradeCode" = "8:{A02AD445-626C-4587-AD08-F92D7E118F4E}"
"AspNetVersion" = "8:4.0.30319.0"
"RestartWWWService" = "11:FALSE"
"RemovePreviousVersions" = "11:TRUE"
@ -647,7 +689,7 @@
}
"Shortcut"
{
"{970C0BB2-C7D0-45D7-ABFA-7EC378858BC0}:_1AA7F5078E9B42FB8E16D82998B06E10"
"{970C0BB2-C7D0-45D7-ABFA-7EC378858BC0}:_070E818665FF4960B5AB6194911772D2"
{
"Name" = "8:FreeDV"
"Arguments" = "8:"
@ -655,13 +697,13 @@
"ShowCmd" = "3:1"
"IconIndex" = "3:0"
"Transitive" = "11:FALSE"
"Target" = "8:_F9BAD375B293446A9F0FF56E3C1BC4E9"
"Target" = "8:_33ACE5F9EC81402FB03BD1F8D09D0621"
"Folder" = "8:_28A6D54432764B34ABC7E36F336A6762"
"WorkingFolder" = "8:_40196D409E904F29B144A3CC2149E747"
"Icon" = "8:_44FE594CB4324BE091F300EB9369B6CC"
"Feature" = "8:"
}
"{970C0BB2-C7D0-45D7-ABFA-7EC378858BC0}:_A4D147B0B4B04223B55728F898826A49"
"{970C0BB2-C7D0-45D7-ABFA-7EC378858BC0}:_DA8E68D53EA341D0A7A0654DEC96CE44"
{
"Name" = "8:FreeDV"
"Arguments" = "8:"
@ -669,7 +711,7 @@
"ShowCmd" = "3:1"
"IconIndex" = "3:0"
"Transitive" = "11:FALSE"
"Target" = "8:_F9BAD375B293446A9F0FF56E3C1BC4E9"
"Target" = "8:_33ACE5F9EC81402FB03BD1F8D09D0621"
"Folder" = "8:_01E98CA335E74C1385F704CA49E431C5"
"WorkingFolder" = "8:_40196D409E904F29B144A3CC2149E747"
"Icon" = "8:_44FE594CB4324BE091F300EB9369B6CC"
@ -1074,7 +1116,7 @@
}
"ProjectOutput"
{
"{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_F9BAD375B293446A9F0FF56E3C1BC4E9"
"{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_33ACE5F9EC81402FB03BD1F8D09D0621"
{
"SourcePath" = "8:..\\CODEC2 GUI\\obj\\x86\\Release\\FreeDV.exe"
"TargetName" = "8:"
@ -1094,9 +1136,9 @@
"IsDependency" = "11:FALSE"
"IsolateTo" = "8:"
"ProjectOutputGroupRegister" = "3:1"
"OutputConfiguration" = "8:Release|x86"
"OutputConfiguration" = "8:"
"OutputGroupCanonicalName" = "8:Built"
"OutputProjectGuid" = "8:{19634B34-7569-4D1D-8182-B10AC27E13FF}"
"OutputProjectGuid" = "8:{51F7B7D3-E411-4E6B-86A2-B4290DBFF89E}"
"ShowKeyOutput" = "11:TRUE"
"ExcludeFilters"
{

View file

@ -0,0 +1,137 @@
;
; INNO Setup Compiler Script
; for SmartSDR FreeDV Waveform and GUI
; Author: Mark Hanson, AA3RK
;
; The App Versions can be passed in and will match the AssemblyInfo for the application
#ifndef MyAppVersion
#define MyAppVersion "1.0.5.0"
#endif
#ifndef MyAppVersionWithV
#define MyAppVersionWithV "v1.0.5.0"
#endif
#define MyAppName "SmartSDR FreeDV Waveform"
#define MyAppPublisher "FlexRadio Systems"
#define MyAppURL "http://www.flexradio.com/"
#define MyAppExeName "SmartSDR_FreeDV_Waveform.exe"
[Setup]
AppId={{69CD74EA-0824-438C-A3DF-1759AEF3F7D2}
AppName={#MyAppName}
AppVersion={#MyAppVersion}
VersionInfoVersion={#MyAppVersion}
AppVerName={#MyAppName} {#MyAppVersion}
AppPublisher={#MyAppPublisher}
AppPublisherURL={#MyAppURL}
AppSupportURL={#MyAppURL}
AppUpdatesURL={#MyAppURL}
DefaultDirName={pf}\{#MyAppPublisher}\{#MyAppName} {#MyAppVersionWithV}
DisableDirPage=yes
DefaultGroupName=FreeDV Waveform
DisableProgramGroupPage=yes
OutputBaseFilename=SmartSDR_FreeDV_Waveform_Installer_{#MyAppVersionWithV}
SetupIconFile=..\CODEC2 GUI\Images\FDVLogo.ico
Compression=lzma
SolidCompression=yes
[Languages]
Name: "english"; MessagesFile: "compiler:Default.isl"
[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}";
[Files]
Source: "..\CODEC2 GUI\bin\Release\{#MyAppExeName}"; DestDir: "{app}"; Flags: ignoreversion
Source: "..\CODEC2 GUI\bin\Release\Flex.UiWpfFramework.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "..\CODEC2 GUI\bin\Release\FlexLib.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "..\CODEC2 GUI\bin\Release\Ionic.Zip.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "..\CODEC2 GUI\bin\Release\Util.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "..\CODEC2 GUI\bin\Release\Vita.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "..\CODEC2 GUI\Images\FDVLogo.ico"; DestDir: "{app}"; Flags: ignoreversion
Source: "..\CODEC2 GUI\Licenses\gpl-3.0.txt"; DestDir: "{app}"; Flags: ignoreversion
Source: "..\CODEC2 GUI\Licenses\FlexLib License.txt"; DestDir: "{app}"; Flags: ignoreversion
Source: "..\..\..\DSP_API\Waveform\FreeDV.ssdr_waveform"; DestDir: "{userappdata}\FlexRadio Systems\Waveforms\"; Flags: ignoreversion
; NOTE: Don't use "Flags: ignoreversion" on any shared system files
[Icons]
Name: "{commonprograms}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; IconFilename: "{app}\FDVLogo.ico"
Name: "{commondesktop}\{#MyAppName} {#MyAppVersionWithV}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon; IconFilename: "{app}\FDVLogo.ico"
[Run]
Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent
[Code]
const
// constants for Firewall access exception
NET_FW_ACTION_ALLOW = 1;
NET_FW_IP_PROTOCOL_TCP = 6;
NET_FW_IP_PROTOCOL_UDP = 17;
NET_FW_SCOPE_ALL = 0;
NET_FW_IP_VERSION_ANY = 2;
NET_FW_PROFILE_DOMAIN = 0;
NET_FW_PROFILE_STANDARD = 1;
//===========================================================================
procedure SetFirewallExceptionVista(AppName,FileName:string);
//===========================================================================
//create SmartSDR wirewall in-bound exception for Vista and greater
var
FirewallRule: Variant;
FirewallPolicy: Variant;
begin
try
FirewallRule := CreateOleObject('HNetCfg.FWRule');
FirewallRule.Name := AppName;
FirewallRule.Description := 'UDP In-bound Firewall rule for SmartSDR FreeDV Waveform';
FirewallRule.ApplicationName := FileName;
FirewallRule.Protocol := NET_FW_IP_PROTOCOL_UDP;
FirewallRule.EdgeTraversal := True;
FirewallRule.Action := NET_FW_ACTION_ALLOW;
FirewallRule.Enabled := True;
// FirewallRule.InterfaceTypes := 'All';
FirewallPolicy := CreateOleObject('HNetCfg.FwPolicy2');
FirewallPolicy.Rules.Add(FirewallRule);
except
end;
try
FirewallRule := CreateOleObject('HNetCfg.FWRule');
FirewallRule.Name := AppName;
FirewallRule.Description := 'TCP In-bound Firewall rule for SmartSDR FreeDV Waveform';
FirewallRule.ApplicationName := FileName;
FirewallRule.Protocol := NET_FW_IP_PROTOCOL_TCP;
FirewallRule.EdgeTraversal := True;
FirewallRule.Action := NET_FW_ACTION_ALLOW;
FirewallRule.Enabled := True;
// FirewallRule.InterfaceTypes := 'All';
FirewallPolicy := CreateOleObject('HNetCfg.FwPolicy2');
FirewallPolicy.Rules.Add(FirewallRule);
except
end;
end;
//===========================================================================
procedure CurStepChanged(CurStep: TSetupStep);
//===========================================================================
// runs after setup completes FreeDV Waveform
begin
if (CurStep=ssInstall) then
begin
// Add Vista and greater Firewall rules
SetFirewallExceptionVista('{#SetupSetting("AppVerName")}', ExpandConstant('{app}')+'\{#MyAppExeName}');
end;
end;

32
pc/CODEC2 GUI/FreeDV.sln Normal file
View file

@ -0,0 +1,32 @@

Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FreeDV", "CODEC2 GUI\FreeDV.csproj", "{51F7B7D3-E411-4E6B-86A2-B4290DBFF89E}"
EndProject
Project("{54435603-DBB4-11D2-8724-00A0C9A8B90C}") = "CODEC2_GUI_INSTALLER", "CODEC2_GUI_INSTALLER\CODEC2_GUI_INSTALLER.vdproj", "{AABE6A3C-F038-4448-981F-F68A6D5069C3}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Debug|x86 = Debug|x86
Release|Any CPU = Release|Any CPU
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{51F7B7D3-E411-4E6B-86A2-B4290DBFF89E}.Debug|Any CPU.ActiveCfg = Debug|x86
{51F7B7D3-E411-4E6B-86A2-B4290DBFF89E}.Debug|Any CPU.Build.0 = Debug|x86
{51F7B7D3-E411-4E6B-86A2-B4290DBFF89E}.Debug|x86.ActiveCfg = Debug|x86
{51F7B7D3-E411-4E6B-86A2-B4290DBFF89E}.Debug|x86.Build.0 = Debug|x86
{51F7B7D3-E411-4E6B-86A2-B4290DBFF89E}.Release|Any CPU.ActiveCfg = Release|x86
{51F7B7D3-E411-4E6B-86A2-B4290DBFF89E}.Release|Any CPU.Build.0 = Release|x86
{51F7B7D3-E411-4E6B-86A2-B4290DBFF89E}.Release|x86.ActiveCfg = Release|x86
{51F7B7D3-E411-4E6B-86A2-B4290DBFF89E}.Release|x86.Build.0 = Release|x86
{AABE6A3C-F038-4448-981F-F68A6D5069C3}.Debug|Any CPU.ActiveCfg = Debug
{AABE6A3C-F038-4448-981F-F68A6D5069C3}.Debug|x86.ActiveCfg = Debug
{AABE6A3C-F038-4448-981F-F68A6D5069C3}.Release|Any CPU.ActiveCfg = Release
{AABE6A3C-F038-4448-981F-F68A6D5069C3}.Release|x86.ActiveCfg = Release
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal