📄 dataformatter.h
字号:
//---------------------------------------------------------------------------
#ifndef DataFormatterH
#define DataFormatterH
//---------------------------------------------------------------------------
#include "Constants.h"
#include "Settings.h"
//License: GNU
//
//
//
// J-QAM sound card modem
//
// Copyright (C) 2007-2008 Jonti Olds
//
//
//
// This program is free software: you can redistribute it and/or modify
//
// it under the terms of the GNU General Public License as published by
//
// the Free Software Foundation, either version 3 of the License, or
//
// (at your option) any later version.
//
//
//
// This program is distributed in the hope that it will be useful,
//
// but WITHOUT ANY WARRANTY; without even the implied warranty of
//
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
//
// GNU General Public License for more details.
//
//
//
// You should have received a copy of the GNU General Public License
//
// along with this program. If not, see <http://www.gnu.org/licenses/>
#include <SyncObjs.hpp>
#include <StdCtrls.hpp>
#include "Interleaver.h"
#include "Stuffer.h"
#include "RS.h"
#include "Scrambler.h"
#include "BaceConverter.h"
#include "TCM.h"
#include "Constants.h"
#include "Settings.h"
#include "Crc32.h"
#include <vector>
using namespace std;
//---------------------------------------------------------------------------
class DataFormatter
{
public:
int __fastcall GetNextSymbol();
void __fastcall LoadNextBufferPacket(unsigned char * cp, int size,int type_of_packet);
DataFormatter();
~DataFormatter();
int __fastcall GetNextChar();
TCriticalSection *dataformattercriticalsection;
TCM tcm;
int __fastcall GetCountOfFreeSpaceInCharBuf();
int buffsize;
int buffnumberofcharsinque;
bool GotAnOverFlowEvent;
Stuffer bs;
private:
vector<int> buff;
int buffptrnextpostosend;
int buffptrnextfreepos;
RSWrapper rs;
void __fastcall SettingsHaveChanged(NotificationEventType WhatHasChanged);
unsigned char FrameBuf[10];
FastCrc *pfastCrc;
public:
Scrambler Scram;
TInterleaver Aleaver;
int InterleaverRSSyncFrameCounter;
int InterleaverRSSyncFrameCounterSize;
void __fastcall SetParams(int InterLeaverLen, int RSBlockLen, int RSParityLen, int RSBlocksPerRSLeaverSync);
int Cnt;
int CntSize;
BaceConverter bc;
};
//---------------------------------------------------------------------------
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -