Commit Graph

593 Commits

Author SHA1 Message Date
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
Johny Mattsson f82415f6b9 Fix to do TCP port number randomization at boot.
This addresses the issue where a server would otherwise reject a valid
connection attempt from a rebooted node, due to the server thinking that
packet belonged to a recently closed session. By starting off the local
TCP port numbers at random* points each boot the risk of port reuse
across a reboot is significantly reduced.

*) As random as can be had via the lower 12 bits of the ccounter.
2015-11-05 14:40:57 +11: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
dnc40085 4387f90339 Added function wifi.sleep 2015-11-03 17:23:43 -08:00
TerryE 0beee5c1ae Minor tweaks to luac.cross for SDK 1.4 support
plus Add extra logic to handle different loci path in luac.cross
for handling 32 bit or great hex integers Also add a helpfull hint in the
build tool to point out the Lua and lfs depencencies.
2015-11-03 22:45:43 +00:00
TerryE 307323d1ff Add luac.cross capability to nodeMCU 2015-11-03 21:37:14 +00:00
TerryE a08626d84f Add minimum debug library providing traceback() and getregistry() functions 2015-11-03 21:34:42 +00:00
kvakanet e2dd98ba10 Update mqtt.c fix for #679
Patch for  "mqtt LWT qos and retain parameters are parsed incorrectly #679"
2015-11-02 20:14:43 -07:00
Vowstar 95e2bbb0f0 Merge pull request #688 from karrots/mqtt-puback-fix
Fix for MQTT PUBACK loop
2015-11-01 14:34:12 +08:00
Vowstar a38fbdbf51 Merge pull request #713 from christakahashi/hx711-support
Added support for the hx711 load cell ADC.
2015-11-01 14:31:12 +08:00
Vowstar 3e0a3e992e Merge pull request #717 from karrots/feature/baudrate_define
Add #DEFINE to user_config.h to enable easier bit rate selection.
2015-11-01 14:30:57 +08:00
Jonathan karras 66e65bd3c1 Add #DEFINE to user_config.h to enable easier bit rate selection. 2015-10-31 19:47:11 -06:00
chris dffbfacd46 most users won't need this so it should be off be default 2015-10-30 23:31:45 -07:00
Jonathan karras 57c2e6eacd Fix for MQTT PUBACK loop
Conflicts:
	app/modules/mqtt.c
2015-10-29 20:02:08 -06:00
devsaurus 52d6be5299 Merge pull request #705 from devsaurus/dev-fdplx
Update full-duplex for SPI module
2015-10-28 23:36:39 +01:00
devsaurus 9444ae28df simplify spi api
duplex_mode configuration enables/disables receiving with spi.send()
spi.send_recv removed
2015-10-27 23:30:33 +01:00
Vowstar 38b494c07e Merge pull request #702 from devsaurus/dev-fdplx
Add full-duplex support to SPI module
2015-10-27 14:34:13 +08:00
Johny Mattsson b535be7ab8 Fix WDT resets during file.format().
With the new SDK soft-wdt it is no longer sufficient to tickle the hardware
watchdog, so all (found) instances have been changed to system_soft_wdt_feed().
2015-10-27 14:33:22 +11:00
devsaurus 0ba0370b87 fix construction of table 2015-10-26 22:40:11 +01:00
devsaurus d46bc5cc1f align spi_recv to platform_spi_send_recv 2015-10-26 22:39:33 +01:00
devsaurus 7d77398921 introduce full/half duplex transactions and add spi.send_recv() 2015-10-25 22:58:06 +01:00
devsaurus c223ecfe5f Merge pull request #693 from devsaurus/dev-hspi_apiext
Extend SPI module API with improved transaction handling
2015-10-21 22:33:08 +02:00
devsaurus 75488639eb make spi.send() transparent for 32 bit data
accept negative values as u32
2015-10-19 23:01:59 +02:00
devsaurus 7ac9a46c40 support secure connection based on CLIENT_SSL_ENABLE 2015-10-18 23:04:40 +02:00
devsaurus a6eb5ccb80 improved default handling of clock_div and databit length 2015-10-18 11:37:17 +02:00
devsaurus 26f4bc7957 ensure backwards compatibility of exising api functions 2015-10-18 11:13:57 +02:00
devsaurus 19092712e5 remove obsolete spi_mast_send and rename platform_spi_send 2015-10-18 11:13:56 +02:00
devsaurus 28a04cc9c1 remove obsoleted constants for databit length 2015-10-18 11:13:56 +02:00
devsaurus f238673772 rework of (H)SPI API 2015-10-18 11:13:55 +02:00
devsaurus 9cde0bbb83 add SPI transaction support 2015-10-18 11:13:55 +02:00
aeprox 5ab8de34e7 Fix adc.readvdd33
Replace undocumented readvdd33 function with SDK function system_get_vdd33
2015-10-17 15:47:17 +02:00
Vowstar 340ef8fc0a Merge pull request #636 from karrots/mqtt-clean-session
Added mqtt clean session support.
2015-10-17 20:58:06 +08:00
Johny Mattsson 8fba0f47de Make UDP server work again after 1.4.0 API changes. 2015-10-15 12:14:27 +11:00
Johny Mattsson afdd9430e0 Removed old lwip include file. 2015-10-12 15:57:24 +11:00
Johny Mattsson f54264669b Fixed includes after LWIP 1.4.0 upgrade. 2015-10-12 14:31:52 +11:00
Johny Mattsson 5d5be35633 Upgraded LWIP to 1.4.0 released from Espressif.
Plus directly provided patch for user_interface.h.
2015-10-12 14:31:04 +11:00
Johny Mattsson 711d464a2b Re-enabled open source LWIP. 2015-10-12 13:26:05 +11:00
Johny Mattsson a161f882ae Espressif-provided fix for open source LWIP on 1.4.0. 2015-10-12 13:26:05 +11:00
Johny Mattsson dec159bce1 Support for fixing the filesystem location.
To assist with testing new SDK.
2015-10-12 13:26:05 +11:00
Johny Mattsson bf8ed500bf Moved node.key() & node.led() support into node module.
It was piggybacking on the Lua readline timer which no longer exists.

