Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 4 additions & 3 deletions src/xeto/ashrae.g36/lib.xeto
Original file line numberDiff line numberDiff line change
Expand Up@@ -11,9 +11,10 @@ pragma: Lib <
version: BuildVar "ph.version"
maturity: BuildVar "ph.maturity"
depends: {
{ lib: "sys", versions: BuildVar "ph.depend" }
{ lib: "ph", versions: BuildVar "ph.depend" }
{ lib: "ph.points", versions: BuildVar "ph.depend" }
{ lib: "sys", versions: BuildVar "ph.depend" }
{ lib: "ph", versions: BuildVar "ph.depend" }
{ lib: "ph.points", versions: BuildVar "ph.depend" }
{ lib: "ph.points.sugar", versions: BuildVar "ph.depend" }
}
categories: {"ph", "hvac"}
license: BuildVar "ph.license"
Expand Down
7 changes: 4 additions & 3 deletions src/xeto/ph.examples/lib.xeto
Original file line numberDiff line numberDiff line change
Expand Up@@ -12,9 +12,10 @@ pragma: Lib <
version: BuildVar "ph.version"
maturity: BuildVar "ph.maturity"
depends: {
{ lib: "sys", versions: BuildVar "ph.depend" }
{ lib: "ph", versions: BuildVar "ph.depend" }
{ lib: "ph.points", versions: BuildVar "ph.depend" }
{ lib: "sys", versions: BuildVar "ph.depend" }
{ lib: "ph", versions: BuildVar "ph.depend" }
{ lib: "ph.points", versions: BuildVar "ph.depend" }
{ lib: "ph.points.sugar", versions: BuildVar "ph.depend" }
}
categories: {"ph"}
license: BuildVar "ph.license"
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -11,10 +11,10 @@
//////////////////////////////////////////////////////////////////////////

// Sensor for volumetric air flow in discharge duct
DischargeAirFlowSensor : AirFlowSensor { discharge }
DischargeAirFlowSensor : AirFlowSensor <sugar> { discharge }

// Setpoint for volumetric air flow in discharge duct
DischargeAirFlowSp : AirFlowSp { discharge }
DischargeAirFlowSp : AirFlowSp <sugar> { discharge }

//////////////////////////////////////////////////////////////////////////
// ColdDeck Discharge
Expand DownExpand Up@@ -42,62 +42,62 @@ HotDeckDischargeAirFlowSp : DischargeAirFlowSp { hotDeck }

// Sensor for volumetric air flow in economizing duct.
// Used when there are separate ducts for minimum fresh air vs economizing.
EconomizingAirFlowSensor : AirFlowSensor { economizing }
EconomizingAirFlowSensor : AirFlowSensor <sugar> { economizing }

// Setpoint for volumetric air flow in economizing duct.
EconomizingAirFlowSp : AirFlowSp { economizing }
EconomizingAirFlowSp : AirFlowSp <sugar> { economizing }

//////////////////////////////////////////////////////////////////////////
// Exhaust
//////////////////////////////////////////////////////////////////////////

// Sensor for volumetric air flow in exhaust duct
ExhaustAirFlowSensor : AirFlowSensor { exhaust }
ExhaustAirFlowSensor : AirFlowSensor <sugar> { exhaust }

// Setpoint for volumetric air flow in exhaust duct
ExhaustAirFlowSp : AirFlowSp { exhaust }
ExhaustAirFlowSp : AirFlowSp <sugar> { exhaust }

//////////////////////////////////////////////////////////////////////////
// Inlet
//////////////////////////////////////////////////////////////////////////

// Sensor for volumetric air flow in inlet duct
InletAirFlowSensor : AirFlowSensor { inlet }
InletAirFlowSensor : AirFlowSensor <sugar> { inlet }

// Setpoint for volumetric air flow in inlet duct
InletAirFlowSp : AirFlowSp { inlet }
InletAirFlowSp : AirFlowSp <sugar> { inlet }

//////////////////////////////////////////////////////////////////////////
// Outside
//////////////////////////////////////////////////////////////////////////

// Sensor for volumetric air flow in outside duct.
// Used when there one duct for both minimum fresh air and economizing.
OutsideAirFlowSensor : AirFlowSensor { outside }
OutsideAirFlowSensor : AirFlowSensor <sugar> { outside }

// Setpoint for volumetric air flow in outside duct.
// Used when there one duct for both minimum fresh air and economizing.
OutsideAirFlowSp : AirFlowSp { outside }
OutsideAirFlowSp : AirFlowSp <sugar> { outside }

//////////////////////////////////////////////////////////////////////////
// Return
//////////////////////////////////////////////////////////////////////////

// Sensor for volumetric air flow in return duct
ReturnAirFlowSensor : AirFlowSensor { return }
ReturnAirFlowSensor : AirFlowSensor <sugar> { return }

// Setpoint for volumetric air flow in return duct
ReturnAirFlowSp : AirFlowSp { return }
ReturnAirFlowSp : AirFlowSp <sugar> { return }

//////////////////////////////////////////////////////////////////////////
// Ventilation
//////////////////////////////////////////////////////////////////////////

// Sensor for volumetric air flow in ventilation or minimum fresh air duct.
// Used when there are separate ducts for minimum fresh air vs economizing.
VentilationAirFlowSensor : AirFlowSensor { ventilation }
VentilationAirFlowSensor : AirFlowSensor <sugar> { ventilation }

// Setpoint for volumetric air flow in ventilation or minimum fresh air duct.
// Used when there are separate ducts for minimum fresh air vs economizing.
VentilationAirFlowSp : AirFlowSp { ventilation }
VentilationAirFlowSp : AirFlowSp <sugar> { ventilation }

Original file line numberDiff line numberDiff line change
Expand Up@@ -11,28 +11,28 @@
//////////////////////////////////////////////////////////////////////////

// Sensor for relative humidity in discharge duct
DischargeAirHumiditySensor : AirHumiditySensor { discharge }
DischargeAirHumiditySensor : AirHumiditySensor <sugar> { discharge }

// Setpoint for relative humidity in discharge duct
DischargeAirHumiditySp : AirHumiditySp { discharge }
DischargeAirHumiditySp : AirHumiditySp <sugar> { discharge }

//////////////////////////////////////////////////////////////////////////
// Outdoor
//////////////////////////////////////////////////////////////////////////

// Sensor for relative humidity in outside duct
OutsideAirHumiditySensor : AirHumiditySensor { outside }
OutsideAirHumiditySensor : AirHumiditySensor <sugar> { outside }

// Setpoint for relative humidity in outside duct
OutsideAirHumiditySp : AirHumiditySp { outside }
OutsideAirHumiditySp : AirHumiditySp <sugar> { outside }

//////////////////////////////////////////////////////////////////////////
// Zone
//////////////////////////////////////////////////////////////////////////

// Sensor for relative humidity in the zone
ZoneAirHumiditySensor : AirHumiditySensor { zone }
ZoneAirHumiditySensor : AirHumiditySensor <sugar> { zone }

// Setpoint for relative humidity in the zone
ZoneAirHumiditySp : AirHumiditySp { zone }
ZoneAirHumiditySp : AirHumiditySp <sugar> { zone }

Original file line numberDiff line numberDiff line change
Expand Up@@ -11,18 +11,18 @@
//////////////////////////////////////////////////////////////////////////

// Sensor for static air pressure in discharge duct
DischargeAirPressureSensor : AirPressureSensor { discharge }
DischargeAirPressureSensor : AirPressureSensor <sugar> { discharge }

// Setpoint for static air pressure in discharge duct
DischargeAirPressureSp : AirPressureSp { discharge }
DischargeAirPressureSp : AirPressureSp <sugar> { discharge }

//////////////////////////////////////////////////////////////////////////
// Return
//////////////////////////////////////////////////////////////////////////

// Sensor for static air pressure in return duct
ReturnAirPressureSensor : AirPressureSensor { return }
ReturnAirPressureSensor : AirPressureSensor <sugar> { return }

// Setpoint for static air pressure in return duct
ReturnAirPressureSp : AirPressureSp { return }
ReturnAirPressureSp : AirPressureSp <sugar> { return }

Original file line numberDiff line numberDiff line change
Expand Up@@ -11,74 +11,74 @@
//////////////////////////////////////////////////////////////////////////

// Sensor for drybulb air temperature of discharge duct
DischargeAirTempSensor : AirTempSensor { discharge }
DischargeAirTempSensor : AirTempSensor <sugar> { discharge }

// Setpoint for drybulb air temperature of discharge duct
DischargeAirTempSp : AirTempSp { discharge }
DischargeAirTempSp : AirTempSp <sugar> { discharge }

//////////////////////////////////////////////////////////////////////////
// Economizing
//////////////////////////////////////////////////////////////////////////

// Sensor for drybulb air temperature of economizing duct.
// Used when there are separate ducts for minimum fresh air vs economizing.
EconomizingAirTempSensor : AirTempSensor { economizing }
EconomizingAirTempSensor : AirTempSensor <sugar> { economizing }

//////////////////////////////////////////////////////////////////////////
// Inlet
//////////////////////////////////////////////////////////////////////////

// Sensor for drybulb air temperature of inlet duct
InletAirTempSensor : AirTempSensor { inlet }
InletAirTempSensor : AirTempSensor <sugar> { inlet }

// Setpoint for drybulb air temperature of inlet duct
InletAirTempSp : AirTempSp { inlet }
InletAirTempSp : AirTempSp <sugar> { inlet }

//////////////////////////////////////////////////////////////////////////
// Mixed
//////////////////////////////////////////////////////////////////////////

// Sensor for drybulb air temperature of mixed duct
MixedAirTempSensor : AirTempSensor { mixed }
MixedAirTempSensor : AirTempSensor <sugar> { mixed }

// Setpoint for drybulb air temperature of mixed duct
MixedAirTempSp : AirTempSp { mixed }
MixedAirTempSp : AirTempSp <sugar> { mixed }

//////////////////////////////////////////////////////////////////////////
// Outside
//////////////////////////////////////////////////////////////////////////

// Sensor for drybulb air temperature of outside duct.
// Used when there one duct for both minimum fresh air and economizing.
OutsideAirTempSensor : AirTempSensor { outside }
OutsideAirTempSensor : AirTempSensor <sugar> { outside }

//////////////////////////////////////////////////////////////////////////
// Return
//////////////////////////////////////////////////////////////////////////

// Sensor for drybulb air temperature of return duct
ReturnAirTempSensor : AirTempSensor { return }
ReturnAirTempSensor : AirTempSensor <sugar> { return }

// Setpoint for drybulb air temperature of return duct
ReturnAirTempSp : AirTempSp { return }
ReturnAirTempSp : AirTempSp <sugar> { return }

//////////////////////////////////////////////////////////////////////////
// Ventilation
//////////////////////////////////////////////////////////////////////////

// Sensor for drybulb air temperature of ventilation or minimum fresh duct.
// Used when there are separate ducts for minimum fresh air vs economizing.
VentilationAirTempSensor : AirTempSensor { ventilation }
VentilationAirTempSensor : AirTempSensor <sugar> { ventilation }

//////////////////////////////////////////////////////////////////////////
// Zone
//////////////////////////////////////////////////////////////////////////

// Drybulb air temperature sensor for zone
ZoneAirTempSensor : AirTempSensor { zone }
ZoneAirTempSensor : AirTempSensor <sugar> { zone }

// Setpoint for drybulb air temperature zone
ZoneAirTempSp : AirTempSp <abstract> { zone }
ZoneAirTempSp : AirTempSp <sugar, abstract> { zone }

// Effective setpoint for drybulb air temperature a zone
ZoneAirTempEffectiveSp : ZoneAirTempSp { effective }
Expand DownExpand Up@@ -112,4 +112,4 @@ ZoneAirTempStandbyHeatingSp : ZoneAirTempHeatingSp { standby }
//////////////////////////////////////////////////////////////////////////

// Sensor for air temperature inside an enclosure
EnclosureAirTempSensor : AirTempSensor { enclosure }
EnclosureAirTempSensor : AirTempSensor <sugar> { enclosure }
29 changes: 29 additions & 0 deletions src/xeto/ph.points.sugar/lib.xeto
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
//
// Copyright (c) 2026, Project-Haystack
// Licensed under the Academic Free License version 3.0
//
// History:
// 1 Sep 2026 Rick Jennings Creation
//

pragma: Lib <
doc: "Project haystack experimental points sugar library"
version: BuildVar "ph.version"
maturity: BuildVar "ph.maturity"
depends: {
{ lib: "sys", versions: BuildVar "ph.depend" }
{ lib: "ph", versions: BuildVar "ph.depend" }
{ lib: "ph.points", versions: BuildVar "ph.depend" }
}
categories: {"ph"}
license: BuildVar "ph.license"
org: {
dis: BuildVar "ph.org.dis"
uri: BuildVar "ph.org.uri"
}
vcs: {
type: BuildVar "ph.vcs.type"
uri: BuildVar "ph.vcs.uri"
}
>

Original file line numberDiff line numberDiff line change
Expand Up@@ -11,27 +11,27 @@
//////////////////////////////////////////////////////////////////////////

// Sensor for volumetric flow of domestic water
DomesticWaterFlowSensor : WaterFlowSensor { domestic }
DomesticWaterFlowSensor : WaterFlowSensor <sugar> { domestic }

// Setpoint for volumetric flow of domestic water
DomesticWaterFlowSp : WaterFlowSp { domestic }
DomesticWaterFlowSp : WaterFlowSp <sugar> { domestic }

//////////////////////////////////////////////////////////////////////////
// Chilled Water
//////////////////////////////////////////////////////////////////////////

// Sensor for volumetric flow of chilled water
ChilledWaterFlowSensor : WaterFlowSensor { chilled }
ChilledWaterFlowSensor : WaterFlowSensor <sugar> { chilled }

// Setpoint for volumetric flow of chilled water
ChilledWaterFlowSp : WaterFlowSp { chilled }
ChilledWaterFlowSp : WaterFlowSp <sugar> { chilled }

//////////////////////////////////////////////////////////////////////////
// Hot Water
//////////////////////////////////////////////////////////////////////////

// Sensor for volumetric flow of hot water
HotWaterFlowSensor : WaterFlowSensor { hot }
HotWaterFlowSensor : WaterFlowSensor <sugar> { hot }

// Setpoint for volumetric flow of hot water
HotWaterFlowSp : WaterFlowSp { hot }
HotWaterFlowSp : WaterFlowSp <sugar> { hot }
Original file line numberDiff line numberDiff line change
Expand Up@@ -11,29 +11,29 @@
//////////////////////////////////////////////////////////////////////////

// Sensor for chilled water leaving pressure
ChilledWaterLeavingPressureSensor : WaterPressureSensor { chilled, leaving }
ChilledWaterLeavingPressureSensor : WaterPressureSensor <sugar> { chilled, leaving }

// Sensor for chilled water entering pressure
ChilledWaterEnteringPressureSensor : WaterPressureSensor { chilled, entering }
ChilledWaterEnteringPressureSensor : WaterPressureSensor <sugar> { chilled, entering }

// Setpoint for chilled water leaving pressure
ChilledWaterLeavingPressureSp : WaterPressureSp { chilled, leaving }
ChilledWaterLeavingPressureSp : WaterPressureSp <sugar> { chilled, leaving }

// Setpoint for chilled water entering pressure
ChilledWaterEnteringPressureSp : WaterPressureSp { chilled, entering }
ChilledWaterEnteringPressureSp : WaterPressureSp <sugar> { chilled, entering }

//////////////////////////////////////////////////////////////////////////
// Hot Water Pressure
//////////////////////////////////////////////////////////////////////////

// Sensor for hot water leaving pressure
HotWaterLeavingPressureSensor : WaterPressureSensor { hot, leaving }
HotWaterLeavingPressureSensor : WaterPressureSensor <sugar> { hot, leaving }

// Sensor for hot water entering pressure
HotWaterEnteringPressureSensor : WaterPressureSensor { hot, entering }
HotWaterEnteringPressureSensor : WaterPressureSensor <sugar> { hot, entering }

// Setpoint for hot water leaving pressure
HotWaterLeavingPressureSp : WaterPressureSp { hot, leaving }
HotWaterLeavingPressureSp : WaterPressureSp <sugar> { hot, leaving }

