Commit Graph

426 Commits

Author SHA1 Message Date
devsaurus 9d8c3a7b82 fix u8g device destructor
don't free unallocated memory
2015-08-05 21:52:56 +02:00
Vowstar ad49c5dd3b Merge pull request #589 from kbeckmann/pr_bmp085
Implemented BMP085 module
2015-08-05 23:21:03 +08:00
Vowstar d97d7df8ec Merge pull request #588 from robertfoss/dev
Use #if instead of #ifdef.
2015-08-05 23:20:38 +08:00
Vowstar a1bb3a6ad8 Merge pull request #586 from DiUS/ram-saving
Reclaim ~1.5k RAM by tuning down SPIFFS cache, use dynamic DNS table names
2015-08-05 23:19:24 +08:00
Johny Mattsson 00527237f9 Remove now-unnecessary alignment constraints in SPIFFS.
With platform_s_flash_read() now properly handling unaligned destination
buffers, there is no need to shim SPIFFS any more.
2015-08-04 16:30:58 +10:00
Johny Mattsson 9f9b323fb5 Ensure flash write bounce buffer is used if source is also flash.
When using the flash write API, the flash is unmapped/uncached, and as
such it's not possible to source data directly from flash (e.g. string
literals).
2015-08-04 16:30:54 +10:00
Bernd Meyer 1259f8d776 Deal with unaligned destination parameter to flash read
(Occurs e.g. when SPIFFS cache is disabled.)

Implementation mirrors the existing handling in the write path.
2015-08-04 16:30:46 +10:00
Konrad Beckmann 0b28056959 Implemented BMP085 module 2015-08-03 17:07:56 +02:00
Robert Foss 579dc27ee0 Use #if instead of #ifdef. 2015-08-03 01:09:49 +02:00
zeroday c19596cae8 Merge pull request #581 from robertfoss/dev
Added USE_DNS define.
2015-08-02 23:40:37 +08:00
zeroday 53a035411e Merge pull request #584 from DiUS/cjson-lua-mem-wrap
Improvements to cjson memory handling, Note that when cjson fails a memory allocation, it leaks a bit of memory, it's possible to detect that it did fail, and schedule a restart.
2015-08-02 23:38:13 +08:00
Johny Mattsson 125db6595d Use dynamic memory for DNS table names, saving ~1k RAM. 2015-07-31 18:15:18 +10:00
Johny Mattsson 4a47813e20 Reduced SPIFFS cache, freeing ~0.5k RAM.
Also made the cache on/off configurable via user_config.h. Uncached writes
are not a very good idea, but for read-only deployments a further ~0.5k RAM
can be gained by disabling the cache.

Tweaked the file.read() workhorse to read large chunks at a time rather
than use getc(), to compensate for potential unavailability of cache.
2015-07-31 18:15:18 +10:00
Johny Mattsson b583af94a5 Fixed long key bug in HMAC calculation. 2015-07-31 14:11:09 +10:00
Johny Mattsson eae72699d0 Fixed broken linear growth allocation in cjson. 2015-07-31 13:17:05 +10:00
Bernd Meyer 595509a7f3 More sensible cjson realloc strategy. 2015-07-31 11:36:46 +10:00
Johny Mattsson 719abca418 Stop cjson from killing the node on out-of-mem. 2015-07-31 11:36:46 +10:00
Robert Foss 1b8e015f33 Removed some whitespace. 2015-07-28 16:34:25 +02:00
Robert Foss 5822d4c4ed Add define for advertising DNS in the DHCP OFFER message. 2015-07-28 16:32:38 +02:00
Vowstar 00e1e6bcbe Merge pull request #572 from devsaurus/dev
Upgrade u8g module and add display bindings
2015-07-26 22:55:52 +08: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 05e3267f24 update to u8glib 1.18.1 2015-07-19 23:22:50 +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
Johny Mattsson 8d68ad7e15 Updated SPIFFS to 0.3.2, plus alignment fix. 2015-07-17 13:40:55 +10: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
Vowstar 239008d5b9 Merge pull request #553 from nodemcu/dev096
Merge Dev096 to Dev
2015-07-14 15:02:37 +08:00
dnc40085 0020c1d167 added code to check if in softap mode before continuing event monitor
callback
2015-07-13 22:12:16 -07:00
dnc40085 be79d1d3b6 added wifi station event monitor 2015-07-13 21:13:26 -07:00
Konrad Beckmann 6538d22d1f Improved ws2812 implementation
- Fixes the "first led problem" (#534 #487).
- Adds support for 160MHz mode.
- Optimized timings. Time to write pixels is reduced by about 25%
  This is useful when having a large amount of chained LEDs (>500).
2015-07-12 13:43:33 +02:00
Vowstar 98b2bffa75 Merge pull request #545 from DiUS/rtc
RTC and advanced timekeeping
2015-07-11 12:17:51 +08:00
Johny Mattsson dd38a0a0e6 Imported reworked rtctime support. 2015-07-10 16:16:25 +10:00
Johny Mattsson 09410d55c6 Added SNTP module, for easy time sync.
Integrates with the rtctime component if it's available.
2015-07-10 15:12:31 +10:00
Johny Mattsson 67e72c45df Imported RTC FIFO component + added Lua interface.
The rtcfifo module uses RTC memory to store sensor samples across deep-sleeps,
making it possible to batch up samples for less frequent uploads. This
component uses 9 RTC memory slots for control, and a variable number of
slots for sample storage (see rtcfifo.prepare() on how to control the
size/location of the latter).

When used together with the rtctime module, it also exposes the convenience
function rtcfifo.dsleep_until_sample() which can be used to easily take
readings on a regular basis without having to manually take into account
time spent awake to get an accurate sleep time.

The format used for storing samples is quite dense, and allows for 16 bits
of data in a fixed point format (per sample).
2015-07-10 15:12:31 +10:00
Johny Mattsson 2187424928 Imported RTC+sleep timekeeping from an internal DiUS project.
Added Lua module rtctime to interface with it.

This keeps as accurate time as is possible on the ESP8266, including across
deep sleeps (provided rtctime.dsleep() is used rather than node.dsleep()).
Intended to be used together with NTP for high accuracy time keeping. The
API is via rtctime.{get,set}timeofday(), working from Unix epoch.

Note that 160MHz CPU clock is not currently supported by the rtctime code,
as it is only aware of the 52MHz boot clock and the regular 80Mhz default
clock.

See rtctime.h for detailed info on how this all works.
2015-07-10 15:12:31 +10:00
Johny Mattsson 1a613effeb Imported RTC access from a DiUS internal project.
Added Lua access module named "rtcmem" for read/write of RTC user module.
2015-07-10 15:10:15 +10:00
Johny Mattsson 6ad2666182 Declare wifi.ap.getconfig() in the right map. 2015-07-10 14:01:38 +10:00
vowstar 67d785ffec Restore default data and init data before system restore. 2015-07-04 04:27:59 +08:00
vowstar b6e431ebed Merge branch 'dev' of https://github.com/nodemcu/nodemcu-firmware into dev 2015-07-04 03:55:02 +08:00
vowstar 89aaf475d0 Add node.restore().
If NodeMCU can't connect Wi-Fi, please use it.
After reboot, all will be OK.
RESTORE ITEMS:
wifi_station_set_auto_connect, wifi_set_phy_mode, wifi_softap_set_config,  wifi_station_set_config, wifi_set_opmode.
2015-07-04 03:54:22 +08:00
Vowstar f5938dfe17 Will made some modules default off.
Need discussion. And turn off some modules by default.
May our community should build more version?
2015-07-04 02:51:41 +08:00
Vowstar 5279dc9dfc Merge pull request #525 from kbeckmann/ws2801_disable_default
Disabled WS2801 module
2015-07-04 02:48:44 +08:00
vowstar 2224f24dad Merge branch 'dev096' of https://github.com/nodemcu/nodemcu-firmware into dev 2015-07-04 02:31:15 +08:00
vowstar 638bf7b023 Merge branch 'dev' of https://github.com/nodemcu/nodemcu-firmware into dev 2015-07-04 02:28:31 +08:00
vowstar fb0e4722b8 Fix and support Wi-Fi smart link (esp-touch and air-kiss).
Espressif open-source android and iOs APP,
See also https://github.com/espressifapp
Note: Must use ESP-TOUCH-V021 in espressif app history.
2015-07-04 02:27:51 +08:00
Konrad Beckmann 485e5a3140 Disabled WS2801 module 2015-07-03 12:35:47 +02:00
Konrad Beckmann 3d3c2431b3 Added WS2801 support 2015-07-02 00:50:26 +02:00
Vowstar 125d2173d6 Merge pull request #519 from md5crypt/tmr_module
rewrote the timer module from scratch
2015-06-30 15:50:08 +08:00
Luna 2691383696 added tmr.interval 2015-06-29 23:15:30 +02:00
Luna c1d2eb413b rewrote the timer module from scratch 2015-06-29 21:19:24 +02:00
Vowstar aa710d1f53 Merge pull request #513 from NodeUSB/dev096
update 433MHz transmission comment, add static ICACHE_FLASH_ATTR flag
2015-06-28 14:55:07 +08:00
Mike Wen 66ca7f6aca update 433MHz transmission comment, add static ICACHE_FLASH_ATTR flag 2015-06-27 18:14:24 -04:00
Mike Wen cf72a3203d update 433MHz transmission doc, add static ICACHE_FLASH_ATTR flag 2015-06-27 14:42:39 -04:00
vowstar dce0d2c2a8 Release build 20150627.
fixed ap/station-ap cannot connect to the device.
added wifi.ap.getconfig().
fixed net.dns.getdnsserver().
added new base64 lua example.
added node.bootreason() to inspect boot cause.
optimization of u8g.
2015-06-27 15:21:48 +08:00
vowstar 663158e4ab added wifi.ap.getconfig() by @md5crypt https://github.com/nodemcu/nodemcu-firmware/pull/500/files#diff-81824fe90d00138d98b6e9f0d7d8c7dcL1458. 2015-06-27 12:30:36 +08:00
vowstar a32df17579 Fixed net.dns.getdnsserver() by @md5crypt. 2015-06-27 12:26:24 +08:00
Vowstar 2ab4de9c09 Merge pull request #512 from jmattsson/boot-reason
Expose boot reason in Lua
2015-06-27 11:25:35 +08:00
Johny Mattsson 7bd10e8a17 Added node.bootreason() to inspect boot cause. 2015-06-27 12:34:03 +10:00
Johny Mattsson b5c6a5b1c6 Stop dhcpserver from writing to const data. 2015-06-27 12:12:21 +10:00
Vowstar d507060ecf Merge pull request #509 from devsaurus/dev-irom0
Unify memory section usage for u8g
2015-06-27 00:04:46 +08:00
vowstar dda121e5e0 Release 0.9.6-dev_20150625 2015-06-26 18:32:46 +08: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
Luna 5ca807d7a1 fixed net.dns.getdnsserver() and added wifi.ap.getconfig() 2015-06-24 22:38:37 +02:00
Johny Mattsson b0f9788a6d Move constants to ROM. Frees up 16k+ of RAM.
Accessing 8bit and 16bit constants from ROM rather than RAM comes with a
performance cost, as these loads go through the load/store exception
vector. Any performance critical constants can be forced back into RAM
as RAM_CONST_ATTR.

The entry point has changed from call_user_start() to user_start_trampoline()
in order for the exception handler to be installed early enough.
2015-06-23 15:41:14 +10:00
Johny Mattsson 0c924e56c6 Support for loading sub-32 wide data from irom. 2015-06-23 15:41:14 +10:00
MarsTechHAN 04c03b00ae @jorgempy We change the API of DNS callback format back
Make the net api universe  Callback Format -> function(conn,ip)
2015-06-20 19:10:01 +08:00
vowstar 75c3cf29c2 Disable interrupts while communicating with DHTxx. 2015-06-20 02:08:20 +08:00
Vowstar 90ca92ca6e Revert "Merge dev to dev096" 2015-06-20 01:50:29 +08:00
vowstar 3430e5f826 Add __attribute__((optimize("O2"))) to ws2812 module. 2015-06-20 01:40:45 +08:00
vowstar cda7992c1a Fix DHTLIB bug of DHT22, DHT21, DHT33, DHT44. 2015-06-20 00:26:59 +08:00
vowstar c56659e84d Using __attribute__((alias("dht_read"))) reduce code size. 2015-06-19 01:05:19 +08:00
vowstar 87341547d7 Update DHTlib, supported DHT11 or DHTxx automatic detection.
Using @MarsTechHAN 's method.
New usage:
status, temp, humi, tempdec, humidec = dht.read( id )
print( dht.read( id ) )
= dht.read( id )
2015-06-18 20:53:52 +08:00
vowstar 98a2c9fdb6 Align all TAB=8 in app/Makefile, make sure it fit for github display. 2015-06-18 17:36:27 +08:00
vowstar af56aea1e8 Update dhtlib api, support both integer and float version. 2015-06-18 17:19:55 +08:00
vowstar 899935e60b Add DHT Lua Module for interfacing with the DHTxx sensors (xx = 11-21-22-33-44). 2015-06-18 16:31:40 +08:00
vowstar 515a7bf1ab Add dhtlib for DHT11/21/22/33/44, port from Arduino. 2015-06-17 16:30:12 +08:00
Orgmar b0a4e4d3e9 Changed BUILD_DATE. 2015-06-17 00:16:57 +08:00
Mike Wen d955c8815b add 433MHz transmission 2015-06-11 18:07:16 -04:00
Mike Wen 7df0a45b07 add 433MHz transmission 2015-06-11 18:05:27 -04:00
Mike Wen a8622795a7 add 433MHz transmission 2015-06-11 18:05:18 -04:00
Vowstar 8044014f96 Merge pull request #471 from nodemcu/dev
Merge dev into dev096
2015-06-08 14:04:28 +08:00
cal 9dc71cfec0 Trying to fix
Problem with multiple MQTT subscriptions #459
	https://github.com/nodemcu/nodemcu-firmware/issues/459

Fix possible wrong buffer pointer increment.
2015-06-07 12:45:55 +02:00
Vowstar ef4e6fa95f Merge pull request #467 from DiUS/newcrypto
Crypto module improvements
2015-06-05 13:01:38 +08:00
Johny Mattsson 7867fd083c Move crypto things to irom0.text segment.
This releases 1168 bytes back to the heap.
2015-06-05 13:03:08 +10:00
Johny Mattsson 223a936779 Switched crypto module to use ROM SHA1/MD5.
Also disabled MD2 support by default (see MD2_ENABLE in user_config.h).
2015-06-05 12:12:24 +10:00
cal fdcb982351 Trying to fix
Problem with multiple MQTT subscriptions #459
	https://github.com/nodemcu/nodemcu-firmware/issues/459

Fix possible wrong buffer pointer increment.
2015-06-04 11:46:20 +02:00
HuangRui 3cd5a6a1ed Merge branch 'master' of https://github.com/bruceme/nodemcu-firmware into dev
Conflicts:
	app/modules/net.c
2015-06-04 15:04:12 +08:00
Johny Mattsson d855584bae Fixed off-by-one error from refactoring. 2015-06-03 17:20:55 +10:00
Johny Mattsson 06724fbb17 Renamed SHA2 support option to SHA2_ENABLE per request. 2015-06-03 11:20:16 +10:00
Johny Mattsson 2d1e69151e Extended Lua crypto module with hash & hmac. 2015-06-02 18:17:30 +10:00
Johny Mattsson 32dd9b7b7a Crypto library with unified interface.
Uses both existing MD2/MD5/SHA1 and the Gifford SHA256-512, unless WITHOUT_SHA2
is defined.
2015-06-02 18:15:18 +10:00
Johny Mattsson 68ef22ace5 Imported Aaron Gifford's SHA{256,384,512} implementation. 2015-06-02 17:02:14 +10:00
dnc40085 353209fb4e Change comments for wifi.sta.getap 2015-05-31 22:45:43 -07:00
dnc40085 a5fe3d0146 Added option to wifi.sta.getap to allow changing output format between
new style and old style
2015-05-31 21:43:03 -07:00
Vowstar d8a8746b9e Merge pull request #447 from creationix/dev
Add crypto module.
2015-05-29 15:05:37 +08:00
dnc40085 01d90f1cb0 revert app/spifs folder to commmit 8f925e6 2015-05-28 23:54:07 -07:00
dnc40085 1f798dabf7 Revert "Update spiffs to latest." 2015-05-28 17:38:08 -07:00
= 2128c42f02 Add headers for discovered rom functions 2015-05-28 15:10:12 -05:00