Also cleaned up injection of Lua commands via CoAP & node.input().
2015-10-12 13:26:05 +11:00
Johny Mattsson fe6289a6c2 Switch Lua input to event driven instead of polled.
The Lua input timer has been the thorn in the side which prevents a lot of
potential sleeping, unnecessarily.
2015-10-12 13:26:05 +11:00
Johny Mattsson 67a711931a Switch to SDK LWIP until issues with the open one can be resolved. 2015-10-12 13:26:05 +11:00
Johny Mattsson e905c24dcc Removed unsused, now incompatible SSL code. 2015-10-12 13:26:05 +11:00
Johny Mattsson 21c4e11020 Enable dynamic build dates, plus print SDK version. 2015-10-12 13:26:05 +11:00
Johny Mattsson 30380f6cff Further cleanup of ld directory.
Renamed the main linker script to make it clear it is customised for NodeMCU
and not to be confused with the standard linker SDK linker scripts.

Changed to using the eagle.rom.addr.v6.ld file from the SDK.
2015-10-12 13:26:04 +11:00
Johny Mattsson 7d0b13df81 Bumped version string to stop confusing myself. 2015-10-12 13:26:04 +11:00
Johny Mattsson 8bdde6e28d Sorted out linker scripts & options.
Now boots to Lua prompt, but promptly reboots itself before input.
2015-10-12 13:26:04 +11:00
Johny Mattsson 91ee5c088c Wifi module update to new smartconfig API.
Needs testing.
2015-10-12 13:26:04 +11:00
Johny Mattsson 38cc84d2fc Removed gpio pulldown references.
The ESP never supported internal pulldowns, and the SDK now matches reality.
2015-10-12 13:26:04 +11:00
Johny Mattsson f1552605d9 Change os_update_cpu_freq... to ets_update_cpu_freq...
Again, the os_xxx version has been removed from the SDK.
2015-10-12 13:26:04 +11:00
Johny Mattsson d2ac5f1712 Changed os_intr_xxx to ets_intr_xxx.
The os_intr_xxx macros no longer exist in the SDK.
2015-10-12 13:26:04 +11:00
Johny Mattsson 3b9a42e254 Updated #includes to work on new SDK.
Both "c_types.h" and "lwip/ip_addr.h" don't get included indirectly anymore.
2015-10-12 13:26:04 +11:00
Johny Mattsson cc220d9201 Moved TEXT_SECTION_ATTR macro to its own header. 2015-10-12 13:26:04 +11:00
Johny Mattsson 8dff84e0a2 Missing file from the LWIP upgrade/import. 2015-10-12 13:26:04 +11:00
Johny Mattsson c674d191e4 Upgraded open-source LWIP.
From Espressif's lwip_open_src_template_proj_for_v1.3.0.zip
2015-10-12 13:26:04 +11:00
Johny Mattsson c1cd58e096 Build using 1.4.0 SDK + remove old SDK includes/libs.
Leaving the linker scripts intact for now, as they're quite customised.
2015-10-12 13:00:38 +11:00
chris 140bcee2e0 comment cleanup 2015-10-08 20:44:19 -07:00
chris cf079fa333 Basic hx711 functionality 2015-10-08 20:34:24 -07:00
devsaurus 093a895980 Merge pull request #678 from devsaurus/dev-hspi_clockdiv
Add divider for arbitrary HSPI clock frequencies, resolves #674
2015-10-06 21:05:17 +02:00
Johny Mattsson 5e19b8488f Merge pull request #644 from robertfoss/enduser_setup
Added ENDUSER_SETUP module.
2015-10-05 19:18:18 +11:00
devsaurus 4cf5f37450 address SPI_CLKDIV_PRE requirements
* respect N-1
* avoid range overflow
2015-10-04 16:57:50 +02:00
devsaurus ac50f9c6a5 add divider for arbitrary HSPI clock frequencies 2015-10-04 00:40:21 +02:00
Robert Foss 8683ea4f1b Fixed previous POST patch. Also cleaned up HTTP request handling. 2015-10-01 14:22:45 -04:00
Robert Foss 90f770412d Switched from HTTP GET to HTTP POST. 2015-09-30 14:11:43 -04:00
Robert Foss ee82b2ad12 Moved SSID define to user_config.h 2015-09-30 13:24:18 -04:00
Robert Foss 721fadfd14 Changed SSID to be suffixed by MAC. 2015-09-27 14:02:25 -04:00
Robert Foss a15097659b Disabled enduser_setup module 2015-09-19 15:22:01 -04:00
Robert Foss cd85e50e73 Added support for connected, error and debug callbacks. 2015-09-19 15:06:56 -04:00
devsaurus a6c9ba8004 disable UCG module per default 2015-09-17 22:43:59 +02:00
devsaurus 154b456f11 extend ucg example with ST7735 display 2015-09-17 22:37:31 +02:00
devsaurus db1162015d prefix local routines in ucg_polygon 2015-09-17 21:53:49 +02:00
devsaurus a2bca463a0 establish parametrization via ucg_config.h 2015-09-17 21:53:48 +02:00
devsaurus fde4843a75 implement all remaining function bindings 2015-09-17 21:53:48 +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 75041a32b5 initial setup of ucg module
Hello World example is working
2015-09-17 21:53:48 +02:00
devsaurus 9b384b4bda fix u8g->ucg prefix 2015-09-17 21:53:48 +02:00
devsaurus 0f1a168525 add ucg module 2015-09-17 21:53:48 +02:00
devsaurus 6dc0dfc068 import ucglib v1.3.3
https://github.com/olikraus/Ucglib_Arduino
2015-09-17 21:53:47 +02:00
Robert Foss 8982d370f2 Removed #define for forcing storage on flash 2015-09-17 14:30:46 -04:00
Jonathan Karras 5161081c1c Updated comment for mqtt.client parameters. 2015-09-15 23:11:20 -06:00
Robert Foss 3d5c54cef7 Moved all debug prints into the NODE_DEBUG macro. 2015-09-14 18:43:09 -04:00
Robert Foss 3a05c3e402 Moved CONST data to occupy flash, and remove storage instructions for functions. 2015-09-12 12:07:53 -04:00
Robert Foss e2ada487f3 Added ENDUSER_SETUP module.
The module will start a SoftAP, DNS, HTTP server acting as a captive portal.
The portal will have the SSID SetupGadget and will serve a website where
credentials for the end users WLAN can be submitted.

