Commit Graph

1870 Commits

Author SHA1 Message Date
Gregg 65dd9da130 fixed typo in ServiceLabelNameSpace description 2024-01-24 21:43:10 -06:00
Gregg 5d314d4fb8 add <span> to ServiceList to prevent linebreaks before checkmark 2024-01-24 21:39:38 -06:00
Gregg e5c7ba5080 fix heavy_check_mark 2024-01-24 21:03:47 -06:00
Gregg 5568cc1ddf removed bold font for Characteristic Constants in ServiceList.md 2024-01-24 18:44:44 -06:00
HomeSpan 3e9e7a1902
New Services and Characteristics List (#751)
* auto-generation of service list

* Update makeServiceList

* Update makeServiceList

* Update test.md

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* Update Span.h

* Update test.md

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* Create ServiceListHead.md

* Update ServiceListHead.md

* Update ServiceListHead.md

* Update test.md

* update

* update

* Update ServiceList.md

* update

* Update ServiceList.md

* update
2024-01-23 21:52:54 -06:00
HomeSpan fe0b8c1a42
Update Reference.md 2024-01-15 21:31:19 -06:00
HomeSpan 1a6bc93632
Update Logging.md 2024-01-15 21:25:28 -06:00
HomeSpan 7f2f093fff
Update Tutorials.md 2024-01-15 18:04:25 -06:00
Gregg fbc1ac9cbe Create ExternalReference.ino 2024-01-15 18:00:07 -06:00
HomeSpan d280b5b52a
Update Tutorials.md 2024-01-15 12:51:22 -06:00
Gregg 015625b08a Update CustomNVSPartition.ino 2024-01-15 12:44:00 -06:00
Gregg a5e8680452 Added CustomNVSPartition Example
To do:  Add to list of Other Examples in documentation.
2024-01-15 10:42:34 -06:00
HomeSpan 0c2f29db2f
Update Reference.md 2024-01-13 15:45:49 -06:00
HomeSpan f5d4806e4b
Update Reference.md 2024-01-13 15:42:06 -06:00
Gregg 437771fabd Cleaned up some public/private permissioning inside PushButton and SpanButton
Ensure users can access constants like TRIGGER_ON_HIGH, TRIGGER_ON_LOW, etc. using any of these equivalent fully-qualified names:

* PushButton::TRIGGER_ON_HIGH
* SpanButton::TRIGGER_ON_HIGH
* SpanToggle::TRIGGER_ON_HIGH
2024-01-13 15:20:20 -06:00
Gregg 260be21462 Added optional triggerType to homeSpan.setControlPin()
Default is SpanButton::TRIGGER_ON_LOW.  Follows same options as SpanButton, including the ability to provide your own triggerType function of form:

boolean f(int pin)
2024-01-13 10:01:03 -06:00
Gregg 3c3e5c21ea Added homeSpan.getAutoPollTask() to return task handler of autoPoll
Returns NULL if autoPoll has not been used.

Also added low stack size for both main Arduino loop task and HomeSpan autoPoll task to 'm' command
2024-01-12 21:57:57 -06:00
Gregg 2d86ee4a25 Truncate all STRING-based Characteristics to 64 characters when adding to JSON
HAP default max length of STRING Characteristics is 64 characters
2024-01-12 21:21:42 -06:00
Gregg fe9e3d7942 Merge branch 'release-1.8.1-dev' of https://github.com/HomeSpan/HomeSpan into release-1.8.1-dev 2024-01-12 18:31:06 -06:00
HomeSpan e42cb4e1dd
Merge pull request #659 from frankonski/buffer_overwrite
Preventing possibility of buffer overwrite.
2024-01-12 19:30:45 -05:00
Gregg b5dcfbbd7d Modified range checks so that "NAN" gets picked up as error for FLOAT Characteristics 2024-01-11 21:57:42 -06:00
Gregg ba240ea4d7 updated putPrepareURL and deleted receiveEncrypted()
Must test with Door example, which uses putPrepare
2024-01-11 06:40:54 -06:00
Gregg d179f039d1 Moved all PSRAM definitions into separate PSRAM.h file
Now allows #include "HomeSpan.h" to be removed from TLV dependencies
2024-01-10 22:05:26 -06:00
Gregg bddffab7ad refactored tlvRespond() to use hapOut instead of sendEncrypted()
To do:

1) update putPrepareURL() to use hapOut instead of sendEncrypted()
2) remove sendEncrypted() since it is no longer needed
3) try moving MAllocator template into separate file (memory.h?) so it can be called from any other module
4) remove #include "HomeSpan.h" from TLV8
2024-01-10 21:53:37 -06:00
Gregg fa5455d6f9 moved tlv streaming into tlv class 2024-01-10 20:44:16 -06:00
Gregg 73f761adc9 started work on TLV streaming with << operator
Goal - eliminate sendEncrypted() completely by using hapOut in tlvRepond().
Next up: use function call instead of << operator so logic can be moved into TLV.h
2024-01-09 22:02:28 -06:00
Gregg 96e6f55c72 Update src.ino 2024-01-08 19:46:16 -06:00
Gregg ffc4ae0cb2 Update src.ino 2024-01-08 19:45:38 -06:00
Gregg 392eac38b9 Added homeSpan.getWebLog() 2024-01-08 18:19:38 -06:00
Gregg 39b7b54d48 Fixed CSS in weblog
Missing conversion from String to c_str() when using hapOut.
2024-01-07 10:22:21 -06:00
Gregg 0492b67b55 Changed hapOut delay back to 1ms - works fine
Identified issue with ESP32-S3 crashing when using PSRAM.  Problem was not the code, but that the sketch was using pins that are needed to run the Octal PSRAM that comes with the Espressif S3 DevKit.
2024-01-06 21:08:32 -06:00
Gregg bd474778e5 fix for PSRAM with new hapOut
Force hapOut to use internal memory only.

