Commit Graph

90 Commits

Author SHA1 Message Date
Johny Mattsson f7a545b951
Evict c_types.h, tidy up a other c_prefixes. (#2841) 2019-07-23 14:22:38 +10:00
Johny Mattsson 526d21dab4 Major cleanup - c_whatever is finally history. (#2838)
The PR removed the bulk of non-newlib headers from the NodeMCU source base.  
app/libc has now been cut down to the bare minimum overrides to shadow the 
corresponding functions in the SDK's libc. The old c_xyz.h headerfiles have been 
nuked in favour of the standard <xyz.h> headers, with a few exceptions over in 
sdk-overrides. Again, shipping a libc.a without headers is a terrible thing to do. We're 
still living on a prayer that libc was configured the same was as a default-configured
xtensa gcc toolchain assumes it is. That part I cannot do anything about, unfortunately, 
but it's no worse than it has been before.

This enables our source files to compile successfully using the standard header files, 
and use the typical malloc()/calloc()/realloc()/free(), the strwhatever()s and 
memwhatever()s. These end up, through macro and linker magic, mapped to the 
appropriate SDK or ROM functions.
2019-07-22 00:58:21 +03:00
Terry Ellison d6980ad802
SDK 3.0 tranche3 (#2761)
Force libpp.a into iRAM, and backout redundant IRAM_DATA_ATTR changes
2019-05-19 14:38:23 +01:00
Terry Ellison f1b5dfc34e
SDK-3.0 tranche updates (#2757)
includes some dRAM -> iRAM optimisations
2019-05-17 13:04:19 +01:00
Terry Ellison 1990f95740
Updated ROTables 1st tranch (#2742)
Updated ROTables
2019-05-08 14:08:20 +03:00
Terry Ellison 9a47107920
SDK 3.0 release (#2692)
* Rebaseline firmware to non-OS SDK version 3.0
* Note that SDK version 3.0 introduces the concept of a Flash Partition Table(PT).  This is located at Flash offset 0x10000 in our firmware build.
* The firmware is now PT aware with both LFS and SPIFFS taking their partition size and location from the PT
* A new tool `tools/nodemcu-partition.py` is now used to initialise these data and can also download LFS and SPIFFS images to these partitions.
2019-04-05 16:01:45 +01:00
Terry Ellison 3f5ae99e42
Fix unaligned load/store exception in luaR_findentry (#2702) 2019-03-24 22:47:29 +00:00
Philip Gladstone a90de79c26 Minor fix to allow building of luac.cross.int (#2697)
* Minor fix to allow building of luac.cross.int
* Reapply some changes lost due to merge damage
2019-03-21 09:56:30 +01:00
ziggurat29 f801bf126d fixes #2677 minor syntax issues with some dummy variables that bracket the rodata section (#2678) 2019-02-23 20:49:30 +01:00
ziggurat29 62789da0bb added MSVC project configuration for host-side tools (#2665)
Added MSVC project configuration (@ziggurat29) and support of MinGW (@TerryE) for host-side`luac.cross` tool
2019-02-23 14:09:29 +00:00
sergio d77666c0e8 trailing spaces cleanup (#2659) 2019-02-17 18:26:29 +00:00
Arnim Läuger 09533fdf23 set default value for summary var to unbreak standalone builds (#2618) 2019-01-24 21:29:32 +01:00
Javier Peletier c6653b5921 fix number2integer conversion in ESP8266 for floating-point builds (#2609) 2019-01-15 13:00:37 +00:00
Arnim Läuger 031fd0a913 Reduce default make verbosity (#2583) 2018-12-09 21:39:43 +01:00
Terry Ellison 401fa56b86
Minor Luac fixes (#2579) 2018-12-03 21:41:50 +00:00
galjonsfigur d5aca39f48 Fix build problem with luac.cross when DEVELOPMENT_USE_GDB is used (#2569) 2018-11-23 18:02:07 +00:00
Terry Ellison 5f67de8d48
Optimise ROTable accesses and interface (#2505)
-  Optimise ROTable accesses and interface

This includes some refinements to the ROTable cache which remove the linker cludges on the CROSS_COMPILE builds.  Also keyhole tweaks to some of the Lua VM code to implrove runtimes.

I also noticed some compile time warnings during the build; the change to uz_unzip.c doesn't impact the compiled code, but does remove the compiler warnings.
2018-10-13 17:14:33 +03:00
Nathaniel Wesley Filardo 3c824d7a81 Cron fixes, part 2 (+) (#2515)
* Restore WRAPCC when building Lua
* Fix several parsing bugs
2018-10-10 17:36:00 +01:00
Terry Ellison 172fb276ca
Add compression to LFS images (#2448)
* Merge of LFS compress, optimize against current dev
* Fixes to LFS compress patch
2018-09-29 16:57:51 +03:00
Terry Ellison 94abbe70cb
Fix #2430 node.input() not working (#2469) 2018-08-27 12:46:51 +01:00
Gregor Hartmann 91656c3d76 create luac.cross.{integer|float} (#2450)
Use separate names for the integer and float  `luac.cross` binaries.  Also adds local/lua directory which is already supported by tools makefile to build LFS image.
2018-08-11 18:28:01 +01:00
Nathaniel Wesley Filardo a57fe552e8 app/lua/luac_cross: WRAPCC CC here, too (#2453)
Not that Lua takes very long to compile, but allowing for ccache here
should still help the builder(s) consume a little less time and power.
2018-08-11 13:50:12 +02:00
TerryE 7956a47bb4 Add Cygwin support for app/lua/luac_cross make and spiffsimg 2018-07-04 15:31:15 +01:00
TerryE 4f21224d56 LFS patch updates following review II and testing 2018-06-22 22:29:16 +01:00
TerryE 4f7af452a8 corrections to dev merge 2018-04-20 02:34:52 +01:00
Terry Ellison 6db7414270
Merge branch 'dev' into dev-LFS 2018-04-19 16:43:55 +01:00
TerryE 88bd9e01d3 LFS patch updates following review 2018-04-19 16:27:47 +01:00
Johny Mattsson 085f35da73 Tie in the EGC with the SDK's heap knowledge. (#2319)
Added `node.egc.meminfo()` to expose LVM usage (to make the regular
`node.egc.ON_MEM_LIMIT` option usable).

Extended the `node.egc.ON_MEM_LIMIT` option to also take negative limits,
in which case that's taken as a request to keep a certain amount of heap
available for non-Lua use.
2018-04-06 14:52:03 +02:00
TerryE d78c54accd Fix Lua stack corruption problem 2018-03-26 03:44:10 +01:00
TerryE 4ae52c232c Alpha working wersion for third party evaluation 2018-03-17 00:43:52 +00:00
TerryE e00d927a02 Tweaks to the Remote GDB interface to make it usable 2018-03-17 00:43:52 +00:00
TerryE 4141e69003 Move luac.cross build into standard make hierarchy 2018-03-17 00:43:52 +00:00
Johny Mattsson 452778eda8 Fix batch multi-line UART input discarding all but first line (#2217)
* Only load a single non-empty line from the uart at a time.

* Don't fall behind in processing of uart buffer.
2018-01-04 22:50:39 +01:00
Philip Gladstone feab8b2208 Various minor bits of cleanup (#1647)
* Check the return code of the read function when doing crypto.fhash so that we don't pass negative lengths to the hashing functions
*  Fix various assert failures in the LVM arising from rotables. No functional change
* Add the gpio interrupt time to the callback (and pass it from the interrupt handler)
* Get the PC right in the perf module
* Make the headers static in the websocket module
* Fix the documentation
2016-12-25 10:45:34 +11: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 f9533ed85a Reduced LUAL_BUFFERSIZE to 256. Should free up some stack (#1530) 2016-10-16 21:18:03 +09: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
Philip Gladstone 99cd2177bb Make struct.unpack wrapped in setlist actually work (#1486)
Fixes #1434.
2016-09-05 11:16:27 +10:00
philip 84487d300b Remove unusedcode 2016-03-20 12:54:16 -04:00
TerryE 76ff541244 Prevent UART input race without extra lua_started flag 2016-03-11 00:41:40 +00:00
TerryE 46ea2aa42e Make the wifi.smart functions options and remove wofs and upgrade
AFAIK no one uses the wifi.startsmart() and wifi.stopsmart().  Removing
them frees up an extra 20-25K of Flash to use as filesystem.  So I have
added a new config define WIFI_SMART_ENABLE which is enabled by default
so the default functionality is the same, but if this is commented out
then this code is omitted.

I have also removed wofs and upgrade from this build as we no longer
support these.
2016-02-26 17:23:38 +00:00
devsaurus f149b60c7f enable -std=gnu11 for lua dir 2016-01-24 00:02:27 +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
Terry Ellison 1462d00e9f Merge pull request #842 from jmattsson/module-ltr-cleanup
Cleanup: LTR module registration
2015-12-19 23:22:18 +00: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
Terry Ellison 0386ae6559 Merge pull request #804 from DiUS/panic
Do not allow execution to continue after a PANIC
2015-12-12 15:36:00 +00: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
Nick Andrew e9ee9a57d1 Remove the lobject.c:88 assertion failures
When lua assertions are enabled, normal operation results in many:

lobject.c:88: (((t1)->tt) == 4)
lobject.c:88: (((t2)->tt) == 4)
lobject.c:88: (((t1)->tt) == 4)
lobject.c:88: (((t2)->tt) == 4)
lobject.c:88: (((t1)->tt) == 4)
lobject.c:88: (((t2)->tt) == 4)

It comes from using the pvalue() macro for 3 pointer types, where
pvalue() also checks the type of pointer and complains through the
assertion where the type == 4 (TLIGHTUSERDATA).

Use the correct macro according to the type of data being compared
to eliminate this assertion error.

Signed-off-by: Nick Andrew <nick@nick-andrew.net>
2015-12-06 01:42:29 +11:00
TerryE e71a2dd64a Fix ECG case in concat where stack top not recalculated 2015-12-03 19:16:30 +00:00
Johny Mattsson 0fbf442158 Do not allow execution to continue after a PANIC!
It really does not improve things...
2015-12-01 18:11:38 +11:00