Interactive MicroPython read-eval-print-loop See also the micropython library and its README file.
Dependencies: mbed micropython
This program needs the micropython library - see there for Getting Started information.
See the mbed MicroPython wiki for more information.
Diff: main.cpp
- Revision:
- 13:d8a89b43fe5b
- Parent:
- 9:195af29eef76
- Child:
- 15:0eb1e7e4152d
--- a/main.cpp Sat Apr 16 14:20:11 2016 +0100 +++ b/main.cpp Sat Apr 16 17:58:36 2016 +0100 @@ -1,3 +1,32 @@ +/* + * The MIT License (MIT) + * + * Copyright (c) 2016 Colin Hogben + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * 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. + */ + +/** + * A read-eval-print-loop for micropython on the mbed platform. + * + * The USB serial link is used. + */ #include "mbed.h" extern "C" { #include "py/runtime.h" @@ -22,26 +51,10 @@ return c; } -void hexdump(const void *ptr, int len) -{ - int line; - for (line=0; line < len; line += 16) { - int word; - for (word=0; word < 16 && line+word < len; word+=4) { - int b; - for (b=0; b < 4 && line+word+b < len; b++) { - pc.printf(" %02x", ((const char *)ptr)[line+word+b]); - } - pc.printf(" "); - } - pc.printf("\r\n"); - } -} - +// Now the main program - run the REPL. int main() { mp_init(); - // hexdump(&MP_STATE_VM(dict_main), 64); pyexec_friendly_repl(); mp_deinit(); return 0;