mirror of
https://github.com/g4klx/MMDVMHost
synced 2025-12-20 14:15:37 +08:00
Fix reported POCSAG message bugs.
This commit is contained in:
@@ -26,25 +26,25 @@ const struct BCD {
|
||||
char m_c;
|
||||
uint32_t m_bcd[5U];
|
||||
} BCD_VALUES[] = {
|
||||
{'0', {0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U}},
|
||||
{'1', {0x08000000U, 0x00800000U, 0x00080000U, 0x00008000U, 0x00000800U}},
|
||||
{'2', {0x10000000U, 0x01000000U, 0x00100000U, 0x00010000U, 0x00001000U}},
|
||||
{'3', {0x18000000U, 0x01800000U, 0x00180000U, 0x00018000U, 0x00001800U}},
|
||||
{'4', {0x20000000U, 0x02000000U, 0x00200000U, 0x00020000U, 0x00002000U}},
|
||||
{'5', {0x28000000U, 0x02800000U, 0x00280000U, 0x00028000U, 0x00002800U}},
|
||||
{'6', {0x30000000U, 0x03000000U, 0x00300000U, 0x00030000U, 0x00003000U}},
|
||||
{'7', {0x38000000U, 0x03800000U, 0x00380000U, 0x00038000U, 0x00003800U}},
|
||||
{'8', {0x40000000U, 0x04000000U, 0x00400000U, 0x00040000U, 0x00004000U}},
|
||||
{'9', {0x48000000U, 0x04800000U, 0x00480000U, 0x00048000U, 0x00004800U}},
|
||||
{'U', {0x58000000U, 0x05800000U, 0x00580000U, 0x00058000U, 0x00005800U}},
|
||||
{' ', {0x60000000U, 0x06000000U, 0x00600000U, 0x00060000U, 0x00006000U}},
|
||||
{'-', {0x68000000U, 0x06800000U, 0x00680000U, 0x00068000U, 0x00006800U}},
|
||||
{')', {0x70000000U, 0x07000000U, 0x00700000U, 0x00070000U, 0x00007000U}},
|
||||
{'(', {0x78000000U, 0x07800000U, 0x00780000U, 0x00078000U, 0x00007800U}},
|
||||
{0, {0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U}}
|
||||
{ '0', {0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U}},
|
||||
{ '1', {0x40000000U, 0x04000000U, 0x00400000U, 0x00040000U, 0x00004000U}},
|
||||
{ '2', {0x20000000U, 0x02000000U, 0x00200000U, 0x00020000U, 0x00002000U}},
|
||||
{ '3', {0x60000000U, 0x06000000U, 0x00600000U, 0x00060000U, 0x00006000U}},
|
||||
{ '4', {0x10000000U, 0x01000000U, 0x00100000U, 0x00010000U, 0x00001000U}},
|
||||
{ '5', {0x50000000U, 0x05000000U, 0x00500000U, 0x00050000U, 0x00005000U}},
|
||||
{ '6', {0x30000000U, 0x03000000U, 0x00300000U, 0x00030000U, 0x00003000U}},
|
||||
{ '7', {0x70000000U, 0x07000000U, 0x00700000U, 0x00070000U, 0x00007000U}},
|
||||
{ '8', {0x08000000U, 0x00800000U, 0x00080000U, 0x00008000U, 0x00000800U}},
|
||||
{ '9', {0x48000000U, 0x04800000U, 0x00480000U, 0x00048000U, 0x00004800U}},
|
||||
{ 'U', {0x68000000U, 0x06800000U, 0x00680000U, 0x00068000U, 0x00006800U}},
|
||||
{ ' ', {0x18000000U, 0x01800000U, 0x00180000U, 0x00018000U, 0x00001800U}},
|
||||
{ '-', {0x58000000U, 0x05800000U, 0x00580000U, 0x00058000U, 0x00005800U}},
|
||||
{ ')', {0x38000000U, 0x03800000U, 0x00380000U, 0x00038000U, 0x00003800U}},
|
||||
{ '(', {0x78000000U, 0x07800000U, 0x00780000U, 0x00078000U, 0x00007800U}},
|
||||
{ 0, {0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U}}
|
||||
};
|
||||
|
||||
const uint32_t BCD_SPACES[] = {0x66666000U, 0x06666000U, 0x00666000U, 0x00066000U, 0x00006000U};
|
||||
const uint32_t BCD_SPACES[] = {0x19999800U, 0x01999800U, 0x00199800U, 0x00019800U, 0x00001800U};
|
||||
|
||||
const uint32_t DATA_MASK[] = { 0x40000000U, 0x20000000U, 0x10000000U,
|
||||
0x08000000U, 0x04000000U, 0x02000000U, 0x01000000U,
|
||||
@@ -241,6 +241,11 @@ void CPOCSAGControl::packASCII()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (n > 0U) {
|
||||
addBCHAndParity(word);
|
||||
m_buffer.push_back(word);
|
||||
}
|
||||
}
|
||||
|
||||
void CPOCSAGControl::packNumeric()
|
||||
|
||||
Reference in New Issue
Block a user