X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=blobdiff_plain;f=src%2Fstm-flash%2Fao_stm_flash.c;h=f85807350763628f596958f401dba528951e3bfc;hp=df06bb098accb473efa3d12e8723448ee9c262ee;hb=b131c5ac59bbd339a724892586023a43f97c7f90;hpb=afad5ae893a48785f3b50ff4125dc78648343a2d diff --git a/src/stm-flash/ao_stm_flash.c b/src/stm-flash/ao_stm_flash.c index df06bb09..f8580735 100644 --- a/src/stm-flash/ao_stm_flash.c +++ b/src/stm-flash/ao_stm_flash.c @@ -30,8 +30,11 @@ void ao_put_string(__code char *s) { char c; - while ((c = *s++)) - putchar(c); + while ((c = *s++)) { + if (c == '\n') + ao_usb_putchar('\r'); + ao_usb_putchar(c); + } } void @@ -47,7 +50,7 @@ ao_get_hex32(void) uint32_t v = 0; for (;;) { - n = getchar(); + n = ao_usb_getchar(); if (n != ' ') break; } @@ -61,7 +64,7 @@ ao_get_hex32(void) else break; v = (v << 4) | n; - n = getchar(); + n = ao_usb_getchar(); } return v; } @@ -91,7 +94,7 @@ ao_block_write(void) return; } for (i = 0; i < 256; i++) - u.data8[i] = getchar(); + u.data8[i] = ao_usb_getchar(); ao_flash_page(p, u.data32); } @@ -105,23 +108,25 @@ ao_block_read(void) for (i = 0; i < 256; i++) { c = *p++; - putchar(c); + ao_usb_putchar(c); } } static void ao_show_version(void) { - puts("altos-loader"); - ao_put_string("manufacturer "); puts(ao_manufacturer); - ao_put_string("product "); puts(ao_product); - ao_put_string("software-version "); puts(ao_version); + ao_put_string("altos-loader"); + ao_put_string("\nmanufacturer "); ao_put_string(ao_manufacturer); + ao_put_string("\nproduct "); ao_put_string(ao_product); + ao_put_string("\nsoftware-version "); ao_put_string(ao_version); + ao_put_string("\n"); } static void ao_flash_task(void) { for (;;) { - switch (getchar()) { + ao_usb_flush(); + switch (ao_usb_getchar()) { case 'v': ao_show_version(); break; case 'a': ao_application(); break; case 'X': ao_block_erase(); break;