// Setpoint for hot water entering pressure
HotWaterEnteringPressureSp : WaterPressureSp { hot, entering }
HotWaterEnteringPressureSp : WaterPressureSp <sugar> { hot, entering }
Loading
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 4 additions & 3 deletions src/xeto/ashrae.g36/lib.xeto
Original file line numberDiff line numberDiff line change
Expand Up@@ -11,9 +11,10 @@ pragma: Lib <
version: BuildVar "ph.version"
maturity: BuildVar "ph.maturity"
depends: {
{ lib: "sys", versions: BuildVar "ph.depend" }
{ lib: "ph", versions: BuildVar "ph.depend" }
{ lib: "ph.points", versions: BuildVar "ph.depend" }
{ lib: "sys", versions: BuildVar "ph.depend" }
{ lib: "ph", versions: BuildVar "ph.depend" }
{ lib: "ph.points", versions: BuildVar "ph.depend" }
{ lib: "ph.points.sugar", versions: BuildVar "ph.depend" }
}
categories: {"ph", "hvac"}
license: BuildVar "ph.license"
Expand Down
7 changes: 4 additions & 3 deletions src/xeto/ph.examples/lib.xeto
Original file line numberDiff line numberDiff line change
Expand Up@@ -12,9 +12,10 @@ pragma: Lib <
version: BuildVar "ph.version"
maturity: BuildVar "ph.maturity"
depends: {
{ lib: "sys", versions: BuildVar "ph.depend" }
{ lib: "ph", versions: BuildVar "ph.depend" }
{ lib: "ph.points", versions: BuildVar "ph.depend" }
{ lib: "sys", versions: BuildVar "ph.depend" }
{ lib: "ph", versions: BuildVar "ph.depend" }
{ lib: "ph.points", versions: BuildVar "ph.depend" }
{ lib: "ph.points.sugar", versions: BuildVar "ph.depend" }
}
categories: {"ph"}
license: BuildVar "ph.license"
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -11,10 +11,10 @@
//////////////////////////////////////////////////////////////////////////

// Sensor for volumetric air flow in discharge duct
DischargeAirFlowSensor : AirFlowSensor { discharge }
DischargeAirFlowSensor : AirFlowSensor <sugar> { discharge }

// Setpoint for volumetric air flow in discharge duct
DischargeAirFlowSp : AirFlowSp { discharge }
DischargeAirFlowSp : AirFlowSp <sugar> { discharge }

//////////////////////////////////////////////////////////////////////////
// ColdDeck Discharge
Expand DownExpand Up@@ -42,62 +42,62 @@ HotDeckDischargeAirFlowSp : DischargeAirFlowSp { hotDeck }

// Sensor for volumetric air flow in economizing duct.
// Used when there are separate ducts for minimum fresh air vs economizing.
EconomizingAirFlowSensor : AirFlowSensor { economizing }
EconomizingAirFlowSensor : AirFlowSensor <sugar> { economizing }

// Setpoint for volumetric air flow in economizing duct.
EconomizingAirFlowSp : AirFlowSp { economizing }
EconomizingAirFlowSp : AirFlowSp <sugar> { economizing }

//////////////////////////////////////////////////////////////////////////
// Exhaust
//////////////////////////////////////////////////////////////////////////

// Sensor for volumetric air flow in exhaust duct
ExhaustAirFlowSensor : AirFlowSensor { exhaust }
ExhaustAirFlowSensor : AirFlowSensor <sugar> { exhaust }

// Setpoint for volumetric air flow in exhaust duct
ExhaustAirFlowSp : AirFlowSp { exhaust }
ExhaustAirFlowSp : AirFlowSp <sugar> { exhaust }

//////////////////////////////////////////////////////////////////////////
// Inlet
//////////////////////////////////////////////////////////////////////////

// Sensor for volumetric air flow in inlet duct
InletAirFlowSensor : AirFlowSensor { inlet }
InletAirFlowSensor : AirFlowSensor <sugar> { inlet }

// Setpoint for volumetric air flow in inlet duct
InletAirFlowSp : AirFlowSp { inlet }
InletAirFlowSp : AirFlowSp <sugar> { inlet }

//////////////////////////////////////////////////////////////////////////
// Outside
//////////////////////////////////////////////////////////////////////////

// Sensor for volumetric air flow in outside duct.
// Used when there one duct for both minimum fresh air and economizing.
OutsideAirFlowSensor : AirFlowSensor { outside }
OutsideAirFlowSensor : AirFlowSensor <sugar> { outside }

// Setpoint for volumetric air flow in outside duct.
// Used when there one duct for both minimum fresh air and economizing.
OutsideAirFlowSp : AirFlowSp { outside }
OutsideAirFlowSp : AirFlowSp <sugar> { outside }

//////////////////////////////////////////////////////////////////////////
// Return
//////////////////////////////////////////////////////////////////////////

// Sensor for volumetric air flow in return duct
ReturnAirFlowSensor : AirFlowSensor { return }
ReturnAirFlowSensor : AirFlowSensor <sugar> { return }

// Setpoint for volumetric air flow in return duct
ReturnAirFlowSp : AirFlowSp { return }
ReturnAirFlowSp : AirFlowSp <sugar> { return }

//////////////////////////////////////////////////////////////////////////
// Ventilation
//////////////////////////////////////////////////////////////////////////

// Sensor for volumetric air flow in ventilation or minimum fresh air duct.
// Used when there are separate ducts for minimum fresh air vs economizing.
VentilationAirFlowSensor : AirFlowSensor { ventilation }
VentilationAirFlowSensor : AirFlowSensor <sugar> { ventilation }

// Setpoint for volumetric air flow in ventilation or minimum fresh air duct.
// Used when there are separate ducts for minimum fresh air vs economizing.
VentilationAirFlowSp : AirFlowSp { ventilation }
VentilationAirFlowSp : AirFlowSp <sugar> { ventilation }

Original file line numberDiff line numberDiff line change
Expand Up@@ -11,28 +11,28 @@
//////////////////////////////////////////////////////////////////////////

// Sensor for relative humidity in discharge duct
DischargeAirHumiditySensor : AirHumiditySensor { discharge }
DischargeAirHumiditySensor : AirHumiditySensor <sugar> { discharge }

// Setpoint for relative humidity in discharge duct
DischargeAirHumiditySp : AirHumiditySp { discharge }
DischargeAirHumiditySp : AirHumiditySp <sugar> { discharge }

//////////////////////////////////////////////////////////////////////////
// Outdoor
//////////////////////////////////////////////////////////////////////////

// Sensor for relative humidity in outside duct
OutsideAirHumiditySensor : AirHumiditySensor { outside }
OutsideAirHumiditySensor : AirHumiditySensor <sugar> { outside }

// Setpoint for relative humidity in outside duct
OutsideAirHumiditySp : AirHumiditySp { outside }
OutsideAirHumiditySp : AirHumiditySp <sugar> { outside }

//////////////////////////////////////////////////////////////////////////
// Zone
//////////////////////////////////////////////////////////////////////////

// Sensor for relative humidity in the zone
ZoneAirHumiditySensor : AirHumiditySensor { zone }
ZoneAirHumiditySensor : AirHumiditySensor <sugar> { zone }

// Setpoint for relative humidity in the zone
ZoneAirHumiditySp : AirHumiditySp { zone }
ZoneAirHumiditySp : AirHumiditySp <sugar> { zone }

Original file line numberDiff line numberDiff line change
Expand Up@@ -11,18 +11,18 @@
//////////////////////////////////////////////////////////////////////////

// Sensor for static air pressure in discharge duct
DischargeAirPressureSensor : AirPressureSensor { discharge }
DischargeAirPressureSensor : AirPressureSensor <sugar> { discharge }

// Setpoint for static air pressure in discharge duct
DischargeAirPressureSp : AirPressureSp { discharge }
DischargeAirPressureSp : AirPressureSp <sugar> { discharge }

//////////////////////////////////////////////////////////////////////////
// Return
//////////////////////////////////////////////////////////////////////////

// Sensor for static air pressure in return duct
ReturnAirPressureSensor : AirPressureSensor { return }
ReturnAirPressureSensor : AirPressureSensor <sugar> { return }

// Setpoint for static air pressure in return duct
ReturnAirPressureSp : AirPressureSp { return }
ReturnAirPressureSp : AirPressureSp <sugar> { return }

Original file line numberDiff line numberDiff line change
Expand Up@@ -11,74 +11,74 @@
//////////////////////////////////////////////////////////////////////////

// Sensor for drybulb air temperature of discharge duct
DischargeAirTempSensor : AirTempSensor { discharge }
DischargeAirTempSensor : AirTempSensor <sugar> { discharge }

// Setpoint for drybulb air temperature of discharge duct
DischargeAirTempSp : AirTempSp { discharge }
DischargeAirTempSp : AirTempSp <sugar> { discharge }

//////////////////////////////////////////////////////////////////////////
// Economizing
//////////////////////////////////////////////////////////////////////////

// Sensor for drybulb air temperature of economizing duct.
// Used when there are separate ducts for minimum fresh air vs economizing.
EconomizingAirTempSensor : AirTempSensor { economizing }
EconomizingAirTempSensor : AirTempSensor <sugar> { economizing }

//////////////////////////////////////////////////////////////////////////
// Inlet
//////////////////////////////////////////////////////////////////////////

// Sensor for drybulb air temperature of inlet duct
InletAirTempSensor : AirTempSensor { inlet }
InletAirTempSensor : AirTempSensor <sugar> { inlet }

// Setpoint for drybulb air temperature of inlet duct
InletAirTempSp : AirTempSp { inlet }
InletAirTempSp : AirTempSp <sugar> { inlet }

//////////////////////////////////////////////////////////////////////////
// Mixed
//////////////////////////////////////////////////////////////////////////

// Sensor for drybulb air temperature of mixed duct
MixedAirTempSensor : AirTempSensor { mixed }
MixedAirTempSensor : AirTempSensor <sugar> { mixed }

// Setpoint for drybulb air temperature of mixed duct
MixedAirTempSp : AirTempSp { mixed }
MixedAirTempSp : AirTempSp <sugar> { mixed }

//////////////////////////////////////////////////////////////////////////
// Outside
//////////////////////////////////////////////////////////////////////////

// Sensor for drybulb air temperature of outside duct.
// Used when there one duct for both minimum fresh air and economizing.
OutsideAirTempSensor : AirTempSensor { outside }
OutsideAirTempSensor : AirTempSensor <sugar> { outside }

//////////////////////////////////////////////////////////////////////////
// Return
//////////////////////////////////////////////////////////////////////////

// Sensor for drybulb air temperature of return duct
ReturnAirTempSensor : AirTempSensor { return }
ReturnAirTempSensor : AirTempSensor <sugar> { return }

// Setpoint for drybulb air temperature of return duct
ReturnAirTempSp : AirTempSp { return }
ReturnAirTempSp : AirTempSp <sugar> { return }

//////////////////////////////////////////////////////////////////////////
// Ventilation
//////////////////////////////////////////////////////////////////////////

// Sensor for drybulb air temperature of ventilation or minimum fresh duct.
// Used when there are separate ducts for minimum fresh air vs economizing.
VentilationAirTempSensor : AirTempSensor { ventilation }
VentilationAirTempSensor : AirTempSensor <sugar> { ventilation }

//////////////////////////////////////////////////////////////////////////
// Zone
//////////////////////////////////////////////////////////////////////////

// Drybulb air temperature sensor for zone
ZoneAirTempSensor : AirTempSensor { zone }
ZoneAirTempSensor : AirTempSensor <sugar> { zone }

// Setpoint for drybulb air temperature zone
ZoneAirTempSp : AirTempSp <abstract> { zone }
ZoneAirTempSp : AirTempSp <sugar, abstract> { zone }

// Effective setpoint for drybulb air temperature a zone
ZoneAirTempEffectiveSp : ZoneAirTempSp { effective }
Expand DownExpand Up@@ -112,4 +112,4 @@ ZoneAirTempStandbyHeatingSp : ZoneAirTempHeatingSp { standby }
//////////////////////////////////////////////////////////////////////////

// Sensor for air temperature inside an enclosure
EnclosureAirTempSensor : AirTempSensor { enclosure }
EnclosureAirTempSensor : AirTempSensor <sugar> { enclosure }
29 changes: 29 additions & 0 deletions src/xeto/ph.points.sugar/lib.xeto
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
//
// Copyright (c) 2026, Project-Haystack
// Licensed under the Academic Free License version 3.0
//
// History:
// 1 Sep 2026 Rick Jennings Creation
//

pragma: Lib <
doc: "Project haystack experimental points sugar library"
version: BuildVar "ph.version"
maturity: BuildVar "ph.maturity"
depends: {
{ lib: "sys", versions: BuildVar "ph.depend" }
{ lib: "ph", versions: BuildVar "ph.depend" }
{ lib: "ph.points", versions: BuildVar "ph.depend" }
}
categories: {"ph"}
license: BuildVar "ph.license"
org: {
dis: BuildVar "ph.org.dis"
uri: BuildVar "ph.org.uri"
}
vcs: {
type: BuildVar "ph.vcs.type"
uri: BuildVar "ph.vcs.uri"
}
>

Original file line numberDiff line numberDiff line change
Expand Up@@ -11,27 +11,27 @@
//////////////////////////////////////////////////////////////////////////

// Sensor for volumetric flow of domestic water
DomesticWaterFlowSensor : WaterFlowSensor { domestic }
DomesticWaterFlowSensor : WaterFlowSensor <sugar> { domestic }

// Setpoint for volumetric flow of domestic water
DomesticWaterFlowSp : WaterFlowSp { domestic }
DomesticWaterFlowSp : WaterFlowSp <sugar> { domestic }

//////////////////////////////////////////////////////////////////////////
// Chilled Water
//////////////////////////////////////////////////////////////////////////

// Sensor for volumetric flow of chilled water
ChilledWaterFlowSensor : WaterFlowSensor { chilled }
ChilledWaterFlowSensor : WaterFlowSensor <sugar> { chilled }

// Setpoint for volumetric flow of chilled water
ChilledWaterFlowSp : WaterFlowSp { chilled }
ChilledWaterFlowSp : WaterFlowSp <sugar> { chilled }

//////////////////////////////////////////////////////////////////////////
// Hot Water
//////////////////////////////////////////////////////////////////////////

// Sensor for volumetric flow of hot water
HotWaterFlowSensor : WaterFlowSensor { hot }
HotWaterFlowSensor : WaterFlowSensor <sugar> { hot }

// Setpoint for volumetric flow of hot water
HotWaterFlowSp : WaterFlowSp { hot }
HotWaterFlowSp : WaterFlowSp <sugar> { hot }
Original file line numberDiff line numberDiff line change
Expand Up@@ -11,29 +11,29 @@
//////////////////////////////////////////////////////////////////////////

// Sensor for chilled water leaving pressure
ChilledWaterLeavingPressureSensor : WaterPressureSensor { chilled, leaving }
ChilledWaterLeavingPressureSensor : WaterPressureSensor <sugar> { chilled, leaving }

// Sensor for chilled water entering pressure
ChilledWaterEnteringPressureSensor : WaterPressureSensor { chilled, entering }
ChilledWaterEnteringPressureSensor : WaterPressureSensor <sugar> { chilled, entering }

// Setpoint for chilled water leaving pressure
ChilledWaterLeavingPressureSp : WaterPressureSp { chilled, leaving }
ChilledWaterLeavingPressureSp : WaterPressureSp <sugar> { chilled, leaving }

// Setpoint for chilled water entering pressure
ChilledWaterEnteringPressureSp : WaterPressureSp { chilled, entering }
ChilledWaterEnteringPressureSp : WaterPressureSp <sugar> { chilled, entering }

//////////////////////////////////////////////////////////////////////////
// Hot Water Pressure
//////////////////////////////////////////////////////////////////////////

// Sensor for hot water leaving pressure
HotWaterLeavingPressureSensor : WaterPressureSensor { hot, leaving }
HotWaterLeavingPressureSensor : WaterPressureSensor <sugar> { hot, leaving }

// Sensor for hot water entering pressure
HotWaterEnteringPressureSensor : WaterPressureSensor { hot, entering }
HotWaterEnteringPressureSensor : WaterPressureSensor <sugar> { hot, entering }

// Setpoint for hot water leaving pressure
HotWaterLeavingPressureSp : WaterPressureSp { hot, leaving }
HotWaterLeavingPressureSp : WaterPressureSp <sugar> { hot, leaving }

// Setpoint for hot water entering pressure
HotWaterEnteringPressureSp : WaterPressureSp { hot, entering }
HotWaterEnteringPressureSp : WaterPressureSp <sugar> { hot, entering }
Loading
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 4 additions & 3 deletions src/xeto/ashrae.g36/lib.xeto
Original file line numberDiff line numberDiff line change
Expand Up@@ -11,9 +11,10 @@ pragma: Lib <
version: BuildVar "ph.version"
maturity: BuildVar "ph.maturity"
depends: {
{ lib: "sys", versions: BuildVar "ph.depend" }
{ lib: "ph", versions: BuildVar "ph.depend" }
{ lib: "ph.points", versions: BuildVar "ph.depend" }
{ lib: "sys", versions: BuildVar "ph.depend" }
{ lib: "ph", versions: BuildVar "ph.depend" }
{ lib: "ph.points", versions: BuildVar "ph.depend" }
{ lib: "ph.points.sugar", versions: BuildVar "ph.depend" }
}
categories: {"ph", "hvac"}
license: BuildVar "ph.license"
Expand Down
7 changes: 4 additions & 3 deletions src/xeto/ph.examples/lib.xeto
Original file line numberDiff line numberDiff line change
Expand Up@@ -12,9 +12,10 @@ pragma: Lib <
version: BuildVar "ph.version"
maturity: BuildVar "ph.maturity"
depends: {
{ lib: "sys", versions: BuildVar "ph.depend" }
{ lib: "ph", versions: BuildVar "ph.depend" }
{ lib: "ph.points", versions: BuildVar "ph.depend" }
{ lib: "sys", versions: BuildVar "ph.depend" }
{ lib: "ph", versions: BuildVar "ph.depend" }
{ lib: "ph.points", versions: BuildVar "ph.depend" }
{ lib: "ph.points.sugar", versions: BuildVar "ph.depend" }
}
categories: {"ph"}
license: BuildVar "ph.license"
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -11,10 +11,10 @@
//////////////////////////////////////////////////////////////////////////

// Sensor for volumetric air flow in discharge duct
DischargeAirFlowSensor : AirFlowSensor { discharge }
DischargeAirFlowSensor : AirFlowSensor <sugar> { discharge }

// Setpoint for volumetric air flow in discharge duct
DischargeAirFlowSp : AirFlowSp { discharge }
DischargeAirFlowSp : AirFlowSp <sugar> { discharge }

//////////////////////////////////////////////////////////////////////////
// ColdDeck Discharge
Expand DownExpand Up@@ -42,62 +42,62 @@ HotDeckDischargeAirFlowSp : DischargeAirFlowSp { hotDeck }

// Sensor for volumetric air flow in economizing duct.
// Used when there are separate ducts for minimum fresh air vs economizing.
EconomizingAirFlowSensor : AirFlowSensor { economizing }
EconomizingAirFlowSensor : AirFlowSensor <sugar> { economizing }

// Setpoint for volumetric air flow in economizing duct.
EconomizingAirFlowSp : AirFlowSp { economizing }
EconomizingAirFlowSp : AirFlowSp <sugar> { economizing }

//////////////////////////////////////////////////////////////////////////
// Exhaust
//////////////////////////////////////////////////////////////////////////

// Sensor for volumetric air flow in exhaust duct
ExhaustAirFlowSensor : AirFlowSensor { exhaust }
ExhaustAirFlowSensor : AirFlowSensor <sugar> { exhaust }

// Setpoint for volumetric air flow in exhaust duct
ExhaustAirFlowSp : AirFlowSp { exhaust }
ExhaustAirFlowSp : AirFlowSp <sugar> { exhaust }

//////////////////////////////////////////////////////////////////////////
// Inlet
//////////////////////////////////////////////////////////////////////////

// Sensor for volumetric air flow in inlet duct
InletAirFlowSensor : AirFlowSensor { inlet }
InletAirFlowSensor : AirFlowSensor <sugar> { inlet }

// Setpoint for volumetric air flow in inlet duct
InletAirFlowSp : AirFlowSp { inlet }
InletAirFlowSp : AirFlowSp <sugar> { inlet }

//////////////////////////////////////////////////////////////////////////
// Outside
//////////////////////////////////////////////////////////////////////////

// Sensor for volumetric air flow in outside duct.
// Used when there one duct for both minimum fresh air and economizing.
OutsideAirFlowSensor : AirFlowSensor { outside }
OutsideAirFlowSensor : AirFlowSensor <sugar> { outside }

// Setpoint for volumetric air flow in outside duct.
// Used when there one duct for both minimum fresh air and economizing.
OutsideAirFlowSp : AirFlowSp { outside }
OutsideAirFlowSp : AirFlowSp <sugar> { outside }

//////////////////////////////////////////////////////////////////////////
// Return
//////////////////////////////////////////////////////////////////////////

// Sensor for volumetric air flow in return duct
ReturnAirFlowSensor : AirFlowSensor { return }
ReturnAirFlowSensor : AirFlowSensor <sugar> { return }

// Setpoint for volumetric air flow in return duct
ReturnAirFlowSp : AirFlowSp { return }
ReturnAirFlowSp : AirFlowSp <sugar> { return }

//////////////////////////////////////////////////////////////////////////
// Ventilation
//////////////////////////////////////////////////////////////////////////

// Sensor for volumetric air flow in ventilation or minimum fresh air duct.
// Used when there are separate ducts for minimum fresh air vs economizing.
VentilationAirFlowSensor : AirFlowSensor { ventilation }
VentilationAirFlowSensor : AirFlowSensor <sugar> { ventilation }

// Setpoint for volumetric air flow in ventilation or minimum fresh air duct.
// Used when there are separate ducts for minimum fresh air vs economizing.
VentilationAirFlowSp : AirFlowSp { ventilation }
VentilationAirFlowSp : AirFlowSp <sugar> { ventilation }

Original file line numberDiff line numberDiff line change
Expand Up@@ -11,28 +11,28 @@
//////////////////////////////////////////////////////////////////////////

// Sensor for relative humidity in discharge duct
DischargeAirHumiditySensor : AirHumiditySensor { discharge }
DischargeAirHumiditySensor : AirHumiditySensor <sugar> { discharge }

// Setpoint for relative humidity in discharge duct
DischargeAirHumiditySp : AirHumiditySp { discharge }
DischargeAirHumiditySp : AirHumiditySp <sugar> { discharge }

//////////////////////////////////////////////////////////////////////////
// Outdoor
//////////////////////////////////////////////////////////////////////////

// Sensor for relative humidity in outside duct
OutsideAirHumiditySensor : AirHumiditySensor { outside }
OutsideAirHumiditySensor : AirHumiditySensor <sugar> { outside }

// Setpoint for relative humidity in outside duct
OutsideAirHumiditySp : AirHumiditySp { outside }
OutsideAirHumiditySp : AirHumiditySp <sugar> { outside }

//////////////////////////////////////////////////////////////////////////
// Zone
//////////////////////////////////////////////////////////////////////////

// Sensor for relative humidity in the zone
ZoneAirHumiditySensor : AirHumiditySensor { zone }
ZoneAirHumiditySensor : AirHumiditySensor <sugar> { zone }

// Setpoint for relative humidity in the zone
ZoneAirHumiditySp : AirHumiditySp { zone }
ZoneAirHumiditySp : AirHumiditySp <sugar> { zone }

Original file line numberDiff line numberDiff line change
Expand Up@@ -11,18 +11,18 @@
//////////////////////////////////////////////////////////////////////////

// Sensor for static air pressure in discharge duct
DischargeAirPressureSensor : AirPressureSensor { discharge }
DischargeAirPressureSensor : AirPressureSensor <sugar> { discharge }

// Setpoint for static air pressure in discharge duct
DischargeAirPressureSp : AirPressureSp { discharge }
DischargeAirPressureSp : AirPressureSp <sugar> { discharge }

//////////////////////////////////////////////////////////////////////////
// Return
//////////////////////////////////////////////////////////////////////////

// Sensor for static air pressure in return duct
ReturnAirPressureSensor : AirPressureSensor { return }
ReturnAirPressureSensor : AirPressureSensor <sugar> { return }

// Setpoint for static air pressure in return duct
ReturnAirPressureSp : AirPressureSp { return }
ReturnAirPressureSp : AirPressureSp <sugar> { return }

Original file line numberDiff line numberDiff line change
Expand Up@@ -11,74 +11,74 @@
//////////////////////////////////////////////////////////////////////////

// Sensor for drybulb air temperature of discharge duct
DischargeAirTempSensor : AirTempSensor { discharge }
DischargeAirTempSensor : AirTempSensor <sugar> { discharge }

// Setpoint for drybulb air temperature of discharge duct
DischargeAirTempSp : AirTempSp { discharge }
DischargeAirTempSp : AirTempSp <sugar> { discharge }

//////////////////////////////////////////////////////////////////////////
// Economizing
//////////////////////////////////////////////////////////////////////////

// Sensor for drybulb air temperature of economizing duct.
// Used when there are separate ducts for minimum fresh air vs economizing.
EconomizingAirTempSensor : AirTempSensor { economizing }
EconomizingAirTempSensor : AirTempSensor <sugar> { economizing }

//////////////////////////////////////////////////////////////////////////
// Inlet
//////////////////////////////////////////////////////////////////////////

// Sensor for drybulb air temperature of inlet duct
InletAirTempSensor : AirTempSensor { inlet }
InletAirTempSensor : AirTempSensor <sugar> { inlet }

// Setpoint for drybulb air temperature of inlet duct
InletAirTempSp : AirTempSp { inlet }
InletAirTempSp : AirTempSp <sugar> { inlet }

//////////////////////////////////////////////////////////////////////////
// Mixed
//////////////////////////////////////////////////////////////////////////

// Sensor for drybulb air temperature of mixed duct
MixedAirTempSensor : AirTempSensor { mixed }
MixedAirTempSensor : AirTempSensor <sugar> { mixed }

// Setpoint for drybulb air temperature of mixed duct
MixedAirTempSp : AirTempSp { mixed }
MixedAirTempSp : AirTempSp <sugar> { mixed }

//////////////////////////////////////////////////////////////////////////
// Outside
//////////////////////////////////////////////////////////////////////////

// Sensor for drybulb air temperature of outside duct.
// Used when there one duct for both minimum fresh air and economizing.
OutsideAirTempSensor : AirTempSensor { outside }
OutsideAirTempSensor : AirTempSensor <sugar> { outside }

//////////////////////////////////////////////////////////////////////////
// Return
//////////////////////////////////////////////////////////////////////////

// Sensor for drybulb air temperature of return duct
ReturnAirTempSensor : AirTempSensor { return }
ReturnAirTempSensor : AirTempSensor <sugar> { return }

// Setpoint for drybulb air temperature of return duct
ReturnAirTempSp : AirTempSp { return }
ReturnAirTempSp : AirTempSp <sugar> { return }

//////////////////////////////////////////////////////////////////////////
// Ventilation
//////////////////////////////////////////////////////////////////////////

// Sensor for drybulb air temperature of ventilation or minimum fresh duct.
// Used when there are separate ducts for minimum fresh air vs economizing.
VentilationAirTempSensor : AirTempSensor { ventilation }
VentilationAirTempSensor : AirTempSensor <sugar> { ventilation }

//////////////////////////////////////////////////////////////////////////
// Zone
//////////////////////////////////////////////////////////////////////////

// Drybulb air temperature sensor for zone
ZoneAirTempSensor : AirTempSensor { zone }
ZoneAirTempSensor : AirTempSensor <sugar> { zone }

// Setpoint for drybulb air temperature zone
ZoneAirTempSp : AirTempSp <abstract> { zone }
ZoneAirTempSp : AirTempSp <sugar, abstract> { zone }

// Effective setpoint for drybulb air temperature a zone
ZoneAirTempEffectiveSp : ZoneAirTempSp { effective }
Expand DownExpand Up@@ -112,4 +112,4 @@ ZoneAirTempStandbyHeatingSp : ZoneAirTempHeatingSp { standby }
//////////////////////////////////////////////////////////////////////////

// Sensor for air temperature inside an enclosure
EnclosureAirTempSensor : AirTempSensor { enclosure }
EnclosureAirTempSensor : AirTempSensor <sugar> { enclosure }
29 changes: 29 additions & 0 deletions src/xeto/ph.points.sugar/lib.xeto
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
//
// Copyright (c) 2026, Project-Haystack
// Licensed under the Academic Free License version 3.0
//
// History:
// 1 Sep 2026 Rick Jennings Creation
//

pragma: Lib <
doc: "Project haystack experimental points sugar library"
version: BuildVar "ph.version"
maturity: BuildVar "ph.maturity"
depends: {
{ lib: "sys", versions: BuildVar "ph.depend" }
{ lib: "ph", versions: BuildVar "ph.depend" }
{ lib: "ph.points", versions: BuildVar "ph.depend" }
}
categories: {"ph"}
license: BuildVar "ph.license"
org: {
dis: BuildVar "ph.org.dis"
uri: BuildVar "ph.org.uri"
}
vcs: {
type: BuildVar "ph.vcs.type"
uri: BuildVar "ph.vcs.uri"
}
>

Original file line numberDiff line numberDiff line change
Expand Up@@ -11,27 +11,27 @@
//////////////////////////////////////////////////////////////////////////

// Sensor for volumetric flow of domestic water
DomesticWaterFlowSensor : WaterFlowSensor { domestic }
DomesticWaterFlowSensor : WaterFlowSensor <sugar> { domestic }

// Setpoint for volumetric flow of domestic water
DomesticWaterFlowSp : WaterFlowSp { domestic }
DomesticWaterFlowSp : WaterFlowSp <sugar> { domestic }

//////////////////////////////////////////////////////////////////////////
// Chilled Water
//////////////////////////////////////////////////////////////////////////

// Sensor for volumetric flow of chilled water
ChilledWaterFlowSensor : WaterFlowSensor { chilled }
ChilledWaterFlowSensor : WaterFlowSensor <sugar> { chilled }

// Setpoint for volumetric flow of chilled water
ChilledWaterFlowSp : WaterFlowSp { chilled }
ChilledWaterFlowSp : WaterFlowSp <sugar> { chilled }

//////////////////////////////////////////////////////////////////////////
// Hot Water
//////////////////////////////////////////////////////////////////////////

// Sensor for volumetric flow of hot water
HotWaterFlowSensor : WaterFlowSensor { hot }
HotWaterFlowSensor : WaterFlowSensor <sugar> { hot }

// Setpoint for volumetric flow of hot water
HotWaterFlowSp : WaterFlowSp { hot }
HotWaterFlowSp : WaterFlowSp <sugar> { hot }
Original file line numberDiff line numberDiff line change
Expand Up@@ -11,29 +11,29 @@
//////////////////////////////////////////////////////////////////////////

// Sensor for chilled water leaving pressure
ChilledWaterLeavingPressureSensor : WaterPressureSensor { chilled, leaving }
ChilledWaterLeavingPressureSensor : WaterPressureSensor <sugar> { chilled, leaving }

// Sensor for chilled water entering pressure
ChilledWaterEnteringPressureSensor : WaterPressureSensor { chilled, entering }
ChilledWaterEnteringPressureSensor : WaterPressureSensor <sugar> { chilled, entering }

// Setpoint for chilled water leaving pressure
ChilledWaterLeavingPressureSp : WaterPressureSp { chilled, leaving }
ChilledWaterLeavingPressureSp : WaterPressureSp <sugar> { chilled, leaving }

// Setpoint for chilled water entering pressure
ChilledWaterEnteringPressureSp : WaterPressureSp { chilled, entering }
ChilledWaterEnteringPressureSp : WaterPressureSp <sugar> { chilled, entering }

//////////////////////////////////////////////////////////////////////////
// Hot Water Pressure
//////////////////////////////////////////////////////////////////////////

// Sensor for hot water leaving pressure
HotWaterLeavingPressureSensor : WaterPressureSensor { hot, leaving }
HotWaterLeavingPressureSensor : WaterPressureSensor <sugar> { hot, leaving }

// Sensor for hot water entering pressure
HotWaterEnteringPressureSensor : WaterPressureSensor { hot, entering }
HotWaterEnteringPressureSensor : WaterPressureSensor <sugar> { hot, entering }

// Setpoint for hot water leaving pressure
HotWaterLeavingPressureSp : WaterPressureSp { hot, leaving }
HotWaterLeavingPressureSp : WaterPressureSp <sugar> { hot, leaving }

// Setpoint for hot water entering pressure
HotWaterEnteringPressureSp : WaterPressureSp { hot, entering }
HotWaterEnteringPressureSp : WaterPressureSp <sugar> { hot, entering }
Loading
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 4 additions & 3 deletions src/xeto/ashrae.g36/lib.xeto
Original file line numberDiff line numberDiff line change
Expand Up@@ -11,9 +11,10 @@ pragma: Lib <
version: BuildVar "ph.version"
maturity: BuildVar "ph.maturity"
depends: {
{ lib: "sys", versions: BuildVar "ph.depend" }
{ lib: "ph", versions: BuildVar "ph.depend" }
{ lib: "ph.points", versions: BuildVar "ph.depend" }
{ lib: "sys", versions: BuildVar "ph.depend" }
{ lib: "ph", versions: BuildVar "ph.depend" }
{ lib: "ph.points", versions: BuildVar "ph.depend" }
{ lib: "ph.points.sugar", versions: BuildVar "ph.depend" }
}
categories: {"ph", "hvac"}
license: BuildVar "ph.license"
Expand Down
7 changes: 4 additions & 3 deletions src/xeto/ph.examples/lib.xeto
Original file line numberDiff line numberDiff line change
Expand Up@@ -12,9 +12,10 @@ pragma: Lib <
version: BuildVar "ph.version"
maturity: BuildVar "ph.maturity"
depends: {
{ lib: "sys", versions: BuildVar "ph.depend" }
{ lib: "ph", versions: BuildVar "ph.depend" }
{ lib: "ph.points", versions: BuildVar "ph.depend" }
{ lib: "sys", versions: BuildVar "ph.depend" }
{ lib: "ph", versions: BuildVar "ph.depend" }
{ lib: "ph.points", versions: BuildVar "ph.depend" }
{ lib: "ph.points.sugar", versions: BuildVar "ph.depend" }
}
categories: {"ph"}
license: BuildVar "ph.license"
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -11,10 +11,10 @@
//////////////////////////////////////////////////////////////////////////

// Sensor for volumetric air flow in discharge duct
DischargeAirFlowSensor : AirFlowSensor { discharge }
DischargeAirFlowSensor : AirFlowSensor <sugar> { discharge }

// Setpoint for volumetric air flow in discharge duct
DischargeAirFlowSp : AirFlowSp { discharge }
DischargeAirFlowSp : AirFlowSp <sugar> { discharge }

//////////////////////////////////////////////////////////////////////////
// ColdDeck Discharge
Expand DownExpand Up@@ -42,62 +42,62 @@ HotDeckDischargeAirFlowSp : DischargeAirFlowSp { hotDeck }

// Sensor for volumetric air flow in economizing duct.
// Used when there are separate ducts for minimum fresh air vs economizing.
EconomizingAirFlowSensor : AirFlowSensor { economizing }
EconomizingAirFlowSensor : AirFlowSensor <sugar> { economizing }

// Setpoint for volumetric air flow in economizing duct.
EconomizingAirFlowSp : AirFlowSp { economizing }
EconomizingAirFlowSp : AirFlowSp <sugar> { economizing }

//////////////////////////////////////////////////////////////////////////
// Exhaust
//////////////////////////////////////////////////////////////////////////

// Sensor for volumetric air flow in exhaust duct
ExhaustAirFlowSensor : AirFlowSensor { exhaust }
ExhaustAirFlowSensor : AirFlowSensor <sugar> { exhaust }

// Setpoint for volumetric air flow in exhaust duct
ExhaustAirFlowSp : AirFlowSp { exhaust }
ExhaustAirFlowSp : AirFlowSp <sugar> { exhaust }

//////////////////////////////////////////////////////////////////////////
// Inlet
//////////////////////////////////////////////////////////////////////////

// Sensor for volumetric air flow in inlet duct
InletAirFlowSensor : AirFlowSensor { inlet }
InletAirFlowSensor : AirFlowSensor <sugar> { inlet }

// Setpoint for volumetric air flow in inlet duct
InletAirFlowSp : AirFlowSp { inlet }
InletAirFlowSp : AirFlowSp <sugar> { inlet }

//////////////////////////////////////////////////////////////////////////
// Outside
//////////////////////////////////////////////////////////////////////////

// Sensor for volumetric air flow in outside duct.
// Used when there one duct for both minimum fresh air and economizing.
OutsideAirFlowSensor : AirFlowSensor { outside }
OutsideAirFlowSensor : AirFlowSensor <sugar> { outside }

// Setpoint for volumetric air flow in outside duct.
// Used when there one duct for both minimum fresh air and economizing.
OutsideAirFlowSp : AirFlowSp { outside }
OutsideAirFlowSp : AirFlowSp <sugar> { outside }

//////////////////////////////////////////////////////////////////////////
// Return
//////////////////////////////////////////////////////////////////////////

// Sensor for volumetric air flow in return duct
ReturnAirFlowSensor : AirFlowSensor { return }
ReturnAirFlowSensor : AirFlowSensor <sugar> { return }

// Setpoint for volumetric air flow in return duct
ReturnAirFlowSp : AirFlowSp { return }
ReturnAirFlowSp : AirFlowSp <sugar> { return }

//////////////////////////////////////////////////////////////////////////
// Ventilation
//////////////////////////////////////////////////////////////////////////

// Sensor for volumetric air flow in ventilation or minimum fresh air duct.
// Used when there are separate ducts for minimum fresh air vs economizing.
VentilationAirFlowSensor : AirFlowSensor { ventilation }
VentilationAirFlowSensor : AirFlowSensor <sugar> { ventilation }

// Setpoint for volumetric air flow in ventilation or minimum fresh air duct.
// Used when there are separate ducts for minimum fresh air vs economizing.
VentilationAirFlowSp : AirFlowSp { ventilation }
VentilationAirFlowSp : AirFlowSp <sugar> { ventilation }

Original file line numberDiff line numberDiff line change
Expand Up@@ -11,28 +11,28 @@
//////////////////////////////////////////////////////////////////////////

// Sensor for relative humidity in discharge duct
DischargeAirHumiditySensor : AirHumiditySensor { discharge }
DischargeAirHumiditySensor : AirHumiditySensor <sugar> { discharge }

// Setpoint for relative humidity in discharge duct
DischargeAirHumiditySp : AirHumiditySp { discharge }
DischargeAirHumiditySp : AirHumiditySp <sugar> { discharge }

//////////////////////////////////////////////////////////////////////////
// Outdoor
//////////////////////////////////////////////////////////////////////////

// Sensor for relative humidity in outside duct
OutsideAirHumiditySensor : AirHumiditySensor { outside }
OutsideAirHumiditySensor : AirHumiditySensor <sugar> { outside }

// Setpoint for relative humidity in outside duct
OutsideAirHumiditySp : AirHumiditySp { outside }
OutsideAirHumiditySp : AirHumiditySp <sugar> { outside }

//////////////////////////////////////////////////////////////////////////
// Zone
//////////////////////////////////////////////////////////////////////////

// Sensor for relative humidity in the zone
ZoneAirHumiditySensor : AirHumiditySensor { zone }
ZoneAirHumiditySensor : AirHumiditySensor <sugar> { zone }

// Setpoint for relative humidity in the zone
ZoneAirHumiditySp : AirHumiditySp { zone }
ZoneAirHumiditySp : AirHumiditySp <sugar> { zone }

Original file line numberDiff line numberDiff line change
Expand Up@@ -11,18 +11,18 @@
//////////////////////////////////////////////////////////////////////////

// Sensor for static air pressure in discharge duct
DischargeAirPressureSensor : AirPressureSensor { discharge }
DischargeAirPressureSensor : AirPressureSensor <sugar> { discharge }

// Setpoint for static air pressure in discharge duct
DischargeAirPressureSp : AirPressureSp { discharge }
DischargeAirPressureSp : AirPressureSp <sugar> { discharge }

//////////////////////////////////////////////////////////////////////////
// Return
//////////////////////////////////////////////////////////////////////////

// Sensor for static air pressure in return duct
ReturnAirPressureSensor : AirPressureSensor { return }
ReturnAirPressureSensor : AirPressureSensor <sugar> { return }

// Setpoint for static air pressure in return duct
ReturnAirPressureSp : AirPressureSp { return }
ReturnAirPressureSp : AirPressureSp <sugar> { return }

Original file line numberDiff line numberDiff line change
Expand Up@@ -11,74 +11,74 @@
//////////////////////////////////////////////////////////////////////////

// Sensor for drybulb air temperature of discharge duct
DischargeAirTempSensor : AirTempSensor { discharge }
DischargeAirTempSensor : AirTempSensor <sugar> { discharge }

// Setpoint for drybulb air temperature of discharge duct
DischargeAirTempSp : AirTempSp { discharge }
DischargeAirTempSp : AirTempSp <sugar> { discharge }

//////////////////////////////////////////////////////////////////////////
// Economizing
//////////////////////////////////////////////////////////////////////////

// Sensor for drybulb air temperature of economizing duct.
// Used when there are separate ducts for minimum fresh air vs economizing.
EconomizingAirTempSensor : AirTempSensor { economizing }
EconomizingAirTempSensor : AirTempSensor <sugar> { economizing }

//////////////////////////////////////////////////////////////////////////
// Inlet
//////////////////////////////////////////////////////////////////////////

// Sensor for drybulb air temperature of inlet duct
InletAirTempSensor : AirTempSensor { inlet }
InletAirTempSensor : AirTempSensor <sugar> { inlet }

// Setpoint for drybulb air temperature of inlet duct
InletAirTempSp : AirTempSp { inlet }
InletAirTempSp : AirTempSp <sugar> { inlet }

//////////////////////////////////////////////////////////////////////////
// Mixed
//////////////////////////////////////////////////////////////////////////

// Sensor for drybulb air temperature of mixed duct
MixedAirTempSensor : AirTempSensor { mixed }
MixedAirTempSensor : AirTempSensor <sugar> { mixed }

// Setpoint for drybulb air temperature of mixed duct
MixedAirTempSp : AirTempSp { mixed }
MixedAirTempSp : AirTempSp <sugar> { mixed }

//////////////////////////////////////////////////////////////////////////
// Outside
//////////////////////////////////////////////////////////////////////////

// Sensor for drybulb air temperature of outside duct.
// Used when there one duct for both minimum fresh air and economizing.
OutsideAirTempSensor : AirTempSensor { outside }
OutsideAirTempSensor : AirTempSensor <sugar> { outside }

//////////////////////////////////////////////////////////////////////////
// Return
//////////////////////////////////////////////////////////////////////////

// Sensor for drybulb air temperature of return duct
ReturnAirTempSensor : AirTempSensor { return }
ReturnAirTempSensor : AirTempSensor <sugar> { return }

// Setpoint for drybulb air temperature of return duct
ReturnAirTempSp : AirTempSp { return }
ReturnAirTempSp : AirTempSp <sugar> { return }

//////////////////////////////////////////////////////////////////////////
// Ventilation
//////////////////////////////////////////////////////////////////////////

// Sensor for drybulb air temperature of ventilation or minimum fresh duct.
// Used when there are separate ducts for minimum fresh air vs economizing.
VentilationAirTempSensor : AirTempSensor { ventilation }
VentilationAirTempSensor : AirTempSensor <sugar> { ventilation }

//////////////////////////////////////////////////////////////////////////
// Zone
//////////////////////////////////////////////////////////////////////////

// Drybulb air temperature sensor for zone
ZoneAirTempSensor : AirTempSensor { zone }
ZoneAirTempSensor : AirTempSensor <sugar> { zone }

// Setpoint for drybulb air temperature zone
ZoneAirTempSp : AirTempSp <abstract> { zone }
ZoneAirTempSp : AirTempSp <sugar, abstract> { zone }

// Effective setpoint for drybulb air temperature a zone
ZoneAirTempEffectiveSp : ZoneAirTempSp { effective }
Expand DownExpand Up@@ -112,4 +112,4 @@ ZoneAirTempStandbyHeatingSp : ZoneAirTempHeatingSp { standby }
//////////////////////////////////////////////////////////////////////////

// Sensor for air temperature inside an enclosure
EnclosureAirTempSensor : AirTempSensor { enclosure }
EnclosureAirTempSensor : AirTempSensor <sugar> { enclosure }
29 changes: 29 additions & 0 deletions src/xeto/ph.points.sugar/lib.xeto
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
//
// Copyright (c) 2026, Project-Haystack
// Licensed under the Academic Free License version 3.0
//
// History:
// 1 Sep 2026 Rick Jennings Creation
//

pragma: Lib <
doc: "Project haystack experimental points sugar library"
version: BuildVar "ph.version"
maturity: BuildVar "ph.maturity"
depends: {
{ lib: "sys", versions: BuildVar "ph.depend" }
{ lib: "ph", versions: BuildVar "ph.depend" }
{ lib: "ph.points", versions: BuildVar "ph.depend" }
}
categories: {"ph"}
license: BuildVar "ph.license"
org: {
dis: BuildVar "ph.org.dis"
uri: BuildVar "ph.org.uri"
}
vcs: {
type: BuildVar "ph.vcs.type"
uri: BuildVar "ph.vcs.uri"
}
>

Original file line numberDiff line numberDiff line change
Expand Up@@ -11,27 +11,27 @@
//////////////////////////////////////////////////////////////////////////

// Sensor for volumetric flow of domestic water
DomesticWaterFlowSensor : WaterFlowSensor { domestic }
DomesticWaterFlowSensor : WaterFlowSensor <sugar> { domestic }

// Setpoint for volumetric flow of domestic water
DomesticWaterFlowSp : WaterFlowSp { domestic }
DomesticWaterFlowSp : WaterFlowSp <sugar> { domestic }

//////////////////////////////////////////////////////////////////////////
// Chilled Water
//////////////////////////////////////////////////////////////////////////

// Sensor for volumetric flow of chilled water
ChilledWaterFlowSensor : WaterFlowSensor { chilled }
ChilledWaterFlowSensor : WaterFlowSensor <sugar> { chilled }

// Setpoint for volumetric flow of chilled water
ChilledWaterFlowSp : WaterFlowSp { chilled }
ChilledWaterFlowSp : WaterFlowSp <sugar> { chilled }

//////////////////////////////////////////////////////////////////////////
// Hot Water
//////////////////////////////////////////////////////////////////////////

// Sensor for volumetric flow of hot water
HotWaterFlowSensor : WaterFlowSensor { hot }
HotWaterFlowSensor : WaterFlowSensor <sugar> { hot }

// Setpoint for volumetric flow of hot water
HotWaterFlowSp : WaterFlowSp { hot }
HotWaterFlowSp : WaterFlowSp <sugar> { hot }
Original file line numberDiff line numberDiff line change
Expand Up@@ -11,29 +11,29 @@
//////////////////////////////////////////////////////////////////////////

// Sensor for chilled water leaving pressure
ChilledWaterLeavingPressureSensor : WaterPressureSensor { chilled, leaving }
ChilledWaterLeavingPressureSensor : WaterPressureSensor <sugar> { chilled, leaving }

// Sensor for chilled water entering pressure
ChilledWaterEnteringPressureSensor : WaterPressureSensor { chilled, entering }
ChilledWaterEnteringPressureSensor : WaterPressureSensor <sugar> { chilled, entering }

// Setpoint for chilled water leaving pressure
ChilledWaterLeavingPressureSp : WaterPressureSp { chilled, leaving }
ChilledWaterLeavingPressureSp : WaterPressureSp <sugar> { chilled, leaving }

// Setpoint for chilled water entering pressure
ChilledWaterEnteringPressureSp : WaterPressureSp { chilled, entering }
ChilledWaterEnteringPressureSp : WaterPressureSp <sugar> { chilled, entering }

//////////////////////////////////////////////////////////////////////////
// Hot Water Pressure
//////////////////////////////////////////////////////////////////////////

// Sensor for hot water leaving pressure
HotWaterLeavingPressureSensor : WaterPressureSensor { hot, leaving }
HotWaterLeavingPressureSensor : WaterPressureSensor <sugar> { hot, leaving }

// Sensor for hot water entering pressure
HotWaterEnteringPressureSensor : WaterPressureSensor { hot, entering }
HotWaterEnteringPressureSensor : WaterPressureSensor <sugar> { hot, entering }

// Setpoint for hot water leaving pressure
HotWaterLeavingPressureSp : WaterPressureSp { hot, leaving }
HotWaterLeavingPressureSp : WaterPressureSp <sugar> { hot, leaving }

