Commit Graph

1891 Commits

Author SHA1 Message Date
Marcel Stör 1032e9dd90 Extract and hoist net receive callbacks
This is done to avoid the accidental upval binding
2016-11-27 21:42:10 +01:00
Marcel Stör c54bc05ba6 Fix macro as suggested in #1548 2016-11-19 21:17:50 +01:00
Arnim Läuger c70dc7497e Handle error condition in file.read() (#1599)
* handle error condition in file.read()

* simplify loop initialization
2016-11-19 10:36:00 -05:00
Mariusz Kryński 59b9b3e26f 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
2016-11-19 10:35:20 -05:00
Marcel Stör 6331e0868c Turn SPI busses note to admonition note 2016-11-17 21:25:33 +01:00
Mike Pye 9a30797ba2 Add note on dev board usage of SPI bus 0 (#1591) 2016-11-17 20:10:48 +01:00
Marcel Stör 1d0cf5e8d0 Virtual u8g display driver for RFB/VNC support (#1514)
* add u8g.fb_rle display
* move comm drivers to u8g_glue.c
* disable fb_rle per default
2016-11-14 13:40:45 +01:00
zelll 798759950f i2c - allow slave stretching SCL (just loop and check) (#1589) 2016-11-13 10:16:07 -05:00
Marcel Stör a168449619 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
2016-11-12 20:20:46 +01:00
Marcel Stör 1e955caf26 Fix link 2016-11-10 21:31:49 +01:00
Arnim Läuger fdc766be9f fix vfs_lseek() result checking in enduser_setup and clarify SPIFFS_lseek() return value (#1570) 2016-11-08 22:27:12 +01:00
Jason Follas 058777ea60 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
2016-11-08 21:58:33 +01:00
Arnim Läuger a0e2e0ca37 Implement object model for files (#1532) 2016-11-08 21:02:51 +01:00
Philip Gladstone b74a9dbdf7 Make the MQTT PING functionality work better. (#1557)
Deal with flow control stopped case
2016-11-08 21:00:17 +01:00
dnc40085 73773fd8a5 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
2016-11-06 20:51:01 +01:00
Philip Gladstone 77b2e85d09 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
2016-11-05 13:53:42 +01:00
Marcel Stör cbe967d715 Update CONTRIBUTING.md 2016-11-02 23:08:33 +01:00
Arnim Läuger f0780e399e Add ssd1306_128x32 for U8G (#1571) 2016-10-30 00:19:04 +03:00
Marcel Stör 7c3f76009a 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
2016-10-29 14:04:23 +02:00
Arnim Läuger 9db07783f4 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
2016-10-28 17:32:12 +03:00
Philip Gladstone 2227383843 Small improvement to http client (#1558) 2016-10-27 14:07:04 +03:00
Philip Gladstone ebb537c502 Version of printf that doesn't suffer from buffer overflows (#1564) 2016-10-27 09:38:47 +03:00
Philip Gladstone 0ee1ab68b0 Improve reliability of FS detection. (#1528)
* Version to make filesystem detection more reliable
* Improve bad fs detection
2016-10-25 22:51:59 +02:00
Marcel Stör 6e38cc4bf9 Increase irom0_0_seg size for PR build 2016-10-24 21:17:02 +02:00
Arnim Läuger 020afdcf33 avoid task queue overrun for serial input (#1540)
Thank you.
2016-10-17 21:56:38 -04:00
Philip Gladstone f9533ed85a Reduced LUAL_BUFFERSIZE to 256. Should free up some stack (#1530) 2016-10-16 21:18:03 +09:00
vsky 880bd9850b Somfy/TELIS driver (#1521) 2016-10-14 07:49:58 +09:00
Arnim Läuger 101eb201ab add map ids for flash sizes 32m-c2, 64m, 128m in user_rf_cal_sector_set() (#1529) 2016-10-13 16:51:48 +09:00
Arnim Läuger b8e00120b6 fix dereferencing NULL pointer in vfs_errno() (#1539) 2016-10-13 16:48:37 +09:00
Philip Gladstone 025805b0e8 Fixes the gpio.serout problem from #1534 (#1535)
* Fix some issues in gpio.serout
* Minor cleanup
2016-10-11 21:51:00 +09:00
Marcel Stör d9b10a7bdb Fix typo 2016-10-11 08:05:42 +09:00
Johny Mattsson 9d8707429b Merge pull request #1527 from jimparis/rfcal_ne_0x05_initdata_fix_auto
Reintroduce automatic esp_init_data flashing, plus updated docs.
2016-10-06 12:02:48 +11:00
Jim Paris 948661d862 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.
2016-10-05 13:09:25 -04:00
Jim Paris 407eaa45ac 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.
2016-10-04 13:11:34 -04:00
Johny Mattsson 088d2c3820 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.
2016-10-04 12:04:09 +11:00
Johny Mattsson 90c6e86872 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.
2016-10-03 10:19:20 +02:00
Arnim Läuger a86fb74c34 implement file.size for spiffs (#1516)
Another bug squashed!
2016-10-02 21:32:48 -04:00
Arnim Läuger 7b83bbb2ea Merge pull request #1519 from nodemcu/dev
Next 1.5.4.1 master drop
2016-10-01 15:24:48 +02:00
Marcel Stör d96d7f237f Document node.flashsize(), fixes #1510 (#1511) 2016-10-01 13:44:24 +02:00
devsaurus c2732803a5 disable fb_rle per default 2016-09-28 22:02:50 +02:00
Marcel Stör 3007b33a0b Fix typo 2016-09-26 21:53:28 +02:00
Marcel Stör 3e7345530a Fix a few typos 2016-09-25 22:24:04 +02:00
Marcel Stör 90839f8956 Fix typo 2016-09-21 20:27:53 +02:00
Philip Gladstone 5ba1a6e934 Fixes the spiffsimg issues (#1502) (#1503)
* Always build spiffsimg (and make it build)

* Make sure that we have the offset before allowing the user to put it
into the output filename

* Fix the documentation and align the makefile with the docs

* Clean up the docs a bit more

* Revert to include building the 8mb size (for ESP8285)

* Added a spiffsimg target that does what you would expect

* Added support for HOSTCC (defaults to gcc)
2016-09-21 11:45:53 +10:00
Philip Gladstone 04e93b2433 Add the esp-gdbstub to enable debugging (#1506)
* Initial version of gdbstub support

* Add DEBUG argument to Makefile to add more debug data and turn off -Os

* Add the output redirection handling

* Added documentation

* Cleaned up the english a bit

* Make gdboutput actually trap all the output

* Review comments
2016-09-21 11:38:12 +10:00
devsaurus 837cf20633 move comm drivers to u8g_glue.c 2016-09-20 23:59:23 +02:00
devsaurus 492ee578ae add u8g.fb_rle display 2016-09-20 23:37:13 +02:00
Marcel Stör 11436d8dad Fix typo 2016-09-18 21:31:54 +02:00
Johny Mattsson a112296850 Added crypto.new_hmac() feature. (#1499)
Docs for crypto module refactored for easier maintenance.
2016-09-16 17:46:39 +02:00
Marcel Stör 8e48483c82 Change RTD links to point to `master`
Fixes #1490
2016-09-09 17:01:28 +02:00