Addition of analogWrite
features for ESP32 targets. This requires upgrade to PMB Tools 0.5.0
H4P_ToneController
now compiles for ESP32, with the limitation of two independent voices. Minor changes have been made also to H4P_Signaller
in relation to API throbPin()
This has changed and now gives sinusoidal in/out glow. The valley
parameter has been removed.
Example sketches H4P_GymnopedieNo1 and H4P_TakeOnMe augmented to add LED light show.
Siren interface macros changed. See Sirens
BUGFIX: LED_BUILTIN compile error on some ESP32 with non-standard LED board configurations
BUGFIX: A long-running WiFi reconnection problem on ESP32 is fixed. This was due to certain rare APs (mostly mobile phones acting as hotspots) producing events in an unusual order.
Most task and Q diagnostics have been move back into H4. They are now compiled-out by default, saving about 9k in the size of the binary.
To enable them you need to edit H4.h
in the H4 library and set:
#define H4_HOOK_TASKS 1
CHANGED
Several plugins have been modified as a results of the changes in H4 3.1.0
- H4P_SerialCmd // h4/show/q unavailable unless
#define H4_HOOK_TASKS 1
- 🏗️ H4P_TaskSniffer // unavailable unless
#define H4_HOOK_TASKS 1
The declaration my be left in the code - it will still compile - it just won't do anything.
All of the dignostics examples have been re-written
CHANGED - code changes to prevent name clashes with other libraries / even MORE excessive warnings in PIO (sheesh!)
H4P_TimeKeeper
DST_USA now H4P_DST_USA DST_EU now H4P_DST_EU
H4P_PinMachine
template function delegate
moved inside class and made static (prevents clash with e.g. SoftwareSerial)
Many thanks to Hamzah for these!
CHANGED - further enhancements to H4P_Signaller
all API that take h4pOutput*
now also take h4pOutput&
example sketch [Generic SQUAWK](../examples/XTRAS/H4P_Generic_SQUAWK/H4P_Generic_SQUAWK.ino modified to use new signaller features)
CHANGED - H4P_WiFi BUGFIX assigned wrong color to signal pin, optimised for new signaller features
DOCS - numerous fixes (thanks Hamza!)
CHANGED - enhancements to H4P_Signaller
H4P_Signaller
now takes pin, sense, color for signal pin. If not specified, assumed values fromconfig_plugins.h
are usedH4PE_SIGNAL
has been changed to expect a string containing a scheme (e.g. Morse or PWM and its associated parameters)- a new
static
functionsignal
is added to sendH4PE_SIGNAL
event with scheme M and its associated parameters
CHANGED - H4P_HeapWarn
and H4P_QueueWarn
Callback function removed. Users should instead listen for H4PE_SYSWARN
events of "Heap,N" and "Q,N"
BUGFIX - error in H4P_ASSUMED_LED on ESP32
- New optional feature in
H4P_Heartbeat
takes mS parameter and "blips"LED_BUILTIN
at that rate while WiFi is connected
Some lazy code omitting std:
: prefixes has been corrected, but...
** KNOWN ERROR ** - you may get compile errors in the examples complaining about stdlib types string
, vector
etc being undefined -
if so just insert the std::
I'm working my way through them, but there's 80+ of them and I may have missed one or two.
- All "unsubscribe in onDisconnect" code removed from exmaples. Doh!
- Some redundant APIs removed from
H4P_PinMachine
- BUGFIX some type (uint32_t -> int where -ve can occur) on some
H4P_PinMachine
functions - BUGFIX:
H4P_RemoteUpdate
failing due to missing http:// prefix in some examples - More doc files modified to add YT video links, more gaps filled...
- BUGFIX edge case in WiFi auto-reconnect
- H4P_Gatekeeper name changed to H4P_GateKeeper (for consistency with other naming)
- Unregulated YOUTUBE subfolder added to examples: convenience, they are not guaranteed - may not compile!
- Many doc files modified to add YT video links, some gaps filled...
- Minor emergency fix: totally erased device will not auto-start WiFi. (Tak, Peter!)
Minor fixes since major release 3.0.0
initial
value default set to OFF in h4pOutput see GPIO Handling and "NODE-PINK" Introductionmode
defaulted toINPUT
andsense
defaulted toACTIVE_HIGH
inh4pEncoder
/h4pEncoderAuto
- BUGFIX
pulsePin
had a bug where it would not correctly turn OFF the pin. see H4P_Signaller - various docs updated to add links to Youtube videos.
- continuing fixes / updates / additions to documentation: always check 🚪 Documentation Master Index first
This is a significant milestone, with many breaking changes. Existing user will need to upgrade their code base to work alongside the very different internal mechanisms of H4Plugins and should therefore read these notes in full. Executive summary
- New Event-driven programming model ("EDPM")
- Total overhaul of all GPIO / LED functions to mesh with "EDPM"."NODE-PINK" concept introduced
- WebUI enchancements
- New plugins in presence detection, remote HTTP
- new libraries added to install dependencies
- Event-driven programming model
- dozens of new utility functions
- persistent global variables replace H4P_PersistentStorage and "fire" H4PE_GVCHANGE event any time they change value. They are present by default.
- User webUI:
- Colored GPIO LED simulation
- User Buttons
- Commands to create / manage LED flashing at run-time (config compiled out)
- Many new example sketches demonstrating new features / techniques now 85 examples
- "NODE-PINK" GPIO handling model, easily user-extended
- New Plugins
- H4P_AsyncHTTP - remote http access
- Presence detection revamped , new 🏗️ H4P_GateKeeper watches for
Type of device Identifying features Example H4Plugins "Roamer" type any IP address 192.168.1.42 h4pRoamingIP
UPNP device UPNP Tag, value USN,uuid:Socket-1_0-upnpF9198B h4pRoamingUPNP
MDNS (.local) device protocol / service attributes tcp,http h4pRoamingDotLocal
H4 device device name bedroom h4pRoamingH4
- H4P_FlasherController renamed to H4P_Signaller
- H4P_GPIOManager functionality replaced by H4P_PinMachine
- ALL gpio "strategies" renamed, many have additional features many new
- REMOVED H4P_VerboseMessages
- REMOVED H4P_PersistentStorage
(c) 2021 Phil Bowles [email protected]