| Author |
Message |
|
|
Posted: Mar 16, 2011 - 01:40 PM |
|


Joined: Oct 28, 2009
Posts: 179
|
|
Here it is:
Quote:
-------Application cleaning------------------------
rm -rf ./objs/WSNCoord.o ./objs/WSNDemoApp.o ./objs/WSNEndDevice.o ./objs/WSNRouter.o ./objs/WSNSENSORMANAGER.C ./objs/WSNUARTManager.o ./objs/WSNVisualizer.o ./objs/WSNZclManager.o ./list/*.* WSNDemoApp.elf WSNDemoApp.hex WSNDemoApp.srec WSNDemoApp.bin
make clean -C ../../BitCloud/Components/./PersistDataServer
make[1]: Entering directory `E:/TESTING/RAVEN_1/BitCloud/Components/PersistDataServer'
----------------------------------------------------
Persist Data Server component cleaning.
----------------------------------------------------
rm -f ./objs/pdsDataServer.o ./objs/pdsWriteData.o ./objs/pdsCrcService.o ./lib/libPersistDataServer.a ./list/*.*
make[1]: Leaving directory `E:/TESTING/RAVEN_1/BitCloud/Components/PersistDataServer'
make clean -C ../../BitCloud/Components/./ConfigServer
make[1]: Entering directory `E:/TESTING/RAVEN_1/BitCloud/Components/ConfigServer'
----------------------------------------------------
Config Server component cleaning.
----------------------------------------------------
rm -f ./objs/configServer.o ./lib/libConfigServer.a ./list/*.*
make[1]: Leaving directory `E:/TESTING/RAVEN_1/BitCloud/Components/ConfigServer'
make clean -C ../../BitCloud/Components/./BSP
make[1]: Entering directory `E:/TESTING/RAVEN_1/BitCloud/Components/BSP'
----------------------------------------------------
Board Support component cleaning.
----------------------------------------------------
rm -f ./RAVEN/objs/lcd.o ./RAVEN/objs/bspTaskManager.o ./RAVEN/objs/joystik.o ./RAVEN/objs/sipc.o ./RAVEN/objs/sensors.o ./RAVEN/objs/buttons.o ./lib/libBSPRaven.a ./list/*.*
make[1]: Leaving directory `E:/TESTING/RAVEN_1/BitCloud/Components/BSP'
Build succeeded with 0 Warnings...
|
|
|
| |
|
|
|
|
|
Posted: Mar 16, 2011 - 01:44 PM |
|


Joined: Apr 15, 2009
Posts: 4861
Location: San Jose, CA
|
|
| This is an output of "make clean", I need an output of "make clean all" in the case where this problem is reproduced. |
|
|
| |
|
|
|
|
|
Posted: Mar 16, 2011 - 01:55 PM |
|


Joined: Oct 28, 2009
Posts: 179
|
|
| my mistake, the attached file shows the "make clean all" output. |
|
|
| |
|
|
|
|
|
Posted: Mar 16, 2011 - 02:10 PM |
|


Joined: Apr 15, 2009
Posts: 4861
Location: San Jose, CA
|
|
| From this line
Code:
rm -rf ./objs/WSNCoord.o ./objs/WSNDemoApp.o ./objs/WSNEndDevice.o ./objs/WSNRouter.o ./objs/WSNSENSORMANAGER.C ./objs/WSNUARTManager.o
I see that WSNSENSORMANAGER.C is included in the list of objects.
Do you know exact change that leads to such result? |
|
|
| |
|
|
|
|
|
Posted: Mar 16, 2011 - 02:28 PM |
|


Joined: Oct 28, 2009
Posts: 179
|
|
I just made a change on that file, after the compile, the error message start poping up.
Now, reverted the change,"clean all" the error disappear, after that, I change wsnroutermanager back and everything fine.
If I was wrong modifying WSNSENSORMANAGER.C let me know, maybe the way I did it.
regards. |
|
|
| |
|
|
|
|
|
Posted: Mar 16, 2011 - 02:33 PM |
|


Joined: Apr 15, 2009
Posts: 4861
Location: San Jose, CA
|
|
|
troyka wrote:
I just made a change on that file, after the compile, the error message start poping up.
What change exactly? |
|
|
| |
|
|
|
|
|
Posted: Mar 16, 2011 - 02:53 PM |
|


Joined: Oct 28, 2009
Posts: 179
|
|
|
Code:
static void temperatureDataReady(bool result, int16_t temperature)
{
//save sensor data
if (result){
temperature = 88;
appMessage.data.meshbean.temperature = temperature;
}
// appMessage.data.meshbean.temperature = CPU_TO_LE32(temperature);
else
appMessage.data.meshbean.temperature = CPU_TO_LE32(0);
#ifdef _LIGHT_SENSOR_
assert(BC_SUCCESS == BSP_ReadLightData(lightDataReady), 0xf002);
#else
lightDataReady(false, 0);
#endif //_LIGHT_SENSOR_
}
I just want to be aware on the coordinator side about that "88" value of temperature.
I'm aware that the code will override all future temperature readings.It's just a test. |
|
|
| |
|
|
|
|
|
Posted: Mar 16, 2011 - 02:58 PM |
|


Joined: Apr 15, 2009
Posts: 4861
Location: San Jose, CA
|
|
| Are you sure you haven't changed Makefile by any chance? I really looks like error is there. |
|
|
| |
|
|
|
|
|
Posted: Mar 16, 2011 - 03:08 PM |
|


Joined: Oct 28, 2009
Posts: 179
|
|
No, I never touched Makefile, just working on the code.
This is the third time I see this error.
The last two times was always changing some part of the code, one after modify WSNvisualizaer.c, lighting the raven led, and the other one after added inside the states: APP_INITING_STATE\APP_PROCESS:
Code:
#ifdef _ROUTER_
BSP_OpenButtons(buttonsPressed, buttonsReleased);
#endif // _ROUTER_
|
|
|
| |
|
|
|
|
|
Posted: Mar 16, 2011 - 05:46 PM |
|


Joined: Oct 28, 2009
Posts: 179
|
|
one question:
I modified WSNdemo to accept interruptions (router side).
The interruption does the following:
Code:
extern AppMessageRequest_t appMessage;
int16_t temperature;
switch (buttonNumber){
case BSP_KEY0:
appSendLcdMsg("INT 0 ");
break;
case BSP_KEY1:
appSendLcdMsg("INT 1 ");
appSendLcdCmd(LCD_CMD_LED_OFF);
break;
case BSP_KEY2:
appSendLcdMsg("TOO HOT");
appSendLcdCmd(LCD_CMD_LED_ON);
temperature=88;
appMessage.data.meshbean.temperature = temperature;
break;
}
When Interruption BSP_KEY2 is generated, I see the led on and the message, but few seconds later, the router disapears from the wsnmonitor topology map. Immediately, after removed the interruption, appears again, and wsn monitor shows 88 on temp.
I think that the "brake" command from the interruption is not returning to the execution thread.
Could you give me your opinion? Thanks. |
|
|
| |
|
|
|
|
|
Posted: Mar 16, 2011 - 05:50 PM |
|


Joined: Apr 15, 2009
Posts: 4861
Location: San Jose, CA
|
|
|
troyka wrote:
No, I never touched Makefile, just working on the code.
Then I see no apparent connection between the error and what you are doing, your actions are perfectly valid. I guess you need to observe this for some time to see if you can find some pattern. |
|
|
| |
|
|
|
|
|
Posted: Mar 16, 2011 - 05:54 PM |
|


Joined: Apr 15, 2009
Posts: 4861
Location: San Jose, CA
|
|
|
troyka wrote:
I think that the "brake" command from the interruption is not returning to the execution thread.
Show complete code please, with all interrupt handlers, etc. It is hard to say anything meaningful from this code snippet. |
|
|
| |
|
|
|
|
|
Posted: Mar 16, 2011 - 06:12 PM |
|


Joined: Oct 28, 2009
Posts: 179
|
|
ok, it's attached the entire code...
Int 0 and INT 1 are not working.(so trying with INT 2)
and the problem is the hang-up on the interruption... |
|
|
| |
|
|
|
|
|
Posted: Mar 16, 2011 - 07:24 PM |
|


Joined: Apr 15, 2009
Posts: 4861
Location: San Jose, CA
|
|
| And files from BSP? There is nothing wrong with the code you've sent, apart from functions being placed in header files, of course. |
|
|
| |
|
|
|
|
|
Posted: Mar 16, 2011 - 08:48 PM |
|


Joined: Oct 28, 2009
Posts: 179
|
|
| I'm Attaching all the BSP folder to avoid forget any file... |
|
|
| |
|
|
|
|
|
Posted: Mar 17, 2011 - 06:29 AM |
|


Joined: Apr 15, 2009
Posts: 4861
Location: San Jose, CA
|
|
| I can't find anything wrong with the code, you'll have to debug it. |
|
|
| |
|
|
|
|
|
Posted: Mar 17, 2011 - 04:36 PM |
|


Joined: Oct 28, 2009
Posts: 179
|
|
ok, I'll do that.
My experience debugging consist on smaller assembler codes, I don't have experience doing debug on bitcloud.
In this case, what do you think about using avr studio simulator?
Looking on other threads, I found that you use the serial port and put on the execution thread outputs to that serial port....
Can I use this method on raven boards? The question is because (if I remember correctly) that the serial port is actually connected to the 3290. |
|
|
| |
|
|
|
|
|
Posted: Mar 17, 2011 - 04:54 PM |
|


Joined: Apr 15, 2009
Posts: 4861
Location: San Jose, CA
|
|
| I'd connect couple of LEDs to a free port and use them. It is simple and reliable. |
|
|
| |
|
|
|
|
|
Posted: Mar 17, 2011 - 05:04 PM |
|


Joined: Oct 28, 2009
Posts: 179
|
|
|
|
|
|
|
Posted: Mar 18, 2011 - 08:21 PM |
|


Joined: Oct 28, 2009
Posts: 179
|
|
on last code, I was sending a temperature = 88ยบ
now, on router side, if I do
Code:
void appCoordinatorTaskHandler(AppEvent_t event, void *param)
{
param = param; // warning prevention
switch (appDeviceState)
{ case SENDING_DEVICE_STATE:
switch (event)
{
case APP_PROCESS:
visualizeSerialTx();
if (appMessage.data.meshbean.temperature == 88){
visualizeTEMP88();
}
appSendMessageToUsart(&appMessage.data);
appDeviceState = STARTING_TIMER_STATE;
appPostSubTaskTask();
break;
I know that the value is arriving to the coordinator because I can see it on the graph of wsnmonitor.
The question is: on the transmission, is there any change of format to the field appMessage.data.meshbean.temperature ??
I can't find an explication to couldn't match temperature == 88
PD:
Code:
void visualizeTEMP88(void)
{
appToggleLed(LED_RED);
}
And the led red was removed from his previous functions. |
|
|
| |
|
|
|
|
|