Commit 8bd3d7d2 authored by devsaurus's avatar devsaurus
Browse files

introduce lua_api_name parameter when building the display table

keeps the API as before and gets rid of hw_spi vs sw_spi topics
parent 1bc156e4
......@@ -23,14 +23,14 @@
// Stick to the assignments to *_I2C and *_SPI tables.
//
// I2C based displays go into here:
#define U8G_DISPLAY_TABLE_ENTRY(device, display)
#define U8G_DISPLAY_TABLE_ENTRY(device, display, lua_api_name)
#define U8G_DISPLAY_TABLE_I2C \
U8G_DISPLAY_TABLE_ENTRY(ssd1306_128x64_i2c, ssd1306_128x64)
U8G_DISPLAY_TABLE_ENTRY(ssd1306_128x64_i2c, ssd1306_128x64, ssd1306_128x64_i2c)
// SPI based displays go into here:
#define U8G_DISPLAY_TABLE_SPI \
U8G_DISPLAY_TABLE_ENTRY(ssd1306_128x64_hw_spi, ssd1306_128x64) \
// U8G_DISPLAY_TABLE_ENTRY(pcd8544_84x48_hw_spi, pcd8544_84x48)
U8G_DISPLAY_TABLE_ENTRY(ssd1306_128x64_hw_spi, ssd1306_128x64, ssd1306_128x64_spi) \
// U8G_DISPLAY_TABLE_ENTRY(pcd8544_84x48_hw_spi, pcd8544_84x48, pcd8544_84x48_spi)
#undef U8G_DISPLAY_TABLE_ENTRY
//
// ***************************************************************************
......
......@@ -986,9 +986,9 @@ static int lu8g_close_display( lua_State *L )
//
// I2C based devices will use this function template to implement the Lua binding.
#undef U8G_DISPLAY_TABLE_ENTRY
#define U8G_DISPLAY_TABLE_ENTRY(device, display) \
#define U8G_DISPLAY_TABLE_ENTRY(device, display, lua_api_name) \
uint8_t u8g_dev_ ## display ## _fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg); \
static int lu8g_ ## device( lua_State *L ) \
static int lu8g_ ## lua_api_name( lua_State *L ) \
{ \
unsigned addr = luaL_checkinteger( L, 1 ); \
\
......@@ -1015,9 +1015,9 @@ U8G_DISPLAY_TABLE_I2C
//
// SPI based devices will use this function template to implement the Lua binding.
#undef U8G_DISPLAY_TABLE_ENTRY
#define U8G_DISPLAY_TABLE_ENTRY(device, display) \
#define U8G_DISPLAY_TABLE_ENTRY(device, display, lua_api_name) \
uint8_t u8g_dev_ ## display ## _fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg); \
static int lu8g_ ## device( lua_State *L ) \
static int lu8g_ ## lua_api_name( lua_State *L ) \
{ \
unsigned cs = luaL_checkinteger( L, 1 ); \
if (cs == 0) \
......@@ -1110,7 +1110,7 @@ static const LUA_REG_TYPE lu8g_display_map[] =
const LUA_REG_TYPE lu8g_map[] =
{
#undef U8G_DISPLAY_TABLE_ENTRY
#define U8G_DISPLAY_TABLE_ENTRY(device, display) { LSTRKEY( #device ), LFUNCVAL ( lu8g_ ##device ) },
#define U8G_DISPLAY_TABLE_ENTRY(device, display, lua_api_name) { LSTRKEY( #lua_api_name ), LFUNCVAL ( lu8g_ ##lua_api_name ) },
U8G_DISPLAY_TABLE_I2C
U8G_DISPLAY_TABLE_SPI
......
-- ***************************************************************************
-- Bitmaps Test
--
-- This script executes the bitmap features of u8glib to test their Lua
-- integration.
--
-- Note: It is prepared for SSD1306-based displays. Select your connectivity
-- type by calling either init_i2c_display() or init_spi_display() at
-- the bottom of this file.
--
-- ***************************************************************************
-- setup I2c and connect display
function init_i2c_display()
......@@ -20,7 +31,7 @@ function init_spi_display()
local res = 0 -- GPIO16
spi.setup(1, spi.MASTER, spi.CPOL_LOW, spi.CPHA_LOW, spi.DATABITS_8, 0)
disp = u8g.ssd1306_128x64_hw_spi(cs, dc, res)
disp = u8g.ssd1306_128x64_spi(cs, dc, res)
end
......
-- ***************************************************************************
-- Graphics Test
--
-- This script executes several features of u8glib to test their Lua bindings.
--
-- Note: It is prepared for SSD1306-based displays. Select your connectivity
-- type by calling either init_i2c_display() or init_spi_display() at
-- the bottom of this file.
--
-- ***************************************************************************
-- setup I2c and connect display
function init_i2c_display()
......@@ -20,7 +30,7 @@ function init_spi_display()
local res = 0 -- GPIO16
spi.setup(1, spi.MASTER, spi.CPOL_LOW, spi.CPHA_LOW, spi.DATABITS_8, 0)
disp = u8g.ssd1306_128x64_hw_spi(cs, dc, res)
disp = u8g.ssd1306_128x64_spi(cs, dc, res)
end
......
-- ***************************************************************************
-- Rotation Test
--
-- This script executes the rotation features of u8glib to test their Lua
-- integration.
--
-- Note: It is prepared for SSD1306-based displays. Select your connectivity
-- type by calling either init_i2c_display() or init_spi_display() at
-- the bottom of this file.
--
-- ***************************************************************************
-- setup I2c and connect display
function init_i2c_display()
......@@ -20,7 +31,7 @@ function init_spi_display()
local res = 0 -- GPIO16
spi.setup(1, spi.MASTER, spi.CPOL_LOW, spi.CPHA_LOW, spi.DATABITS_8, 0)
disp = u8g.ssd1306_128x64_hw_spi(cs, dc, res)
disp = u8g.ssd1306_128x64_spi(cs, dc, res)
end
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment