Commit Graph

934 Commits

Author SHA1 Message Date
Gregg 83507abb41 Update src.ino 2021-05-30 13:48:28 -05:00
Gregg bda90c59ca Created SpanUserCommand()
Allows the user to add a command function to the Command Line Interface.  All User Commands are defined with a '@' prefix.

To Do:  Document this new feature.
2021-05-30 13:45:52 -05:00
HomeSpan 7ce04a70f4
Update Reference.md 2021-05-30 07:23:16 -05:00
HomeSpan 2309212d34
Update Extras.md 2021-05-30 07:21:19 -05:00
HomeSpan 5204eeaeef
Update Reference.md 2021-05-30 07:08:36 -05:00
HomeSpan 4dfb881780
Update README.md 2021-03-22 07:45:08 -05:00
HomeSpan da4665f44e
Update README.md 2021-03-21 22:52:42 -05:00
HomeSpan 52541d6be1
Update Extras.md 2021-03-21 22:51:43 -05:00
HomeSpan 9274f918f2
Update Extras.md 2021-03-21 22:50:22 -05:00
HomeSpan 165dffaebf
Update Extras.md 2021-03-21 22:49:28 -05:00
HomeSpan 76fcfc215c
Update Extras.md 2021-03-21 22:49:03 -05:00
HomeSpan 39fbed5526
Update Extras.md 2021-03-21 22:48:06 -05:00
HomeSpan 8ac275559a
Update Extras.md 2021-03-21 22:47:27 -05:00
HomeSpan 61e0b12cf1
Update Extras.md 2021-03-21 22:43:53 -05:00
HomeSpan 764b5fb06e
Update Extras.md 2021-03-21 22:40:08 -05:00
Gregg 03fcdac67e Merge branch 'dev' of https://github.com/HomeSpan/HomeSpan into dev 2021-03-21 22:37:41 -05:00
Gregg 8252c5390e Created ServoControl Example
Created in "Other Examples" and is based on Example 13 - WindowShade
2021-03-21 22:37:35 -05:00
HomeSpan bbf3650416
Update Extras.md 2021-03-21 22:34:05 -05:00
HomeSpan 2a4ebe9522
Update Tutorials.md 2021-03-21 18:26:12 -05:00
Gregg 54f7928204 Fixed bug in Example 13
WindowShade was incorrectly sending repeated event notifications to HomeKit!
2021-03-21 12:37:12 -05:00
Gregg 451a2885b1 Changed PwmPin to LedPin in all Tutorial Examples
Greatly simplifies use interface.  No need to specify or save channels.  And no need to even save pin number since that can be found using LedPin->getPin() method whenever needed.
2021-03-21 09:54:57 -05:00
Gregg d49bca9bbe Completed LedPin() and ServoPin()
Both classes check that total number of combined instantiations does not exceed 16.  ServoPin() has additional limit of only 8 instantiations.