Once valid credentials have been submitted and used to connect to the
local WLAN this module will stop.

This module requires USE_DNS to enabled in dhcpserver.h
2015-09-10 18:40:39 -04:00
Jonathan karras 524cec539f Added mqtt clean session support. 2015-09-05 12:54:13 -06:00
Jakub 52ef3c9102 Fixed bug WIFI AUTH_OPEN #623
Fixed a bug which prevented from setting unprotected AP
2015-08-31 17:53:38 +02:00
aeprox 537cd68078 Made device package and address configurable at runtime 2015-08-23 15:59:49 +02:00
aeprox 0f6a0c59a1 Documentation update 2015-08-23 14:52:15 +02:00
aeprox fd93a09a88 Code formatting fixes 2015-08-23 02:29:52 +02:00
aeprox 0caf745d8e Improve lua API interface 2015-08-23 01:42:39 +02:00
aeprox 29ee02f680 Revert version change 2015-08-22 22:34:54 +02:00
aeprox 4df5d5c166 Fix channel1 reading
Give sensor more time to integrate (400ms => 404ms)
2015-08-22 21:43:29 +02:00
aeprox 7095c42477 Attempt to fix reading of registers 2015-08-22 21:19:27 +02:00
aeprox 159e9c6ace make modulename lowercase 2015-08-22 17:55:07 +02:00
aeprox d1758aee1b return correct number of variables 2015-08-22 17:54:26 +02:00
aeprox 483dbebe24 Return error when calling functions before init
TSL2561_ERROR_NOINIT
2015-08-22 14:26:42 +02:00
aeprox 335ea87964 Glue to integrate with nodeMCU
makefiles etc
2015-08-22 14:25:47 +02:00
aeprox 223a1c8b86 Small change 2015-08-22 12:46:53 +02:00
aeprox 6cb90ea924 First commit 2015-08-22 00:15:28 +02:00
Johny Mattsson 346251dca6 1-Wire power fix, by Thomas Shaddack. 2015-08-20 11:09:12 +10:00
Konrad Beckmann 1287a8cdd6 BMP085: Fix B5 calculation
B5 was calculated with some precision loss before.
2015-08-16 11:57:12 +02:00
Vowstar 40111c1046 Merge pull request #600 from devsaurus/dev-node_compile
Add write error detection in node_compile()
2015-08-11 09:36:35 +08:00
devsaurus d0e6ab38df add write error detection in node_compile() 2015-08-11 00:08:49 +02:00
devsaurus ca1bc2cb18 clean u8g 2015-08-09 16:38:08 +02:00
devsaurus 02294955c5 Merge remote-tracking branch 'upstream/dev' into dev 2015-08-05 21:55:35 +02:00
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