Commit Graph

72 Commits

Author SHA1 Message Date
Marcel Stör ecf9c64404 Revert "Next 1.5.4.1 master drop (#1627)"
This reverts commit 04ce0adf6f.
2016-12-07 22:18:35 +01:00
Marcel Stör 04ce0adf6f Next 1.5.4.1 master drop (#1627)
* add u8g.fb_rle display

* move comm drivers to u8g_glue.c

* disable fb_rle per default

* implement file.size for spiffs (#1516)

Another bug squashed!

* Fix start-up race between UART & start_lua. (#1522)

Input during startup (especially while doing initial filesystem format)
ran the risk of filling up the task queue, preventing the start_lua task
from being queued, and hence NodeMCU would not start up that time.

* Reimplemented esp_init_data_default.

To work around the pesky "rf_cal[0] !=0x05" hang when booting on a chip
which doesn't have esp_init_data written to it.

It is no longer possible to do the writing of the esp_init_data_default
from within nodemcu_init(), as the SDK now hangs long before it gets
there.  As such, I've had to reimplement this in our user_start_trampoline
and get it all done before the SDK has a chance to look for the init data.
It's unfortunate that we have to spend IRAM on this, but I see no better
alternative at this point.

* Replace hardcoded init data with generated data from SDK

The esp_init_data_default.bin is now extracted from the SDK (and its
patch file, if present), and the contents are automatically embedded
into user_main.o.

* Rework flashing instructions

Clarifies issues around SDK init data and hopefully clears up some
confusion, when paired with the esp_init_data_default changes in
NodeMCU.

* Fix typo

* Fixes the gpio.serout problem from #1534 (#1535)

* Fix some issues in gpio.serout
* Minor cleanup

* fix dereferencing NULL pointer in vfs_errno() (#1539)

* add map ids for flash sizes 32m-c2, 64m, 128m in user_rf_cal_sector_set() (#1529)

* Somfy/TELIS driver (#1521)

* Reduced LUAL_BUFFERSIZE to 256. Should free up some stack (#1530)

* avoid task queue overrun for serial input (#1540)

Thank you.

* Increase irom0_0_seg size for PR build

* Improve reliability of FS detection. (#1528)

* Version to make filesystem detection more reliable
* Improve bad fs detection

* Version of printf that doesn't suffer from buffer overflows (#1564)

* Small improvement to http client (#1558)

* Remove luaL_buffer from file_g_read() (#1541)

* remove luaL_buffer from file_g_read()
- avoid memory leak when function gets terminated by lua_error
- skip scanning for end_char when reading until EOF
* attempt to free memory in any case

* Change HTTP failures from debug to error messages (#1568)

* Change HTTP failures from debug to error messages

* Add tag to HTTP error messages

* Create macro for error msg and improve dbg msg

* Add ssd1306_128x32 for U8G (#1571)

* Update CONTRIBUTING.md

* Add support to mix ws2812.buffer objects.  (#1575)

* Add load/dump/mix/power operations on the buffer object
* Calculate the pixel value in mix and then clip to the range.
* Fixed the two wrong userdata types
* Added a couple more useful methods
* Add support for shifting a piece of the buffer.
* Fix a minor bug with offset shifts

* Update to the wifi module (#1497)

* Removed inline documentation for several functions and update comments
Since documentation is now part of the repository, the inline
documentation just adds to the already huge wifi.c

* Wifi module: add new functionality, update documentation

Functions Added:
wifi.getdefaultmode(): returns default wifi opmode
wifi.sta.apchange(): select alternate cached AP
wifi.sta.apinfo(): get cached AP list 
wifi.sta.aplimit(): set cached AP limit
wifi.sta.getapindex(): get index of currently configured AP
wifi.sta.getdefaultconfig(): get default station configuration
wifi.ap.getdefaultconfig(): get default AP configuration

functions modified:
wifi.setmode: saving mode to flash is now optional
wifi.sta.config: now accepts table as an argument and save config to
flash is now optional
wifi.sta.getconfig: added option to return table
wifi.ap.config: save config to flash is now optional
wifi.ap.getconfig: added option to return table

Documentation changes:
- Modified documentation to reflect above changes
- Removed unnecessary inline documentation from `wifi.c` 
- Updated documentation for `wifi.sta.disconnect`to address issue #1480 
- Fixed inaccurate documentation for function `wifi.sleeptype`
- Added more details to `wifi.nullmodesleep()`

* Move function `wifi.sleeptype()` to `wifi.sta.sleeptype()`

* Fixed problem where wifi.x.getconfig() returned invalid strings when
ssid or password were set to maximum length.

* fix error in documentation for `wifi.sta.getapindex`

* Renamed some wifi functions
wifi.sta.apinfo -> getapinfo
wifi.sta.aplimit -> setaplimit 
wifi.sta.apchange -> changeap

also organized the wifi_station_map array

* Make the MQTT PING functionality work better. (#1557)

Deal with flow control stopped case

* Implement object model for files (#1532)

* Eus channelfix (#1583)

Squashed commits included:

Bug fixes and final implementation
- Added Content-Length: 0 to all headers
- Endpoint name checks not using trailing space so cache-busting techniques can be used (i.e., append a nonce to the URL)
- Track when connecting so APList scan doesn't take place during (which changes the channel)
- More debugging output added to assist in tracking down some issues

Added /status.json endpoint for phone apps/XHR to get JSON response

Station Status caching for wifi channel workaround + AJAX/CORS
- During checkstation poll, cache the last station status
- Shut down the station if status = 2,3,4 and channel is different than SoftAP
- Add Access-Control-Allow-Origin: * to endpoint responses used by a service
- Add a /setwifi GET endpoint for phone apps/XHR to use (same parameters as /update endpoint). Returns a JSON response containing chip id and status code.
- Add handler for OPTIONS verb (needed for CORS support)

Wi-Fi Channel Issue Workaround
- Do a site survey upon startup, set SoftAP channel to the strongest rssi's channel
- Compare successful station connect channel to SoftAP's. If different, then defer the Lua success callback to the end. Shut down Station and start the SoftAP back up with original channel.
- After the 10 second shutdown timer fires, check to see if success callback was already called. If not, then call it while starting the Station back up.

HTTP Response and DNS enhancements
- If DNS's UDP buffer fills up, keep going as non-fatal. It's UDP and not guaranteed anyways. I've seen this occur when connecting a PC to the SoftAP and every open program tries to phone home at the same time, overwhelming the EUS DNS server.
- Support for detecting/handling pre-gzipped `enduser_setup.html` (and `http_html_backup`) payload. Nice for keeping the size of the `state->http_payload_data` as small as possible (also makes minimization not as critical)
- Corrected misuse of HTTP 401 response status (changed one occurrence to 400/Bad Request, and changed another to 405/Method Not Allowed)

* Normalized formatting (tabs-to-spaces)
* Added documentation
* Corrected misuse of strlen for binary (gzip) data.
* Added NULL check after malloc

* fix vfs_lseek() result checking in enduser_setup and clarify SPIFFS_lseek() return value (#1570)

* Fix link

* Overhaul flashing docs once again (#1587)

* Add chapter about determine flash size plus small fixes
* Rewrite esptool.py chapter, move flash size chapter to end

* i2c - allow slave stretching SCL (just loop and check) (#1589)

* Add note on dev board usage of SPI bus 0 (#1591)

* Turn SPI busses note to admonition note

* support for custom websocket headers (#1573)

Looks good to me. Thank you.

Also:
 - allow for '\0's in received messages

* add client:config for setting websocket headers

Also:
 - headers are case-insensitive now

* fix docs

* fix typo

* remove unnecessary luaL_argcheck calls

* replace os_sprintf with simple string copy

* Handle error condition in file.read() (#1599)

* handle error condition in file.read()

* simplify loop initialization

* Fix macro as suggested in #1548

* Extract and hoist net receive callbacks

This is done to avoid the accidental upval binding

* Fix typo at rtctime.md

rtctime.dsleep -> rtctime.dsleep_aligned
2016-12-01 21:37:24 +01:00
Marcel Stör 5f340f5f48 Delete http-client.lua (#1448) 2016-08-10 21:45:26 +02:00
Arnim Läuger d416648990 Add pcm module. (#1255)
* Add pcm module.
* Add network streaming example.
* document hw_timer dependency with pwm
* Add vu peak callback.
2016-06-05 23:21:36 +02:00
Arnim Läuger ae873b70c6 Add caching for multi-byte transfers (#1247)
* add caching for multi-byte transfers
handle HSPI /CS in examples

* push similar code snippets into macro
2016-06-04 00:18:19 +02:00
Marcel Stör bd17b295ba Change upper/lower case 2016-06-01 11:16:41 +02:00
Marcel Stör 08aff66c29 Delete http_server.lua, fixes #1196 2016-05-27 13:32:56 +02:00
Arnim Läuger 25b4285c4d update examples to task posting (#1249) 2016-04-18 13:35:07 +02:00
UncleRedz 7e0b58b950 Corrected typo in u8g documentation and added a new u8g example which demonstrate a draw loop that works correctly with WiFi. 2016-03-29 06:18:26 +02:00
devsaurus ee96273191 Remove lua modules with equivalent ones in app/modules. 2016-02-14 23:03:33 +01:00
Marcel Stör 08921c9871 Transfer HTTP client examples to lua_examples/
Fixes #941
2016-01-25 20:33:21 +01:00
Terry Ellison 94402443f2 Merge pull request #910 from devsaurus/dev-gcfix
Remove superfluous collectgarbage() in webap example
2016-01-07 22:50:45 +00:00
devsaurus 07c1a28d4d remove ; and dangling spaces 2016-01-07 23:08:44 +01:00
devsaurus 626e7d3c91 close connection on sent instead on receive 2016-01-07 23:00:24 +01:00
devsaurus 5a6975b343 remove superfluous collectgarbage() 2016-01-06 23:51:21 +01:00
devsaurus 87351a2d10 consolidate telnet example 2016-01-06 23:18:42 +01:00
devsaurus ff3926175c add fifo to fit new sdk behavior 2016-01-06 22:18:11 +01:00
Nick Andrew 0a7b730e23 Support DS18S20 and fix negative temp handling
The DS18S20 has only 1 fractional bit whereas DS18B20 has 4, and their
temperature register alignment differs. Check the family code to choose
the correct multiplier for both devices.

Closes #610

Negative temperatures (less than 0°C) are returned as a sign-extended
two's complement number. Subtract 0x10000 to recover the proper
negative value.

Signed-off-by: Nick Andrew <nick@nick-andrew.net>
2015-11-16 23:32:20 +11:00
devsaurus 26f4bc7957 ensure backwards compatibility of exising api functions 2015-10-18 11:13:57 +02:00
devsaurus c3680f8291 update examples and doc to api change 2015-10-18 11:13:56 +02:00
devsaurus 55e8565a2d adapt examples to clock_div parameter 2015-10-04 17:03:18 +02:00
devsaurus 5a29bab438 Merge pull request #655 from devsaurus/dev-ucglib
Add bindings for ucglib
2015-10-03 20:24:24 +02:00
devsaurus 4e235d8461 improve u8g lua examples 2015-09-24 23:18:34 +02:00
devsaurus 154b456f11 extend ucg example with ST7735 display 2015-09-17 22:37:31 +02:00
devsaurus f0d581223f UcgLogo example - fix drawGlyph and drawString 2015-09-17 21:53:48 +02:00
devsaurus 5c93ba017e finish GraphicsTest.lua 2015-09-17 21:53:48 +02:00
devsaurus ac1b5a1173 extend ucg module 2015-09-17 21:53:48 +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 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
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
BruceMe 46a07700fb Rename http_server to http_server.lua 2015-05-31 09:09:23 -05:00
BruceMe d1fe4e620a HTTP Server for LED/Servo
A simple yet robust HTTP server that can parse GET parameters and turn on/off a light or set the position of a servo.
2015-05-31 09:09:05 -05:00
BruceMe bcfe753341 ADC driving RGB LED; electronic mood ring
It's as simple as ADC (analog to digital converter); easy as RGB (Color LED)...

This example can be run on any ESP8266, but it runs out of the box on the ebay search for.. "ESP8266 Battery Holder" with the light sensor on ADC0 and RGB LED.  Fun and easy way to do more than blink a light.
2015-05-31 09:08:07 -05:00
devsaurus 897c8cd169 further reduce memory for u8g graphics test 2015-04-24 21:57:27 +02:00
devsaurus 4cd2b554ec Merge remote-tracking branch 'upstream/dev' into dev 2015-04-24 20:34:35 +02:00
devsaurus fc19725fef make variables local to save heap 2015-04-21 21:48:12 +02:00
funshine 450b79dbde add more mqtt example, add a mqtt subfolder 2015-04-06 00:05:08 +08:00
funshine bcbde08bf7 fix mqtt keepalive ping, add a example for mqtt in lua_examples. 2015-04-05 02:22:51 +08:00
AllAboutEE 1c267dfac7 Added phone calls and sms example. 2015-03-23 21:57:54 -05:00
devsaurus b34a8b46fe use RES pin for examples 2015-03-17 21:03:15 +01:00
devsaurus 87598c5dfe Merge remote-tracking branch 'upstream/dev' into dev 2015-03-17 20:35:39 +01:00
AllAboutEE 6c092e42ed Fixed bug where email text after CR and LF would not be read. Added example links, Fixed bug where send function could not be called more than once due to count variable. 2015-03-16 04:17:19 -05:00
AllAboutEE 0144e40cf0 Added comments and links to learn more about SMTP. 2015-03-16 00:39:29 -05:00
AllAboutEE be4bb14e7c Added comments to send_email_smtp and removed an unecessary variable. Fixed mispelling in comment in read_email_imap.lua 2015-03-13 20:51:19 -05:00
AllAboutEE 998f96a4d6 Added base64 module needed to encode username and password. Added SMTP send email example. 2015-03-13 14:39:14 -05:00
AllAboutEE 72f767445f Working example of IMAP read email module. 2015-03-12 11:27:01 -05:00
AllAboutEE 56aa416535 Added imap lua module and updated read_email_imap.lua example to use module. There is a bug where Examine is not sent sometimes. 2015-03-12 01:16:02 -05:00
devsaurus 88815012d4 move u8glib examples to subfolder 2015-03-11 21:56:20 +01:00
devsaurus 4f55ee4e34 validate SPI comm interface with ssd1306_128x64_spi 2015-03-11 21:53:45 +01:00