hi , i want to configure cc2640 work on 2Mbps GFSK mode and write commond
CMD_PROP_RADIO_SETUP and CMD_FS
as follow:
// Overrides for CMD_PROP_RADIO_SETUP
uint32_t pOverrides[] = {
MCE_RFE_OVERRIDE(1,0,0,1,0,0),
HW_REG_OVERRIDE(0x4038,0x34),
HW_REG_OVERRIDE(0x6088,0x3F1F),
HW_REG_OVERRIDE(0x608C,0x8213),
HW32_ARRAY_OVERRIDE(0x405C,1),
(uint32_t) 0x1801F800,
HW32_ARRAY_OVERRIDE(0x402C,1),
(uint32_t) 0x00608402,
(uint32_t) 0xc0040031,
(uint32_t) &shape[0],
(uint32_t) 0x00000343,
(uint32_t) 0x001000a3,
(uint32_t) 0x000484a3,
(uint32_t) 0x1c8f0583,
(uint32_t) 0x1c8f0543,
(uint32_t) 0x65980603,
(uint32_t) 0x00020623,
(uint32_t) 0x659805c3,
(uint32_t) 0x000205e3,
(uint32_t) 0x02010403,
HW32_ARRAY_OVERRIDE(0x4034,1),
(uint32_t) 0x177F0408,
(uint32_t) 0x00008463,
(uint32_t) 0x00388473,
(uint32_t) 0x00F388a3,
(uint32_t)0xFFFFFFFF,
};
// CMD_PROP_RADIO_SETUP
rfc_CMD_PROP_RADIO_SETUP_t RF_cmdPropRadioDivSetup =
{
.commandNo = 0x3806,
.status = 0x0000,
.pNextOp = 0, // INSERT APPLICABLE POINTER: (uint8_t*)&xxx
.startTime = 0x00000000,
.startTrigger.triggerType = 0x0,
.startTrigger.bEnaCmd = 0x0,
.startTrigger.triggerNo = 0x0,
.startTrigger.pastTrig = 0x0,
.condition.rule = 0x1,
.condition.nSkip = 0x0,
.modulation.modType = 0x1,
.modulation.deviation = 200,
.symbolRate.preScale = 12,
.symbolRate.rateWord = 1048576, //symbolRate = (symbolRate.rateWord * 24000000)/(symbolRate.preScale * (2^20))
.rxBw = 7,
.preamConf.nPreamBytes = 0x8,
.preamConf.preamMode = 0x0,
.formatConf.nSwBits = 16,
.formatConf.bBitReversal = 0x0,
.formatConf.bMsbFirst = 0x1,
.formatConf.fecMode = 0x0,
.formatConf.whitenMode = 0x0,
.config.frontEndMode = 0x0,
.config.biasMode = 0x0,
.config.analogCfgMode = 0x0,
.config.bNoFsPowerUp = 0x0,
.txPower = 0x9324,
.pRegOverride = pOverrides,
};
// CMD_FS
rfc_CMD_FS_t RF_cmdFs =
{
.commandNo = 0x0803,
.status = 0x0000,
.pNextOp = 0, // INSERT APPLICABLE POINTER: (uint8_t*)&xxx
.startTime = 0x00000000,
.startTrigger.triggerType = 0x0,
.startTrigger.bEnaCmd = 0x0,
.startTrigger.triggerNo = 0x0,
.startTrigger.pastTrig = 0x0,
.condition.rule = 0x1,
.condition.nSkip = 0x0,
.frequency = 2440,
.fractFreq = 0x0000,
.synthConf.bTxMode = 1,
.synthConf.refFreq = 0x0,
};
when i send a package
RF_cmdPropTx.status = 0; RF_cmdPropTx.pktLen = len; RF_cmdPropTx.pPkt = (unsigned char *)bufPointer; HWREG(RFC_DBELL_BASE+RFC_DBELL_O_RFCPEIFG) = 0; RFCDoorbellSendTo((unsigned int)&(RF_cmdPropTx)); while(0x3400 != RF_cmdPropTx.status); // wait for PROP_DONE_OK
it send ok and when i change len from 128 to 64,the task of time is decrease about 0.256ms,it seem that symbol rate set is OK,but in reciver device,it can't recive any package.
when i configure as followreciver device can recv package and work fine.
.symbolRate.preScale = 15, .symbolRate.rateWord = 131072, //symbolRate = (symbolRate.rateWord * 24000000)/(symbolRate.preScale * (2^20))
i think maybe something configure error,and i want use SmartRF Studio 7 to export configure,but i can't find cc2640 proprietary mode .
can you help me,it stuck me a long time.