cc1110 and simpliciti problems

Status
Not open for further replies.

priestnot

Member level 5
Joined
May 1, 2006
Messages
89
Helped
1
Reputation
2
Reaction score
1
Trophy points
1,288
Visit site
Activity points
2,098
Hello I have a few questions about CC1110F32 and SimpliciTi.

I have a SMARTRFCC1110-868 and I am using simpliciTi to make a pear to pear communication project.

The project needs a non volatile communication system. (after a power reset it still communicates with the linked device). So I used the flash asn storeed there the relevant data. The way i did this was based on the basic examples and used the flashDMA example.

The problem is that when I use this method Simplicity stops sending and receiving. I nailed the problem down to this function upon flash write configuration:
Code:
// Configure DMA channel 0. Settings:
dmaConfig0.SRCADDRH = ((uint16)ram >> 8) & 0x00FF;
dmaConfig0.SRCADDRL = (uint16)ram & 0x00FF;
dmaConfig0.DESTADDRH = ((uint16)&X_FWDATA >> 8) & 0x00FF;
dmaConfig0.DESTADDRL = (uint16)&X_FWDATA & 0x00FF;
dmaConfig0.VLEN = DMA_VLEN_USE_LEN;
dmaConfig0.LENH = (DATA_AMOUNT >> 8) & 0x00FF;
dmaConfig0.LENL = DATA_AMOUNT & 0x00FF;
dmaConfig0.WORDSIZE = DMA_WORDSIZE_BYTE;
dmaConfig0.TMODE = DMA_TMODE_SINGLE;
dmaConfig0.TRIG = DMA_TRIG_FLASH;
dmaConfig0.SRCINC = DMA_SRCINC_1;
dmaConfig0.DESTINC = DMA_DESTINC_0;
dmaConfig0.IRQMASK = DMA_IRQMASK_DISABLE;
dmaConfig0.M8 = DMA_M8_USE_8_BITS;
dmaConfig0.PRIORITY = DMA_PRI_HIGH;


/*
* This is the part that is making the problem
*/ 
// DMA configuration 
DMA0CFGH = ((uint16)&dmaConfig0 >> 8) & 0x00FF;
DMA0CFGL = (uint16)&dmaConfig0 & 0x00FF;
I solved the problem making a push before the change and a pop after the change of the variables:

Code:
// Push al variables needed
 DMA0CFGH;
DMA0CFGL;
FWT;
FADDRH;
FADDRL;

I think the problem is on the DMA configuration. So the question is does simpliciTI API use any sort of resource of the DMA? I searched the documentation and it does not mention anything about that.

Another question I need to use Timer interruptions to make periodic functions wich timer should I use in order to not influence the simpliciti work?
 

Because the cc1110 is a microprocessor with a rf transciver. And simpliciti is a rf comunication api for the cc1110.
So i think the it is suited for the rf section. But if not tell me were and i change it.
 

Oh, OK, just wondering because this seems to be based on an API/coding issue over a an RF question.
 

Status
Not open for further replies.
Cookies are required to use this site. You must accept them to continue using the site. Learn more…