Visual Studio 2022
dotPeek for reverse engineering/exporting SDR# DCS decoder plugin to VS project.
DCSDecoderPanel.cs
// Decompiled with JetBrains decompiler
// Type: SDRSharp.DCSDecoder.DCSDecoderPanel
// Assembly: SDRSharp.DCSDecoder, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
using SDRSharp.Common;
using SDRSharp.PanView;
using SDRSharp.Radio;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Windows.Forms;
namespace SDRSharp.DCSDecoder
{
public class DCSDecoderPanel : UserControl
{
private const int CodeWordLengthInBit = 23;
private AudioProcessor _audioProcessor;
...
=>
namespace SDRSharp.DCSDecoder
{
public class DCSDecoderPanel : UserControl
{
private const int CodeWordLengthInBit = 10;
private AudioProcessor _audioProcessor;
...
Decoder.cs
// Decompiled with JetBrains decompiler
// Type: SDRSharp.DCSDecoder.Decoder
// Assembly: SDRSharp.DCSDecoder, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
using SDRSharp.Radio;
using System;
namespace SDRSharp.DCSDecoder
{
public class Decoder
{
private const int SubToneFilterOrder = 500;
private const double BitRate = 134.3;
private const int BitPerWord = 23;
private FirFilter _toneFilter;
private unsafe float* _filteredBufferPtr;
private UnsafeBuffer _filteredBuffer;
...
=>
namespace SDRSharp.DCSDecoder
{
public class Decoder
{
private const int SubToneFilterOrder = 1100;
private const double BitRate = 1200.0;
private const int BitPerWord = 10;
...
public Decoder(double sampleRate)
{
if (this._toneFilter != null)
this._toneFilter.Dispose();
this._toneFilter = new FirFilter(FilterBuilder.MakeLowPassKernel(sampleRate, 500, 134.3, WindowType.BlackmanHarris4));
this._samplesPerBit = (float) (sampleRate / 134.3);
this.RecivedCode = new byte[23];
this._recivedCode = new byte[23];
this._samplerate = (float) sampleRate;
}
==>
public Decoder(double sampleRate)
{
if (this._toneFilter != null)
this._toneFilter.Dispose();
this._toneFilter = new FirFilter(FilterBuilder.MakeLowPassKernel(sampleRate, 1100, 1200.0, WindowType.BlackmanHarris4));
this._samplesPerBit = (float) (sampleRate / 1200.0);
this.RecivedCode = new byte[23];
this._recivedCode = new byte[23];
this._samplerate = (float) sampleRate;
}
+ plugin UI mods needed to display the data
Kommentit
Tämän blogin kommentit tarkistetaan ennen julkaisua.