Dependencies: BLE_API mbed nRF51822 nRF51_Vdd
Please refer follows.
/users/kenjiArai/code/debug_tools/
/users/kenjiArai/notebook/ble--tytaiyo-yuden-module-for-mbed/
Diff: debug_tools/debug_lpc1768.cpp
- Revision:
- 0:08c935d6c28f
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/debug_tools/debug_lpc1768.cpp Tue Feb 09 11:43:18 2016 +0000 @@ -0,0 +1,220 @@ +/* + * mbed Application program + * + * Copyright (c) 2010-2014 Kenji Arai / JH1PJL + * http://www.page.sannet.ne.jp/kenjia/index.html + * http://mbed.org/users/kenjiArai/ + * Created: May 15th, 2010 + * Spareted: June 25th, 2014 mon() & mon_hw() + * Ported: September 22nd, 2014 from L152RE, LP1114 + * changed: October 15th, 2014 mon.cpp to debug_xxx.cpp + * Revised: Nobember 2nd, 2014 + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, + * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE + * AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ + +#if defined(TARGET_LPC1768) + +// Include --------------------------------------------------------------------------------------- +#include "mbed.h" +#include "debug_common.h" + +// Object ---------------------------------------------------------------------------------------- +DigitalOut myled1(LED1); +DigitalOut myled2(LED2); +DigitalOut myled3(LED3); +DigitalOut myled4(LED4); + +// Definition ------------------------------------------------------------------------------------ + +// RAM ------------------------------------------------------------------------------------------- + +// ROM / Constant data --------------------------------------------------------------------------- + +// Function prototypes --------------------------------------------------------------------------- +extern void cpu_inf (void); + +//------------------------------------------------------------------------------------------------- +// Control Program +//------------------------------------------------------------------------------------------------- +// Help Massage +void msg_hlp (void) +{ + PRINTF(mon_msg); + put_rn(); + PRINTF("1 - goto step1 -> no connection all pins"); + put_rn(); + PRINTF("2 - goto step2 -> connects pin_x and pin_y"); + put_rn(); + PRINTF("t - Check and set RTC"); + put_rn(); + PRINTF("x - Goto HW monitor"); + put_rn(); + PRINTF("q - Return to main"); + put_rn(); +} + +// ---------- Program starts here! --------------------------------------------------------------- +void debug_interface(void) +{ + char c; + char *ptr; + uint8_t quitflag; + + BAUD(BAUD_RATE); + put_rn(); + put_rn(); + PRINTF("%s [Help:'?' key]", mon_msg); + put_rn(); + get_freq(0); + for (;;) { + put_r(); + PUTC('>'); + ptr = linebuf; + get_line(ptr, sizeof(linebuf)); + switch (*ptr++) { + //--------------------------------------------------------------------------------- + // Debug Step1 + //--------------------------------------------------------------------------------- + case '1' : + put_r(); + PRINTF("Enter Step1: no connection all pins"); + put_rn(); + quitflag = 0; + for (; quitflag != 0xff;) { + PRINTF("1>"); + ptr = linebuf; + get_line(ptr, buf_size); + put_r(); + switch(*ptr++) { + case 'l' : + myled1 = 1; + wait(0.1); + myled1 = 0; + myled2 = 1; + wait(0.1); + myled2 = 0; + myled3 = 1; + wait(0.1); + myled3 = 0; + myled4 = 1; + wait(0.1); + myled4 = 0; + myled1 = 1; + wait(0.2); + myled2 = 1; + wait(0.2); + myled3 = 1; + wait(0.2); + myled4 = 1; + PRINTF("Is LED on? -> enter y/n"); + put_rn(); + c = GETC(); + if (c == 'y') { + PRINTF("Okay"); + } else { + PRINTF("Are you sure? Check again!"); + for (c = 0; c < 10; c++) { + myled1 = !myled1; + wait(0.1); + myled2 = !myled2; + wait(0.1); + myled3 = !myled3; + wait(0.1); + myled4 = !myled4; + wait(0.1); + } + myled1 = 1; + myled2 = 1; + myled3 = 1; + myled4 = 1; + put_rn(); + PRINTF("Is LED on? -> enter y/n"); + put_rn(); + c = GETC(); + if (c == 'y') { + PRINTF("Looks okay"); + } else { + PRINTF("Please check LED line"); + } + } + put_rn(); + myled1 = 0; + myled2 = 0; + myled3 = 0; + myled4 = 0; + break; + case 's' : + PRINTF("----- CPU CLOCK Information -----"); + put_rn(); + get_freq(1); + PRINTF("----- CPU TYPE Information ------"); + put_rn(); + cpu_inf(); + break; + case '?' : + PRINTF("l - Check LED"); + put_rn(); + PRINTF("s - CPU system info & clock"); + put_rn(); + PRINTF("q - Return to all mode"); + put_rn(); + PRINTF("? - You know this"); + put_rn(); + break; + case 'q' : // quit + PRINTF("Back to all mode"); + quitflag = 0xff; + break; + default: + PUTC('?'); + put_rn(); + } + } + put_rn(); + break; + //--------------------------------------------------------------------------------- + // check and set RTC + //--------------------------------------------------------------------------------- + case 't' : + put_r(); + chk_and_set_time(ptr); + break; + //--------------------------------------------------------------------------------- + // help + //--------------------------------------------------------------------------------- + case '?' : + put_r(); + msg_hlp(); + break; + //--------------------------------------------------------------------------------- + // Go to special command + //--------------------------------------------------------------------------------- + case 'x' : + mon_hw(); + PRINTF("->Came back monitor\r\n"); + break; + //--------------------------------------------------------------------------------- + // Go back to main() + //--------------------------------------------------------------------------------- + case 'q' : // Quit + PRINTF("\rReturn to main\r\n"); + //PRINTF("cannot control anymore from here\r\n"); + return; + //--------------------------------------------------------------------------------- + // no support + //--------------------------------------------------------------------------------- + default: + put_r(); + PUTC('?'); + put_rn(); + break; + } + } +} + +#endif // defined(TARGET_LPC1768)