⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dataformatter.h

📁 QAM module to use in Java with an easy interface and powerful performance
💻 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 + -