// Setpoint for hot water entering pressure
HotWaterEnteringPressureSp : WaterPressureSp { hot, entering }
HotWaterEnteringPressureSp : WaterPressureSp <sugar> { hot, entering }
Loading
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 4 additions & 3 deletions src/xeto/ashrae.g36/lib.xeto
Original file line numberDiff line numberDiff line change
Expand Up@@ -11,9 +11,10 @@ pragma: Lib <
version: BuildVar "ph.version"
maturity: BuildVar "ph.maturity"
depends: {
{ lib: "sys", versions: BuildVar "ph.depend" }
{ lib: "ph", versions: BuildVar "ph.depend" }
{ lib: "ph.points", versions: BuildVar "ph.depend" }
{ lib: "sys", versions: BuildVar "ph.depend" }
{ lib: "ph", versions: BuildVar "ph.depend" }
{ lib: "ph.points", versions: BuildVar "ph.depend" }
{ lib: "ph.points.sugar", versions: BuildVar "ph.depend" }
}
categories: {"ph", "hvac"}
license: BuildVar "ph.license"
Expand Down
7 changes: 4 additions & 3 deletions src/xeto/ph.examples/lib.xeto
Original file line numberDiff line numberDiff line change
Expand Up@@ -12,9 +12,10 @@ pragma: Lib <
version: BuildVar "ph.version"
maturity: BuildVar "ph.maturity"
depends: {
{ lib: "sys", versions: BuildVar "ph.depend" }
{ lib: "ph", versions: BuildVar "ph.depend" }
{ lib: "ph.points", versions: BuildVar "ph.depend" }
{ lib: "sys", versions: BuildVar "ph.depend" }
{ lib: "ph", versions: BuildVar "ph.depend" }
{ lib: "ph.points", versions: BuildVar "ph.depend" }
{ lib: "ph.points.sugar", versions: BuildVar "ph.depend" }
}
categories: {"ph"}
license: BuildVar "ph.license"
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -11,10 +11,10 @@
//////////////////////////////////////////////////////////////////////////

// Sensor for volumetric air flow in discharge duct
DischargeAirFlowSensor : AirFlowSensor { discharge }
DischargeAirFlowSensor : AirFlowSensor <sugar> { discharge }

// Setpoint for volumetric air flow in discharge duct
DischargeAirFlowSp : AirFlowSp { discharge }
DischargeAirFlowSp : AirFlowSp <sugar> { discharge }

//////////////////////////////////////////////////////////////////////////
// ColdDeck Discharge
Expand DownExpand Up@@ -42,62 +42,62 @@ HotDeckDischargeAirFlowSp : DischargeAirFlowSp { hotDeck }

// Sensor for volumetric air flow in economizing duct.
// Used when there are separate ducts for minimum fresh air vs economizing.
EconomizingAirFlowSensor : AirFlowSensor { economizing }
EconomizingAirFlowSensor : AirFlowSensor <sugar> { economizing }

// Setpoint for volumetric air flow in economizing duct.
EconomizingAirFlowSp : AirFlowSp { economizing }
EconomizingAirFlowSp : AirFlowSp <sugar> { economizing }

//////////////////////////////////////////////////////////////////////////
// Exhaust
//////////////////////////////////////////////////////////////////////////

// Sensor for volumetric air flow in exhaust duct
ExhaustAirFlowSensor : AirFlowSensor { exhaust }
ExhaustAirFlowSensor : AirFlowSensor <sugar> { exhaust }

// Setpoint for volumetric air flow in exhaust duct
ExhaustAirFlowSp : AirFlowSp { exhaust }
ExhaustAirFlowSp : AirFlowSp <sugar> { exhaust }

//////////////////////////////////////////////////////////////////////////
// Inlet
//////////////////////////////////////////////////////////////////////////

// Sensor for volumetric air flow in inlet duct
InletAirFlowSensor : AirFlowSensor { inlet }
InletAirFlowSensor : AirFlowSensor <sugar> { inlet }

// Setpoint for volumetric air flow in inlet duct
InletAirFlowSp : AirFlowSp { inlet }
InletAirFlowSp : AirFlowSp <sugar> { inlet }

//////////////////////////////////////////////////////////////////////////
// Outside
//////////////////////////////////////////////////////////////////////////

// Sensor for volumetric air flow in outside duct.
// Used when there one duct for both minimum fresh air and economizing.
OutsideAirFlowSensor : AirFlowSensor { outside }
OutsideAirFlowSensor : AirFlowSensor <sugar> { outside }

// Setpoint for volumetric air flow in outside duct.
// Used when there one duct for both minimum fresh air and economizing.
OutsideAirFlowSp : AirFlowSp { outside }
OutsideAirFlowSp : AirFlowSp <sugar> { outside }

//////////////////////////////////////////////////////////////////////////
// Return
//////////////////////////////////////////////////////////////////////////

// Sensor for volumetric air flow in return duct
ReturnAirFlowSensor : AirFlowSensor { return }
ReturnAirFlowSensor : AirFlowSensor <sugar> { return }

// Setpoint for volumetric air flow in return duct
ReturnAirFlowSp : AirFlowSp { return }
ReturnAirFlowSp : AirFlowSp <sugar> { return }

//////////////////////////////////////////////////////////////////////////
// Ventilation
//////////////////////////////////////////////////////////////////////////

// Sensor for volumetric air flow in ventilation or minimum fresh air duct.
// Used when there are separate ducts for minimum fresh air vs economizing.
VentilationAirFlowSensor : AirFlowSensor { ventilation }
VentilationAirFlowSensor : AirFlowSensor <sugar> { ventilation }

// Setpoint for volumetric air flow in ventilation or minimum fresh air duct.
// Used when there are separate ducts for minimum fresh air vs economizing.
VentilationAirFlowSp : AirFlowSp { ventilation }
VentilationAirFlowSp : AirFlowSp <sugar> { ventilation }

Original file line numberDiff line numberDiff line change
Expand Up@@ -11,28 +11,28 @@
//////////////////////////////////////////////////////////////////////////

// Sensor for relative humidity in discharge duct
DischargeAirHumiditySensor : AirHumiditySensor { discharge }
DischargeAirHumiditySensor : AirHumiditySensor <sugar> { discharge }

// Setpoint for relative humidity in discharge duct
DischargeAirHumiditySp : AirHumiditySp { discharge }
DischargeAirHumiditySp : AirHumiditySp <sugar> { discharge }

//////////////////////////////////////////////////////////////////////////
// Outdoor
//////////////////////////////////////////////////////////////////////////

// Sensor for relative humidity in outside duct
OutsideAirHumiditySensor : AirHumiditySensor { outside }
OutsideAirHumiditySensor : AirHumiditySensor <sugar> { outside }

// Setpoint for relative humidity in outside duct
OutsideAirHumiditySp : AirHumiditySp { outside }
OutsideAirHumiditySp : AirHumiditySp <sugar> { outside }

//////////////////////////////////////////////////////////////////////////
// Zone
//////////////////////////////////////////////////////////////////////////

// Sensor for relative humidity in the zone
ZoneAirHumiditySensor : AirHumiditySensor { zone }
ZoneAirHumiditySensor : AirHumiditySensor <sugar> { zone }

// Setpoint for relative humidity in the zone
ZoneAirHumiditySp : AirHumiditySp { zone }
ZoneAirHumiditySp : AirHumiditySp <sugar> { zone }

Original file line numberDiff line numberDiff line change
Expand Up@@ -11,18 +11,18 @@
//////////////////////////////////////////////////////////////////////////

// Sensor for static air pressure in discharge duct
DischargeAirPressureSensor : AirPressureSensor { discharge }
DischargeAirPressureSensor : AirPressureSensor <sugar> { discharge }

// Setpoint for static air pressure in discharge duct
DischargeAirPressureSp : AirPressureSp { discharge }
DischargeAirPressureSp : AirPressureSp <sugar> { discharge }

//////////////////////////////////////////////////////////////////////////
// Return
//////////////////////////////////////////////////////////////////////////

// Sensor for static air pressure in return duct
ReturnAirPressureSensor : AirPressureSensor { return }
ReturnAirPressureSensor : AirPressureSensor <sugar> { return }

// Setpoint for static air pressure in return duct
ReturnAirPressureSp : AirPressureSp { return }
ReturnAirPressureSp : AirPressureSp <sugar> { return }

Original file line numberDiff line numberDiff line change
Expand Up@@ -11,74 +11,74 @@
//////////////////////////////////////////////////////////////////////////

// Sensor for drybulb air temperature of discharge duct
DischargeAirTempSensor : AirTempSensor { discharge }
DischargeAirTempSensor : AirTempSensor <sugar> { discharge }

// Setpoint for drybulb air temperature of discharge duct
DischargeAirTempSp : AirTempSp { discharge }
DischargeAirTempSp : AirTempSp <sugar> { discharge }

//////////////////////////////////////////////////////////////////////////
// Economizing
//////////////////////////////////////////////////////////////////////////

// Sensor for drybulb air temperature of economizing duct.
// Used when there are separate ducts for minimum fresh air vs economizing.
EconomizingAirTempSensor : AirTempSensor { economizing }
EconomizingAirTempSensor : AirTempSensor <sugar> { economizing }

//////////////////////////////////////////////////////////////////////////
// Inlet
//////////////////////////////////////////////////////////////////////////

// Sensor for drybulb air temperature of inlet duct
InletAirTempSensor : AirTempSensor { inlet }
InletAirTempSensor : AirTempSensor <sugar> { inlet }

// Setpoint for drybulb air temperature of inlet duct
InletAirTempSp : AirTempSp { inlet }
InletAirTempSp : AirTempSp <sugar> { inlet }

//////////////////////////////////////////////////////////////////////////
// Mixed
//////////////////////////////////////////////////////////////////////////

// Sensor for drybulb air temperature of mixed duct
MixedAirTempSensor : AirTempSensor { mixed }
MixedAirTempSensor : AirTempSensor <sugar> { mixed }

// Setpoint for drybulb air temperature of mixed duct
MixedAirTempSp : AirTempSp { mixed }
MixedAirTempSp : AirTempSp <sugar> { mixed }

//////////////////////////////////////////////////////////////////////////
// Outside
//////////////////////////////////////////////////////////////////////////

// Sensor for drybulb air temperature of outside duct.
// Used when there one duct for both minimum fresh air and economizing.
OutsideAirTempSensor : AirTempSensor { outside }
OutsideAirTempSensor : AirTempSensor <sugar> { outside }

//////////////////////////////////////////////////////////////////////////
// Return
//////////////////////////////////////////////////////////////////////////

// Sensor for drybulb air temperature of return duct
ReturnAirTempSensor : AirTempSensor { return }
ReturnAirTempSensor : AirTempSensor <sugar> { return }

// Setpoint for drybulb air temperature of return duct
ReturnAirTempSp : AirTempSp { return }
ReturnAirTempSp : AirTempSp <sugar> { return }

//////////////////////////////////////////////////////////////////////////
// Ventilation
//////////////////////////////////////////////////////////////////////////

// Sensor for drybulb air temperature of ventilation or minimum fresh duct.
// Used when there are separate ducts for minimum fresh air vs economizing.
VentilationAirTempSensor : AirTempSensor { ventilation }
VentilationAirTempSensor : AirTempSensor <sugar> { ventilation }

//////////////////////////////////////////////////////////////////////////
// Zone
//////////////////////////////////////////////////////////////////////////

// Drybulb air temperature sensor for zone
ZoneAirTempSensor : AirTempSensor { zone }
ZoneAirTempSensor : AirTempSensor <sugar> { zone }

// Setpoint for drybulb air temperature zone
ZoneAirTempSp : AirTempSp <abstract> { zone }
ZoneAirTempSp : AirTempSp <sugar, abstract> { zone }

// Effective setpoint for drybulb air temperature a zone
ZoneAirTempEffectiveSp : ZoneAirTempSp { effective }
Expand DownExpand Up@@ -112,4 +112,4 @@ ZoneAirTempStandbyHeatingSp : ZoneAirTempHeatingSp { standby }
//////////////////////////////////////////////////////////////////////////

// Sensor for air temperature inside an enclosure
EnclosureAirTempSensor : AirTempSensor { enclosure }
EnclosureAirTempSensor : AirTempSensor <sugar> { enclosure }
29 changes: 29 additions & 0 deletions src/xeto/ph.points.sugar/lib.xeto
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
//
// Copyright (c) 2026, Project-Haystack
// Licensed under the Academic Free License version 3.0
//
// History:
// 1 Sep 2026 Rick Jennings Creation
//

pragma: Lib <
doc: "Project haystack experimental points sugar library"
version: BuildVar "ph.version"
maturity: BuildVar "ph.maturity"
depends: {
{ lib: "sys", versions: BuildVar "ph.depend" }
{ lib: "ph", versions: BuildVar "ph.depend" }
{ lib: "ph.points", versions: BuildVar "ph.depend" }
}
categories: {"ph"}
license: BuildVar "ph.license"
org: {
dis: BuildVar "ph.org.dis"
uri: BuildVar "ph.org.uri"
}
vcs: {
type: BuildVar "ph.vcs.type"
uri: BuildVar "ph.vcs.uri"
}
>

Original file line numberDiff line numberDiff line change
Expand Up@@ -11,27 +11,27 @@
//////////////////////////////////////////////////////////////////////////

// Sensor for volumetric flow of domestic water
DomesticWaterFlowSensor : WaterFlowSensor { domestic }
DomesticWaterFlowSensor : WaterFlowSensor <sugar> { domestic }

// Setpoint for volumetric flow of domestic water
DomesticWaterFlowSp : WaterFlowSp { domestic }
DomesticWaterFlowSp : WaterFlowSp <sugar> { domestic }

//////////////////////////////////////////////////////////////////////////
// Chilled Water
//////////////////////////////////////////////////////////////////////////

// Sensor for volumetric flow of chilled water
ChilledWaterFlowSensor : WaterFlowSensor { chilled }
ChilledWaterFlowSensor : WaterFlowSensor <sugar> { chilled }

// Setpoint for volumetric flow of chilled water
ChilledWaterFlowSp : WaterFlowSp { chilled }
ChilledWaterFlowSp : WaterFlowSp <sugar> { chilled }

//////////////////////////////////////////////////////////////////////////
// Hot Water
//////////////////////////////////////////////////////////////////////////

// Sensor for volumetric flow of hot water
HotWaterFlowSensor : WaterFlowSensor { hot }
HotWaterFlowSensor : WaterFlowSensor <sugar> { hot }

// Setpoint for volumetric flow of hot water
HotWaterFlowSp : WaterFlowSp { hot }
HotWaterFlowSp : WaterFlowSp <sugar> { hot }
Original file line numberDiff line numberDiff line change
Expand Up@@ -11,29 +11,29 @@
//////////////////////////////////////////////////////////////////////////

// Sensor for chilled water leaving pressure
ChilledWaterLeavingPressureSensor : WaterPressureSensor { chilled, leaving }
ChilledWaterLeavingPressureSensor : WaterPressureSensor <sugar> { chilled, leaving }

// Sensor for chilled water entering pressure
ChilledWaterEnteringPressureSensor : WaterPressureSensor { chilled, entering }
ChilledWaterEnteringPressureSensor : WaterPressureSensor <sugar> { chilled, entering }

// Setpoint for chilled water leaving pressure
ChilledWaterLeavingPressureSp : WaterPressureSp { chilled, leaving }
ChilledWaterLeavingPressureSp : WaterPressureSp <sugar> { chilled, leaving }

// Setpoint for chilled water entering pressure
ChilledWaterEnteringPressureSp : WaterPressureSp { chilled, entering }
ChilledWaterEnteringPressureSp : WaterPressureSp <sugar> { chilled, entering }

//////////////////////////////////////////////////////////////////////////
// Hot Water Pressure
//////////////////////////////////////////////////////////////////////////

// Sensor for hot water leaving pressure
HotWaterLeavingPressureSensor : WaterPressureSensor { hot, leaving }
HotWaterLeavingPressureSensor : WaterPressureSensor <sugar> { hot, leaving }

// Sensor for hot water entering pressure
HotWaterEnteringPressureSensor : WaterPressureSensor { hot, entering }
HotWaterEnteringPressureSensor : WaterPressureSensor <sugar> { hot, entering }

// Setpoint for hot water leaving pressure
HotWaterLeavingPressureSp : WaterPressureSp { hot, leaving }
HotWaterLeavingPressureSp : WaterPressureSp <sugar> { hot, leaving }

