Page 1 of 2
CW mode (TD1204 / TD1208)
Posted: Thu Nov 19, 2015 6:14 pm
by ramon2015
Hello,
I am trying to set the CW mode in my FW for a TD1204 module, but I think I need some assistance.
I found a function :
void TD_SIGFOX_TestCarrier ( uint32_t level, uint32_t frequency, bool high_performance ) which I think could do the job, but not sure.
I tried it and I got a hard fault message through the serial port (see attached picture). but maybe it is only due to a bad parameter...I dont know.
- Fault condition dump via serial
- CW_test_crashed.jpg (92.01 KiB) Viewed 18388 times
From other post (
viewtopic.php?f=3&t=114) I saw we should use AT command :
AT$MT=x,2,0
But I could not find such command in the SDK and see which is the function to use.
Which function should I use for both TD1204 and TD1208 turining in CW mode?
Is it an infinite function or shall i call it periodically?
Thanks in advance !
Regards, Ramon.
Re: CW mode (TD1204 / TD1208)
Posted: Thu Nov 19, 2015 6:19 pm
by ramon2015
By the way, when I invoked the function i did it as follows:
TD_SIGFOX_TestCarrier(10,868130000,true); /// crashed !!!
TD_SIGFOX_TestCarrier(14,868130000,true); /// crashed !!!
Re: CW mode (TD1204 / TD1208)
Posted: Wed Dec 09, 2015 10:05 am
by omlu
Hi,
I know it's been a while but I am also looking for how to activate CW mode on a TD1204.
Have you managed to put your device into CW mode? If yes, how?
Thank you,
Re: CW mode (TD1204 / TD1208)
Posted: Wed Dec 09, 2015 10:08 am
by lcheminade
Hi,
Sorry for the late reply.
You need to do a normal frame emission first to make sure the radio has been initialized:
TD_SIGFOX_Send("init",4,2);
Then forever CW mode is:
TD_SIGFOX_SendTestPA(0, 4,127, 868130000);
Last argument being the frequency.
Regards.
Loïc
Re: CW mode (TD1204 / TD1208)
Posted: Tue Jan 26, 2016 1:51 pm
by omlu
lcheminade wrote:Then forever CW mode is:
TD_SIGFOX_SendTestPA(0, 2,127, 868130000);
Should the call of 'TD_SIGFOX_SendTestPA(0, 2,127, 868130000);' function be placed in a never ending loop?
Because I did as you said above but Sigfox just called me from their certification lab to tell me the device doesn't stay in CW mode.
[EDIT]
Are any other operations prohibited once the device is in CW Mode?
Regards,
Re: CW mode (TD1204 / TD1208)
Posted: Wed Jan 27, 2016 1:54 pm
by lcheminade
Ok my bad here. Correct call is:
TD_SIGFOX_SendTestPA(0, 4 , 127, 868130000);
This one is correct CW mode and should not stop. You should be able to tell by looking at the consumption. A while(1) loop around will not hurt anyway since it's not a good idea to do anything else while using CW mode.
My apologies.
Re: CW mode (TD1204 / TD1208)
Posted: Thu Jan 28, 2016 10:00 am
by omlu
Thank you.
I hope it works. I don't think there is a way for me to check if it does, is there?
Where could I have found the information about TD_SIGFOX_SendTestPA()? In the
libtdrf.chm file, there is nothing about parametring the mode with '4' (see image below).
Is there anyway I can access the definition of TD_SIGFOX_SendTestPA() (and lots of other functions used in the libraries whose definition are hidden) ?
Regards,
Re: CW mode (TD1204 / TD1208)
Posted: Thu Jan 28, 2016 10:11 am
by lcheminade
You can at least check the current is high. Of course a spectrum analyzer would be better.
For now we don't provide anything else. We know that our customers needs well documented test functions and this should be improved soon.
Re: CW mode (TD1204 / TD1208)
Posted: Mon Feb 01, 2016 4:04 pm
by omlu
lcheminade wrote:You can at least check the current is high. Of course a spectrum analyzer would be better.
For now we don't provide anything else. We know that our customers needs well documented test functions and this should be improved soon.
Hi,
So I sent a second device with the new code for the CW mode to the certification lab ....and it still doesn't work.
Here is the function I call to enter CW mode:
- Code: Select all
void CWmode(void){
TD_SCHEDULER_Remove(CWschedulerID);
TD_SIGFOX_Send((uint8_t *)"CW mode",7,2);
while(1) {
TD_SIGFOX_SendTestPA(0, 4, 127, 868130000);
}
}
I did as you told me to. What seems to be the problem then?
Regards,
PS:
CWschedulerID is the ID of a scheduler calling a function checking if CW mode has been requested.
Re: CW mode (TD1204 / TD1208)
Posted: Mon Feb 01, 2016 4:14 pm
by lcheminade
Is your scheduler callback called in interrupt? Could you please PM the full code?