Updated decoded to use new alphabet. Updated frame packing to use new 72 bit messages
This commit is contained in:
parent
ba0a2fe52d
commit
3318fa1005
@ -9,7 +9,7 @@ subroutine extractmessage174(decoded,msgreceived,ncrcflag)
|
||||
integer*1, target:: i1Dec8BitBytes(11)
|
||||
integer*4 i4Dec6BitWords(12)
|
||||
|
||||
alphabet='0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ-+/?. abcdefghijklmnopqrstuvwxyz'
|
||||
alphabet='0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-+/?.'
|
||||
|
||||
! Write decoded bits into cbits: 75-bit message plus 12-bit CRC
|
||||
write(cbits,1000) decoded
|
||||
|
@ -17,25 +17,14 @@ subroutine genft8(msg,mygrid,bcontest,i3bit,msgsent,msgbits,itone)
|
||||
integer icos7(0:6)
|
||||
data icos7/2,5,6,0,4,1,3/ !Costas 7x7 tone pattern
|
||||
|
||||
alphabet='0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ-+/?. abcdefghijklmnopqrstuvwxyz'
|
||||
|
||||
alphabet='0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-+/?.'
|
||||
|
||||
itype=6
|
||||
do i=1,12
|
||||
v=index(alphabet, msg(i:i)) - 1
|
||||
i4Msg6BitWords(i)=v
|
||||
v=index(alphabet, msg(i:i))
|
||||
if(v.eq.0) exit
|
||||
i4Msg6BitWords(i)=v - 1
|
||||
enddo
|
||||
!i4Msg6BitWords( 1)=index(alphabet, msg( 1: 2))
|
||||
!i4Msg6BitWords( 2)=index(alphabet, msg( 2: 3))
|
||||
!i4Msg6BitWords( 3)=index(alphabet, msg( 3: 4))
|
||||
!i4Msg6BitWords( 4)=index(alphabet, msg( 4: 5))
|
||||
!i4Msg6BitWords( 5)=index(alphabet, msg( 5: 6))
|
||||
!i4Msg6BitWords( 6)=index(alphabet, msg( 6: 7))
|
||||
!i4Msg6BitWords( 7)=index(alphabet, msg( 7: 8))
|
||||
!i4Msg6BitWords( 8)=index(alphabet, msg( 8: 9))
|
||||
!i4Msg6BitWords( 9)=index(alphabet, msg( 9:10))
|
||||
!i4Msg6BitWords(10)=index(alphabet, msg(10:11))
|
||||
!i4Msg6BitWords(11)=index(alphabet, msg(11:12))
|
||||
!i4Msg6BitWords(12)=index(alphabet, msg(12:13))
|
||||
msgsent=' '
|
||||
msgsent(1:12)=msg(1:12)
|
||||
|
||||
|
@ -62,7 +62,8 @@ contains
|
||||
write(datetime,1001) nutc !### TEMPORARY ###
|
||||
1001 format("000000_",i6.6)
|
||||
|
||||
call ft8apset(mycall12,mygrid6,hiscall12,hisgrid6,bcontest,apsym,iaptype)
|
||||
!call ft8apset(mycall12,mygrid6,hiscall12,hisgrid6,bcontest,apsym,iaptype)
|
||||
|
||||
dd=iwave
|
||||
ndecodes=0
|
||||
allmessages=' '
|
||||
|
@ -1274,6 +1274,23 @@ MainWindow::MainWindow(QDir const& temp_directory, bool multiple,
|
||||
|
||||
bool isPrefix = false;
|
||||
qDebug() << Varicode::packCallsignPrefixSuffix("VE3", true) << Varicode::unpackCallsignPrefixSuffix(Varicode::packCallsignPrefixSuffix("VE3", true), &isPrefix) << isPrefix;
|
||||
|
||||
|
||||
#define BIT (quint64)1
|
||||
quint64 val = 0;
|
||||
quint8 rem = 0;
|
||||
quint64 j = (BIT<<40)-1;
|
||||
quint64 k = (BIT<<5)-1;
|
||||
|
||||
qDebug() << j << k << val << rem;
|
||||
qDebug() << "packing" << Varicode::unpack72bits(Varicode::pack72bits(j, k), &val, &rem);
|
||||
qDebug() << j << k << val << rem;
|
||||
|
||||
m_valid = false;
|
||||
|
||||
quint8 r = 0;
|
||||
quint64 v = Varicode::unpack72bits(Varicode::pack72bits((((quint64)1)<<62)-1, (1<<7)-1), &r);
|
||||
qDebug() << "packing" << Varicode::pack72bits((((quint64)1)<<62)-1, (1<<7)-1) << v << r;
|
||||
#endif
|
||||
|
||||
// this must be the last statement of constructor
|
||||
@ -4017,6 +4034,7 @@ void MainWindow::guiUpdate()
|
||||
// 0: [000] <- this is standard set
|
||||
// 1: [001] <- this is fox/hound
|
||||
//m_i3bit=0;
|
||||
qDebug() << "genft8" << message;
|
||||
char ft8msgbits[75 + 12]; //packed 75 bit ft8 message plus 12-bit CRC
|
||||
genft8_(message, MyGrid, &bcontest, &m_i3bit, msgsent, const_cast<char *> (ft8msgbits),
|
||||
const_cast<int *> (itone), 22, 6, 22);
|
||||
@ -5954,6 +5972,10 @@ QStringList MainWindow::buildFT8MessageFrames(QString const& text){
|
||||
|
||||
|
||||
QString MainWindow::parseFT8Message(QString input, bool *isFree){
|
||||
if(isFree) *isFree = true;
|
||||
return input;
|
||||
|
||||
#if 0
|
||||
char message[29];
|
||||
char msgsent[29];
|
||||
char volatile ft8msgbits[75 + 12];
|
||||
@ -5999,6 +6021,7 @@ QString MainWindow::parseFT8Message(QString input, bool *isFree){
|
||||
}
|
||||
|
||||
return output.trimmed();
|
||||
#endif
|
||||
}
|
||||
|
||||
bool MainWindow::prepareNextMessageFrame()
|
||||
|
Loading…
Reference in New Issue
Block a user