Commit Graph

445 Commits

Author SHA1 Message Date
TerryE 0ef362472c Add node.egc.setmode() + constants as per #609 2016-02-20 19:15:52 +00:00
Arnim Läuger 8743319b02 Merge pull request #1000 from devsaurus/sigma_delta
Add sigma_delta module.
2016-02-20 20:11:42 +01:00
Arnim Läuger e82cb974a6 Merge pull request #1057 from pjsg/hwtimer
Add real hw_timer support and convert the pwm module to use it
2016-02-20 20:05:40 +01:00
Terry Ellison 68919dea65 Merge pull request #1004 from cheloftus/dev
Added crypto.fhash function for hashing files
2016-02-19 20:16:09 +00:00
devsaurus 8982650df9 Add sigma_delta module. 2016-02-18 21:35:58 +01:00
Terry Ellison dc905f080b Merge pull request #1063 from DiUS/fscfg
Add file.fscfg() command for fs location + size.
2016-02-18 08:51:03 +00:00
philip 669543bbf2 Hardware timer support and convert the PWM module to use it 2016-02-17 21:07:33 -05:00
Johny Mattsson 1fd98d9f86 Add file.fscfg() command for fs location + size. 2016-02-18 12:52:40 +11:00
Johny Mattsson 1afa72d53a Merge pull request #1061 from TerryE/dev-task-if
Add New Tasking I/F and rework GPIO, UART, etc to support it
2016-02-18 11:51:27 +11:00
Terry Ellison 16953690bb Merge pull request #902 from Alkorin/ws2812-buffer-1.5
ws2812 strip data buffer
2016-02-17 22:05:47 +00:00
Terry Ellison 4501f655f6 Merge pull request #1050 from jfollas/file-exists
Added file.exists() method
2016-02-17 22:04:09 +00:00
TerryE 49733f6f6d Add New Tasking I/F and rework GPIO, UART, etc to support it
As with the last commit this rolls up the follwowing, but include the various
review comments on the PR.

-   **Documentation changes**. I've added the taks FAQ as a stub new Extension
developer FAQ, and split the old FAQ into a Lua Developer FAQ and a Hardware
FAQ.

-   **Tasking I/F**.  New `app/task/Makefile`, `app/task/task.c`,
`app/include/task/task.h` and `app/Makefile` as per previous commit.  Cascade
changes to `app/driver/uart.c`, `app/include/driver/uart.h`,
`app/user/user_main.c` and `app/modules/node.c`

-   **GPIO Rework** to `app/modules/gpio.c` and `pin_map.[hc]`, `platform.[hc]`
in `app/platform`

-   **Other Optimisations** Move the `platform_*_exists()` from
`app/platform/common.c` to static inline declarations in `platform.h` as
this generates faster, smaller code. Move lgc.a routines out of iram0.
2016-02-17 17:13:17 +00:00
Henk Vergonet a1c1e015ff Add i2c based module for am2320 humidity sensor
Example use:
> sda=1
> scl=2
> am2320.init(sda,scl)
> rh, t = am2320.read()
> print(string.format("Temperature: %s degrees C", t / 10))
> print(string.format("RH: %s %%", rh / 10))

signed-off-by: henk.vergonet@gmail.com
2016-02-14 15:12:42 +01:00
jfollas d4ae67d0b4 Changed filename length error handling per TerryE's suggestion 2016-02-13 18:58:04 -05:00
jfollas 44786a22ff Added file.exists() method to save the need to use file.list() for checking file existence 2016-02-13 17:37:04 -05:00
philip 0e9a0d43d4 Direct port of the struct module that provides access to
packed structures in strings. Very useful for network protocol
packing/unpacking. The docs are directly converted from the original.

Review feedback

Fix typo
2016-02-13 08:32:25 -05:00
Marcel Stör 2c687313de Merge pull request #1002 from pjsg/mqtt
Fix memory exhaustion in mqtt under circumstances from issue #975
2016-02-10 12:58:26 +01:00
devsaurus dc2e1efefb Extend data type for spi miso/mosi buffer offset to 16 bit. 2016-02-09 22:05:05 +01:00
Arnim Läuger 25585672ae Merge pull request #1014 from urish/patch-1
Fix secure TCP connections for `net` and `mqtt` modules.
2016-02-07 19:51:32 +01:00
Uri Shaked 31a62a9eb1 Fix secure MQTT connections
Call `espconn_secure_set_size()` before calling `espconn_secure_connect()`, similar to how the http module works
2016-02-07 18:11:30 +02:00
Arnim Läuger d760a5e29c Merge pull request #940 from devsaurus/dev-ssd1327
implement architecture dependent delay functions for u8glib
2016-02-06 21:46:01 +01:00
Uri Shaked ce498462f7 Fix secure TCP connections
Call `espconn_secure_set_size()` before calling `esp_secure_connect()`, should fix issues like #710 and #520
2016-02-06 17:12:46 +02:00
cheloftus 58dd15e1d1 Added crypto.fhash function for hashing files 2016-02-05 22:19:00 +00:00
philip c9cf02ba31 Send any queued packets when possible 2016-02-01 22:29:32 -05:00
Johny Mattsson fcb14a33b3 Merge pull request #987 from DiUS/enduser_enhanced
Enhancements to enduser_setup module
2016-02-02 00:39:47 +11:00
Johny Mattsson 86839d6e71 Fixes and enchancements for enduser_setup module.
Fixes:

