v0	2013-01-28	DM

-  Development started based on broadcast module.

v1      2013-02-05      DM

-  Initial release of Six Six APB

V1 (12.12)	2013-12-02	DM

-  New Interface: Now 12 of all sensors, lux and occupancy controllers.

-  New Interface: Added nvoDeviceStatus to ZMCControl
	Bit 0: Latched Device Reset function active (short phase)
	Bit 1: Latched Device Reset function active (long phase)
	Bit 2: Unexpeced value in short notification packet

-  Changes to the Lux Controllers:
	*  SCPT_CLonDelay and SCPT_CLoffDelay are now meaningful. Now defaults to 0 to keep the existing behaviour.   The relevant
           transitions are delayed for the specified number of seconds.  If a new light measurement no longer requires the transition,
           the transition is cancelled.
	*  When operating in open loop mode, in the special case where High and Low Cut-off points are equal (i.e. switching only),
	   Hysteresis is now used.
	*  SCPT_direction.bit9 on the controller now implements Manual Override for off only.
		: If nviManualOverrideCLC has state 0, the output will be off
		: Otherwise the luxController will function as usual

V2 (12.12)	2014-01-07

- New: Support for photocell emergency tests at the tower.  Set bit 10 (starting from 0) on SCPTdirection on ZMCControl to enable this.
	INCLUDES:
	---------
		X/105 (x is 1 - 16) to get the photocell reading.
	NOTE: There are only 14 entries in SCPTfieldCalib and SCPTluxSetpoint.  For photocells 15 and 16, the same index is used as photocell 14.

V3 (12.12)	2014-02-07

- Change: While the sensor bus is powered down to reset devices, all PDs will trigger every 30 seconds.

V4 (12.12)	2014-03-20

- New Interface I2
	Added SCPTsceneNo to allow configuration of switch presets for the scene panel

- Change: Scene set panels can now call presets on the related switch

V5 (12.12)	2014-10-16

- Fix: Lamp 10 can trigger corridor hold configured for Lamp 12.  Lamp 12 was ignored.

V6 (12.12)	2014-12-19

NEW INTERFACE I3
  Adds SCPTsecondVal to the OccCntr functional blocks

- New: SCPTsecondVal can be used to specify the unoccupied value for an occupancy controller

V7 (12.12)	2015-04-17

- Fix: X/9 commands (Enabled / Disable PDs) Work.
	 The parameters are:
		0 - Enable PDs
		1 - Disable Off Only
		2 - Disable Off and On
	 Note: The controller continues to "run" in the background, however changes to the output are suppressed.
		When 0/9 is received each controller does the following:
			If the controller is in any state other than off, it is retriggered, as if a PD trigger was picked up.
			The controllers output (on or off) is pulsed out.
		  **** This means when a 0/9 command is received, it will override the effects of commands applied directly to the lamps e.g. 100/1

- Change: The occupancy controller will no longer update the default output value when the manual input changes unless bit2 on the occupancy
	controller is set

- Note: The SCPTdirection bits for the occupancy controller are now as follows:
	Bit0	-	ABSENCE ONLY  (i.e. off only)
	Bit1	-	On only
	Bit2	-	Allow manual override to change to the PD on value

v8 (12.12)   2015-10-27  MQ

- Fix: Emergency relays work correctly on relays 7-12


v9 (12.12)   2016-10-11  MQ
NEW INTERFACE I4

New: Adds commands to enable and disable PDs per zone.  When a zone is disabled,
	on and off functions are disabled.  A zone is disabled if the Zone is disabled
	or PD control on the entire module is disabled.

	The following commands were added:
	ZZ/89 - Disable the PDs in a zone.
	ZZ/90 - Enabled the PDs in a zone.

	Note: ZZ may not be zero.

- New: Added Reduce PD Timeout command

	This command will reduce the PD timeout by a specified factor accross all PDs for a specified duration.

	This command takes the format <DDD><SS>/135

	DDD is between 1 and 600 and represents the duration in units of 5 minutes.  After this duration, normal operation will resume.
		If a second command is received, the timer will be restarted.

	SS is between 01 and 99 and represents the inverse of the scaling factor applied to the timeout.  Note that the the primary
		timeout will never reduced below 20s and the secondary phase will never be reducted to less than 10s.


	Examples:
		57603/135 - This will reduce the timeout to 1/3 of their normal value for 48 hours
		630/135 - This will reduce the timeouts to 1/30 of their normal value.  For an occupancy controller with the default
			value of 900s primary delay and 20s secondary delay the results will be a 30s timeout for the first phase, and a
			10s timeout for the second phase.
		101/135 - This will immediatly restore the timeouts to the SCPT values.

V10 (12.12)		2017-05-08	DM
NEW INTERFACE I5

- Added SCPTcontrolPriority on a switch.  A switch will respond to the dialNo of
      this SCPT (when bit8 (starting from 0) on SCPTdirection is set on the
			switch)

- Added nvoSceneButton - this is an output that transmits a command every time a
      scene button or switch is pushed.  The format of this command is
	    MM0PP/1BBB
	       - where MM is the module number between 1 & 15.  This is set in
				       SCPTcontrolPriority on the node object.
		       PP is the scene panel no (1 - 16) (not adjusted
					     using SCPTcontrolPriority)
					 BBB - 100 - Up
					     - 200 - Down
					    1 - 5 Scene number
	   Note: Up and down are retransmitted approx 2 times / sec when the button
		     is held.  Scene buttons are propagated 2-3 times for each press.

- Added nviSceneButton
		Commands received on this will be processed by the module as if the relevant
		        command had come in from a physical scene set panel with the
			      specified Dial No.
				*Formatting is per the format described in V1 notes.
				*MM must match the module number defined by SCPTcontrolPrioiry on
				    the Node.
				*"Virtual" button presses received via nviSceneButton are not
				    retransmitted via nvoSceneButton.
V11 2017-11-21  OE

- New: nvoLampFb array is added in order to send feedback from Lamp settings


***********************************************************************************
*************QPD SPECIAL***********************************************************
***********************************************************************************

****Interface I1*******

V0.1		2020-10-16	OE

- Changes are merged from QPD_OneTenSix_v0.3

****Interface I2*******

v0.2		2020-10-19	OE		

- The solution is ported to FT6050

v0.3		2020-10-28	OE

- Relay alignment issue is fixed
- Sending the config data to sensor port is done
- x/99 sends the configuration to individiual channels. If x=0, it sends the data to the sensor input
- 100/99 queries the configuration status. 255/99 => configuration in progress; 155/99 => configuration is not in progress


v0.4		2020-11-02	OE

- Set Relay bug is fixed

v0.5		2021-01-08	DM
- Adds support for 2 stage off
	- Set Bit3 (starting from 0) on SCPTDirection on the Occupancy Controller to enable this feature
		NOTE: Unfortunately this differs from the OneTenSix - the flag used for this purpose on the OneTenSix already has another meaning in this APB.
	- The second phase dimming level is controller by SCPTbrightness
	- The second phase timeout is controlled by SCPTtimeout

v0.6		2021-03-25	OE

-The bug that nvoLampValue being propagated periodically is resolved.

v0.7		2021-03-29	OE

-The bug that first phase flag being cleared when occupied input is received is fixed

v0.8		2021-10-11	OE

- Min Timer execution is seperated from the general IO Timer, so the skew in the timeouts is eliminated.
