PocSag decoder: Better string presentation

git-svn-id: http://moon:8086/svn/software/trunk/projects/GnuRadio@411 b431acfa-c32f-4a4a-93f1-934dc6c82436
This commit is contained in:
2019-01-12 17:37:39 +00:00
parent 804b1cbfa0
commit bcdf4fed4c
2 changed files with 11 additions and 4 deletions
+10 -4
View File
@@ -39,6 +39,11 @@ PocsagDecoder::~PocsagDecoder()
{
}
void PocsagDecoder::messageBegin()
{
msgActive = 1;
}
void PocsagDecoder::messageFinish()
{
if (msgActive)
@@ -80,18 +85,19 @@ size_t PocsagDecoder::process(uint8_t const *pData, size_t size)
}
break;
case Data:
// Sync received
if (word == 0x7CD215D8)
{
dataCount = 0x00;
break;
}
// Message word
if (word & 0x80000000)
{
// Message word
if (func == 0x00)
{
// Numeric
msgActive = 1;
for (size_t i=1; i < 21; i++)
{
uint32_t bit = 0x80000000 & (word << i);
@@ -110,7 +116,6 @@ size_t PocsagDecoder::process(uint8_t const *pData, size_t size)
if (func == 0x03)
{
// Alpha numeric
msgActive = 1;
for (size_t i=1; i < 21; i++)
{
uint32_t bit = 0x80000000 & (word << i);
@@ -144,6 +149,7 @@ size_t PocsagDecoder::process(uint8_t const *pData, size_t size)
uint32_t addr = (word >> 13) & 0x3FFFF;
func = (word >> 11) & 0x03;
fprintf(stderr, "%02X: [%07u](%02X): ", (uint8_t)(dataCount), (unsigned)(8*addr+dataCount/2), func);
messageBegin();
}
}
dataCount++;
@@ -161,6 +167,6 @@ size_t PocsagDecoder::process(uint8_t const *pData, size_t size)
numProcessed += incr;
}
return numProcessed;
}
+1
View File
@@ -40,6 +40,7 @@ private:
uint32_t func = 0;
bool msgActive = 0;
void messageBegin();
void messageFinish();
};