Commit Graph

303 Commits

Author SHA1 Message Date
Yury Popov bdd54648f4 Upgrade to SDK 2.0.0 (#1435)
* Update LWIP from SDK
* mbedTLS integration
* Fix argument type in dbg_printf (#1624)
* Migrate to espressif’s download center (#1604)
* Fixed BBS links to firmware
* Adjust net module docs with mbedTLS info
* Remove unrelevant axTLS notice
2016-12-11 21:03:00 +01:00
Philip Gladstone 017b4637c2 Adds uart.getconfig(0) to get the current uart parameters (#1658) 2016-12-11 20:35:04 +01:00
Philip Gladstone 79013ae79a Improve SNTP module: Add list of servers and auto-sync [SNTP module only] (#1596) 2016-12-04 21:03:49 +01:00
ffedoroff 9f9fee9008 add new rfswitch module to handle 433MHZ devices (#1565) 2016-12-01 22:19:01 +01:00
Philip Gladstone 00b356be84 HTTP module can now chain requests (#1629)
* Fix up the HTTP module to use less memory
2016-12-01 22:13:33 +01:00
Jason Follas a48e88d4a3 EUS bug fixes (#1605)
- Bug fixes and improvements
- FIX: Ensure that station is enabled before doing network scan (this seems to be the cause of #1578)
- FIX: Check if state == NULL on enduser_setup.stop()
- IMPROVEMENT: Look for both enduser_setup.html.gz and enduser_setup.html as valid filenames, for semantic reasons
- IMPROVEMENT: Show a generic status message on HTML page if failure occurred before user even submitted data (i.e., would have come from previously stored config when the STA was started by EUS)
2016-12-01 22:12:47 +01:00
Marcel Stör 85c3a24927 Fix Somfy docs 2016-12-01 21:57:24 +01:00
Jun Kim 58321a9263 Fix typo at rtctime.md
rtctime.dsleep -> rtctime.dsleep_aligned
2016-11-29 22:41:15 +09:00
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
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
Marcel Stör 1e955caf26 Fix link 2016-11-10 21:31:49 +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
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
Arnim Läuger f0780e399e Add ssd1306_128x32 for U8G (#1571) 2016-10-30 00:19:04 +03: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 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
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 d96d7f237f Document node.flashsize(), fixes #1510 (#1511) 2016-10-01 13:44:24 +02:00
Marcel Stör 90839f8956 Fix typo 2016-09-21 20:27:53 +02: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 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
Arnim Läuger ecf8bd98d6 Add FatFs and SD card support (#1397)
* Add FatFs
* enable BUILD_FATFS for all-module build
* push vfs into rest of firmware
* align maximum filename length
* increase timeout for acmd41 during card initialization
* switch from DOS to Unix path semantics chdrive() is substituted by chdir()
* update to fatfs R.012a incl. patches 1-6
* add callback for rtc provisioning in file
* update docs
2016-09-05 20:17:13 +02:00
dnc40085 3328c66f2c Add function `wifi.nullmodesleep()` (#1475)
Enable auto sleep in NULL_MODE by default.
2016-08-27 11:46:24 +02:00
Marcel Stör cd6862f738 Fix list format in rtctime docs 2016-08-25 22:06:54 +02:00
Antoine 369a107041 Fix apa102 docs (#1470)
apa102.write expects a string with channel parameters in the ABGR order.
2016-08-25 09:28:37 +02:00
Luís Fonseca 16051d51d6 Implement initial version for websocket module (#1433) 2016-08-18 13:59:44 +02:00
Luís Fonseca 67750c4a72 Make HTTP module follow redirects (#1450)
Fixes #1366
2016-08-14 00:48:13 +02:00
Marcel Stör f2fa23c512 Fix wrong words 2016-08-11 20:41:33 +02:00
Marcel Stör 567b0a5553 Allow to override User-Agent and Host HTTP headers (#1426)
* Allow to override User-Agent and Host HTTP headers

Fixes #1410

Idea borrowed from (unmerged) #1157

* Do not send port for host header for default ports
2016-08-11 13:22:31 +10:00
TonyLianLong 480d922ca5 Update bme280.md (#1) (#1444)
The name should be bme280.c, not bit.c .
2016-08-08 13:37:01 +02:00
Marcel Stör 07aa210c50 Remove DEVKIT_VERSION_0_9 and deprecated functions (#1439) 2016-08-04 23:03:37 +02:00
Yury Popov f1afe7b6ab Add support for dynamic timers, deprecating the static ones (#1424) 2016-08-02 22:35:53 +02:00
Arnim Läuger 7f8a2b2c19 Update u8glib to v1.19.1 and add setContrast() (#1385) 2016-08-02 22:29:34 +02:00
snosrap 8cd5e02634 Fixed `STA_DISCONNECT` typo (#1430) 2016-07-31 23:09:16 +02:00
Marcel Stör 3eccf506d1 Add note about calling sntp.sync periodically 2016-07-25 14:28:27 +02:00
Thomas Soëte 8866297c6d Remove buffer:write() as ws2812.write() handles buffers (#1408) 2016-07-20 23:04:33 +02:00
Thomas Soëte 854ad7c80f Handle two WS2812 strips in parallel using the two UARTs through GPIO2 and TXD0 (#1310) 2016-07-20 22:28:47 +02:00
Arnim Läuger 56839fb20b Add rtctime.epoch2cal() (#1386) 2016-07-19 22:01:26 +02:00
Marcel Stör 0bbce6f845 Set admonition types correctly (subjective) 2016-07-14 22:52:30 +02:00
Marcel Stör 76c3c7d486 Fix admonition in CoAP documentation 2016-07-14 21:32:33 +02:00
Marcel Stör 8394810057 Add meta info to Switec doc page 2016-07-10 00:38:42 +02:00
Harald Kubota b366bf4988 Update sntp.md (#1378)
Extra character in the doc
2016-07-02 21:54:22 +02:00
Marcel Stör 3a7f01bb66 Fix documented MAC address format of wifi.sta.getmac() 2016-06-29 22:46:34 +02:00
Marcel Stör adf717353a Slightly adjust Switec docs (we never mention sources) 2016-06-26 14:45:40 +02:00
Philip Gladstone 4a8abc2060 Add support for driving instrument gauge stepper motors (#1355) 2016-06-26 14:19:06 +02:00
Marcel Stör 6c96c4dc31 Fix unordered list indentation 2016-06-26 08:34:23 +02:00
Marcel Stör ed679a7263 Correct WiFi auth constants in docs, fixes #1360 2016-06-21 22:13:26 +02:00
vsky f2d0195732 gpio.serout going asynchronous (#1359)
* gpio.serout going asynchronous

* fixing several issues following PR comments
2016-06-16 20:33:26 +02:00
Arnim Läuger d445ae97fb Enable spi clock_div < 4. (#1283) 2016-06-15 21:01:52 +02:00
Marcel Stör 244c6e9db1 Add note about task.post() to HTTP module documentation 2016-06-11 21:25:31 +02:00
Konrad Hübner 500bbceded added fadeIn, faceOut and shift to ws2812 module (#1343)
* added fadeIn, faceOut and shift to ws2812 module

* improvements to rotate, unified fade method

shift renamed to rotate and usage of more efficient memory operations.
fadeIn and fadeOut unified into fade method with optional parameter for direction.

* rename method to "shift" with optional mode parameter
2016-06-10 22:23:37 +02:00
Marcel Stör 95d48ada69 Replace 2 datasheet-only links with SparkFun links 2016-06-05 23:42:21 +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
Jason Schmidlapp e3f7e6321f Added support for STM L3G4200D digital gyroscope (#1251) 2016-06-05 23:00:37 +02:00
Jason Schmidlapp be10ccdb6b Added support for Analog Devices ADXL345 accelerometer (#1252) 2016-06-05 22:59:55 +02:00
Jason Schmidlapp bb9e210441 Added support for Honeywell HMC5883L digital compass (#1253) 2016-06-05 22:59:39 +02:00
Konrad Beckmann 65e83fd2f4 Fixed typo in wifi doc (#1337)
Changed wifi.getpymode() into wifi.getphymode()
2016-06-04 15:33:58 +02:00
Sebastian ecf74e5004 Added support for tm1829 baed led controllers (#1330) 2016-06-03 23:47:36 +02:00
Marcel Stör daed2b5b6e Add SSL/TLS remarks (#1333) 2016-06-01 21:34:02 +02:00
Marcel Stör afd974c5e9 Correct socket:send example, fixes #1303 2016-05-22 21:50:57 +02:00
Marcel Stör ab6c2c3924 Add small clarification for 'system restart' 2016-05-18 22:27:23 +02:00
Johny Mattsson 30d354c290 Rework ADC mode setting approach (#1285)
- Stop fighting against the SDK in terms of owning/writing the init_data block.
  NodeMCU included a default init_data block because originally the SDK did
  not, but by now it's not needed.

- Expose a way to reconfigure the ADC mode from Lua land. With most people
  using the cloud builder and not able to change the #define for byte 107
  this has been a pain point.

- Less confusion about which init_data has been used. Lua code can now simply
  state what mode it wants the ADC to be in, and not worry about the rest of
  the init_data complexities such as the init_data changing location due to
  flashing with wrong flash_size setting, or doing/not doing a chip-erase
  before loading new NodeMCU firmware.
2016-05-18 21:45:15 +02:00
Marcel Stör 9c9237ef5a Small syntax fix in UART documentation 2016-05-16 22:25:07 +02:00
devsaurus c0f1e028a6 fix link to net module 2016-05-15 17:08:45 +02:00
dnc40085 1b4234e2d3 Add details to WiFi module documentation (#1294)
Update descriptions of `wifi.setmode`, `wifi.sta.config` and `wifi.ap.config` to inform user of configuration persistence.
2016-05-14 23:04:20 +02:00
Marcel Stör e5cd17f08b State more explicitly that concurrent requests are not supported 2016-05-14 13:55:25 +02:00
dnc40085 1744372060 Updated tmr module and documentation
* Change upper limit for timer in `tmr_register` and `tmr_interval` to reflect new limit in SDK 1.5.3.
* Change documentation for `tmr.alarm()`, `tmr.interval()` and `tmr.register()` to match source.
* Improve error reporting to be more descriptive.
2016-05-14 00:17:04 +02:00
Marcel Stör 65c7e8e061 Use http://httpbin.org in examples 2016-05-13 23:31:29 +02:00
Thomas Soëte 0577c8af0f Finalize work on ws2812 module
* Fix bug on first write
	Pin is 'HIGH' at reset, so we need to pull it down and generate a
	reset.

* Move init code to flash section, not needed to be in iram.

* Remove pin choice in API

* Remove lock in ws2812_buffer_write

* Remove naked malloc

* Drop ws2812_writergb

* Drop support of ws2812.buffers to ws2812_writegrb should use ws2812.buffers:write

* Add support for <>3 colors per leds strips (RGBW)

* Remove ICACHE_FLASH_ATTR

* Add static const on _uartData to avoid initialization penalty
2016-05-09 07:21:50 +02:00
dnc40085 526f5457a2 Fixed some errors in wifi documentation (#1279)
Changed Parameters in `wifi.sta.status()` to match constants in source.

Fixed typo in example for `wifi.eventmon.register()`.
2016-05-02 13:57:18 +02:00
Thomas Mohaupt d906538edb Typo in link to GraphicsTest.lua (#1278)
Thank you.
2016-05-01 09:42:20 -04:00
Marcel Stör 8dbbe40fb8 Improve docs wrt to auto-connect vs connect, addresses #1273 2016-04-29 19:21:25 +02:00
philip 45722f3d79 Fixed the documentation to match the implementation 2016-04-25 21:34:21 -04:00
Marcel Stör 09ba1fc897 Fix tiny issue in sigma-delta docs 2016-04-25 14:54:36 +02:00
Philip Gladstone 5b4b1e0388 Autobaudrate detection by default -- to reduce problems with speed change (#1215)
* Auto autobaud detection by default

* Added stopping the autobaud if explicitly configured

* Add note about auto-baud to the uart.md
2016-04-17 23:44:18 +02:00
Johny Mattsson f428897810 SNTP module enhancements (#1243)
* Provide an error code to SNTP error callback.

* Switch SNTP to use ephemeral port.

In case we're being hit by ISP-level thou-shall-not-run-NTP silliness.
2016-04-15 12:49:18 +02:00
Arnim Läuger a33f586855 fix formatting in sigma-delta.md 2016-04-12 00:20:49 +02:00
Falk Kühnel 3f418f995c changed documentation for ws2812 module, which only works for pin GPIO2 at the moment (#1235) 2016-04-11 22:12:02 +02:00
Marcel Stör 7d576efed9 Fix link syntax 2016-04-03 21:56:51 +02:00
Philip Gladstone 3a5e5f10e2 Take 2: Add regular sends to mdns. Check for (some) buffer overflows. Make it handle unicast
Merging as suggested by @TerryE (and squashing at the same time. Turns out that this feature is enabled for this repo).

* Squashed commit of the following:

commit f985f10d9d2ee035f5a6ee6245c60d9904d98cc1
Author: philip <philip@gladstonefamily.net>
Date:   Sun Mar 27 21:52:46 2016 -0400

    Better mdns code

commit 6ee49ee106
Author: philip <philip@gladstonefamily.net>
Date:   Fri Mar 25 23:25:11 2016 -0400

    Update the docs

commit 7e455541c6
Author: philip <philip@gladstonefamily.net>
Date:   Thu Mar 24 21:58:16 2016 -0400

    Add retries and buffer checking to mdns

    Get the length right

    Now it seems to work

* Might work for combined mode

* Fix crash

* Simplified various bits of code. Changed the LUA interface

Added checking (to some degree) incoming quyery types

Move the defaults to the right place

Added reference to the RFC`
2016-04-03 14:10:52 -04:00
Rick Lettow ca87271692 Update mqtt documentation indicating the limitations of the subscribe(),
unsubscribe() and publish() callback functions.
2016-04-02 12:01:38 -05:00
Arnim Läuger a1ffe2e9fd Net docs, 2nd round
* add doc for net methods
- net.socket:getpeer()
- net.server:on()
- net.server:send()

* document net.multicast[Join|Leave]()
2016-04-01 21:44:46 +02:00
dnc40085 5e9ab01523 Modified wifi module
Implement SDK event monitor
Move wifi status event monitor code into seperate file
(app/modules/wifi_eventmon.c)
Modify wifi lua callback registration code.
Add Functions wifi.ap.deauth and wifi.sta.getrssi
Rework wifi event monitor to use tasking interface
fix for Lua coroutine compatibility issue
Made changes Suggested by TerryE

Also, moved code that sets the default host name out of
luaopen_wifi_init and into a separate function and added a post_task_low
entry in it's place.

Replaced some if test then return error lines with
luaL_argcheck
Add check for malloc null return in wifi.eventmon 
to catch out of memory errors
2016-03-31 19:01:41 -07:00
Marcel Stör b735fe7cff Merge pull request #1208 from devsaurus/net_hold
Document net.socket:hold() and unhold()
2016-03-31 13:42:46 +02:00
Marcel Stör d6ace19e97 Add origin to HTTP module docs 2016-03-31 07:31:02 +02:00
devsaurus 2e1ecc1993 Document net.socket:hold() and unhold() 2016-03-30 22:28:28 +02:00
Marcel Stör 1991dfeec8 Merge pull request #1201 from marcelstoer/dev-eus-index
Change index.html to enduser_setup.html
2016-03-30 08:12:49 +02:00
Marcel Stör 568e83a775 Change index.html to eus-index.html 2016-03-30 08:09:15 +02:00
Marcel Stör bc76df4057 Merge pull request #1190 from marcelstoer/dev-conn-send-example
Add example for socket:send()
2016-03-30 08:05:49 +02:00
Marcel Stör 476ca05888 Add example for socket:send()
Contributes to #730
2016-03-29 17:02:18 +02:00
UncleRedz 6f7fa2641c Merge remote-tracking branch 'upstream/dev' into dev 2016-03-29 06:23:22 +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