Skip to content

Release 1.4.1#181

Merged
HomeSpan merged 66 commits into
masterfrom
release-1.4.1
Nov 1, 2021
Merged

Release 1.4.1#181
HomeSpan merged 66 commits into
masterfrom
release-1.4.1

Conversation

@HomeSpan

@HomeSpan HomeSpan commented Nov 1, 2021

Copy link
Copy Markdown
Owner

No description provided.

Raal Goff and others added 30 commits August 3, 2021 21:43
Instead of limiting number of ticks to 15-bits (32767), RFControl allows for tick size to be any 32-bit number.  If ticks > 32767, RFControl adds repeated LOW or HIGH phases as needed to match full duration.  This provides for much more flexibility in creating pulse trains that include very long-duration "spaces" between repeats.
Added second argument to RFControl(uint8_t pin, boolean refClock=true) to allow choice of Ref Tick (1 MHz) clock or APB (80 MHz) clock.  Default is to use 1 MHz Ref Tick.

Also fixed bug in logic that divides clock for ESP32-C3.  Factor should be 79, not 80, since divider is apparently configured to divide by factor+1.
…) to RFControl

Allows you to overlay a carrier wave on the RF Signal - in practice this is only used for IR signals (not RF).  Automatically scales frequency to account for 80x difference between APB Clock and Ref Tick Clock depending on which is used.   Checks to ensure resulting parameters (high period and low period) are all in bounds (0,65536) and reports an error if they are not.
add support for Televisions
Changed strncpy() to strcpy() when copying new string values
Ensure a pin value of -1 is retained so that any further calls to other methods are disabled if the pin is not defined.
This "custom" Characteristic is identical to ConfiguredName() but only allows paired-read and notifications.  By excluding paired-write it prevents the user from editing the name of a TV input source from the Home App.  This is useful when some sources are fixed, such as "netflix" instead of generic, such as "hdmi 1".
Added setString() as analog to setVal().  This complements getString and getNewString() which are analogs to getVal() and getNewVal().
…ices

But retained the actual Characteristics in the Characteristics lists in the event that they may be activated in the Home App in the future.
Will appear in "Other Examples" Category, NOT as a tutorial
No need to specify both FORMAT and TYPE.   For example, specifying UINT16 automatically sets type to be uint16_t.

To do:  Explore if this can be used for standard Characteristics - revisit standard Characteristics definitions and structure to see if it can be simplified.
Ranges are now checked for all Characteristics at the end of the configuration, instead of at the end of each Accessory definition.  This is much cleaner and the output is easier to read.

To do:  Revisit use of REQ and OPT - what should constitute a fatal error and what should be a warning.

To do:  Revisit Character definitions - attempt to normalize using the methods implemented for Custom Characteristics
@HomeSpan HomeSpan merged commit 835d49a into master Nov 1, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant