Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
TASTE
uPython-mirror
Commits
fecee2b0
Commit
fecee2b0
authored
Nov 02, 2013
by
Damien
Browse files
Floats work with MP on board; function for LCD pixel manipulation.
parent
e0b18643
Changes
4
Hide whitespace changes
Inline
Side-by-side
stm/lcd.c
View file @
fecee2b0
...
...
@@ -198,8 +198,8 @@ void lcd_print_strn(const char *str, unsigned int len) {
chr
=
127
;
}
const
uint8_t
*
chr_data
=
&
font_petme128_8x8
[(
chr
-
32
)
*
8
];
for
(
int
i
=
0
;
i
<
8
;
i
++
)
{
lcd_out
(
LCD_DATA
,
chr_data
[
i
]);
for
(
int
j
=
0
;
j
<
8
;
j
++
)
{
lcd_out
(
LCD_DATA
,
chr_data
[
j
]);
}
}
...
...
@@ -207,3 +207,14 @@ void lcd_print_strn(const char *str, unsigned int len) {
sys_tick_delay_ms
(
200
);
}
}
// writes 8 vertical pixels
// pos 0 is upper left, pos 1 is 8 pixels to right of that, pos 128 is 8 pixels below that
void
lcd_draw_pixel_8
(
int
pos
,
int
val
)
{
int
page
=
pos
/
128
;
int
offset
=
pos
-
(
page
*
128
);
lcd_out
(
LCD_INSTR
,
0xb0
|
page
);
// page address set
lcd_out
(
LCD_INSTR
,
0x10
|
((
offset
>>
4
)
&
0x0f
));
// column address set upper
lcd_out
(
LCD_INSTR
,
0x00
|
(
offset
&
0x0f
));
// column address set lower
lcd_out
(
LCD_DATA
,
val
);
// write data
}
stm/lcd.h
View file @
fecee2b0
void
lcd_init
(
void
);
void
lcd_print_str
(
const
char
*
str
);
void
lcd_print_strn
(
const
char
*
str
,
unsigned
int
len
);
void
lcd_draw_pixel_8
(
int
pos
,
int
val
);
stm/main.c
View file @
fecee2b0
...
...
@@ -603,6 +603,13 @@ py_obj_t pyb_rtc_read(void) {
return
py_const_none
;
}
py_obj_t
pyb_lcd8
(
py_obj_t
pos
,
py_obj_t
val
)
{
int
pos_val
=
py_get_int
(
pos
);
int
val_val
=
py_get_int
(
val
);
lcd_draw_pixel_8
(
pos_val
,
val_val
);
return
py_const_none
;
}
int
main
(
void
)
{
// TODO disable JTAG
...
...
@@ -673,6 +680,7 @@ soft_reset:
rt_store_attr
(
m
,
qstr_from_str_static
(
"uout"
),
rt_make_function_1
(
pyb_usart_send
));
rt_store_attr
(
m
,
qstr_from_str_static
(
"uin"
),
rt_make_function_0
(
pyb_usart_receive
));
rt_store_attr
(
m
,
qstr_from_str_static
(
"ustat"
),
rt_make_function_0
(
pyb_usart_status
));
rt_store_attr
(
m
,
qstr_from_str_static
(
"lcd8"
),
rt_make_function_2
(
pyb_lcd8
));
rt_store_name
(
qstr_from_str_static
(
"pyb"
),
m
);
}
...
...
@@ -1027,3 +1035,8 @@ soft_reset:
printf
(
"PYB: soft reboot
\n
"
);
goto
soft_reset
;
}
double
__aeabi_f2d
(
float
x
)
{
// TODO
return
0
.
0
;
}
stm/mpyconfig.h
View file @
fecee2b0
// options to control how Micro Python is built
#define MICROPY_ENABLE_FLOAT (
0
)
#define MICROPY_ENABLE_FLOAT (
1
)
#define MICROPY_EMIT_CPYTHON (0)
#define MICROPY_EMIT_X64 (0)
#define MICROPY_EMIT_THUMB (1)
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment