Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
ruanhaishen
Nodemcu Firmware
Commits
5fbc4b2b
Commit
5fbc4b2b
authored
Feb 04, 2015
by
devsaurus
Browse files
route i2c sla to com driver function via u8g_t struct
parent
82e126eb
Changes
2
Show whitespace changes
Inline
Side-by-side
app/modules/u8g.c
View file @
5fbc4b2b
...
@@ -12,11 +12,7 @@
...
@@ -12,11 +12,7 @@
#include "u8g.h"
#include "u8g.h"
typedef
struct
lu8g_userdata
typedef
u8g_t
lu8g_userdata_t
;
{
uint8_t
i2c_addr
;
u8g_t
u8g
;
}
lu8g_userdata_t
;
// Font look-up array
// Font look-up array
...
@@ -72,7 +68,7 @@ static int lu8g_setFont( lua_State *L )
...
@@ -72,7 +68,7 @@ static int lu8g_setFont( lua_State *L )
lua_Integer
fontnr
=
luaL_checkinteger
(
L
,
2
);
lua_Integer
fontnr
=
luaL_checkinteger
(
L
,
2
);
if
((
fontnr
>=
0
)
&&
(
fontnr
<
(
sizeof
(
font_array
)
/
sizeof
(
u8g_fntpgm_uint8_t
))))
if
((
fontnr
>=
0
)
&&
(
fontnr
<
(
sizeof
(
font_array
)
/
sizeof
(
u8g_fntpgm_uint8_t
))))
u8g_SetFont
(
&
(
lud
->
u8g
)
,
font_array
[
fontnr
]
);
u8g_SetFont
(
lud
,
font_array
[
fontnr
]
);
return
0
;
return
0
;
}
}
...
@@ -85,7 +81,7 @@ static int lu8g_setFontRefHeightExtendedText( lua_State *L )
...
@@ -85,7 +81,7 @@ static int lu8g_setFontRefHeightExtendedText( lua_State *L )
if
((
lud
=
get_lud
(
L
))
==
NULL
)
if
((
lud
=
get_lud
(
L
))
==
NULL
)
return
0
;
return
0
;
u8g_SetFontRefHeightExtendedText
(
&
(
lud
->
u8g
)
);
u8g_SetFontRefHeightExtendedText
(
lud
);
return
0
;
return
0
;
}
}
...
@@ -98,7 +94,7 @@ static int lu8g_setDefaultForegroundColor( lua_State *L )
...
@@ -98,7 +94,7 @@ static int lu8g_setDefaultForegroundColor( lua_State *L )
if
((
lud
=
get_lud
(
L
))
==
NULL
)
if
((
lud
=
get_lud
(
L
))
==
NULL
)
return
0
;
return
0
;
u8g_SetDefaultForegroundColor
(
&
(
lud
->
u8g
)
);
u8g_SetDefaultForegroundColor
(
lud
);
return
0
;
return
0
;
}
}
...
@@ -111,7 +107,7 @@ static int lu8g_setFontPosTop( lua_State *L )
...
@@ -111,7 +107,7 @@ static int lu8g_setFontPosTop( lua_State *L )
if
((
lud
=
get_lud
(
L
))
==
NULL
)
if
((
lud
=
get_lud
(
L
))
==
NULL
)
return
0
;
return
0
;
u8g_SetFontPosTop
(
&
(
lud
->
u8g
)
);
u8g_SetFontPosTop
(
lud
);
return
0
;
return
0
;
}
}
...
@@ -133,16 +129,16 @@ static int lu8g_generic_drawStr( lua_State *L, uint8_t rot )
...
@@ -133,16 +129,16 @@ static int lu8g_generic_drawStr( lua_State *L, uint8_t rot )
switch
(
rot
)
switch
(
rot
)
{
{
case
1
:
case
1
:
lua_pushinteger
(
L
,
u8g_DrawStr90
(
&
(
lud
->
u8g
)
,
args
[
0
],
args
[
1
],
s
)
);
lua_pushinteger
(
L
,
u8g_DrawStr90
(
lud
,
args
[
0
],
args
[
1
],
s
)
);
break
;
break
;
case
2
:
case
2
:
lua_pushinteger
(
L
,
u8g_DrawStr180
(
&
(
lud
->
u8g
)
,
args
[
0
],
args
[
1
],
s
)
);
lua_pushinteger
(
L
,
u8g_DrawStr180
(
lud
,
args
[
0
],
args
[
1
],
s
)
);
break
;
break
;
case
3
:
case
3
:
lua_pushinteger
(
L
,
u8g_DrawStr270
(
&
(
lud
->
u8g
)
,
args
[
0
],
args
[
1
],
s
)
);
lua_pushinteger
(
L
,
u8g_DrawStr270
(
lud
,
args
[
0
],
args
[
1
],
s
)
);
break
;
break
;
default:
default:
lua_pushinteger
(
L
,
u8g_DrawStr
(
&
(
lud
->
u8g
)
,
args
[
0
],
args
[
1
],
s
)
);
lua_pushinteger
(
L
,
u8g_DrawStr
(
lud
,
args
[
0
],
args
[
1
],
s
)
);
break
;
break
;
}
}
...
@@ -193,7 +189,7 @@ static int lu8g_drawLine( lua_State *L )
...
@@ -193,7 +189,7 @@ static int lu8g_drawLine( lua_State *L )
u8g_uint_t
args
[
4
];
u8g_uint_t
args
[
4
];
lu8g_get_int_args
(
L
,
2
,
4
,
args
);
lu8g_get_int_args
(
L
,
2
,
4
,
args
);
u8g_DrawLine
(
&
(
lud
->
u8g
)
,
args
[
0
],
args
[
1
],
args
[
2
],
args
[
3
]
);
u8g_DrawLine
(
lud
,
args
[
0
],
args
[
1
],
args
[
2
],
args
[
3
]
);
return
0
;
return
0
;
}
}
...
@@ -209,7 +205,7 @@ static int lu8g_drawTriangle( lua_State *L )
...
@@ -209,7 +205,7 @@ static int lu8g_drawTriangle( lua_State *L )
u8g_uint_t
args
[
6
];
u8g_uint_t
args
[
6
];
lu8g_get_int_args
(
L
,
2
,
6
,
args
);
lu8g_get_int_args
(
L
,
2
,
6
,
args
);
u8g_DrawTriangle
(
&
(
lud
->
u8g
)
,
args
[
0
],
args
[
1
],
args
[
2
],
args
[
3
],
args
[
4
],
args
[
5
]
);
u8g_DrawTriangle
(
lud
,
args
[
0
],
args
[
1
],
args
[
2
],
args
[
3
],
args
[
4
],
args
[
5
]
);
return
0
;
return
0
;
}
}
...
@@ -225,7 +221,7 @@ static int lu8g_drawBox( lua_State *L )
...
@@ -225,7 +221,7 @@ static int lu8g_drawBox( lua_State *L )
u8g_uint_t
args
[
4
];
u8g_uint_t
args
[
4
];
lu8g_get_int_args
(
L
,
2
,
4
,
args
);
lu8g_get_int_args
(
L
,
2
,
4
,
args
);
u8g_DrawBox
(
&
(
lud
->
u8g
)
,
args
[
0
],
args
[
1
],
args
[
2
],
args
[
3
]
);
u8g_DrawBox
(
lud
,
args
[
0
],
args
[
1
],
args
[
2
],
args
[
3
]
);
return
0
;
return
0
;
}
}
...
@@ -241,7 +237,7 @@ static int lu8g_drawRBox( lua_State *L )
...
@@ -241,7 +237,7 @@ static int lu8g_drawRBox( lua_State *L )
u8g_uint_t
args
[
5
];
u8g_uint_t
args
[
5
];
lu8g_get_int_args
(
L
,
2
,
5
,
args
);
lu8g_get_int_args
(
L
,
2
,
5
,
args
);
u8g_DrawRBox
(
&
(
lud
->
u8g
)
,
args
[
0
],
args
[
1
],
args
[
2
],
args
[
3
],
args
[
4
]
);
u8g_DrawRBox
(
lud
,
args
[
0
],
args
[
1
],
args
[
2
],
args
[
3
],
args
[
4
]
);
return
0
;
return
0
;
}
}
...
@@ -257,7 +253,7 @@ static int lu8g_drawFrame( lua_State *L )
...
@@ -257,7 +253,7 @@ static int lu8g_drawFrame( lua_State *L )
u8g_uint_t
args
[
4
];
u8g_uint_t
args
[
4
];
lu8g_get_int_args
(
L
,
2
,
4
,
args
);
lu8g_get_int_args
(
L
,
2
,
4
,
args
);
u8g_DrawFrame
(
&
(
lud
->
u8g
)
,
args
[
0
],
args
[
1
],
args
[
2
],
args
[
3
]
);
u8g_DrawFrame
(
lud
,
args
[
0
],
args
[
1
],
args
[
2
],
args
[
3
]
);
return
0
;
return
0
;
}
}
...
@@ -273,7 +269,7 @@ static int lu8g_drawRFrame( lua_State *L )
...
@@ -273,7 +269,7 @@ static int lu8g_drawRFrame( lua_State *L )
u8g_uint_t
args
[
5
];
u8g_uint_t
args
[
5
];
lu8g_get_int_args
(
L
,
2
,
5
,
args
);
lu8g_get_int_args
(
L
,
2
,
5
,
args
);
u8g_DrawRFrame
(
&
(
lud
->
u8g
)
,
args
[
0
],
args
[
1
],
args
[
2
],
args
[
3
],
args
[
4
]
);
u8g_DrawRFrame
(
lud
,
args
[
0
],
args
[
1
],
args
[
2
],
args
[
3
],
args
[
4
]
);
return
0
;
return
0
;
}
}
...
@@ -291,7 +287,7 @@ static int lu8g_drawDisc( lua_State *L )
...
@@ -291,7 +287,7 @@ static int lu8g_drawDisc( lua_State *L )
u8g_uint_t
opt
=
luaL_optinteger
(
L
,
(
1
+
3
)
+
1
,
U8G_DRAW_ALL
);
u8g_uint_t
opt
=
luaL_optinteger
(
L
,
(
1
+
3
)
+
1
,
U8G_DRAW_ALL
);
u8g_DrawDisc
(
&
(
lud
->
u8g
)
,
args
[
0
],
args
[
1
],
args
[
2
],
opt
);
u8g_DrawDisc
(
lud
,
args
[
0
],
args
[
1
],
args
[
2
],
opt
);
return
0
;
return
0
;
}
}
...
@@ -309,7 +305,7 @@ static int lu8g_drawCircle( lua_State *L )
...
@@ -309,7 +305,7 @@ static int lu8g_drawCircle( lua_State *L )
u8g_uint_t
opt
=
luaL_optinteger
(
L
,
(
1
+
3
)
+
1
,
U8G_DRAW_ALL
);
u8g_uint_t
opt
=
luaL_optinteger
(
L
,
(
1
+
3
)
+
1
,
U8G_DRAW_ALL
);
u8g_DrawCircle
(
&
(
lud
->
u8g
)
,
args
[
0
],
args
[
1
],
args
[
2
],
opt
);
u8g_DrawCircle
(
lud
,
args
[
0
],
args
[
1
],
args
[
2
],
opt
);
return
0
;
return
0
;
}
}
...
@@ -322,7 +318,7 @@ static int lu8g_firstPage( lua_State *L )
...
@@ -322,7 +318,7 @@ static int lu8g_firstPage( lua_State *L )
if
((
lud
=
get_lud
(
L
))
==
NULL
)
if
((
lud
=
get_lud
(
L
))
==
NULL
)
return
0
;
return
0
;
u8g_FirstPage
(
&
(
lud
->
u8g
)
);
u8g_FirstPage
(
lud
);
return
0
;
return
0
;
}
}
...
@@ -335,7 +331,7 @@ static int lu8g_nextPage( lua_State *L )
...
@@ -335,7 +331,7 @@ static int lu8g_nextPage( lua_State *L )
if
((
lud
=
get_lud
(
L
))
==
NULL
)
if
((
lud
=
get_lud
(
L
))
==
NULL
)
return
0
;
return
0
;
lua_pushboolean
(
L
,
u8g_NextPage
(
&
(
lud
->
u8g
)
)
);
lua_pushboolean
(
L
,
u8g_NextPage
(
lud
)
);
return
1
;
return
1
;
}
}
...
@@ -367,7 +363,7 @@ static uint8_t u8g_com_esp8266_ssd_start_sequence(u8g_t *u8g)
...
@@ -367,7 +363,7 @@ static uint8_t u8g_com_esp8266_ssd_start_sequence(u8g_t *u8g)
return
1
;
return
1
;
/* setup bus, might be a repeated start */
/* setup bus, might be a repeated start */
if
(
do_i2c_start
(
ESP_I2C_ID
,
I2C_SLA
)
==
0
)
if
(
do_i2c_start
(
ESP_I2C_ID
,
u8g
->
i2c_addr
)
==
0
)
return
0
;
return
0
;
if
(
u8g
->
pin_list
[
U8G_PI_A0_STATE
]
==
0
)
if
(
u8g
->
pin_list
[
U8G_PI_A0_STATE
]
==
0
)
{
{
...
@@ -485,11 +481,11 @@ static int lu8g_ssd1306_128x64_i2c( lua_State *L )
...
@@ -485,11 +481,11 @@ static int lu8g_ssd1306_128x64_i2c( lua_State *L )
if
(
addr
==
0
)
if
(
addr
==
0
)
return
luaL_error
(
L
,
"i2c address required"
);
return
luaL_error
(
L
,
"i2c address required"
);
lu8g_userdata_t
*
userdata
=
(
lu8g_userdata_t
*
)
lua_newuserdata
(
L
,
sizeof
(
lu8g_userdata_t
)
);
lu8g_userdata_t
*
lud
=
(
lu8g_userdata_t
*
)
lua_newuserdata
(
L
,
sizeof
(
lu8g_userdata_t
)
);
userdata
->
i2c_addr
=
(
uint8_t
)
addr
;
lud
->
i2c_addr
=
(
uint8_t
)
addr
;
u8g_InitI2C
(
&
(
userdata
->
u8g
)
,
&
u8g_dev_ssd1306_128x64_i2c
,
U8G_I2C_OPT_NONE
);
u8g_InitI2C
(
lud
,
&
u8g_dev_ssd1306_128x64_i2c
,
U8G_I2C_OPT_NONE
);
// set its metatable
// set its metatable
...
...
app/u8glib/u8g.h
View file @
5fbc4b2b
...
@@ -1094,6 +1094,7 @@ struct _u8g_t
...
@@ -1094,6 +1094,7 @@ struct _u8g_t
u8g_box_t
current_page
;
/* current box of the visible page */
u8g_box_t
current_page
;
/* current box of the visible page */
uint8_t
i2c_addr
;
};
};
#define u8g_GetFontAscent(u8g) ((u8g)->font_ref_ascent)
#define u8g_GetFontAscent(u8g) ((u8g)->font_ref_ascent)
...
...
Write
Preview
Markdown
is supported
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