Dependencies:   BLE_API mbed nRF51822 nRF51_Vdd

Please refer follows.
/users/kenjiArai/code/debug_tools/
/users/kenjiArai/notebook/ble--tytaiyo-yuden-module-for-mbed/

Committer:
kenjiArai
Date:
Sun Feb 14 21:55:30 2016 +0000
Revision:
4:36ad7c7d0400
Parent:
0:08c935d6c28f
added some new functions

Who changed what in which revision?

UserRevisionLine numberNew contents of line
kenjiArai 0:08c935d6c28f 1 /*
kenjiArai 0:08c935d6c28f 2 * mbed Application program
kenjiArai 0:08c935d6c28f 3 *
kenjiArai 0:08c935d6c28f 4 * Copyright (c) 2010-2014 Kenji Arai / JH1PJL
kenjiArai 0:08c935d6c28f 5 * http://www.page.sannet.ne.jp/kenjia/index.html
kenjiArai 0:08c935d6c28f 6 * http://mbed.org/users/kenjiArai/
kenjiArai 0:08c935d6c28f 7 * Created: May 15th, 2010
kenjiArai 0:08c935d6c28f 8 * Spareted: June 25th, 2014 mon() & mon_hw()
kenjiArai 0:08c935d6c28f 9 * Ported: September 22nd, 2014 from L152RE, LP1114
kenjiArai 0:08c935d6c28f 10 * changed: October 15th, 2014 mon.cpp to debug_xxx.cpp
kenjiArai 0:08c935d6c28f 11 * Revised: Nobember 2nd, 2014
kenjiArai 0:08c935d6c28f 12 *
kenjiArai 0:08c935d6c28f 13 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
kenjiArai 0:08c935d6c28f 14 * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE
kenjiArai 0:08c935d6c28f 15 * AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
kenjiArai 0:08c935d6c28f 16 * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
kenjiArai 0:08c935d6c28f 17 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
kenjiArai 0:08c935d6c28f 18 */
kenjiArai 0:08c935d6c28f 19
kenjiArai 0:08c935d6c28f 20 #if defined(TARGET_LPC1768)
kenjiArai 0:08c935d6c28f 21
kenjiArai 0:08c935d6c28f 22 // Include ---------------------------------------------------------------------------------------
kenjiArai 0:08c935d6c28f 23 #include "mbed.h"
kenjiArai 0:08c935d6c28f 24 #include "debug_common.h"
kenjiArai 0:08c935d6c28f 25
kenjiArai 0:08c935d6c28f 26 // Object ----------------------------------------------------------------------------------------
kenjiArai 0:08c935d6c28f 27 DigitalOut myled1(LED1);
kenjiArai 0:08c935d6c28f 28 DigitalOut myled2(LED2);
kenjiArai 0:08c935d6c28f 29 DigitalOut myled3(LED3);
kenjiArai 0:08c935d6c28f 30 DigitalOut myled4(LED4);
kenjiArai 0:08c935d6c28f 31
kenjiArai 0:08c935d6c28f 32 // Definition ------------------------------------------------------------------------------------
kenjiArai 0:08c935d6c28f 33
kenjiArai 0:08c935d6c28f 34 // RAM -------------------------------------------------------------------------------------------
kenjiArai 0:08c935d6c28f 35
kenjiArai 0:08c935d6c28f 36 // ROM / Constant data ---------------------------------------------------------------------------
kenjiArai 0:08c935d6c28f 37
kenjiArai 0:08c935d6c28f 38 // Function prototypes ---------------------------------------------------------------------------
kenjiArai 0:08c935d6c28f 39 extern void cpu_inf (void);
kenjiArai 0:08c935d6c28f 40
kenjiArai 0:08c935d6c28f 41 //-------------------------------------------------------------------------------------------------
kenjiArai 0:08c935d6c28f 42 // Control Program
kenjiArai 0:08c935d6c28f 43 //-------------------------------------------------------------------------------------------------
kenjiArai 0:08c935d6c28f 44 // Help Massage
kenjiArai 0:08c935d6c28f 45 void msg_hlp (void)
kenjiArai 0:08c935d6c28f 46 {
kenjiArai 0:08c935d6c28f 47 PRINTF(mon_msg);
kenjiArai 0:08c935d6c28f 48 put_rn();
kenjiArai 0:08c935d6c28f 49 PRINTF("1 - goto step1 -> no connection all pins");
kenjiArai 0:08c935d6c28f 50 put_rn();
kenjiArai 0:08c935d6c28f 51 PRINTF("2 - goto step2 -> connects pin_x and pin_y");
kenjiArai 0:08c935d6c28f 52 put_rn();
kenjiArai 0:08c935d6c28f 53 PRINTF("t - Check and set RTC");
kenjiArai 0:08c935d6c28f 54 put_rn();
kenjiArai 0:08c935d6c28f 55 PRINTF("x - Goto HW monitor");
kenjiArai 0:08c935d6c28f 56 put_rn();
kenjiArai 0:08c935d6c28f 57 PRINTF("q - Return to main");
kenjiArai 0:08c935d6c28f 58 put_rn();
kenjiArai 0:08c935d6c28f 59 }
kenjiArai 0:08c935d6c28f 60
kenjiArai 0:08c935d6c28f 61 // ---------- Program starts here! ---------------------------------------------------------------
kenjiArai 0:08c935d6c28f 62 void debug_interface(void)
kenjiArai 0:08c935d6c28f 63 {
kenjiArai 0:08c935d6c28f 64 char c;
kenjiArai 0:08c935d6c28f 65 char *ptr;
kenjiArai 0:08c935d6c28f 66 uint8_t quitflag;
kenjiArai 0:08c935d6c28f 67
kenjiArai 0:08c935d6c28f 68 BAUD(BAUD_RATE);
kenjiArai 0:08c935d6c28f 69 put_rn();
kenjiArai 0:08c935d6c28f 70 put_rn();
kenjiArai 0:08c935d6c28f 71 PRINTF("%s [Help:'?' key]", mon_msg);
kenjiArai 0:08c935d6c28f 72 put_rn();
kenjiArai 0:08c935d6c28f 73 get_freq(0);
kenjiArai 0:08c935d6c28f 74 for (;;) {
kenjiArai 0:08c935d6c28f 75 put_r();
kenjiArai 0:08c935d6c28f 76 PUTC('>');
kenjiArai 0:08c935d6c28f 77 ptr = linebuf;
kenjiArai 0:08c935d6c28f 78 get_line(ptr, sizeof(linebuf));
kenjiArai 0:08c935d6c28f 79 switch (*ptr++) {
kenjiArai 0:08c935d6c28f 80 //---------------------------------------------------------------------------------
kenjiArai 0:08c935d6c28f 81 // Debug Step1
kenjiArai 0:08c935d6c28f 82 //---------------------------------------------------------------------------------
kenjiArai 0:08c935d6c28f 83 case '1' :
kenjiArai 0:08c935d6c28f 84 put_r();
kenjiArai 0:08c935d6c28f 85 PRINTF("Enter Step1: no connection all pins");
kenjiArai 0:08c935d6c28f 86 put_rn();
kenjiArai 0:08c935d6c28f 87 quitflag = 0;
kenjiArai 0:08c935d6c28f 88 for (; quitflag != 0xff;) {
kenjiArai 0:08c935d6c28f 89 PRINTF("1>");
kenjiArai 0:08c935d6c28f 90 ptr = linebuf;
kenjiArai 0:08c935d6c28f 91 get_line(ptr, buf_size);
kenjiArai 0:08c935d6c28f 92 put_r();
kenjiArai 0:08c935d6c28f 93 switch(*ptr++) {
kenjiArai 0:08c935d6c28f 94 case 'l' :
kenjiArai 0:08c935d6c28f 95 myled1 = 1;
kenjiArai 0:08c935d6c28f 96 wait(0.1);
kenjiArai 0:08c935d6c28f 97 myled1 = 0;
kenjiArai 0:08c935d6c28f 98 myled2 = 1;
kenjiArai 0:08c935d6c28f 99 wait(0.1);
kenjiArai 0:08c935d6c28f 100 myled2 = 0;
kenjiArai 0:08c935d6c28f 101 myled3 = 1;
kenjiArai 0:08c935d6c28f 102 wait(0.1);
kenjiArai 0:08c935d6c28f 103 myled3 = 0;
kenjiArai 0:08c935d6c28f 104 myled4 = 1;
kenjiArai 0:08c935d6c28f 105 wait(0.1);
kenjiArai 0:08c935d6c28f 106 myled4 = 0;
kenjiArai 0:08c935d6c28f 107 myled1 = 1;
kenjiArai 0:08c935d6c28f 108 wait(0.2);
kenjiArai 0:08c935d6c28f 109 myled2 = 1;
kenjiArai 0:08c935d6c28f 110 wait(0.2);
kenjiArai 0:08c935d6c28f 111 myled3 = 1;
kenjiArai 0:08c935d6c28f 112 wait(0.2);
kenjiArai 0:08c935d6c28f 113 myled4 = 1;
kenjiArai 0:08c935d6c28f 114 PRINTF("Is LED on? -> enter y/n");
kenjiArai 0:08c935d6c28f 115 put_rn();
kenjiArai 0:08c935d6c28f 116 c = GETC();
kenjiArai 0:08c935d6c28f 117 if (c == 'y') {
kenjiArai 0:08c935d6c28f 118 PRINTF("Okay");
kenjiArai 0:08c935d6c28f 119 } else {
kenjiArai 0:08c935d6c28f 120 PRINTF("Are you sure? Check again!");
kenjiArai 0:08c935d6c28f 121 for (c = 0; c < 10; c++) {
kenjiArai 0:08c935d6c28f 122 myled1 = !myled1;
kenjiArai 0:08c935d6c28f 123 wait(0.1);
kenjiArai 0:08c935d6c28f 124 myled2 = !myled2;
kenjiArai 0:08c935d6c28f 125 wait(0.1);
kenjiArai 0:08c935d6c28f 126 myled3 = !myled3;
kenjiArai 0:08c935d6c28f 127 wait(0.1);
kenjiArai 0:08c935d6c28f 128 myled4 = !myled4;
kenjiArai 0:08c935d6c28f 129 wait(0.1);
kenjiArai 0:08c935d6c28f 130 }
kenjiArai 0:08c935d6c28f 131 myled1 = 1;
kenjiArai 0:08c935d6c28f 132 myled2 = 1;
kenjiArai 0:08c935d6c28f 133 myled3 = 1;
kenjiArai 0:08c935d6c28f 134 myled4 = 1;
kenjiArai 0:08c935d6c28f 135 put_rn();
kenjiArai 0:08c935d6c28f 136 PRINTF("Is LED on? -> enter y/n");
kenjiArai 0:08c935d6c28f 137 put_rn();
kenjiArai 0:08c935d6c28f 138 c = GETC();
kenjiArai 0:08c935d6c28f 139 if (c == 'y') {
kenjiArai 0:08c935d6c28f 140 PRINTF("Looks okay");
kenjiArai 0:08c935d6c28f 141 } else {
kenjiArai 0:08c935d6c28f 142 PRINTF("Please check LED line");
kenjiArai 0:08c935d6c28f 143 }
kenjiArai 0:08c935d6c28f 144 }
kenjiArai 0:08c935d6c28f 145 put_rn();
kenjiArai 0:08c935d6c28f 146 myled1 = 0;
kenjiArai 0:08c935d6c28f 147 myled2 = 0;
kenjiArai 0:08c935d6c28f 148 myled3 = 0;
kenjiArai 0:08c935d6c28f 149 myled4 = 0;
kenjiArai 0:08c935d6c28f 150 break;
kenjiArai 0:08c935d6c28f 151 case 's' :
kenjiArai 0:08c935d6c28f 152 PRINTF("----- CPU CLOCK Information -----");
kenjiArai 0:08c935d6c28f 153 put_rn();
kenjiArai 0:08c935d6c28f 154 get_freq(1);
kenjiArai 0:08c935d6c28f 155 PRINTF("----- CPU TYPE Information ------");
kenjiArai 0:08c935d6c28f 156 put_rn();
kenjiArai 0:08c935d6c28f 157 cpu_inf();
kenjiArai 0:08c935d6c28f 158 break;
kenjiArai 0:08c935d6c28f 159 case '?' :
kenjiArai 0:08c935d6c28f 160 PRINTF("l - Check LED");
kenjiArai 0:08c935d6c28f 161 put_rn();
kenjiArai 0:08c935d6c28f 162 PRINTF("s - CPU system info & clock");
kenjiArai 0:08c935d6c28f 163 put_rn();
kenjiArai 0:08c935d6c28f 164 PRINTF("q - Return to all mode");
kenjiArai 0:08c935d6c28f 165 put_rn();
kenjiArai 0:08c935d6c28f 166 PRINTF("? - You know this");
kenjiArai 0:08c935d6c28f 167 put_rn();
kenjiArai 0:08c935d6c28f 168 break;
kenjiArai 0:08c935d6c28f 169 case 'q' : // quit
kenjiArai 0:08c935d6c28f 170 PRINTF("Back to all mode");
kenjiArai 0:08c935d6c28f 171 quitflag = 0xff;
kenjiArai 0:08c935d6c28f 172 break;
kenjiArai 0:08c935d6c28f 173 default:
kenjiArai 0:08c935d6c28f 174 PUTC('?');
kenjiArai 0:08c935d6c28f 175 put_rn();
kenjiArai 0:08c935d6c28f 176 }
kenjiArai 0:08c935d6c28f 177 }
kenjiArai 0:08c935d6c28f 178 put_rn();
kenjiArai 0:08c935d6c28f 179 break;
kenjiArai 0:08c935d6c28f 180 //---------------------------------------------------------------------------------
kenjiArai 0:08c935d6c28f 181 // check and set RTC
kenjiArai 0:08c935d6c28f 182 //---------------------------------------------------------------------------------
kenjiArai 0:08c935d6c28f 183 case 't' :
kenjiArai 0:08c935d6c28f 184 put_r();
kenjiArai 0:08c935d6c28f 185 chk_and_set_time(ptr);
kenjiArai 0:08c935d6c28f 186 break;
kenjiArai 0:08c935d6c28f 187 //---------------------------------------------------------------------------------
kenjiArai 0:08c935d6c28f 188 // help
kenjiArai 0:08c935d6c28f 189 //---------------------------------------------------------------------------------
kenjiArai 0:08c935d6c28f 190 case '?' :
kenjiArai 0:08c935d6c28f 191 put_r();
kenjiArai 0:08c935d6c28f 192 msg_hlp();
kenjiArai 0:08c935d6c28f 193 break;
kenjiArai 0:08c935d6c28f 194 //---------------------------------------------------------------------------------
kenjiArai 0:08c935d6c28f 195 // Go to special command
kenjiArai 0:08c935d6c28f 196 //---------------------------------------------------------------------------------
kenjiArai 0:08c935d6c28f 197 case 'x' :
kenjiArai 0:08c935d6c28f 198 mon_hw();
kenjiArai 0:08c935d6c28f 199 PRINTF("->Came back monitor\r\n");
kenjiArai 0:08c935d6c28f 200 break;
kenjiArai 0:08c935d6c28f 201 //---------------------------------------------------------------------------------
kenjiArai 0:08c935d6c28f 202 // Go back to main()
kenjiArai 0:08c935d6c28f 203 //---------------------------------------------------------------------------------
kenjiArai 0:08c935d6c28f 204 case 'q' : // Quit
kenjiArai 0:08c935d6c28f 205 PRINTF("\rReturn to main\r\n");
kenjiArai 0:08c935d6c28f 206 //PRINTF("cannot control anymore from here\r\n");
kenjiArai 0:08c935d6c28f 207 return;
kenjiArai 0:08c935d6c28f 208 //---------------------------------------------------------------------------------
kenjiArai 0:08c935d6c28f 209 // no support
kenjiArai 0:08c935d6c28f 210 //---------------------------------------------------------------------------------
kenjiArai 0:08c935d6c28f 211 default:
kenjiArai 0:08c935d6c28f 212 put_r();
kenjiArai 0:08c935d6c28f 213 PUTC('?');
kenjiArai 0:08c935d6c28f 214 put_rn();
kenjiArai 0:08c935d6c28f 215 break;
kenjiArai 0:08c935d6c28f 216 }
kenjiArai 0:08c935d6c28f 217 }
kenjiArai 0:08c935d6c28f 218 }
kenjiArai 0:08c935d6c28f 219
kenjiArai 0:08c935d6c28f 220 #endif // defined(TARGET_LPC1768)