mirror of
https://github.com/g4klx/MMDVM.git
synced 2026-10-22 18:45:01 +02:00
Add DMR calibration.
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
/*
|
||||
* Copyright (C) 2009-2016 by Jonathan Naylor G4KLX
|
||||
* Copyright (C) 2016 by Colin Durbridge G4EML
|
||||
*
|
||||
* 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
|
||||
@@ -97,7 +98,11 @@ void CDMRTX::process()
|
||||
createData(1U);
|
||||
m_state = DMRTXSTATE_CACH1;
|
||||
break;
|
||||
|
||||
|
||||
case DMRTXSTATE_CAL:
|
||||
createCal();
|
||||
break;
|
||||
|
||||
default:
|
||||
createCACH(0U, 1U);
|
||||
m_state = DMRTXSTATE_SLOT1;
|
||||
@@ -193,6 +198,13 @@ void CDMRTX::setStart(bool start)
|
||||
m_count = 0U;
|
||||
}
|
||||
|
||||
void CDMRTX::setCal(bool start)
|
||||
{
|
||||
m_state = start ? DMRTXSTATE_CAL : DMRTXSTATE_IDLE;
|
||||
|
||||
m_count = 0U;
|
||||
}
|
||||
|
||||
void CDMRTX::writeByte(uint8_t c, uint8_t control)
|
||||
{
|
||||
q15_t inBuffer[DMR_RADIO_SYMBOL_LENGTH * 4U + 1U];
|
||||
@@ -279,6 +291,17 @@ void CDMRTX::createData(uint8_t slotIndex)
|
||||
m_poPtr = 0U;
|
||||
}
|
||||
|
||||
void CDMRTX::createCal()
|
||||
{
|
||||
for (unsigned int i = 0U; i < DMR_FRAME_LENGTH_BYTES; i++) {
|
||||
m_poBuffer[i] = 0x5FU; // +3, +3, -3, -3 pattern for deviation cal.
|
||||
m_markBuffer[i] = MARK_NONE;
|
||||
}
|
||||
|
||||
m_poLen = DMR_FRAME_LENGTH_BYTES;
|
||||
m_poPtr = 0U;
|
||||
}
|
||||
|
||||
void CDMRTX::createCACH(uint8_t txSlotIndex, uint8_t rxSlotIndex)
|
||||
{
|
||||
if (m_cachPtr >= 12U)
|
||||
|
||||
Reference in New Issue
Block a user