// Setpoint for hot water entering pressure
HotWaterEnteringPressureSp : WaterPressureSp { hot, entering }
HotWaterEnteringPressureSp : WaterPressureSp <sugar> { hot, entering }
Loading
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 4 additions & 3 deletions src/xeto/ashrae.g36/lib.xeto
Original file line numberDiff line numberDiff line change
Expand Up@@ -11,9 +11,10 @@ pragma: Lib <
version: BuildVar "ph.version"
maturity: BuildVar "ph.maturity"
depends: {
{ lib: "sys", versions: BuildVar "ph.depend" }
{ lib: "ph", versions: BuildVar "ph.depend" }
{ lib: "ph.points", versions: BuildVar "ph.depend" }
{ lib: "sys", versions: BuildVar "ph.depend" }
{ lib: "ph", versions: BuildVar "ph.depend" }
{ lib: "ph.points", versions: BuildVar "ph.depend" }
{ lib: "ph.points.sugar", versions: BuildVar "ph.depend" }
}
categories: {"ph", "hvac"}
license: BuildVar "ph.license"
Expand Down
7 changes: 4 additions & 3 deletions src/xeto/ph.examples/lib.xeto
Original file line numberDiff line numberDiff line change
Expand Up@@ -12,9 +12,10 @@ pragma: Lib <
version: BuildVar "ph.version"
maturity: BuildVar "ph.maturity"
depends: {
{ lib: "sys", versions: BuildVar "ph.depend" }
{ lib: "ph", versions: BuildVar "ph.depend" }
{ lib: "ph.points", versions: BuildVar "ph.depend" }
{ lib: "sys", versions: BuildVar "ph.depend" }
{ lib: "ph", versions: BuildVar "ph.depend" }
{ lib: "ph.points", versions: BuildVar "ph.depend" }
{ lib: "ph.points.sugar", versions: BuildVar "ph.depend" }
}
categories: {"ph"}
license: BuildVar "ph.license"
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -11,10 +11,10 @@
//////////////////////////////////////////////////////////////////////////

// Sensor for volumetric air flow in discharge duct
DischargeAirFlowSensor : AirFlowSensor { discharge }
DischargeAirFlowSensor : AirFlowSensor <sugar> { discharge }

// Setpoint for volumetric air flow in discharge duct
DischargeAirFlowSp : AirFlowSp { discharge }
DischargeAirFlowSp : AirFlowSp <sugar> { discharge }

//////////////////////////////////////////////////////////////////////////
// ColdDeck Discharge
Expand DownExpand Up@@ -42,62 +42,62 @@ HotDeckDischargeAirFlowSp : DischargeAirFlowSp { hotDeck }

// Sensor for volumetric air flow in economizing duct.
// Used when there are separate ducts for minimum fresh air vs economizing.
EconomizingAirFlowSensor : AirFlowSensor { economizing }
EconomizingAirFlowSensor : AirFlowSensor <sugar> { economizing }

// Setpoint for volumetric air flow in economizing duct.
EconomizingAirFlowSp : AirFlowSp { economizing }
EconomizingAirFlowSp : AirFlowSp <sugar> { economizing }

//////////////////////////////////////////////////////////////////////////
// Exhaust
//////////////////////////////////////////////////////////////////////////

// Sensor for volumetric air flow in exhaust duct
ExhaustAirFlowSensor : AirFlowSensor { exhaust }
ExhaustAirFlowSensor : AirFlowSensor <sugar> { exhaust }

// Setpoint for volumetric air flow in exhaust duct
ExhaustAirFlowSp : AirFlowSp { exhaust }
ExhaustAirFlowSp : AirFlowSp <sugar> { exhaust }

//////////////////////////////////////////////////////////////////////////
// Inlet
//////////////////////////////////////////////////////////////////////////

// Sensor for volumetric air flow in inlet duct
InletAirFlowSensor : AirFlowSensor { inlet }
InletAirFlowSensor : AirFlowSensor <sugar> { inlet }

// Setpoint for volumetric air flow in inlet duct
InletAirFlowSp : AirFlowSp { inlet }
InletAirFlowSp : AirFlowSp <sugar> { inlet }

//////////////////////////////////////////////////////////////////////////
// Outside
//////////////////////////////////////////////////////////////////////////

// Sensor for volumetric air flow in outside duct.
// Used when there one duct for both minimum fresh air and economizing.
OutsideAirFlowSensor : AirFlowSensor { outside }
OutsideAirFlowSensor : AirFlowSensor <sugar> { outside }

// Setpoint for volumetric air flow in outside duct.
// Used when there one duct for both minimum fresh air and economizing.
OutsideAirFlowSp : AirFlowSp { outside }
OutsideAirFlowSp : AirFlowSp <sugar> { outside }

//////////////////////////////////////////////////////////////////////////
// Return
//////////////////////////////////////////////////////////////////////////

// Sensor for volumetric air flow in return duct
ReturnAirFlowSensor : AirFlowSensor { return }
ReturnAirFlowSensor : AirFlowSensor <sugar> { return }

// Setpoint for volumetric air flow in return duct
ReturnAirFlowSp : AirFlowSp { return }
ReturnAirFlowSp : AirFlowSp <sugar> { return }

//////////////////////////////////////////////////////////////////////////
// Ventilation
//////////////////////////////////////////////////////////////////////////

// Sensor for volumetric air flow in ventilation or minimum fresh air duct.
// Used when there are separate ducts for minimum fresh air vs economizing.
VentilationAirFlowSensor : AirFlowSensor { ventilation }
VentilationAirFlowSensor : AirFlowSensor <sugar> { ventilation }

// Setpoint for volumetric air flow in ventilation or minimum fresh air duct.
// Used when there are separate ducts for minimum fresh air vs economizing.
VentilationAirFlowSp : AirFlowSp { ventilation }
VentilationAirFlowSp : AirFlowSp <sugar> { ventilation }

Original file line numberDiff line numberDiff line change
Expand Up@@ -11,28 +11,28 @@
//////////////////////////////////////////////////////////////////////////

// Sensor for relative humidity in discharge duct
DischargeAirHumiditySensor : AirHumiditySensor { discharge }
DischargeAirHumiditySensor : AirHumiditySensor <sugar> { discharge }

// Setpoint for relative humidity in discharge duct
DischargeAirHumiditySp : AirHumiditySp { discharge }
DischargeAirHumiditySp : AirHumiditySp <sugar> { discharge }

//////////////////////////////////////////////////////////////////////////
// Outdoor
//////////////////////////////////////////////////////////////////////////

// Sensor for relative humidity in outside duct
OutsideAirHumiditySensor : AirHumiditySensor { outside }
OutsideAirHumiditySensor : AirHumiditySensor <sugar> { outside }

// Setpoint for relative humidity in outside duct
OutsideAirHumiditySp : AirHumiditySp { outside }
OutsideAirHumiditySp : AirHumiditySp <sugar> { outside }

//////////////////////////////////////////////////////////////////////////
// Zone
//////////////////////////////////////////////////////////////////////////

// Sensor for relative humidity in the zone
ZoneAirHumiditySensor : AirHumiditySensor { zone }
ZoneAirHumiditySensor : AirHumiditySensor <sugar> { zone }

// Setpoint for relative humidity in the zone
ZoneAirHumiditySp : AirHumiditySp { zone }
ZoneAirHumiditySp : AirHumiditySp <sugar> { zone }

Original file line numberDiff line numberDiff line change
Expand Up@@ -11,18 +11,18 @@
//////////////////////////////////////////////////////////////////////////

// Sensor for static air pressure in discharge duct
DischargeAirPressureSensor : AirPressureSensor { discharge }
DischargeAirPressureSensor : AirPressureSensor <sugar> { discharge }

// Setpoint for static air pressure in discharge duct
DischargeAirPressureSp : AirPressureSp { discharge }
DischargeAirPressureSp : AirPressureSp <sugar> { discharge }

//////////////////////////////////////////////////////////////////////////
// Return
//////////////////////////////////////////////////////////////////////////

// Sensor for static air pressure in return duct
ReturnAirPressureSensor : AirPressureSensor { return }
ReturnAirPressureSensor : AirPressureSensor <sugar> { return }

// Setpoint for static air pressure in return duct
ReturnAirPressureSp : AirPressureSp { return }
ReturnAirPressureSp : AirPressureSp <sugar> { return }

Original file line numberDiff line numberDiff line change
Expand Up@@ -11,74 +11,74 @@
//////////////////////////////////////////////////////////////////////////

// Sensor for drybulb air temperature of discharge duct
DischargeAirTempSensor : AirTempSensor { discharge }
DischargeAirTempSensor : AirTempSensor <sugar> { discharge }

// Setpoint for drybulb air temperature of discharge duct
DischargeAirTempSp : AirTempSp { discharge }
DischargeAirTempSp : AirTempSp <sugar> { discharge }

//////////////////////////////////////////////////////////////////////////
// Economizing
//////////////////////////////////////////////////////////////////////////

// Sensor for drybulb air temperature of economizing duct.
// Used when there are separate ducts for minimum fresh air vs economizing.
EconomizingAirTempSensor : AirTempSensor { economizing }
EconomizingAirTempSensor : AirTempSensor <sugar> { economizing }

//////////////////////////////////////////////////////////////////////////
// Inlet
//////////////////////////////////////////////////////////////////////////

// Sensor for drybulb air temperature of inlet duct
InletAirTempSensor : AirTempSensor { inlet }
InletAirTempSensor : AirTempSensor <sugar> { inlet }

// Setpoint for drybulb air temperature of inlet duct
InletAirTempSp : AirTempSp { inlet }
InletAirTempSp : AirTempSp <sugar> { inlet }

//////////////////////////////////////////////////////////////////////////
// Mixed
//////////////////////////////////////////////////////////////////////////

// Sensor for drybulb air temperature of mixed duct
MixedAirTempSensor : AirTempSensor { mixed }
MixedAirTempSensor : AirTempSensor <sugar> { mixed }

// Setpoint for drybulb air temperature of mixed duct
MixedAirTempSp : AirTempSp { mixed }
MixedAirTempSp : AirTempSp <sugar> { mixed }

//////////////////////////////////////////////////////////////////////////
// Outside
//////////////////////////////////////////////////////////////////////////

// Sensor for drybulb air temperature of outside duct.
// Used when there one duct for both minimum fresh air and economizing.
OutsideAirTempSensor : AirTempSensor { outside }
OutsideAirTempSensor : AirTempSensor <sugar> { outside }

//////////////////////////////////////////////////////////////////////////
// Return
//////////////////////////////////////////////////////////////////////////

// Sensor for drybulb air temperature of return duct
ReturnAirTempSensor : AirTempSensor { return }
ReturnAirTempSensor : AirTempSensor <sugar> { return }

// Setpoint for drybulb air temperature of return duct
ReturnAirTempSp : AirTempSp { return }
ReturnAirTempSp : AirTempSp <sugar> { return }

//////////////////////////////////////////////////////////////////////////
// Ventilation
//////////////////////////////////////////////////////////////////////////

// Sensor for drybulb air temperature of ventilation or minimum fresh duct.
// Used when there are separate ducts for minimum fresh air vs economizing.
VentilationAirTempSensor : AirTempSensor { ventilation }
VentilationAirTempSensor : AirTempSensor <sugar> { ventilation }

//////////////////////////////////////////////////////////////////////////
// Zone
//////////////////////////////////////////////////////////////////////////

// Drybulb air temperature sensor for zone
ZoneAirTempSensor : AirTempSensor { zone }
ZoneAirTempSensor : AirTempSensor <sugar> { zone }

// Setpoint for drybulb air temperature zone
ZoneAirTempSp : AirTempSp <abstract> { zone }
ZoneAirTempSp : AirTempSp <sugar, abstract> { zone }

// Effective setpoint for drybulb air temperature a zone
ZoneAirTempEffectiveSp : ZoneAirTempSp { effective }
Expand DownExpand Up@@ -112,4 +112,4 @@ ZoneAirTempStandbyHeatingSp : ZoneAirTempHeatingSp { standby }
//////////////////////////////////////////////////////////////////////////

// Sensor for air temperature inside an enclosure
EnclosureAirTempSensor : AirTempSensor { enclosure }
EnclosureAirTempSensor : AirTempSensor <sugar> { enclosure }
29 changes: 29 additions & 0 deletions src/xeto/ph.points.sugar/lib.xeto
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
//
// Copyright (c) 2026, Project-Haystack
// Licensed under the Academic Free License version 3.0
//
// History:
// 1 Sep 2026 Rick Jennings Creation
//

pragma: Lib <
doc: "Project haystack experimental points sugar library"
version: BuildVar "ph.version"
maturity: BuildVar "ph.maturity"
depends: {
{ lib: "sys", versions: BuildVar "ph.depend" }
{ lib: "ph", versions: BuildVar "ph.depend" }
{ lib: "ph.points", versions: BuildVar "ph.depend" }
}
categories: {"ph"}
license: BuildVar "ph.license"
org: {
dis: BuildVar "ph.org.dis"
uri: BuildVar "ph.org.uri"
}
vcs: {
type: BuildVar "ph.vcs.type"
uri: BuildVar "ph.vcs.uri"
}
>

Original file line numberDiff line numberDiff line change
Expand Up@@ -11,27 +11,27 @@
//////////////////////////////////////////////////////////////////////////

// Sensor for volumetric flow of domestic water
DomesticWaterFlowSensor : WaterFlowSensor { domestic }
DomesticWaterFlowSensor : WaterFlowSensor <sugar> { domestic }

// Setpoint for volumetric flow of domestic water
DomesticWaterFlowSp : WaterFlowSp { domestic }
DomesticWaterFlowSp : WaterFlowSp <sugar> { domestic }

//////////////////////////////////////////////////////////////////////////
// Chilled Water
//////////////////////////////////////////////////////////////////////////

// Sensor for volumetric flow of chilled water
ChilledWaterFlowSensor : WaterFlowSensor { chilled }
ChilledWaterFlowSensor : WaterFlowSensor <sugar> { chilled }

// Setpoint for volumetric flow of chilled water
ChilledWaterFlowSp : WaterFlowSp { chilled }
ChilledWaterFlowSp : WaterFlowSp <sugar> { chilled }

//////////////////////////////////////////////////////////////////////////
// Hot Water
//////////////////////////////////////////////////////////////////////////

// Sensor for volumetric flow of hot water
HotWaterFlowSensor : WaterFlowSensor { hot }
HotWaterFlowSensor : WaterFlowSensor <sugar> { hot }

// Setpoint for volumetric flow of hot water
HotWaterFlowSp : WaterFlowSp { hot }
HotWaterFlowSp : WaterFlowSp <sugar> { hot }
Original file line numberDiff line numberDiff line change
Expand Up@@ -11,29 +11,29 @@
//////////////////////////////////////////////////////////////////////////

// Sensor for chilled water leaving pressure
ChilledWaterLeavingPressureSensor : WaterPressureSensor { chilled, leaving }
ChilledWaterLeavingPressureSensor : WaterPressureSensor <sugar> { chilled, leaving }

// Sensor for chilled water entering pressure
ChilledWaterEnteringPressureSensor : WaterPressureSensor { chilled, entering }
ChilledWaterEnteringPressureSensor : WaterPressureSensor <sugar> { chilled, entering }

// Setpoint for chilled water leaving pressure
ChilledWaterLeavingPressureSp : WaterPressureSp { chilled, leaving }
ChilledWaterLeavingPressureSp : WaterPressureSp <sugar> { chilled, leaving }

// Setpoint for chilled water entering pressure
ChilledWaterEnteringPressureSp : WaterPressureSp { chilled, entering }
ChilledWaterEnteringPressureSp : WaterPressureSp <sugar> { chilled, entering }

//////////////////////////////////////////////////////////////////////////
// Hot Water Pressure
//////////////////////////////////////////////////////////////////////////

// Sensor for hot water leaving pressure
HotWaterLeavingPressureSensor : WaterPressureSensor { hot, leaving }
HotWaterLeavingPressureSensor : WaterPressureSensor <sugar> { hot, leaving }

// Sensor for hot water entering pressure
HotWaterEnteringPressureSensor : WaterPressureSensor { hot, entering }
HotWaterEnteringPressureSensor : WaterPressureSensor <sugar> { hot, entering }

// Setpoint for hot water leaving pressure
HotWaterLeavingPressureSp : WaterPressureSp { hot, leaving }
HotWaterLeavingPressureSp : WaterPressureSp <sugar> { hot, leaving }