DEPRECATED: PwmPin().  Keep for backwards compatibility only.
TO DO:  Update Tutorial Examples to replace PwmPin with LedPin, and update Extras.h documentations with LedPin and ServoPin.
2021-03-20 23:21:09 -05:00
Gregg a8dff0a7de Update PwmPin.cpp 2021-03-20 17:35:04 -05:00
Gregg 59e34fde05 Updated LedPin() 2021-03-20 17:19:47 -05:00
Gregg bc498c32e4 Created LedPin()
This is a replacement for PwmPin().   It keeps track of channel numbers internally, which greatly simplifies the user interface.  Starts by using the 8 Low Speed Timer channels and then moves to the 8 High Speed Timer channels if more than 8 LedPins are instantiated.  Throws a non-fatal error if more than 16 LedPins are instantiated, and ignores any attempts to set the duty cycle of those channels.
2021-03-20 17:14:19 -05:00
Gregg 65df97c563 Added ServoPin() class to PwmPin.h
Controls a 50-Hz servo motor using ESP32 built-in LED PWM.  Allows custom range for microseconds and degrees.
2021-03-20 12:20:43 -05:00
Gregg 61655845a9 Updated PWM
Removed need to include channel number in set() method.  Why was this ever there?  Need to update Examples and PwmPin docs.  But keep stub method that includes channel for backwards compatibility.
2021-03-19 06:38:41 -05:00
HomeSpan 6aba1a28e5
Merge pull request #63 from HomeSpan/release-1.2.1
Release 1.2.1
2021-03-13 07:29:59 -06:00
HomeSpan 01ae18e133
Update README.md 2021-03-13 07:23:39 -06:00
HomeSpan 6df48a32dd
Update README.md 2021-03-13 07:22:58 -06:00
HomeSpan 48127a3380
Update Reference.md 2021-03-13 07:03:18 -06:00
Gregg b90f173a6f Set version number to 1.2.1 in preparation for release 2021-03-13 06:31:18 -06:00
Gregg a89ddf3748 Updated Example 13 - Window Shade to show proper use of Characteristic Current Position
Also added discussion of why Characteristic Position State is not needed even though it is required.
2021-03-12 09:45:50 -06:00
Gregg 16aff0e855 Updated formatting of Accessory Database output to Serial Monitor
Used unicode arrows and symbols, and included more detailed information about each Service and Characteristic.
2021-03-10 22:44:59 -06:00
Gregg d2a7030640 Reclaimed memory from REQ and OPT vectors after they are no longer needed.
Lots more memory optimization to perform!
2021-03-09 21:47:52 -06:00
Gregg 8121146c6b Changed ERROR to WARNING when a required Characteristic is missing
Only throw a non-fatal warning instead of a fatal error if a Service is missing a required Characteristic.  This allows for user flexibility in leaving out required Characteristics for Services that don't seem to need them (contrary to the HAP docs).

Also, changed PositionState Characteristic back to Required (instead of Optional) in WindowCovering Service (as specified by HAP).  If PositionState is not included this will only throw an error instead of a warning as a result of the above change.

To Do: Update Example 13 to properly incorporate PositionState Characteristic.
2021-03-09 20:33:54 -06:00
HomeSpan da74066c70
Update Reference.md 2021-03-09 08:25:13 -06:00
HomeSpan a0e220356d
Update ServiceList.md 2021-03-09 08:08:39 -06:00
HomeSpan c6946891bb
Update Tutorials.md 2021-03-09 08:03:06 -06:00
HomeSpan c64c31f4cf
Update Reference.md 2021-03-07 17:41:41 -06:00
Gregg bcbe4c1d92 Merge branch 'dev-1.2.1' of https://github.com/HomeSpan/HomeSpan into dev-1.2.1 2021-03-07 17:39:44 -06:00
Gregg 53268127be Updated Examples to use `setRange()` instead of `new SpanRange()`
setRange() is preferred method.  SpanRange() is legacy only
2021-03-07 17:39:42 -06:00
HomeSpan 209836c170
Update Reference.md 2021-03-07 08:52:18 -06:00
HomeSpan 9e124ab771
Update Reference.md 2021-03-07 08:46:46 -06:00
HomeSpan 2f8cd511dd
Update Reference.md 2021-03-07 08:45:24 -06:00
Gregg ff0dfefc47 Added check to ensure initial value of Characteristic is in allowable Range
Check is not applied to STRING Characteristics.  Check is performed at end of each Accessory definition so will account for any changes to min/max as a result of calls to setRange().  If initial value is outside allowable range, a WARNING (not an ERROR) is thrown.
2021-03-06 09:08:57 -06:00
Gregg 3b40aeec74 Added check to throw error is setRange is called twice on same Characteristic 2021-03-06 08:30:09 -06:00
Gregg 7e3d982ee5 Added min/max Range defaults for all Characteristics
Also added new flag "staticRange" for all Characteristics that indicates whether the min/max range can be changed.  An ERROR will be thrown if setRange is attempted for a Characteristic having staticRange=true.
2021-03-05 22:34:55 -06:00
Gregg 26a38b68cc Completed full implementation of setRange() and deprecation of SpanRange()
Next TO DO:  Complete entry of default min/max into all Characteristics (except BOOL and STRING) defined Span.h so that setRange() error checking works for all Characteristics.
2021-03-04 07:18:13 -06:00
Gregg 5c5361be7b Moved UVal back into SpanCharacteristics 2021-03-03 19:53:13 -06:00