Dependencies: BLE_API mbed nRF51822 nRF51_Vdd
Please refer follows.
/users/kenjiArai/code/debug_tools/
/users/kenjiArai/notebook/ble--tytaiyo-yuden-module-for-mbed/
debug_tools/debug_lpc1768.cpp@4:36ad7c7d0400, 2016-02-14 (annotated)
- 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?
User | Revision | Line number | New 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) |