Commit Graph

1784 Commits

Author SHA1 Message Date
Gregg 2bc107032c Added HS_REALLOC macro for generalized realloc() when using PSRAM
When using PSRAM, changing the number of Accessories no longer creates any change to heap usage on internal RAM.  The entire Accessory will be stored in PSRAM.
2023-11-21 18:36:51 -06:00
Gregg 458a4fb357 Added ps_new() macro
A more generic version of `new(*ptr)` that allocates from PSRAM if present, otherwise is that same a normal `new`
2023-11-21 18:06:27 -06:00
Gregg 8268e519dd PSRAM: Adds custom allocator and HS_MALLOC/HS_CALLOC macros
Forces all heap requests to be drawn from PSRAM, unless the device does not contain PSRAM.

To do:  Provide easy-to-use NEW() macro; add custom allocator to unordered sets; auto-shrink vectors after updateDatabase()
2023-11-20 21:57:20 -06:00
HomeSpan 77e7ff2b2e
Merge pull request #689 from frankonski/fix_html_weblog
Fixing HTML syntax error in weblogs.
2023-11-15 20:47:33 -05:00
Francois a9578924c2 Fixing HTML syntax error in weblogs. 2023-11-15 08:06:07 -05:00
Gregg 4ab7503a72 Added error checking for NVS storage
Also added NVS storage diagnostic to 'm' command.
2023-11-12 21:37:33 -06:00
Gregg 1e62a038f1 Changed unordered_set to vector when checking for duplicate AID
This eliminated the use of unordered_set everywhere in HomeSpan
2023-11-12 12:33:09 -06:00
Gregg 98d6abeb1f Changed storage of required and optional Characteristics from unordered_set to vector
Significantly reduces memory usage - unordered_sets take up much more memory and using std::find from <algorithm> is as efficient as using find() method of an unordered_set.

To do: Remove all uses of unordered_set across HomeSpan wherever possible
2023-11-12 09:48:46 -06:00
Gregg ae60a84855 Update HAPClient::sendEncrypted() to send individual frames to save memory
Rather than use a large temporary buffer to store all encrypted frames to transmit all at once, each encrypted frame is transmitted as soon as created, which means the temporary buffer only needs to be large enough to store a single encrypted frame.

For a device with a large number of Accessories, this can save 15-20 KB of temporary storage, allowing for more Accessories.

Note this change does not reduce the size of the unencrypted message that is initially produced and can also be quite large.  Potential for future project.
2023-11-11 10:26:25 -06:00
Gregg c1834fb301 Update 07-AccessoryNames.ino 2023-11-11 09:22:56 -06:00
HomeSpan 452558319f
Update README.md 2023-11-06 05:02:52 -06:00
HomeSpan 184b658f5c
Update Reference.md 2023-11-04 16:28:26 -05:00
HomeSpan 92a6391fe5
Update README.md 2023-11-04 16:26:44 -05:00
Gregg 6bfeefcded Merge branch 'release-1.8.1-dev' of https://github.com/HomeSpan/HomeSpan into release-1.8.1-dev 2023-11-04 13:22:21 -05:00
Gregg 6f19141a49 Update src.ino 2023-11-04 13:22:12 -05:00
HomeSpan 68ccfc9858
Update Reference.md 2023-11-04 13:21:23 -05:00
Gregg 1194bd27f6 Update src.ino 2023-11-04 12:52:03 -05:00
Gregg 713c5c65bf Added new homeSpan.rebootCallback() function
An optional callback used to track the number of times the device reboots, where a reboot is defined as any restart where the uptime was less than a specified number of milliseconds (default=5000)
2023-11-04 10:43:28 -05:00
Gregg 965bdc71b7 Add MAC Address output to RemoteDevice.ino
Prompts user with reminder of which MAC Address to use in Main Device.
2023-11-04 09:36:31 -05:00
HomeSpan fc4b8a077b
Update Reference.md 2023-11-01 11:58:09 -05:00
HomeSpan 4b24f850d6 Update 07-AccessoryNames.ino
fix typo
2023-11-01 11:54:47 -05:00
HomeSpan 30ffc26666
Merge pull request #672 from mgeramb/ImproveExample
Add hint for UTF8 usage for names
2023-11-01 11:50:50 -05:00
Gregg b41fc3ac7e Update HomeSpan.h
Forgot braces in for-loop of autoPoll()
2023-10-31 18:21:16 -05:00
HomeSpan f482dc1b09
Merge pull request #673 from HomeSpan/dev
Moved vTaskDelay(5) from pollTask() to homeSpan.autoPoll()
2023-10-31 18:13:44 -05:00
Gregg 8b3192e122 Moved vTaskDelay(5) from pollTask() to homeSpan.autoPoll()
Adding the vTaskDelay(5) to the code that spawns the separate task is more consistent with how Arduino-ESP32 spawns the main loop() task.
2023-10-31 18:11:09 -05:00
Michael Geramb 869e768ba7 Add hint for UTF8 usage in names 2023-10-31 19:52:49 +01:00
HomeSpan e7a1bb78be
Update Logging.md 2023-10-31 08:06:35 -05:00
Gregg 42f69adf49 Made vTaskDelay(5) in pollTask conditional of using autoPoll()
vTaskDelay(5) is only needed if polling is in its own task.  If calling poll() directly, there is no need for any delay.
2023-10-30 06:29:38 -05:00
HomeSpan 643c737634
Update Reference.md 2023-10-29 21:05:20 -05:00
Gregg 56a2f0bece Changed Accessory Limit from 41 to 150 and added Memory Warning
Low Memory Watermark is compared to DEFAULT_LOW_MEM_THRESHOLD (currently set at 80,000 bytes) after HAP initialization but before WIFI connection.  If Low Memory Watermark is below DEFAULT_LOW_MEM_THRESHOLD, a WARNING is issued.