Tested on ESP32-S2 with/without PSRAM.  However, crashes on ESP32-S3 when using PSRAM (?!)
2024-01-06 16:55:17 -06:00
Gregg 4269eca982 Update MaxAccessories.ino 2024-01-01 17:53:46 -06:00
Gregg 12c6cf3fe1 Changed HapOut delay from 1ms to 50ms for WiFi transmits. Seems to be much more stable. 2024-01-01 17:35:02 -06:00
Gregg cc7ffb4c07 Moved prettyPrint into HapOut
This completes re-work of all JSON buffer memory management to use HAPOut.

Next up: Stress test with Max Accessories to see how many Accessories we can now handle.
2024-01-01 09:39:54 -06:00
Gregg bef151cdb1 Converted all remaining sprintfAttributes to printfAttributes
This removes last of large-sized JSON buffers - everything has now been converted to using hapOut.

Next up: Must add prettyPrint to hapOut to support 'd' command
2024-01-01 08:49:33 -06:00
Gregg 6c3df551eb Added back weblogCallback() functionality that uses hapOut 2023-12-31 17:05:22 -06:00
Gregg 00944c1f2f Converted sprintfNotify and eventNotify to use HapOut
Successfully tested with MultiTest script
2023-12-31 12:36:47 -06:00
Gregg 20fe4ab6fd Deleted sprintfAttributes for Span, SpanAccessory, and SpanService
These now use the new printfAttributes with HapOut
2023-12-31 11:24:15 -06:00
Gregg 1f13906a25 Added SHA-384 hash computation to HapOut
Hashing of entire database is now done piecemeal within HapOut, preventing the need to load the entire database into a large buffer just to obtain a unique hash.

Modified updateDatabase() to use HapOut.getHash()
2023-12-31 09:36:19 -06:00
Gregg f2cb880e4e Converted sprintfAttributes to printfAttributes and added encryption to HapOut
Success!
2023-12-30 23:07:09 -06:00
Gregg 83924a6bdf Added getSize() to HapOut and changed default behavior to NEVER output anything
Note: getSize() must be called before flush(), which resets byte counter
2023-12-30 17:52:28 -06:00
Gregg 18c74e6f17 Moved StreamBuf into HapOut as private nested class 2023-12-30 17:07:12 -06:00
Gregg 117c348708 Moved StreamBuf parameter calls into HapOut 2023-12-30 16:22:35 -06:00
Gregg fb5c9e1e29 Begin integration of hapStream into HAP.ccp 2023-12-30 11:37:56 -06:00
Gregg 7282c2a8c9 Moved Streamer from Utils.h into separate Streamer.cpp
But declared Streamer inside HomeSpan.h instead of separate Streamer.h since it  should only be used when HomeSpan.h is used.

Also, changed class structure so that it is "final" by removing virtual tags and making all protected variables private.
2023-12-30 07:48:11 -06:00
Gregg f3e98601b0 Initial test of StreamBuffer added to WebLog 2023-12-29 22:19:49 -06:00
Gregg ffe56e7261 Remove include HAP.h from SRP
SRP now only requires Utils (for TempBuffer).

Also, moved HS_ALLOC definitions into Utils so it can be re-used by others files
2023-12-28 18:11:39 -06:00
Gregg cd85cc1629 Completed refactoring of SRP6A and integration into all steps of Pair-Setup 2023-12-28 17:32:17 -06:00
Gregg 9209cb6b41 Completed Pair-Setup M3 update 2023-12-28 11:13:34 -06:00