Hi Everyone,
I'm using Z-stack 1.4.2 1.1.0 with the evaluation kit. I'm just trying to program my end device to enter in DEEP sleep mode. I've already followed the instruccions in Power Management documentation but I can only get what it feels like LITE sleep.
The thing is although I'm setting poll rate to 0, it still recieves every message that I send to it, and in DEEP sleep mode it should'n happen.
Any clue?
Hi I am using SmartRF05 EB with CC2530 CC2530ZDK_EM .
I am trying to implement TIMAC on CC2530 with lowest power option. Problem is that when i am making
#define MSA_KEY_INT_ENABLED TRUE // Changed to TRUE from false to avoid polling. in msa.h
it is going for sleep but without pressing any keys (without touching the Joy stick) it is taking interrupt and it stops posting data. When again i am pressing sw2(Joy stick position 2) it starts sending data and after sending 2-3 packets it stops again. I mean to say it is taking interrupt without pressing any keys.
I removed the CC2530 EM from RF05EB and just supplied power through connecting through burg stick to power supply it is not at all sending any data.
I tried to disbale keys and without key press i want to send data to avoid this .
When I am making change in hal_board_cfg.h to disable keys
#ifndef HAL_KEY#define HAL_KEY FALSE //TRUE To disable the keys#endif
The red LED blinks and it never sends any data.
Please Help me in this regard
Very helpfule! thanks Kjetil and guys very much!
I got the same problem and very desperate.
You guys helped me well!
thanks again!
:)
Hi, I'm using TIMAC to send the data to co-ordinator at regular interval ( once in an hour ), so my end device has to send the data to co-ordinator and go back to sleep and needs to wake up at after 1 hr . I'm using hal_sleep(10000) fun to send this to sleep. its going to sleep but the problem when its in sleep mode voltage on the I/0 pins are high only and LED is also ON..
Hi,
I'm using TIMAC to send the data to co-ordinator at regular interval ( once in an hour ), so my end device has to send the data to co-ordinator and go back to sleep and needs to wake up at after 1 hr . I'm using hal_sleep(10000) fun to send this to sleep. its going to sleep but the problem when its in sleep mode voltage on the I/0 pins are high only and LED is also ON..
When I send to sleep mode it should be switch off all I/O pins led etc , since I want send it in Power mode 2(i.e except sleep timer evrry thing should be OFF , according to data sheet) .
And in data sheet it shows that when it goes to sleep mode it should consume only 0.2micro to 0.3micro amps but my EM device is consuming 2mA when its in sleepmode .
How to send this to powermode 2 properly ..? How to switch of the digital regulator ?
regards
chethan
Hi everyone,
after an hard work of some moths we discovered the trick to make a low power application, so the CC2430 or CC2530 can enter in a deep sleep mode ( PM2).
Before the sleep procedure is necessary set the MAC_RX_ON_WHEN_IDLE to False and after the sleep period set this to True, so:
MAC_MlmeSetReq(MAC_RX_ON_WHEN_IDLE, &MACTrue); // set True after the sleep procedure
MAC_MlmeSetReq(MAC_RX_ON_WHEN_IDLE, &MACFalse); // set False before the sleep procedure so the chip can enter in PM2
I use a function that call theese sets and the chip works ok.
Regards,
Emanuele Tavelli
After including these function only its going to sleep , . My worry is , it is consuming 2mA current when it's in sleep ,according to data sheet when its sleep mode(POWER MODE2) it should not consume more than 0.3mA ,. Have you checked the current consuption of your board ..?
I am using CC2430 and zstack. In my application, I put a osal_set_event(Hal_TaskID, HAL_ADXL345_INT1_EVENT) in the halProcessKeyInterrupt(). This interrupt pin is also in Port 0 so I wrote all those functions along with the key functions.
In the Hal_ProcessEvent() in hal_drivers.c, I have:
if (events & HAL_ADXL345_INT1_EVENT) { ADXL345_Int1_Hdlr(); return events ^ HAL_ADXL345_INT1_EVENT; }
I did not want the ADXL345_Int1_Hdlr() to be inside the ISR as this function will take a bit long. That is why I used osal_set_event to let this function run outside the ISR. However, I found that CC2430 went back to the sleep mode right after the ISR. ADXL345_Int1_Hdlr() function is only called after the next wake up, which is equal to the POLL_RATE = 5 seconds later.
I even tried to add a osal_pwrmgr_task_state( Hal_TaskID, PWRMGR_HOLD ) in the halProcessKeyInterrupt() to purposely stop CC2430 from sleeping but that does not seem to work.
In my opinion, once I set an event to Hal_TaskID, CC2430 shouldn't go back to sleep before I finishes all pending tasks in the OS. How could this happen?
I really appreciate if someone could help me on this. I spent a whole day and still have no clue.
Yuan Jian
I figured out the problem myself. Pls see this post for the reason:http://e2e.ti.com/support/low_power_rf/f/155/t/168495.aspx#617456