Note: memory is based on heap with MALLOC_CAP_DEFAULT capabilities
2023-10-29 20:55:02 -05:00
HomeSpan c835a8620f
Update Logging.md 2023-10-29 14:03:28 -05:00
HomeSpan fa05738ff6
Update Reference.md 2023-10-29 10:17:06 -05:00
HomeSpan fe9f35aa84
Update README.md 2023-10-29 10:14:14 -05:00
HomeSpan 02d39a61c0
Update Reference.md 2023-10-29 10:03:26 -05:00
Gregg 5ce7211539 Made conforming changes to setVerboseWiFiReconnect 2023-10-28 18:40:04 -05:00
HomeSpan a93aef1604
Merge pull request #670 from frankonski/verbose_reconnect
Verbose WiFi Reconnect
2023-10-28 18:18:16 -05:00
HomeSpan 871eba3c1d
Merge branch 'release-1.8.1-dev' into verbose_reconnect 2023-10-28 18:16:48 -05:00
HomeSpan eea2c44aae
Update README.md 2023-10-28 17:32:54 -05:00
HomeSpan 44db046e57
Update Reference.md 2023-10-28 17:22:27 -05:00
HomeSpan 2421b8d1b1
Update README.md 2023-10-28 17:13:24 -05:00
Gregg dee9491089 Merge branch 'release-1.8.1' of https://github.com/HomeSpan/HomeSpan into release-1.8.1 2023-10-28 17:06:42 -05:00
Gregg 81ee9e2dbc Added homeSpan.setWifiCallbackAll(int n)
Adds a second type of WiFi Callback that is called every time WiFi is established OR re-established after a disconnect.  Passes the number of times WiFi has been connected as an argument.
2023-10-28 17:06:40 -05:00
HomeSpan b41bb653dc
Update README.md 2023-10-28 09:59:52 -05:00
HomeSpan 688b51967e
Update Logging.md 2023-10-28 09:55:47 -05:00
HomeSpan 2d84f25ac4
Update Reference.md 2023-10-28 09:06:51 -05:00
Francois 2bda112780 Verbose WiFi Reconnect
Add the ability to turn off WiFi reconnect messages.
2023-10-27 08:17:06 -04:00
Gregg 4de61e5914 Change webLogCallback() to pass String as reference 2023-10-24 13:43:04 -05:00
Gregg 0f96d0fff6 Added homeSpan.setWebLogCallback(String (*f)())
Allows extension of initial table produced in WebLog, where f is a function that returns a String.  The returned String is copied into the WebLog HTML just before the </table> tag is printed in the initial table.
2023-10-22 18:23:25 -05:00
HomeSpan 34651307db
Merge pull request #631 from cccat6/master
Support the Non-English WiFi name
2023-10-22 10:21:12 -05:00
Gregg b15136d2d8 Merge branch 'release-1.8.1' of https://github.com/HomeSpan/HomeSpan into release-1.8.1 2023-10-22 10:09:25 -05:00