* Removed spurious \0 bytes being sent to the client in many cases.

* Properly terminated 404 header.

* Now including Content-length: header for index.html (including built-in).

  Clients otherwise had to wait for their own timeout before considering
  the page load complete, which resulting in an unpleasant sluggish
  experience.

* Switched form submission to GET, as iOS sometimes does not include the
  body in the same packet as the POST header, which led to the module
  not finding the form values.

* Added redirect after form submission to avoid blank-page-in-browser.

* Moved common "enduser_setup" prefix to a lua_pushfstring() to reduce
  string literal overhead.

* Replaced cached lua_State* with calls to lua_getstate(), as in other
  modules.

* Fixed broken appending of MAC to the SSID.

* Fixed up macro definitions to not break `if` clauses unintentionally.

Enhancements:

* Support for scanning for available WiFi networks, and picking from the list.

* Support for retrieving the current WiFi station status.

* Added "manual" mode, where the module does not (re)configure the AP setup,
  nor shut down automatically. Default is still automatic, as before.

* Updated docs for new `enduser_setup.manual()` function.
2016-02-01 14:42:24 +11:00
philip 76b28c1f74 Simple mdns implementation using the Espressif code 2016-01-29 21:37:19 -05:00
devsaurus 8db93bcabf make delay optional 2016-01-29 18:52:38 +01:00
devsaurus 3a597f1698 implement architecture dependent delay functions for esp8266 port 2016-01-29 18:52:38 +01:00
devsaurus 1c32d20502 improve error checking in mqtt module
connect(), close(), subscribe(), publish()
2016-01-28 21:36:38 +01:00
jfollas edbcbe1b0f Fixed issue where default ESP_xxxxxx SSID was appearing for enduser_setup 2016-01-27 10:24:10 -05:00
Robert Foss 6ef7ece046 Cleaned up APA102 module registration. 2016-01-26 17:14:19 -05:00
Robert Foss 0f3c0ffbb0 Added support for the APA102 LED. 2016-01-25 20:54:27 -05:00
devsaurus cd06905b58 include user_interface.h to avoid implicit decls 2016-01-24 00:22:11 +01:00
Terry Ellison 85bd7bbeda Merge pull request #951 from Alkorin/ws2812-uart
Rewrite ws2812 serialization code to use UART1 instead of bit-banging.
2016-01-23 10:42:56 +00:00
Johny Mattsson 0cd287e67b Added -Wimplicit to modules build.
Plus associated fixes.
2016-01-22 10:55:57 +11:00
Johny Mattsson 182d45f928 Enable -std=gnu11 for modules dir.
Plus boat-load of fixes to actually make that build.
2016-01-20 19:40:47 +11:00
Johny Mattsson 5b381d2f1e Added AES support to crypto module.
Merely a wrapper around the (undocumented) internal SDK AES functions.
2016-01-19 15:19:11 +11:00
Thomas Soëte 47b44229bf ws2812 data buffer
To create a size led long buffer:
buffer = ws2812.newBuffer(size);

To fill the buffer:
buffer:fill(g, r, b)

To get a particular led color:
g, r, b = buffer:get(index)

To set a particular led color:
buffer:set(index, g, r, b);