// Setpoint for hot water entering pressure
HotWaterEnteringPressureSp : WaterPressureSp { hot, entering }
HotWaterEnteringPressureSp : WaterPressureSp <sugar> { hot, entering }
Loading
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 4 additions & 3 deletions src/xeto/ashrae.g36/lib.xeto
Original file line numberDiff line numberDiff line change
Expand Up@@ -11,9 +11,10 @@ pragma: Lib <
version: BuildVar "ph.version"
maturity: BuildVar "ph.maturity"
depends: {
{ lib: "sys", versions: BuildVar "ph.depend" }
{ lib: "ph", versions: BuildVar "ph.depend" }
{ lib: "ph.points", versions: BuildVar "ph.depend" }
{ lib: "sys", versions: BuildVar "ph.depend" }
{ lib: "ph", versions: BuildVar "ph.depend" }
{ lib: "ph.points", versions: BuildVar "ph.depend" }
{ lib: "ph.points.sugar", versions: BuildVar "ph.depend" }
}
categories: {"ph", "hvac"}
license: BuildVar "ph.license"
Expand Down
7 changes: 4 additions & 3 deletions src/xeto/ph.examples/lib.xeto
Original file line numberDiff line numberDiff line change
Expand Up@@ -12,9 +12,10 @@ pragma: Lib <
version: BuildVar "ph.version"
maturity: BuildVar "ph.maturity"
depends: {
{ lib: "sys", versions: BuildVar "ph.depend" }
{ lib: "ph", versions: BuildVar "ph.depend" }
{ lib: "ph.points", versions: BuildVar "ph.depend" }
{ lib: "sys", versions: BuildVar "ph.depend" }
{ lib: "ph", versions: BuildVar "ph.depend" }
{ lib: "ph.points", versions: BuildVar "ph.depend" }
{ lib: "ph.points.sugar", versions: BuildVar "ph.depend" }
}
categories: {"ph"}
license: BuildVar "ph.license"
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -11,10 +11,10 @@
//////////////////////////////////////////////////////////////////////////

// Sensor for volumetric air flow in discharge duct
DischargeAirFlowSensor : AirFlowSensor { discharge }
DischargeAirFlowSensor : AirFlowSensor <sugar> { discharge }

// Setpoint for volumetric air flow in discharge duct
DischargeAirFlowSp : AirFlowSp { discharge }
DischargeAirFlowSp : AirFlowSp <sugar> { discharge }

//////////////////////////////////////////////////////////////////////////
// ColdDeck Discharge
Expand DownExpand Up@@ -42,62 +42,62 @@ HotDeckDischargeAirFlowSp : DischargeAirFlowSp { hotDeck }

// Sensor for volumetric air flow in economizing duct.
// Used when there are separate ducts for minimum fresh air vs economizing.
EconomizingAirFlowSensor : AirFlowSensor { economizing }
EconomizingAirFlowSensor : AirFlowSensor <sugar> { economizing }

// Setpoint for volumetric air flow in economizing duct.
EconomizingAirFlowSp : AirFlowSp { economizing }
EconomizingAirFlowSp : AirFlowSp <sugar> { economizing }

//////////////////////////////////////////////////////////////////////////
// Exhaust
//////////////////////////////////////////////////////////////////////////

// Sensor for volumetric air flow in exhaust duct
ExhaustAirFlowSensor : AirFlowSensor { exhaust }
ExhaustAirFlowSensor : AirFlowSensor <sugar> { exhaust }

// Setpoint for volumetric air flow in exhaust duct
ExhaustAirFlowSp : AirFlowSp { exhaust }
ExhaustAirFlowSp : AirFlowSp <sugar> { exhaust }

//////////////////////////////////////////////////////////////////////////
// Inlet
//////////////////////////////////////////////////////////////////////////

// Sensor for volumetric air flow in inlet duct
InletAirFlowSensor : AirFlowSensor { inlet }
InletAirFlowSensor : AirFlowSensor <sugar> { inlet }

// Setpoint for volumetric air flow in inlet duct
InletAirFlowSp : AirFlowSp { inlet }
InletAirFlowSp : AirFlowSp <sugar> { inlet }

//////////////////////////////////////////////////////////////////////////
// Outside
//////////////////////////////////////////////////////////////////////////

// Sensor for volumetric air flow in outside duct.
// Used when there one duct for both minimum fresh air and economizing.
OutsideAirFlowSensor : AirFlowSensor { outside }
OutsideAirFlowSensor : AirFlowSensor <sugar> { outside }

// Setpoint for volumetric air flow in outside duct.
// Used when there one duct for both minimum fresh air and economizing.
OutsideAirFlowSp : AirFlowSp { outside }
OutsideAirFlowSp : AirFlowSp <sugar> { outside }

//////////////////////////////////////////////////////////////////////////
// Return
//////////////////////////////////////////////////////////////////////////

// Sensor for volumetric air flow in return duct
ReturnAirFlowSensor : AirFlowSensor { return }
ReturnAirFlowSensor : AirFlowSensor <sugar> { return }

// Setpoint for volumetric air flow in return duct
ReturnAirFlowSp : AirFlowSp { return }
ReturnAirFlowSp : AirFlowSp <sugar> { return }

//////////////////////////////////////////////////////////////////////////
// Ventilation
//////////////////////////////////////////////////////////////////////////

// Sensor for volumetric air flow in ventilation or minimum fresh air duct.
// Used when there are separate ducts for minimum fresh air vs economizing.
VentilationAirFlowSensor : AirFlowSensor { ventilation }
VentilationAirFlowSensor : AirFlowSensor <sugar> { ventilation }

// Setpoint for volumetric air flow in ventilation or minimum fresh air duct.
// Used when there are separate ducts for minimum fresh air vs economizing.
VentilationAirFlowSp : AirFlowSp { ventilation }
VentilationAirFlowSp : AirFlowSp <sugar> { ventilation }

Original file line numberDiff line numberDiff line change
Expand Up@@ -11,28 +11,28 @@
//////////////////////////////////////////////////////////////////////////

// Sensor for relative humidity in discharge duct
DischargeAirHumiditySensor : AirHumiditySensor { discharge }
DischargeAirHumiditySensor : AirHumiditySensor <sugar> { discharge }

// Setpoint for relative humidity in discharge duct
DischargeAirHumiditySp : AirHumiditySp { discharge }
DischargeAirHumiditySp : AirHumiditySp <sugar> { discharge }

//////////////////////////////////////////////////////////////////////////
// Outdoor
//////////////////////////////////////////////////////////////////////////

// Sensor for relative humidity in outside duct
OutsideAirHumiditySensor : AirHumiditySensor { outside }
OutsideAirHumiditySensor : AirHumiditySensor <sugar> { outside }

// Setpoint for relative humidity in outside duct
OutsideAirHumiditySp : AirHumiditySp { outside }
OutsideAirHumiditySp : AirHumiditySp <sugar> { outside }

//////////////////////////////////////////////////////////////////////////
// Zone
//////////////////////////////////////////////////////////////////////////

// Sensor for relative humidity in the zone
ZoneAirHumiditySensor : AirHumiditySensor { zone }
ZoneAirHumiditySensor : AirHumiditySensor <sugar> { zone }

// Setpoint for relative humidity in the zone
ZoneAirHumiditySp : AirHumiditySp { zone }
ZoneAirHumiditySp : AirHumiditySp <sugar> { zone }

Original file line numberDiff line numberDiff line change
Expand Up@@ -11,18 +11,18 @@
//////////////////////////////////////////////////////////////////////////

// Sensor for static air pressure in discharge duct
DischargeAirPressureSensor : AirPressureSensor { discharge }
DischargeAirPressureSensor : AirPressureSensor <sugar> { discharge }

// Setpoint for static air pressure in discharge duct
DischargeAirPressureSp : AirPressureSp { discharge }
DischargeAirPressureSp : AirPressureSp <sugar> { discharge }

//////////////////////////////////////////////////////////////////////////
// Return
//////////////////////////////////////////////////////////////////////////

// Sensor for static air pressure in return duct
ReturnAirPressureSensor : AirPressureSensor { return }
ReturnAirPressureSensor : AirPressureSensor <sugar> { return }

// Setpoint for static air pressure in return duct
ReturnAirPressureSp : AirPressureSp { return }
ReturnAirPressureSp : AirPressureSp <sugar> { return }

Original file line numberDiff line numberDiff line change
Expand Up@@ -11,74 +11,74 @@
//////////////////////////////////////////////////////////////////////////

// Sensor for drybulb air temperature of discharge duct
DischargeAirTempSensor : AirTempSensor { discharge }
DischargeAirTempSensor : AirTempSensor <sugar> { discharge }

// Setpoint for drybulb air temperature of discharge duct
DischargeAirTempSp : AirTempSp { discharge }
DischargeAirTempSp : AirTempSp <sugar> { discharge }

//////////////////////////////////////////////////////////////////////////
// Economizing
//////////////////////////////////////////////////////////////////////////

// Sensor for drybulb air temperature of economizing duct.
// Used when there are separate ducts for minimum fresh air vs economizing.
EconomizingAirTempSensor : AirTempSensor { economizing }
EconomizingAirTempSensor : AirTempSensor <sugar> { economizing }

//////////////////////////////////////////////////////////////////////////
// Inlet
//////////////////////////////////////////////////////////////////////////

// Sensor for drybulb air temperature of inlet duct
InletAirTempSensor : AirTempSensor { inlet }
InletAirTempSensor : AirTempSensor <sugar> { inlet }

// Setpoint for drybulb air temperature of inlet duct
InletAirTempSp : AirTempSp { inlet }
InletAirTempSp : AirTempSp <sugar> { inlet }

//////////////////////////////////////////////////////////////////////////
// Mixed
//////////////////////////////////////////////////////////////////////////

// Sensor for drybulb air temperature of mixed duct
MixedAirTempSensor : AirTempSensor { mixed }
MixedAirTempSensor : AirTempSensor <sugar> { mixed }

// Setpoint for drybulb air temperature of mixed duct
MixedAirTempSp : AirTempSp { mixed }
MixedAirTempSp : AirTempSp <sugar> { mixed }

//////////////////////////////////////////////////////////////////////////
// Outside
//////////////////////////////////////////////////////////////////////////

// Sensor for drybulb air temperature of outside duct.
// Used when there one duct for both minimum fresh air and economizing.
OutsideAirTempSensor : AirTempSensor { outside }
OutsideAirTempSensor : AirTempSensor <sugar> { outside }

//////////////////////////////////////////////////////////////////////////
// Return
//////////////////////////////////////////////////////////////////////////

// Sensor for drybulb air temperature of return duct
ReturnAirTempSensor : AirTempSensor { return }
ReturnAirTempSensor : AirTempSensor <sugar> { return }

// Setpoint for drybulb air temperature of return duct
ReturnAirTempSp : AirTempSp { return }
ReturnAirTempSp : AirTempSp <sugar> { return }

//////////////////////////////////////////////////////////////////////////
// Ventilation
//////////////////////////////////////////////////////////////////////////

// Sensor for drybulb air temperature of ventilation or minimum fresh duct.
// Used when there are separate ducts for minimum fresh air vs economizing.
VentilationAirTempSensor : AirTempSensor { ventilation }
VentilationAirTempSensor : AirTempSensor <sugar> { ventilation }

//////////////////////////////////////////////////////////////////////////
// Zone
//////////////////////////////////////////////////////////////////////////

// Drybulb air temperature sensor for zone
ZoneAirTempSensor : AirTempSensor { zone }
ZoneAirTempSensor : AirTempSensor <sugar> { zone }

// Setpoint for drybulb air temperature zone
ZoneAirTempSp : AirTempSp <abstract> { zone }
ZoneAirTempSp : AirTempSp <sugar, abstract> { zone }

// Effective setpoint for drybulb air temperature a zone
ZoneAirTempEffectiveSp : ZoneAirTempSp { effective }
Expand DownExpand Up@@ -112,4 +112,4 @@ ZoneAirTempStandbyHeatingSp : ZoneAirTempHeatingSp { standby }
//////////////////////////////////////////////////////////////////////////

// Sensor for air temperature inside an enclosure
EnclosureAirTempSensor : AirTempSensor { enclosure }
EnclosureAirTempSensor : AirTempSensor <sugar> { enclosure }
29 changes: 29 additions & 0 deletions src/xeto/ph.points.sugar/lib.xeto
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
//
// Copyright (c) 2026, Project-Haystack
// Licensed under the Academic Free License version 3.0
//
// History:
// 1 Sep 2026 Rick Jennings Creation
//

pragma: Lib <
doc: "Project haystack experimental points sugar library"
version: BuildVar "ph.version"
maturity: BuildVar "ph.maturity"
depends: {
{ lib: "sys", versions: BuildVar "ph.depend" }
{ lib: "ph", versions: BuildVar "ph.depend" }
{ lib: "ph.points", versions: BuildVar "ph.depend" }
}
categories: {"ph"}
license: BuildVar "ph.license"
org: {
dis: BuildVar "ph.org.dis"
uri: BuildVar "ph.org.uri"
}
vcs: {
type: BuildVar "ph.vcs.type"
uri: BuildVar "ph.vcs.uri"
}
>

Original file line numberDiff line numberDiff line change
Expand Up@@ -11,27 +11,27 @@
//////////////////////////////////////////////////////////////////////////

// Sensor for volumetric flow of domestic water
DomesticWaterFlowSensor : WaterFlowSensor { domestic }
DomesticWaterFlowSensor : WaterFlowSensor <sugar> { domestic }

// Setpoint for volumetric flow of domestic water
DomesticWaterFlowSp : WaterFlowSp { domestic }
DomesticWaterFlowSp : WaterFlowSp <sugar> { domestic }

//////////////////////////////////////////////////////////////////////////
// Chilled Water
//////////////////////////////////////////////////////////////////////////

// Sensor for volumetric flow of chilled water
ChilledWaterFlowSensor : WaterFlowSensor { chilled }
ChilledWaterFlowSensor : WaterFlowSensor <sugar> { chilled }

// Setpoint for volumetric flow of chilled water
ChilledWaterFlowSp : WaterFlowSp { chilled }
ChilledWaterFlowSp : WaterFlowSp <sugar> { chilled }

//////////////////////////////////////////////////////////////////////////
// Hot Water
//////////////////////////////////////////////////////////////////////////

// Sensor for volumetric flow of hot water
HotWaterFlowSensor : WaterFlowSensor { hot }
HotWaterFlowSensor : WaterFlowSensor <sugar> { hot }

// Setpoint for volumetric flow of hot water
HotWaterFlowSp : WaterFlowSp { hot }
HotWaterFlowSp : WaterFlowSp <sugar> { hot }
Original file line numberDiff line numberDiff line change
Expand Up@@ -11,29 +11,29 @@
//////////////////////////////////////////////////////////////////////////

// Sensor for chilled water leaving pressure
ChilledWaterLeavingPressureSensor : WaterPressureSensor { chilled, leaving }
ChilledWaterLeavingPressureSensor : WaterPressureSensor <sugar> { chilled, leaving }

// Sensor for chilled water entering pressure
ChilledWaterEnteringPressureSensor : WaterPressureSensor { chilled, entering }
ChilledWaterEnteringPressureSensor : WaterPressureSensor <sugar> { chilled, entering }

// Setpoint for chilled water leaving pressure
ChilledWaterLeavingPressureSp : WaterPressureSp { chilled, leaving }
ChilledWaterLeavingPressureSp : WaterPressureSp <sugar> { chilled, leaving }

// Setpoint for chilled water entering pressure
ChilledWaterEnteringPressureSp : WaterPressureSp { chilled, entering }
ChilledWaterEnteringPressureSp : WaterPressureSp <sugar> { chilled, entering }

//////////////////////////////////////////////////////////////////////////
// Hot Water Pressure
//////////////////////////////////////////////////////////////////////////

// Sensor for hot water leaving pressure
HotWaterLeavingPressureSensor : WaterPressureSensor { hot, leaving }
HotWaterLeavingPressureSensor : WaterPressureSensor <sugar> { hot, leaving }

// Sensor for hot water entering pressure
HotWaterEnteringPressureSensor : WaterPressureSensor { hot, entering }
HotWaterEnteringPressureSensor : WaterPressureSensor <sugar> { hot, entering }

// Setpoint for hot water leaving pressure
HotWaterLeavingPressureSp : WaterPressureSp { hot, leaving }
HotWaterLeavingPressureSp : WaterPressureSp <sugar> { hot, leaving }

