Commit Graph

42 Commits

Author SHA1 Message Date
Johny Mattsson 4e8ef87d03 Reworked module registration, removed modules.h
Module creation & registration now made a lot simpler. In essence,
each module file is now self-contained and only needs a

  NODEMCU_MODULE(MYNAME, "myname", myname_map, luaopen_myname);

line to both be automatically recognised by the Lua initialization
as well as honor the LUA_USE_MODULES_MYNAME #define.
2015-12-16 16:09:16 +11:00
TerryE b773290b8c Major cleanup of module registration pass 2.
carrying on Johny's edits as per my comments on #810
2015-12-16 11:21:40 +11:00
Johny Mattsson 6b6456be47 Major cleanup of module registration.
As per #810 & #796, only LUA_OPTIMIZE_MEMORY=2 & MIN_OPT_LEVEL=2 are
supported when building. This commit effects that limitation.

With this change modules/auxmods.h no longer needs to be updated for
every new module, nor do module writers need to cater for a hypothetical
LUA_OPTIMIZE_MEMORY < 2 scenario.
2015-12-12 15:03:40 +11:00
devsaurus 19092712e5 remove obsolete spi_mast_send and rename platform_spi_send 2015-10-18 11:13:56 +02:00
devsaurus ca1bc2cb18 clean u8g 2015-08-09 16:38:08 +02:00
devsaurus 9d8c3a7b82 fix u8g device destructor
don't free unallocated memory
2015-08-05 21:52:56 +02:00
devsaurus f4f62fb255 fix display table construction 2015-07-21 20:37:44 +02:00
devsaurus 6fd106afac added more displays:
sh1106_128x64_i2c
    ssd1306_64x48_i2c
    ssd1309_128x64_i2c
    ssd1327_96x96_gr_i2c
    uc1611_dogm240_i2c
    uc1611_dogxl240_i2c
    ld7032_60x32_hw_spi
    pcd8544_84x48_hw_spi
    pcf8812_96x65_hw_spi
    sh1106_128x64_hw_spi
    ssd1306_64x48_hw_spi
    ssd1309_128x64_hw_spi
    ssd1322_nhd31oled_bw_hw_spi
    ssd1322_nhd31oled_gr_hw_spi
    ssd1325_nhd27oled_bw_hw_spi
    ssd1325_nhd27oled_gr_hw_spi
    ssd1327_96x96_gr_hw_spi
    ssd1351_128x128_332_hw_spi
    ssd1351_128x128gh_332_hw_spi
    ssd1351_128x128_hicolor_hw_spi
    ssd1351_128x128gh_hicolor_hw_spi
    ssd1353_160x128_332_hw_spi
    ssd1353_160x128_hicolor_hw_spi
    st7565_64128n_hw_spi
    st7565_dogm128_hw_spi
    st7565_dogm132_hw_spi
    st7565_lm6059_hw_spi
    st7565_lm6063_hw_spi
    st7565_nhd_c12832_hw_spi
    st7565_nhd_c12864_hw_spi
    uc1601_c128032_hw_spi
    uc1608_240x128_hw_spi
    uc1608_240x64_hw_spi
    uc1610_dogxl160_bw_hw_spi
    uc1610_dogxl160_gr_hw_spi
    uc1611_dogm240_hw_spi
    uc1611_dogxl240_hw_spi
    uc1701_dogs102_hw_spi
    uc1701_mini12864_hw_spi
2015-07-20 23:11:13 +02:00
devsaurus b837726013 simplify device/display macros 2015-07-20 22:07:59 +02:00
devsaurus 8bd3d7d2bf 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
2015-07-19 21:57:14 +02:00
devsaurus 1bc156e4d1 move display constructors into template-based functions
+ uniform generaration
+ addition of further displays
- slight unneccesary heap allocation when display drivers are included but not used
2015-07-16 23:23:43 +02:00
devsaurus 02d473dab0 revert local changes to u8glib 2015-07-16 21:31:00 +02:00
devsaurus 277c6d0116 move u8g progmem constants to new .rodata sections
this simplifies the overall memory handling based on the irom support by @jmattsson
2015-06-25 00:38:11 +02:00
devsaurus 5b588b7bd3 implement getStrWidth() and setFontLineSpacingFactor() 2015-05-15 21:32:28 +02:00
devsaurus de56cb084e sort member functions 2015-05-15 21:13:59 +02:00
devsaurus 2d254bd47c use correct function for stop in U8G_COM_MSG_WRITE_BYTE 2015-03-18 22:33:16 +01:00
devsaurus 3b37f0920c res optional 2015-03-13 22:22:57 +01:00
devsaurus 429bf57d67 add pcd8544 2015-03-12 23:09:41 +01:00
devsaurus b387ba93ec introduce u8g_config.h 2015-03-12 21:50:57 +01:00
devsaurus 4f55ee4e34 validate SPI comm interface with ssd1306_128x64_spi 2015-03-11 21:53:45 +01:00
devsaurus 5f1d324059 remove caching 2015-03-01 23:45:25 +01:00
devsaurus 32774d428c handle font data as light userdata 2015-03-01 23:11:24 +01:00
devsaurus 7ae293d566 set free'd pointer to NULL 2015-02-25 23:17:08 +01:00
devsaurus 2cfb86b5b5 improve device and page buffer initialization 2015-02-20 21:15:38 +01:00
devsaurus e3ed4fc0da fix typo 2015-02-20 18:24:53 +01:00
devsaurus 6c0adbf980 SPI comm function, untested 2015-02-20 11:07:52 +01:00
devsaurus 81be529d68 preparation for adding more display devices: allocate and construct page buffer
dynamically to save heap for unused device types
2015-02-19 16:47:41 +01:00
devsaurus 8e42631a81 implement drawBitmap 2015-02-19 12:12:14 +01:00
devsaurus a287020096 implement drawXBM 2015-02-18 23:57:34 +01:00
devsaurus 5fa0a0bc46 cache pgm read data 2015-02-10 22:04:43 +01:00
devsaurus fdab682776 implement begin() 2015-02-08 21:41:02 +01:00
devsaurus 0b7ef1f485 implement further functions 2015-02-08 21:21:26 +01:00
devsaurus 27d99643df rotation functions 2015-02-08 17:59:09 +01:00
devsaurus 145a0f01c8 add scaling functions 2015-02-08 17:17:04 +01:00
devsaurus d7f04a1de8 further reduce RAM usage, consolidate font memory and "PROGMEM" 2015-02-06 23:02:56 +01:00
devsaurus 5fbc4b2b2f route i2c sla to com driver function via u8g_t struct 2015-02-04 23:57:13 +01:00
devsaurus 9f0b167832 improve font handling
* macros established to build a table of fonts which get compiled into the image
* font data is mapped to irom0 to save dram space
* quirky function to retrieve font data 4-byte aligned from irom0
2015-02-04 00:08:39 +01:00
devsaurus 6dfb82dbba factor out integer argument processing 2015-02-03 00:29:11 +01:00
devsaurus ed8681f956 implemented full graphics_test 2015-02-01 17:27:20 +01:00
devsaurus 6b3abb004a * increase irom0_0_seg size to accomodate u8glib code
* implement first functions for graphics test
2015-02-01 17:27:19 +01:00
devsaurus a2672113aa * add u8glib
* initializer for SSD1306 display with I2C driver
* disabled mqtt and ow modules to avoid irom0_0_seg overflow
  check ld script to increase size
2015-02-01 17:27:19 +01:00
devsaurus 33601462ef add u8g module stubs 2015-02-01 17:27:19 +01:00