To send the buffer:
buffer:write(pin);
2016-01-18 17:21:08 +01:00
Thomas Soëte 51bb8a50ba Rewrite code to use UART1 instead of bit-banging.
It allows keeping interrupts enabled but force to use GPIO2.
2016-01-18 17:16:18 +01:00
Marcel Stör 82b19c4c37 Merge branch 'newdocs' into dev 2016-01-17 14:23:13 +01:00
Terry Ellison 7e8c54890f Merge pull request #878 from dnc40085/dev_wifi_sta_Xethostname
Add functions: wifi.sta.sethostname and wifi.sta.gethostname
2016-01-15 08:56:37 +00:00
Johny Mattsson 52e121f469 Merge pull request #887 from vowstar/dev-all-in-one
Add HTTP client module and documents.
2016-01-15 17:44:41 +11:00
Johny Mattsson 30f8f62420 Optimized node.bootreason() for size.
Reduces the size from 179 to 102 bytes.
2016-01-15 11:42:20 +11:00
Konrad Beckmann d426976e60 BMP085: bmp085.init() should return 0 2016-01-14 22:23:03 +01:00
philip dc5cc6d9f4 Add the exccause parameter into the bootreason block 2016-01-14 08:16:26 -05:00
Johny Mattsson 9772e7cdec Merge pull request #888 from dnc40085/patch-1
Fix problem in wifi.sta.getap where invidual result is lost.
2016-01-14 16:49:20 +11:00
jfollas bf74b617d0 SPI: Implemented CPOL=1
Reference: http://bbs.espressif.com/viewtopic.php?f=49&t=1570
2016-01-13 22:39:15 -05:00
Johny Mattsson 57917601b7 Expose extended reset info via node.bootreason(). 2016-01-12 17:29:46 +11:00
Johny Mattsson 3fb0de859f Range check the tmr interval value.
Plain SDK 1.5.0 bugs out for values >6871948 or so - this commit does
not do anything to mitigate that.
2016-01-10 18:10:03 +11:00
dnc40085 c2f2bbd92a Fix problem in wifi.sta.getap where invidual result is lost. 2016-01-03 20:02:50 -08:00
dnc40085 fcbf58cf0d Rewrote wifi_sta_gethostname in wifi module. 2016-01-02 19:43:40 -08:00
dnc40085 b2190e4d7b Added functions: wifi.sta.sethostname and wifi.sta.gethostname and
option to set hostname in user.config.h
2016-01-02 18:34:40 -08:00
dnc40085 cb0a982dc3 Minor change to node module
node.dsleep was using sint32 to hold sleep time when it should be using
uint32
2016-01-02 03:10:27 -08:00
Terry Ellison 2f655deeca Merge pull request #885 from jmattsson/sdk150bin
Upgrade to SDK 1.5.0 + Espressif's Open LWIP 1.5.0.
2016-01-01 22:30:22 +00:00
Huang Rui 88bae3ed22 Remove all version data and combine 33 commits to 1.
Add http module and documention, including fix httpclient bug.
2015-12-29 19:25:37 +08:00
devsaurus 20629386ca fix parameter access for ucg.getStrWidth() 2015-12-28 15:22:09 +01:00
Johny Mattsson a6c0873a28 Upgrade to SDK 1.5.0 + Espressif's Open LWIP 1.5.0.
Removed earlier TCP port randomisation fix - the new SDK has its own fix
even though Espressif told me they wouldn't fix it. Yay?
2015-12-23 11:17:05 +11:00
devsaurus 6cbe716db0 uart: fix parity and stopbit generation 2015-12-21 17:51:43 +01:00
Robert Foss 672c396c69 Fixed compilation error when the enduser_setup module is disabled yet requires ENDUSER_SETUP_AP_SSID to be defined. 2015-12-20 22:50:36 -05:00
Terry Ellison 1462d00e9f Merge pull request #842 from jmattsson/module-ltr-cleanup
Cleanup: LTR module registration
2015-12-19 23:22:18 +00:00
devsaurus 5e9bf95ccc cpol=high is not implemented due to insufficient hw docs 2015-12-16 22:23:04 +01:00
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
Terry Ellison 32b2911263 Merge pull request #746 from DiUS/vdd33
Remove adc.readvdd33() limitation.
2015-12-01 23:37:53 +00:00
Johny Mattsson e9e2efc443 Merge pull request #794 from btsimonh/btsimonhdev
Added uart.alt(n) to swap to use alternate rx/tx lines.
2015-12-01 21:35:09 +11:00
Johny Mattsson 6acd91810f Merge pull request #776 from askainet/net_dns
Make net.dns.resolve and net.dns work with an IP address as the hostname
2015-12-01 21:24:05 +11:00
btsimonh b2345857e9 Added uart.alt(n) to swap to use alternate rx/tx lines.
if n = 0 -> std pinout.
if n != 0 -> alternate pinout (gpio13 and gpio15)
2015-11-28 22:51:01 +00:00
Johny Mattsson 455f0f2166 Merge pull request #779 from askainet/sntp_dns
Make sntp.sync work with DNS hostnames
2015-11-24 11:03:37 +11:00
Marcel Stör 6674a7d7f9 Add reference to HX711 documentation to source 2015-11-19 22:54:06 +01:00
Ivan Lopez d96383691f Make sntp.sync work with DNS hostnames 2015-11-19 21:51:33 +01:00
Ivan Lopez 4ff9e6cc01 Make net.dns.resolve and net.dns work with an IP address host to resolve 2015-11-18 21:22:58 +01:00
Ivan Lopez a272491502 Make net.dns.resolve and net.dns work with an IP address host to resolve 2015-11-18 20:58:33 +01:00
Johny Mattsson 98d0157283 Merge pull request #755 from robertfoss/dev
Added fix from #750, to access the IP of a sender of a UDP packet, to fix SDK 1.4.0 compability.
2015-11-17 17:51:03 +11:00
Johny Mattsson 5a199e6e63 Merge pull request #751 from lukaszo/ct
Allow to set content type in COAP (fix #658)
2015-11-17 12:17:11 +11:00
Robert Foss d19c350ead Added fix from #750, to access the IP of a sender of a UDP packet, to fix SDK 1.4.0 compability. 2015-11-11 23:46:26 -05:00
Johny Mattsson 340edbbe2f Merge pull request #750 from lukaszo/coap-deb
Fix sending CoAP UDP response using new SDK 1.4.0
2015-11-12 10:41:37 +11:00
Łukasz Oleś 3a5e845b29 Allow to set content type in COAP (fix #658) 2015-11-11 12:52:13 +01:00
Johny Mattsson 7ef1711e9a Merge pull request #740 from Alkorin/ws2812
Better timings for WS2812 (measured 345ns/695ns, instead of 340ns/600ns)
2015-11-11 21:09:31 +11:00
Vowstar 63fad194e2 Merge pull request #731 from dnc40085/dev_wifi_sleep_update
Update function wifi.sleep
2015-11-11 17:10:10 +08:00
Łukasz Oleś 982be36aab Fix sending UDP response using new SDK 1.4.0 2015-11-11 00:53:02 +01:00
Thomas Soëte 4fd552fcaf Better timings for 160MHz too.
Values measured:
@80MHz:
	T0H: 337ns, Period: 1.274us
	T1H: 687ns, Period: 1.25us

@160MHz:
	T0H: 349ns, Period: 1.262us
	T1H: 700ns, Period: 1.276us
2015-11-10 22:34:44 +01:00
Johny Mattsson dabfe83a7d Unbreak build from #735 merge.
Now with more #ifdef.
2015-11-10 18:48:39 +11:00
Johny Mattsson 27eed629e7 Remove adc.readvdd33() limitation. 2015-11-10 15:30:59 +11:00
Johny Mattsson 7512e628b6 Merge pull request #742 from TerryE/dev-stripdebug
Port of strip debug patch to the SDK 1.4-baseline dev
2015-11-10 12:20:36 +11:00
Johny Mattsson cfae4cdc4e Merge pull request #735 from karrots/mqtt_close_disconnect
mqtt:close() send the DISCONNECT message (fix #673)
2015-11-10 12:08:16 +11:00
Johny Mattsson 382eea5079 Fix building with DEVKIT_0_9 defined.
This got broken in the 1.4.0 overhaul, mea culpa.
2015-11-09 12:15:40 +11:00
TerryE 83d06b667d Port of strip debug patch to the SDK 1.4-baseline dev 2015-11-08 23:46:08 +00:00
Thomas Soëte c2f12a3b05 Better timings for WS2812 (measured 345ns/695ns, instead of 340ns/600ns) 2015-11-08 22:45:12 +01:00
Antoine b2167bdf3a mqtt:close() send the DISCONNECT message (fix #673) 2015-11-06 07:32:04 -07:00
dnc40085 51046fd78b Minor change to wifi.sleep
Remove unnecessary code
2015-11-06 05:10:24 -08:00
Jens Jensen c39d317b2b Fix mqtt connection closing when not publishing (fixes #359)
should not reset keep_alive_tick when receiving as this can prevent
sending keepalive (PINGREQ), which can result in server disconnect.
2015-11-05 20:21:53 -07:00
Johny Mattsson 5d28de8595 Merge pull request #722 from TerryE/luac-cross.2
Moving luac cross from master to dev
2015-11-06 09:49:38 +11:00
dnc40085 5e95f48a55 Update function wifi.sleep to return any error codes to user 2015-11-05 13:51:42 -08:00
Vowstar 3da57dc85c Merge pull request #725 from dnc40085/dev_wifi_toggle
Add function wifi.sleep
2015-11-05 10:07:32 +08:00
dnc40085 75849f79ab Fix compiler warning in tmr.c
Fix compiler warning: implicit declaration of function 'system_soft_wdt_feed'
2015-11-04 17:55:09 -08:00
dnc40085 91ba22a49d Minor change
Added static keyword to a variable
2015-11-04 06:37:57 -08:00
dnc40085 d6cc6d3e68 added wifi table entry for NULLMODE 2015-11-03 18:06:41 -08:00
Johny Mattsson 5c1c51642e Fix newly introduced incorrect WDT feeding. 2015-11-04 12:46:37 +11:00