// Setpoint for hot water entering pressure
HotWaterEnteringPressureSp : WaterPressureSp { hot, entering }
HotWaterEnteringPressureSp : WaterPressureSp <sugar> { hot, entering }
Loading
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 4 additions & 3 deletions src/xeto/ashrae.g36/lib.xeto
Original file line numberDiff line numberDiff line change
Expand Up@@ -11,9 +11,10 @@ pragma: Lib <
version: BuildVar "ph.version"
maturity: BuildVar "ph.maturity"
depends: {
{ lib: "sys", versions: BuildVar "ph.depend" }
{ lib: "ph", versions: BuildVar "ph.depend" }
{ lib: "ph.points", versions: BuildVar "ph.depend" }
{ lib: "sys", versions: BuildVar "ph.depend" }
{ lib: "ph", versions: BuildVar "ph.depend" }
{ lib: "ph.points", versions: BuildVar "ph.depend" }
{ lib: "ph.points.sugar", versions: BuildVar "ph.depend" }
}
categories: {"ph", "hvac"}
license: BuildVar "ph.license"
Expand Down
7 changes: 4 additions & 3 deletions src/xeto/ph.examples/lib.xeto
Original file line numberDiff line numberDiff line change
Expand Up@@ -12,9 +12,10 @@ pragma: Lib <
version: BuildVar "ph.version"
maturity: BuildVar "ph.maturity"
depends: {
{ lib: "sys", versions: BuildVar "ph.depend" }
{ lib: "ph", versions: BuildVar "ph.depend" }
{ lib: "ph.points", versions: BuildVar "ph.depend" }
{ lib: "sys", versions: BuildVar "ph.depend" }
{ lib: "ph", versions: BuildVar "ph.depend" }
{ lib: "ph.points", versions: BuildVar "ph.depend" }
{ lib: "ph.points.sugar", versions: BuildVar "ph.depend" }
}
categories: {"ph"}
license: BuildVar "ph.license"
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -11,10 +11,10 @@
//////////////////////////////////////////////////////////////////////////

// Sensor for volumetric air flow in discharge duct
DischargeAirFlowSensor : AirFlowSensor { discharge }
DischargeAirFlowSensor : AirFlowSensor <sugar> { discharge }

// Setpoint for volumetric air flow in discharge duct
DischargeAirFlowSp : AirFlowSp { discharge }
DischargeAirFlowSp : AirFlowSp <sugar> { discharge }

//////////////////////////////////////////////////////////////////////////
// ColdDeck Discharge
Expand DownExpand Up@@ -42,62 +42,62 @@ HotDeckDischargeAirFlowSp : DischargeAirFlowSp { hotDeck }

// Sensor for volumetric air flow in economizing duct.
// Used when there are separate ducts for minimum fresh air vs economizing.
EconomizingAirFlowSensor : AirFlowSensor { economizing }
EconomizingAirFlowSensor : AirFlowSensor <sugar> { economizing }

// Setpoint for volumetric air flow in economizing duct.
EconomizingAirFlowSp : AirFlowSp { economizing }
EconomizingAirFlowSp : AirFlowSp <sugar> { economizing }

//////////////////////////////////////////////////////////////////////////
// Exhaust
//////////////////////////////////////////////////////////////////////////

// Sensor for volumetric air flow in exhaust duct
ExhaustAirFlowSensor : AirFlowSensor { exhaust }
ExhaustAirFlowSensor : AirFlowSensor <sugar> { exhaust }

// Setpoint for volumetric air flow in exhaust duct
ExhaustAirFlowSp : AirFlowSp { exhaust }
ExhaustAirFlowSp : AirFlowSp <sugar> { exhaust }

//////////////////////////////////////////////////////////////////////////
// Inlet
//////////////////////////////////////////////////////////////////////////

// Sensor for volumetric air flow in inlet duct
InletAirFlowSensor : AirFlowSensor { inlet }
InletAirFlowSensor : AirFlowSensor <sugar> { inlet }

// Setpoint for volumetric air flow in inlet duct
InletAirFlowSp : AirFlowSp { inlet }
InletAirFlowSp : AirFlowSp <sugar> { inlet }

//////////////////////////////////////////////////////////////////////////
// Outside
//////////////////////////////////////////////////////////////////////////

// Sensor for volumetric air flow in outside duct.
// Used when there one duct for both minimum fresh air and economizing.
OutsideAirFlowSensor : AirFlowSensor { outside }
OutsideAirFlowSensor : AirFlowSensor <sugar> { outside }

// Setpoint for volumetric air flow in outside duct.
// Used when there one duct for both minimum fresh air and economizing.
OutsideAirFlowSp : AirFlowSp { outside }
OutsideAirFlowSp : AirFlowSp <sugar> { outside }

//////////////////////////////////////////////////////////////////////////
// Return
//////////////////////////////////////////////////////////////////////////

// Sensor for volumetric air flow in return duct
ReturnAirFlowSensor : AirFlowSensor { return }
ReturnAirFlowSensor : AirFlowSensor <sugar> { return }

// Setpoint for volumetric air flow in return duct
ReturnAirFlowSp : AirFlowSp { return }
ReturnAirFlowSp : AirFlowSp <sugar> { return }

//////////////////////////////////////////////////////////////////////////
// Ventilation
//////////////////////////////////////////////////////////////////////////

// Sensor for volumetric air flow in ventilation or minimum fresh air duct.
// Used when there are separate ducts for minimum fresh air vs economizing.
VentilationAirFlowSensor : AirFlowSensor { ventilation }
VentilationAirFlowSensor : AirFlowSensor <sugar> { ventilation }

// Setpoint for volumetric air flow in ventilation or minimum fresh air duct.
// Used when there are separate ducts for minimum fresh air vs economizing.
VentilationAirFlowSp : AirFlowSp { ventilation }
VentilationAirFlowSp : AirFlowSp <sugar> { ventilation }

Original file line numberDiff line numberDiff line change
Expand Up@@ -11,28 +11,28 @@
//////////////////////////////////////////////////////////////////////////

// Sensor for relative humidity in discharge duct
DischargeAirHumiditySensor : AirHumiditySensor { discharge }
DischargeAirHumiditySensor : AirHumiditySensor <sugar> { discharge }

// Setpoint for relative humidity in discharge duct
DischargeAirHumiditySp : AirHumiditySp { discharge }
DischargeAirHumiditySp : AirHumiditySp <sugar> { discharge }

//////////////////////////////////////////////////////////////////////////
// Outdoor
//////////////////////////////////////////////////////////////////////////

// Sensor for relative humidity in outside duct
OutsideAirHumiditySensor : AirHumiditySensor { outside }
OutsideAirHumiditySensor : AirHumiditySensor <sugar> { outside }

// Setpoint for relative humidity in outside duct
OutsideAirHumiditySp : AirHumiditySp { outside }
OutsideAirHumiditySp : AirHumiditySp <sugar> { outside }

//////////////////////////////////////////////////////////////////////////
// Zone
//////////////////////////////////////////////////////////////////////////

// Sensor for relative humidity in the zone
ZoneAirHumiditySensor : AirHumiditySensor { zone }
ZoneAirHumiditySensor : AirHumiditySensor <sugar> { zone }

// Setpoint for relative humidity in the zone
ZoneAirHumiditySp : AirHumiditySp { zone }
ZoneAirHumiditySp : AirHumiditySp <sugar> { zone }

Original file line numberDiff line numberDiff line change
Expand Up@@ -11,18 +11,18 @@
//////////////////////////////////////////////////////////////////////////

// Sensor for static air pressure in discharge duct
DischargeAirPressureSensor : AirPressureSensor { discharge }
DischargeAirPressureSensor : AirPressureSensor <sugar> { discharge }

// Setpoint for static air pressure in discharge duct
DischargeAirPressureSp : AirPressureSp { discharge }
DischargeAirPressureSp : AirPressureSp <sugar> { discharge }

//////////////////////////////////////////////////////////////////////////
// Return
//////////////////////////////////////////////////////////////////////////

// Sensor for static air pressure in return duct
ReturnAirPressureSensor : AirPressureSensor { return }
ReturnAirPressureSensor : AirPressureSensor <sugar> { return }

// Setpoint for static air pressure in return duct
ReturnAirPressureSp : AirPressureSp { return }
ReturnAirPressureSp : AirPressureSp <sugar> { return }

Original file line numberDiff line numberDiff line change
Expand Up@@ -11,74 +11,74 @@
//////////////////////////////////////////////////////////////////////////

// Sensor for drybulb air temperature of discharge duct
DischargeAirTempSensor : AirTempSensor { discharge }
DischargeAirTempSensor : AirTempSensor <sugar> { discharge }

// Setpoint for drybulb air temperature of discharge duct
DischargeAirTempSp : AirTempSp { discharge }
DischargeAirTempSp : AirTempSp <sugar> { discharge }

//////////////////////////////////////////////////////////////////////////
// Economizing
//////////////////////////////////////////////////////////////////////////

// Sensor for drybulb air temperature of economizing duct.
// Used when there are separate ducts for minimum fresh air vs economizing.
EconomizingAirTempSensor : AirTempSensor { economizing }
EconomizingAirTempSensor : AirTempSensor <sugar> { economizing }

//////////////////////////////////////////////////////////////////////////
// Inlet
//////////////////////////////////////////////////////////////////////////

// Sensor for drybulb air temperature of inlet duct
InletAirTempSensor : AirTempSensor { inlet }
InletAirTempSensor : AirTempSensor <sugar> { inlet }

// Setpoint for drybulb air temperature of inlet duct
InletAirTempSp : AirTempSp { inlet }
InletAirTempSp : AirTempSp <sugar> { inlet }

//////////////////////////////////////////////////////////////////////////
// Mixed
//////////////////////////////////////////////////////////////////////////

// Sensor for drybulb air temperature of mixed duct
MixedAirTempSensor : AirTempSensor { mixed }
MixedAirTempSensor : AirTempSensor <sugar> { mixed }

// Setpoint for drybulb air temperature of mixed duct
MixedAirTempSp : AirTempSp { mixed }
MixedAirTempSp : AirTempSp <sugar> { mixed }

//////////////////////////////////////////////////////////////////////////
// Outside
//////////////////////////////////////////////////////////////////////////

// Sensor for drybulb air temperature of outside duct.
// Used when there one duct for both minimum fresh air and economizing.
OutsideAirTempSensor : AirTempSensor { outside }
OutsideAirTempSensor : AirTempSensor <sugar> { outside }

//////////////////////////////////////////////////////////////////////////
// Return
//////////////////////////////////////////////////////////////////////////

// Sensor for drybulb air temperature of return duct
ReturnAirTempSensor : AirTempSensor { return }
ReturnAirTempSensor : AirTempSensor <sugar> { return }

// Setpoint for drybulb air temperature of return duct
ReturnAirTempSp : AirTempSp { return }
ReturnAirTempSp : AirTempSp <sugar> { return }

//////////////////////////////////////////////////////////////////////////
// Ventilation
//////////////////////////////////////////////////////////////////////////

// Sensor for drybulb air temperature of ventilation or minimum fresh duct.
// Used when there are separate ducts for minimum fresh air vs economizing.
VentilationAirTempSensor : AirTempSensor { ventilation }
VentilationAirTempSensor : AirTempSensor <sugar> { ventilation }

//////////////////////////////////////////////////////////////////////////
// Zone
//////////////////////////////////////////////////////////////////////////

// Drybulb air temperature sensor for zone
ZoneAirTempSensor : AirTempSensor { zone }
ZoneAirTempSensor : AirTempSensor <sugar> { zone }

// Setpoint for drybulb air temperature zone
ZoneAirTempSp : AirTempSp <abstract> { zone }
ZoneAirTempSp : AirTempSp <sugar, abstract> { zone }

// Effective setpoint for drybulb air temperature a zone
ZoneAirTempEffectiveSp : ZoneAirTempSp { effective }
Expand DownExpand Up@@ -112,4 +112,4 @@ ZoneAirTempStandbyHeatingSp : ZoneAirTempHeatingSp { standby }
//////////////////////////////////////////////////////////////////////////

// Sensor for air temperature inside an enclosure
EnclosureAirTempSensor : AirTempSensor { enclosure }
EnclosureAirTempSensor : AirTempSensor <sugar> { enclosure }
29 changes: 29 additions & 0 deletions src/xeto/ph.points.sugar/lib.xeto
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
//
// Copyright (c) 2026, Project-Haystack
// Licensed under the Academic Free License version 3.0
//
// History:
// 1 Sep 2026 Rick Jennings Creation
//

pragma: Lib <
doc: "Project haystack experimental points sugar library"
version: BuildVar "ph.version"
maturity: BuildVar "ph.maturity"
depends: {
{ lib: "sys", versions: BuildVar "ph.depend" }
{ lib: "ph", versions: BuildVar "ph.depend" }
{ lib: "ph.points", versions: BuildVar "ph.depend" }
}
categories: {"ph"}
license: BuildVar "ph.license"
org: {
dis: BuildVar "ph.org.dis"
uri: BuildVar "ph.org.uri"
}
vcs: {
type: BuildVar "ph.vcs.type"
uri: BuildVar "ph.vcs.uri"
}
>

Original file line numberDiff line numberDiff line change
Expand Up@@ -11,27 +11,27 @@
//////////////////////////////////////////////////////////////////////////

// Sensor for volumetric flow of domestic water
DomesticWaterFlowSensor : WaterFlowSensor { domestic }
DomesticWaterFlowSensor : WaterFlowSensor <sugar> { domestic }

// Setpoint for volumetric flow of domestic water
DomesticWaterFlowSp : WaterFlowSp { domestic }
DomesticWaterFlowSp : WaterFlowSp <sugar> { domestic }

//////////////////////////////////////////////////////////////////////////
// Chilled Water
//////////////////////////////////////////////////////////////////////////

// Sensor for volumetric flow of chilled water
ChilledWaterFlowSensor : WaterFlowSensor { chilled }
ChilledWaterFlowSensor : WaterFlowSensor <sugar> { chilled }

// Setpoint for volumetric flow of chilled water
ChilledWaterFlowSp : WaterFlowSp { chilled }
ChilledWaterFlowSp : WaterFlowSp <sugar> { chilled }

//////////////////////////////////////////////////////////////////////////
// Hot Water
//////////////////////////////////////////////////////////////////////////

// Sensor for volumetric flow of hot water
HotWaterFlowSensor : WaterFlowSensor { hot }
HotWaterFlowSensor : WaterFlowSensor <sugar> { hot }

// Setpoint for volumetric flow of hot water
HotWaterFlowSp : WaterFlowSp { hot }
HotWaterFlowSp : WaterFlowSp <sugar> { hot }
Original file line numberDiff line numberDiff line change
Expand Up@@ -11,29 +11,29 @@
//////////////////////////////////////////////////////////////////////////

// Sensor for chilled water leaving pressure
ChilledWaterLeavingPressureSensor : WaterPressureSensor { chilled, leaving }
ChilledWaterLeavingPressureSensor : WaterPressureSensor <sugar> { chilled, leaving }

// Sensor for chilled water entering pressure
ChilledWaterEnteringPressureSensor : WaterPressureSensor { chilled, entering }
ChilledWaterEnteringPressureSensor : WaterPressureSensor <sugar> { chilled, entering }

// Setpoint for chilled water leaving pressure
ChilledWaterLeavingPressureSp : WaterPressureSp { chilled, leaving }
ChilledWaterLeavingPressureSp : WaterPressureSp <sugar> { chilled, leaving }

// Setpoint for chilled water entering pressure
ChilledWaterEnteringPressureSp : WaterPressureSp { chilled, entering }
ChilledWaterEnteringPressureSp : WaterPressureSp <sugar> { chilled, entering }

//////////////////////////////////////////////////////////////////////////
// Hot Water Pressure
//////////////////////////////////////////////////////////////////////////

// Sensor for hot water leaving pressure
HotWaterLeavingPressureSensor : WaterPressureSensor { hot, leaving }
HotWaterLeavingPressureSensor : WaterPressureSensor <sugar> { hot, leaving }

// Sensor for hot water entering pressure
HotWaterEnteringPressureSensor : WaterPressureSensor { hot, entering }
HotWaterEnteringPressureSensor : WaterPressureSensor <sugar> { hot, entering }

// Setpoint for hot water leaving pressure
HotWaterLeavingPressureSp : WaterPressureSp { hot, leaving }
HotWaterLeavingPressureSp : WaterPressureSp <sugar> { hot, leaving }

// Setpoint for hot water entering pressure
HotWaterEnteringPressureSp : WaterPressureSp { hot, entering }
HotWaterEnteringPressureSp : WaterPressureSp <sugar> { hot, entering }
Loading