From 22a39a2fd621b175dc4315218f29d6541c2a9c2a Mon Sep 17 00:00:00 2001 From: Romain Goyet Date: Fri, 16 Nov 2018 10:31:16 +0100 Subject: [PATCH] [python/turtle] Use a dedicated folder --- python/Makefile | 10 +-- .../turtle/modturtle.cpp} | 58 +++++++------- python/port/mod/turtle/modturtle.h | 29 +++++++ python/port/mod/turtle/modturtle_table.c | 73 +++++++++++++++++ python/port/{ => mod/turtle}/turtle_icon.png | Bin python/port/modturtle.c | 75 ------------------ python/port/modturtle.h | 29 ------- python/port/mpconfigport.h | 4 +- python/port/port.cpp | 4 +- 9 files changed, 140 insertions(+), 142 deletions(-) rename python/port/{modturtle_impl.cpp => mod/turtle/modturtle.cpp} (83%) create mode 100644 python/port/mod/turtle/modturtle.h create mode 100644 python/port/mod/turtle/modturtle_table.c rename python/port/{ => mod/turtle}/turtle_icon.png (100%) delete mode 100644 python/port/modturtle.c delete mode 100644 python/port/modturtle.h diff --git a/python/Makefile b/python/Makefile index 7f1fc87f6..17adf5135 100644 --- a/python/Makefile +++ b/python/Makefile @@ -129,12 +129,12 @@ port_objs += $(addprefix python/port/,\ port.o \ builtins.o\ helpers.o \ - modturtle.o \ - modturtle_impl.o \ mod/kandinsky/modkandinsky.o \ mod/kandinsky/modkandinsky_table.o \ mod/time/modtime.o \ mod/time/modtime_table.o \ + mod/turtle/modturtle.o \ + mod/turtle/modturtle_table.o \ mphalport.o \ ) @@ -165,7 +165,7 @@ $(py_objs): SFLAGS := $(subst -Os,-O0,$(SFLAGS)) endif # Icon dependency -python/port/modturtle_impl.cpp: python/port/turtle_icon.o +python/port/mod/turtle/modturtle.cpp: python/port/mod/turtle/turtle_icon.o # QSTR generation @@ -181,6 +181,6 @@ $(py_objs) $(extmod_objs) $(port_objs): python/port/genhdr/qstrdefs.generated.h # List all objects needed -objs += $(extmod_objs) $(py_objs) $(port_objs) python/port/turtle_icon.o +objs += $(extmod_objs) $(py_objs) $(port_objs) python/port/mod/turtle/turtle_icon.o -app_images += python/port/turtle_icon.png +app_images += python/port/mod/turtle/turtle_icon.png diff --git a/python/port/modturtle_impl.cpp b/python/port/mod/turtle/modturtle.cpp similarity index 83% rename from python/port/modturtle_impl.cpp rename to python/port/mod/turtle/modturtle.cpp index 35ac795f9..353ffbcce 100644 --- a/python/port/modturtle_impl.cpp +++ b/python/port/mod/turtle/modturtle.cpp @@ -1,7 +1,7 @@ extern "C" { #include "modturtle.h" } -#include "helpers.h" +#include "../../helpers.h" #include #include #include @@ -91,27 +91,27 @@ void dot_turtle(float x, float y) { t_y = y; } -mp_obj_t turtle_forward(mp_obj_t px) { +mp_obj_t modturtle_forward(mp_obj_t px) { float x = t_x + mp_obj_get_float(px)*sin(t_heading); float y = t_y + mp_obj_get_float(px)*cos(t_heading); - turtle_moveto(x, y); + modturtle_moveto(x, y); return mp_const_none; } -mp_obj_t turtle_backward(mp_obj_t px) { - return turtle_forward(mp_obj_new_float(-mp_obj_get_float(px))); +mp_obj_t modturtle_backward(mp_obj_t px) { + return modturtle_forward(mp_obj_new_float(-mp_obj_get_float(px))); } -mp_obj_t turtle_right(mp_obj_t angle) { - return turtle_left(mp_obj_new_float(-mp_obj_get_float(angle))); +mp_obj_t modturtle_right(mp_obj_t angle) { + return modturtle_left(mp_obj_new_float(-mp_obj_get_float(angle))); } -mp_obj_t turtle_left(mp_obj_t angle) { +mp_obj_t modturtle_left(mp_obj_t angle) { float new_angle = ((t_heading - t_heading_offset) + (mp_obj_get_float(angle) * t_heading_scale)) / t_heading_scale; - return turtle_setheading(mp_obj_new_float(new_angle)); + return modturtle_setheading(mp_obj_new_float(new_angle)); } -mp_obj_t turtle_goto(size_t n_args, const mp_obj_t *args) { +mp_obj_t modturtle_goto(size_t n_args, const mp_obj_t *args) { float newx, newy; if (n_args == 1) { @@ -125,11 +125,11 @@ mp_obj_t turtle_goto(size_t n_args, const mp_obj_t *args) { newy = mp_obj_get_float(args[1]); } - turtle_moveto(newx, newy); + modturtle_moveto(newx, newy); return mp_const_none; } -mp_obj_t turtle_setheading(mp_obj_t angle) { +mp_obj_t modturtle_setheading(mp_obj_t angle) { micropython_port_should_interrupt(); t_heading = mp_obj_get_float(angle) * t_heading_scale + t_heading_offset; @@ -141,7 +141,7 @@ mp_obj_t turtle_setheading(mp_obj_t angle) { return mp_const_none; } -mp_obj_t turtle_speed(mp_obj_t speed) { +mp_obj_t modturtle_speed(mp_obj_t speed) { int new_speed = mp_obj_get_int(speed); if (new_speed < 0) { @@ -155,28 +155,28 @@ mp_obj_t turtle_speed(mp_obj_t speed) { return mp_const_none; } -mp_obj_t turtle_position() { +mp_obj_t modturtle_position() { mp_obj_t mp_pos[2]; mp_pos[0] = mp_obj_new_float(t_x); mp_pos[1] = mp_obj_new_float(t_y); return mp_obj_new_tuple(2, mp_pos); } -mp_obj_t turtle_heading() { +mp_obj_t modturtle_heading() { return mp_obj_new_float((t_heading - t_heading_offset) / t_heading_scale); } -mp_obj_t turtle_pendown() { +mp_obj_t modturtle_pendown() { t_penup = false; return mp_const_none; } -mp_obj_t turtle_penup() { +mp_obj_t modturtle_penup() { t_penup = true; return mp_const_none; } -mp_obj_t turtle_pensize(size_t n_args, const mp_obj_t *args) { +mp_obj_t modturtle_pensize(size_t n_args, const mp_obj_t *args) { if (n_args == 0) { return MP_OBJ_NEW_SMALL_INT(t_dotsize); } @@ -189,37 +189,37 @@ mp_obj_t turtle_pensize(size_t n_args, const mp_obj_t *args) { size = 10; } - turtle_initpen(size); + modturtle_initpen(size); return mp_const_none; } -mp_obj_t turtle_isdown() { +mp_obj_t modturtle_isdown() { return t_penup ? mp_const_false : mp_const_true; } -mp_obj_t turtle_color(mp_obj_t r, mp_obj_t g, mp_obj_t b) { +mp_obj_t modturtle_color(mp_obj_t r, mp_obj_t g, mp_obj_t b) { t_color = KDColor::RGB888(mp_obj_get_int(r), mp_obj_get_int(g), mp_obj_get_int(b)); return mp_const_none; } -mp_obj_t turtle_showturtle() { +mp_obj_t modturtle_showturtle() { t_hidden = false; draw_turtle(); return mp_const_none; } -mp_obj_t turtle_hideturtle() { +mp_obj_t modturtle_hideturtle() { t_hidden = true; erase_turtle(); return mp_const_none; } -mp_obj_t turtle_isvisible() { +mp_obj_t modturtle_isvisible() { return t_hidden ? mp_const_false : mp_const_true; } -mp_obj_t turtle___init__() { +mp_obj_t modturtle___init__() { if (!t_underneath) { t_underneath = new KDColor[t_size * t_size]; } @@ -242,12 +242,12 @@ mp_obj_t turtle___init__() { t_mileage = 0; t_hidden = false; - turtle_initpen(5); + modturtle_initpen(5); return mp_const_none; } -void turtle_initpen(int size) { +void modturtle_initpen(int size) { if (t_dot) { delete[] t_dot; } @@ -270,7 +270,7 @@ void turtle_initpen(int size) { } } -void turtle_moveto(float x, float y) { +void modturtle_moveto(float x, float y) { float oldx = t_x, oldy = t_y; float length = sqrt((x - oldx) * (x - oldx) + (y - oldy) * (y - oldy)); @@ -293,7 +293,7 @@ void turtle_moveto(float x, float y) { draw_turtle(); } -void turtle_deinit() { +void modturtle_deinit() { delete[] t_underneath; t_underneath = nullptr; delete[] t_icon; diff --git a/python/port/mod/turtle/modturtle.h b/python/port/mod/turtle/modturtle.h new file mode 100644 index 000000000..6dc57dd14 --- /dev/null +++ b/python/port/mod/turtle/modturtle.h @@ -0,0 +1,29 @@ +#include + +mp_obj_t modturtle_forward(mp_obj_t px); +mp_obj_t modturtle_backward(mp_obj_t px); +mp_obj_t modturtle_right(mp_obj_t deg); +mp_obj_t modturtle_left(mp_obj_t deg); +mp_obj_t modturtle_goto(size_t n_args, const mp_obj_t *args); +mp_obj_t modturtle_setheading(mp_obj_t deg); +mp_obj_t modturtle_speed(mp_obj_t speed); + +mp_obj_t modturtle_position(); +mp_obj_t modturtle_heading(); + +mp_obj_t modturtle_pendown(); +mp_obj_t modturtle_penup(); +mp_obj_t modturtle_isdown(); +mp_obj_t modturtle_pensize(size_t n_args, const mp_obj_t *args); +mp_obj_t modturtle_isvisible(); + +mp_obj_t modturtle_color(mp_obj_t r, mp_obj_t g, mp_obj_t b); + +mp_obj_t modturtle_showturtle(); +mp_obj_t modturtle_hideturtle(); + +mp_obj_t modturtle___init__(); + +void modturtle_initpen(int size); +void modturtle_moveto(float x, float y); +void modturtle_deinit(); diff --git a/python/port/mod/turtle/modturtle_table.c b/python/port/mod/turtle/modturtle_table.c new file mode 100644 index 000000000..f58e28235 --- /dev/null +++ b/python/port/mod/turtle/modturtle_table.c @@ -0,0 +1,73 @@ +#include "modturtle.h" + +STATIC MP_DEFINE_CONST_FUN_OBJ_1(modturtle_forward_obj, modturtle_forward); +STATIC MP_DEFINE_CONST_FUN_OBJ_1(modturtle_backward_obj, modturtle_backward); +STATIC MP_DEFINE_CONST_FUN_OBJ_1(modturtle_right_obj, modturtle_right); +STATIC MP_DEFINE_CONST_FUN_OBJ_1(modturtle_left_obj, modturtle_left); +STATIC MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(modturtle_goto_obj, 1, 2, modturtle_goto); +STATIC MP_DEFINE_CONST_FUN_OBJ_1(modturtle_setheading_obj, modturtle_setheading); +STATIC MP_DEFINE_CONST_FUN_OBJ_1(modturtle_speed_obj, modturtle_speed); + +STATIC MP_DEFINE_CONST_FUN_OBJ_0(modturtle_position_obj, modturtle_position); +STATIC MP_DEFINE_CONST_FUN_OBJ_0(modturtle_heading_obj, modturtle_heading); + +STATIC MP_DEFINE_CONST_FUN_OBJ_0(modturtle_pendown_obj, modturtle_pendown); +STATIC MP_DEFINE_CONST_FUN_OBJ_0(modturtle_penup_obj, modturtle_penup); +STATIC MP_DEFINE_CONST_FUN_OBJ_0(modturtle_isdown_obj, modturtle_isdown); +STATIC MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(modturtle_pensize_obj, 0, 1, modturtle_pensize); + +STATIC MP_DEFINE_CONST_FUN_OBJ_3(modturtle_color_obj, modturtle_color); + +STATIC MP_DEFINE_CONST_FUN_OBJ_0(modturtle_showturtle_obj, modturtle_showturtle); +STATIC MP_DEFINE_CONST_FUN_OBJ_0(modturtle_hideturtle_obj, modturtle_hideturtle); +STATIC MP_DEFINE_CONST_FUN_OBJ_0(modturtle_isvisible_obj, modturtle_isvisible); + +STATIC MP_DEFINE_CONST_FUN_OBJ_0(modturtle___init___obj, modturtle___init__); + +STATIC const mp_rom_map_elem_t modturtle_module_globals_table[] = { + { MP_ROM_QSTR(MP_QSTR___name__), MP_ROM_QSTR(MP_QSTR_turtle) }, + { MP_ROM_QSTR(MP_QSTR___init__), (mp_obj_t)&modturtle___init___obj }, + { MP_ROM_QSTR(MP_QSTR_forward), (mp_obj_t)&modturtle_forward_obj }, + { MP_ROM_QSTR(MP_QSTR_fd), (mp_obj_t)&modturtle_forward_obj }, + { MP_ROM_QSTR(MP_QSTR_backward), (mp_obj_t)&modturtle_backward_obj }, + { MP_ROM_QSTR(MP_QSTR_bk), (mp_obj_t)&modturtle_backward_obj }, + { MP_ROM_QSTR(MP_QSTR_right), (mp_obj_t)&modturtle_right_obj }, + { MP_ROM_QSTR(MP_QSTR_rt), (mp_obj_t)&modturtle_right_obj }, + { MP_ROM_QSTR(MP_QSTR_left), (mp_obj_t)&modturtle_left_obj }, + { MP_ROM_QSTR(MP_QSTR_lt), (mp_obj_t)&modturtle_left_obj }, + { MP_ROM_QSTR(MP_QSTR_goto), (mp_obj_t)&modturtle_goto_obj }, + { MP_ROM_QSTR(MP_QSTR_setpos), (mp_obj_t)&modturtle_goto_obj }, + { MP_ROM_QSTR(MP_QSTR_setposition), (mp_obj_t)&modturtle_goto_obj }, + { MP_ROM_QSTR(MP_QSTR_setheading), (mp_obj_t)&modturtle_setheading_obj }, + { MP_ROM_QSTR(MP_QSTR_seth), (mp_obj_t)&modturtle_setheading_obj }, + { MP_ROM_QSTR(MP_QSTR_speed), (mp_obj_t)&modturtle_speed_obj }, + + { MP_ROM_QSTR(MP_QSTR_position), (mp_obj_t)&modturtle_position_obj }, + { MP_ROM_QSTR(MP_QSTR_pos), (mp_obj_t)&modturtle_position_obj }, + { MP_ROM_QSTR(MP_QSTR_heading), (mp_obj_t)&modturtle_heading_obj }, + + { MP_ROM_QSTR(MP_QSTR_pendown), (mp_obj_t)&modturtle_pendown_obj }, + { MP_ROM_QSTR(MP_QSTR_pd), (mp_obj_t)&modturtle_pendown_obj }, + { MP_ROM_QSTR(MP_QSTR_down), (mp_obj_t)&modturtle_pendown_obj }, + { MP_ROM_QSTR(MP_QSTR_penup), (mp_obj_t)&modturtle_penup_obj }, + { MP_ROM_QSTR(MP_QSTR_pu), (mp_obj_t)&modturtle_penup_obj }, + { MP_ROM_QSTR(MP_QSTR_up), (mp_obj_t)&modturtle_penup_obj }, + { MP_ROM_QSTR(MP_QSTR_isdown), (mp_obj_t)&modturtle_isdown_obj }, + { MP_ROM_QSTR(MP_QSTR_pensize), (mp_obj_t)&modturtle_pensize_obj }, + { MP_ROM_QSTR(MP_QSTR_width), (mp_obj_t)&modturtle_pensize_obj }, + + { MP_ROM_QSTR(MP_QSTR_pencolor), (mp_obj_t)&modturtle_color_obj }, + + { MP_ROM_QSTR(MP_QSTR_showturtle), (mp_obj_t)&modturtle_showturtle_obj }, + { MP_ROM_QSTR(MP_QSTR_st), (mp_obj_t)&modturtle_showturtle_obj }, + { MP_ROM_QSTR(MP_QSTR_hideturtle), (mp_obj_t)&modturtle_hideturtle_obj }, + { MP_ROM_QSTR(MP_QSTR_ht), (mp_obj_t)&modturtle_hideturtle_obj }, + { MP_ROM_QSTR(MP_QSTR_isvisible), (mp_obj_t)&modturtle_isvisible_obj }, +}; + +STATIC MP_DEFINE_CONST_DICT(modturtle_module_globals, modturtle_module_globals_table); + +const mp_obj_module_t modturtle_module = { + .base = { &mp_type_module }, + .globals = (mp_obj_dict_t*)&modturtle_module_globals, +}; diff --git a/python/port/turtle_icon.png b/python/port/mod/turtle/turtle_icon.png similarity index 100% rename from python/port/turtle_icon.png rename to python/port/mod/turtle/turtle_icon.png diff --git a/python/port/modturtle.c b/python/port/modturtle.c deleted file mode 100644 index a44401e4d..000000000 --- a/python/port/modturtle.c +++ /dev/null @@ -1,75 +0,0 @@ -#include "py/obj.h" -#include "py/mphal.h" -#include "modturtle.h" - -STATIC MP_DEFINE_CONST_FUN_OBJ_1(turtle_forward_obj, turtle_forward); -STATIC MP_DEFINE_CONST_FUN_OBJ_1(turtle_backward_obj, turtle_backward); -STATIC MP_DEFINE_CONST_FUN_OBJ_1(turtle_right_obj, turtle_right); -STATIC MP_DEFINE_CONST_FUN_OBJ_1(turtle_left_obj, turtle_left); -STATIC MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(turtle_goto_obj, 1, 2, turtle_goto); -STATIC MP_DEFINE_CONST_FUN_OBJ_1(turtle_setheading_obj, turtle_setheading); -STATIC MP_DEFINE_CONST_FUN_OBJ_1(turtle_speed_obj, turtle_speed); - -STATIC MP_DEFINE_CONST_FUN_OBJ_0(turtle_position_obj, turtle_position); -STATIC MP_DEFINE_CONST_FUN_OBJ_0(turtle_heading_obj, turtle_heading); - -STATIC MP_DEFINE_CONST_FUN_OBJ_0(turtle_pendown_obj, turtle_pendown); -STATIC MP_DEFINE_CONST_FUN_OBJ_0(turtle_penup_obj, turtle_penup); -STATIC MP_DEFINE_CONST_FUN_OBJ_0(turtle_isdown_obj, turtle_isdown); -STATIC MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(turtle_pensize_obj, 0, 1, turtle_pensize); - -STATIC MP_DEFINE_CONST_FUN_OBJ_3(turtle_color_obj, turtle_color); - -STATIC MP_DEFINE_CONST_FUN_OBJ_0(turtle_showturtle_obj, turtle_showturtle); -STATIC MP_DEFINE_CONST_FUN_OBJ_0(turtle_hideturtle_obj, turtle_hideturtle); -STATIC MP_DEFINE_CONST_FUN_OBJ_0(turtle_isvisible_obj, turtle_isvisible); - -STATIC MP_DEFINE_CONST_FUN_OBJ_0(turtle___init___obj, turtle___init__); - -STATIC const mp_rom_map_elem_t turtle_module_globals_table[] = { - { MP_ROM_QSTR(MP_QSTR___name__), MP_ROM_QSTR(MP_QSTR_turtle) }, - { MP_ROM_QSTR(MP_QSTR___init__), (mp_obj_t)&turtle___init___obj }, - { MP_ROM_QSTR(MP_QSTR_forward), (mp_obj_t)&turtle_forward_obj }, - { MP_ROM_QSTR(MP_QSTR_fd), (mp_obj_t)&turtle_forward_obj }, - { MP_ROM_QSTR(MP_QSTR_backward), (mp_obj_t)&turtle_backward_obj }, - { MP_ROM_QSTR(MP_QSTR_bk), (mp_obj_t)&turtle_backward_obj }, - { MP_ROM_QSTR(MP_QSTR_right), (mp_obj_t)&turtle_right_obj }, - { MP_ROM_QSTR(MP_QSTR_rt), (mp_obj_t)&turtle_right_obj }, - { MP_ROM_QSTR(MP_QSTR_left), (mp_obj_t)&turtle_left_obj }, - { MP_ROM_QSTR(MP_QSTR_lt), (mp_obj_t)&turtle_left_obj }, - { MP_ROM_QSTR(MP_QSTR_goto), (mp_obj_t)&turtle_goto_obj }, - { MP_ROM_QSTR(MP_QSTR_setpos), (mp_obj_t)&turtle_goto_obj }, - { MP_ROM_QSTR(MP_QSTR_setposition), (mp_obj_t)&turtle_goto_obj }, - { MP_ROM_QSTR(MP_QSTR_setheading), (mp_obj_t)&turtle_setheading_obj }, - { MP_ROM_QSTR(MP_QSTR_seth), (mp_obj_t)&turtle_setheading_obj }, - { MP_ROM_QSTR(MP_QSTR_speed), (mp_obj_t)&turtle_speed_obj }, - - { MP_ROM_QSTR(MP_QSTR_position), (mp_obj_t)&turtle_position_obj }, - { MP_ROM_QSTR(MP_QSTR_pos), (mp_obj_t)&turtle_position_obj }, - { MP_ROM_QSTR(MP_QSTR_heading), (mp_obj_t)&turtle_heading_obj }, - - { MP_ROM_QSTR(MP_QSTR_pendown), (mp_obj_t)&turtle_pendown_obj }, - { MP_ROM_QSTR(MP_QSTR_pd), (mp_obj_t)&turtle_pendown_obj }, - { MP_ROM_QSTR(MP_QSTR_down), (mp_obj_t)&turtle_pendown_obj }, - { MP_ROM_QSTR(MP_QSTR_penup), (mp_obj_t)&turtle_penup_obj }, - { MP_ROM_QSTR(MP_QSTR_pu), (mp_obj_t)&turtle_penup_obj }, - { MP_ROM_QSTR(MP_QSTR_up), (mp_obj_t)&turtle_penup_obj }, - { MP_ROM_QSTR(MP_QSTR_isdown), (mp_obj_t)&turtle_isdown_obj }, - { MP_ROM_QSTR(MP_QSTR_pensize), (mp_obj_t)&turtle_pensize_obj }, - { MP_ROM_QSTR(MP_QSTR_width), (mp_obj_t)&turtle_pensize_obj }, - - { MP_ROM_QSTR(MP_QSTR_pencolor), (mp_obj_t)&turtle_color_obj }, - - { MP_ROM_QSTR(MP_QSTR_showturtle), (mp_obj_t)&turtle_showturtle_obj }, - { MP_ROM_QSTR(MP_QSTR_st), (mp_obj_t)&turtle_showturtle_obj }, - { MP_ROM_QSTR(MP_QSTR_hideturtle), (mp_obj_t)&turtle_hideturtle_obj }, - { MP_ROM_QSTR(MP_QSTR_ht), (mp_obj_t)&turtle_hideturtle_obj }, - { MP_ROM_QSTR(MP_QSTR_isvisible), (mp_obj_t)&turtle_isvisible_obj }, -}; - -STATIC MP_DEFINE_CONST_DICT(turtle_module_globals, turtle_module_globals_table); - -const mp_obj_module_t turtle_module = { - .base = { &mp_type_module }, - .globals = (mp_obj_dict_t*)&turtle_module_globals, -}; diff --git a/python/port/modturtle.h b/python/port/modturtle.h deleted file mode 100644 index 7fc48f3d0..000000000 --- a/python/port/modturtle.h +++ /dev/null @@ -1,29 +0,0 @@ -#include "py/obj.h" - -mp_obj_t turtle_forward(mp_obj_t px); -mp_obj_t turtle_backward(mp_obj_t px); -mp_obj_t turtle_right(mp_obj_t deg); -mp_obj_t turtle_left(mp_obj_t deg); -mp_obj_t turtle_goto(size_t n_args, const mp_obj_t *args); -mp_obj_t turtle_setheading(mp_obj_t deg); -mp_obj_t turtle_speed(mp_obj_t speed); - -mp_obj_t turtle_position(); -mp_obj_t turtle_heading(); - -mp_obj_t turtle_pendown(); -mp_obj_t turtle_penup(); -mp_obj_t turtle_isdown(); -mp_obj_t turtle_pensize(size_t n_args, const mp_obj_t *args); -mp_obj_t turtle_isvisible(); - -mp_obj_t turtle_color(mp_obj_t r, mp_obj_t g, mp_obj_t b); - -mp_obj_t turtle_showturtle(); -mp_obj_t turtle_hideturtle(); - -mp_obj_t turtle___init__(); - -void turtle_initpen(int size); -void turtle_moveto(float x, float y); -void turtle_deinit(); diff --git a/python/port/mpconfigport.h b/python/port/mpconfigport.h index 76f691dab..008dd23e7 100644 --- a/python/port/mpconfigport.h +++ b/python/port/mpconfigport.h @@ -108,10 +108,10 @@ typedef long mp_off_t; extern const struct _mp_obj_module_t modkandinsky_module; extern const struct _mp_obj_module_t modtime_module; -extern const struct _mp_obj_module_t turtle_module; +extern const struct _mp_obj_module_t modturtle_module; #define MICROPY_PORT_BUILTIN_MODULES \ { MP_ROM_QSTR(MP_QSTR_kandinsky), MP_ROM_PTR(&modkandinsky_module) }, \ { MP_ROM_QSTR(MP_QSTR_time), MP_ROM_PTR(&modtime_module) }, \ - { MP_ROM_QSTR(MP_QSTR_turtle), MP_ROM_PTR(&turtle_module) }, \ + { MP_ROM_QSTR(MP_QSTR_turtle), MP_ROM_PTR(&modturtle_module) }, \ diff --git a/python/port/port.cpp b/python/port/port.cpp index 535a4a258..fc6af366c 100644 --- a/python/port/port.cpp +++ b/python/port/port.cpp @@ -17,7 +17,7 @@ extern "C" { #include "py/repl.h" #include "py/runtime.h" #include "py/stackctrl.h" -#include "modturtle.h" +#include "mod/turtle/modturtle.h" #include "mphalport.h" } @@ -109,7 +109,7 @@ void MicroPython::init(void * heapStart, void * heapEnd) { } void MicroPython::deinit() { - turtle_deinit(); + modturtle_deinit(); mp_deinit(); }