#include "platform.h"
#include "monitor.h"
#include "builddate.h"
+#if (platform == tilaunchpad)
+#include <setjmp.h>
+extern jmp_buf warmstart;
+
+#endif
#define MONITOR_APP
//! Handles a monitor command.
void monitor_handle_fn(uint8_t const app,
- uint8_t const verb,
- uint32_t const len)
+ uint8_t const verb,
+ uint32_t const len)
{
int i;
break;
case MONITOR_ECHO:
- //Echo back the same buffer.
- txdata(app,verb,len);
- break;
+ //Echo back the same buffer.
+ txdata(app,verb,len);
+ break;
case MONITOR_LIST_APPS:
// transmit firmware build date
cmddata[0]=memorybyte[cmddataword[0]];
#else
debugstr("Monitor peeks are unsupported on this platform.");
+ debughex(cmddataword[0]);
+ cmddata[0]=0x00;
#endif
txdata(app,verb,1);
break;
cmddata[0] = memorybyte[cmddataword[0]];
#else
debugstr("Monitor pokes are unsupported on this platform.");
+ debughex(cmddataword[0]);
+ cmddata[0]=0x00;
#endif
txdata(app,verb,1);
break;
break;
case MONITOR_DIR:
- //P5DIR=cmddata[0];
- debugstr("Command deprecated.");
- txdata(app,verb,1);
- break;
-
case MONITOR_IN:
- //cmddata[0]=P5IN;
- debugstr("Command deprecated.");
- txdata(app,verb,1);
- break;
-
case MONITOR_OUT:
- //P5OUT=cmddata[0];
debugstr("Command deprecated.");
txdata(app,verb,1);
break;
-
+
case MONITOR_SILENT:
- silent=cmddata[0];
- txdata(app,verb,1);
- break;
+ silent=cmddata[0];
+ txdata(app,verb,1);
+ break;
case MONITOR_CONNECTED:
#ifdef MSP430
#endif
txdata(app,verb,0);
break;
+
+ case MONITOR_LEDTEST:
+ //debugstr("Enter LEDTEST.");
+ i = 0;
+ #ifdef PLEDOUT
+ i++;
+ led_init();
+ led_on();
+ msdelay(5000);
+ led_off();
+ #endif
+ #ifdef PLED2OUT
+ i++;
+ led2_on();
+ msdelay(5000);
+ led2_off();
+ #endif
+ #ifdef PLED3OUT
+ i++;
+ led3_on();
+ msdelay(5000);
+ led3_off();
+ #endif
+ cmddata[0] = i; //Return number of LEDs that we flashed.
+ txdata(app,verb,1);
+ break;
+
}
}
}
txdata(0x00,0x90,0);
+#if (platform == tilaunchpad)
+ longjmp(warmstart,1);
+#else
//Reboot
#ifdef MSP430
asm("br &0xfffe");
#endif
+#endif
}
//! Return the number of contiguous bytes 0xBEEF, to measure RAM usage.