From 00a4da93e8bb443b234b6a2cd7607d7abe2941e4 Mon Sep 17 00:00:00 2001 From: mux Date: Mon, 27 Jan 2014 10:21:42 +0200 Subject: [PATCH 1/3] Fix implicit double conversion warning --- py/objcomplex.c | 4 ++-- py/objfloat.c | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/py/objcomplex.c b/py/objcomplex.c index af148a2786..24762e8b11 100644 --- a/py/objcomplex.c +++ b/py/objcomplex.c @@ -24,9 +24,9 @@ mp_obj_t mp_obj_new_complex(mp_float_t real, mp_float_t imag); void complex_print(void (*print)(void *env, const char *fmt, ...), void *env, mp_obj_t o_in, mp_print_kind_t kind) { mp_obj_complex_t *o = o_in; if (o->real == 0) { - print(env, "%.8gj", o->imag); + print(env, "%.8gj", (double) o->imag); } else { - print(env, "(%.8g+%.8gj)", o->real, o->imag); + print(env, "(%.8g+%.8gj)", (double) o->real, (double) o->imag); } } diff --git a/py/objfloat.c b/py/objfloat.c index 9f1f478cab..69fd65e199 100644 --- a/py/objfloat.c +++ b/py/objfloat.c @@ -21,7 +21,7 @@ mp_obj_t mp_obj_new_float(mp_float_t value); static void float_print(void (*print)(void *env, const char *fmt, ...), void *env, mp_obj_t o_in, mp_print_kind_t kind) { mp_obj_float_t *o = o_in; - print(env, "%.8g", o->value); + print(env, "%.8g", (double) o->value); } static mp_obj_t float_make_new(mp_obj_t type_in, uint n_args, uint n_kw, const mp_obj_t *args) { From bd61a6cee8f348b0c4fcc21031b0eceba7dc0cb9 Mon Sep 17 00:00:00 2001 From: mux Date: Mon, 27 Jan 2014 10:56:47 +0200 Subject: [PATCH 2/3] Add missing LCD driver definitions for STM32F4DISC * Add missing LCD definitions for STM32F4DISC target, current code breaks build. --- stm/lcd.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/stm/lcd.c b/stm/lcd.c index dae4157a46..6f5019db1b 100644 --- a/stm/lcd.c +++ b/stm/lcd.c @@ -41,6 +41,16 @@ #define PYB_LCD_BL_PORT (GPIOB) #define PYB_LCD_BL_PIN (GPIO_Pin_1) // Y12 = PB1 */ +#elif defined(STM32F4DISC) +/* Configure if needed */ +#define PYB_LCD_PORT (GPIOA) +#define PYB_LCD_CS1_PIN (GPIO_Pin_2) // X3 +#define PYB_LCD_RST_PIN (GPIO_Pin_3) // X4 +#define PYB_LCD_A0_PIN (GPIO_Pin_4) // X5 +#define PYB_LCD_SCL_PIN (GPIO_Pin_5) // X6 +#define PYB_LCD_SI_PIN (GPIO_Pin_7) // X8 +#define PYB_LCD_BL_PORT (GPIOC) +#define PYB_LCD_BL_PIN (GPIO_Pin_5) // X12 #endif #define LCD_INSTR (0) From 8d3b0a9f74c39f5876b74a5829bddf0c0588276b Mon Sep 17 00:00:00 2001 From: mux Date: Mon, 27 Jan 2014 18:53:16 +0200 Subject: [PATCH 3/3] Add LCD check to stdout_print_strn --- stm/printf.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/stm/printf.c b/stm/printf.c index 82b168d1c4..2669a55344 100644 --- a/stm/printf.c +++ b/stm/printf.c @@ -6,6 +6,7 @@ #include "misc.h" #include "systick.h" #include "mpconfig.h" +#include "mpconfigport.h" #include "qstr.h" #include "obj.h" #include "lcd.h" @@ -247,7 +248,9 @@ void stdout_print_strn(void *data, const char *str, unsigned int len) { any = true; } if (!any) { +#if MICROPY_HW_HAS_LCD lcd_print_strn(str, len); +#endif } }