mirror of
https://github.com/nodemcu/nodemcu-firmware.git
synced 2025-01-30 21:12:55 +08:00
Merge pull request #599 from devsaurus/dev
u8g: clean up code and list supported display types
This commit is contained in:
commit
c61c348558
23
README.md
23
README.md
@ -360,8 +360,27 @@ cu:send("hello")
|
||||
```
|
||||
|
||||
####Operate a display with u8glib
|
||||
u8glib is a graphics library with support for many different displays.
|
||||
The integration in nodemcu is developed for SSD1306 based display attached via the I2C port. Further display types and SPI connectivity will be added in the future.
|
||||
u8glib is a graphics library with support for many different displays. The nodemcu firmware supports a subset of these.
|
||||
Both I2C and SPI:
|
||||
* sh1106_128x64
|
||||
* ssd1306 - 128x64 and 64x48 variants
|
||||
* ssd1309_128x64
|
||||
* ssd1327_96x96_gr
|
||||
* uc1611 - dogm240 and dogxl240 variants
|
||||
|
||||
SPI only:
|
||||
* ld7032_60x32
|
||||
* pcd8544_84x48
|
||||
* pcf8812_96x65
|
||||
* ssd1322_nhd31oled - bw and gr variants
|
||||
* ssd1325_nhd27oled - bw and gr variants
|
||||
* ssd1351_128x128 - gh and hicolor variants
|
||||
* st7565_64128n - variants 64128n, dogm128/132, lm6059/lm6063, c12832/c12864
|
||||
* uc1601_c128032
|
||||
* uc1608 - 240x128 and 240x64 variants
|
||||
* uc1610_dogxl160 - bw and gr variants
|
||||
* uc1611 - dogm240 and dogxl240 variants
|
||||
* uc1701 - dogs102 and mini12864 variants
|
||||
|
||||
U8glib v1.18.1
|
||||
|
||||
|
@ -65,6 +65,8 @@ static int lu8g_setFont( lua_State *L )
|
||||
u8g_fntpgm_uint8_t *font = (u8g_fntpgm_uint8_t *)lua_touserdata( L, 2 );
|
||||
if (font != NULL)
|
||||
u8g_SetFont( LU8G, font );
|
||||
else
|
||||
luaL_argerror(L, 2, "font data expected");
|
||||
|
||||
return 0;
|
||||
}
|
||||
@ -301,32 +303,24 @@ static int lu8g_generic_drawStr( lua_State *L, uint8_t rot )
|
||||
// Lua: pix_len = u8g.drawStr( self, x, y, string )
|
||||
static int lu8g_drawStr( lua_State *L )
|
||||
{
|
||||
lu8g_userdata_t *lud;
|
||||
|
||||
return lu8g_generic_drawStr( L, 0 );
|
||||
}
|
||||
|
||||
// Lua: pix_len = u8g.drawStr90( self, x, y, string )
|
||||
static int lu8g_drawStr90( lua_State *L )
|
||||
{
|
||||
lu8g_userdata_t *lud;
|
||||
|
||||
return lu8g_generic_drawStr( L, 1 );
|
||||
}
|
||||
|
||||
// Lua: pix_len = u8g.drawStr180( self, x, y, string )
|
||||
static int lu8g_drawStr180( lua_State *L )
|
||||
{
|
||||
lu8g_userdata_t *lud;
|
||||
|
||||
return lu8g_generic_drawStr( L, 2 );
|
||||
}
|
||||
|
||||
// Lua: pix_len = u8g.drawStr270( self, x, y, string )
|
||||
static int lu8g_drawStr270( lua_State *L )
|
||||
{
|
||||
lu8g_userdata_t *lud;
|
||||
|
||||
return lu8g_generic_drawStr( L, 3 );
|
||||
}
|
||||
|
||||
@ -1147,13 +1141,14 @@ LUALIB_API int luaopen_u8g( lua_State *L )
|
||||
|
||||
// Options for circle/ ellipse drawing
|
||||
MOD_REG_NUMBER( L, "DRAW_UPPER_RIGHT", U8G_DRAW_UPPER_RIGHT );
|
||||
MOD_REG_NUMBER( L, "DRAW_UPPER_LEFT", U8G_DRAW_UPPER_RIGHT );
|
||||
MOD_REG_NUMBER( L, "DRAW_LOWER_RIGHT", U8G_DRAW_UPPER_RIGHT );
|
||||
MOD_REG_NUMBER( L, "DRAW_LOWER_LEFT", U8G_DRAW_UPPER_RIGHT );
|
||||
MOD_REG_NUMBER( L, "DRAW_UPPER_LEFT", U8G_DRAW_UPPER_LEFT );
|
||||
MOD_REG_NUMBER( L, "DRAW_LOWER_RIGHT", U8G_DRAW_LOWER_RIGHT );
|
||||
MOD_REG_NUMBER( L, "DRAW_LOWER_LEFT", U8G_DRAW_LOWER_LEFT );
|
||||
MOD_REG_NUMBER( L, "DRAW_ALL", U8G_DRAW_ALL );
|
||||
|
||||
// Display modes
|
||||
MOD_REG_NUMBER( L, "MODE_BW", U8G_MODE_BW );
|
||||
MOD_REG_NUMBER( L, "MODE_GRAY2BIT", U8G_MODE_BW );
|
||||
MOD_REG_NUMBER( L, "MODE_GRAY2BIT", U8G_MODE_GRAY2BIT );
|
||||
|
||||
// create metatable
|
||||
luaL_newmetatable(L, "u8g.display");
|
||||
|
Loading…
x
Reference in New Issue
Block a user