Skip to content

Instantly share code, notes, and snippets.

View danielsuo's full-sized avatar

Daniel Suo danielsuo

View GitHub Profile
diff --git a/vent/controller/control_module.py b/vent/controller/control_module.py
index 3a7b724..ff819f3 100644
--- a/vent/controller/control_module.py
+++ b/vent/controller/control_module.py
@@ -610,17 +610,18 @@ class ControlModuleBase:
self._DATA_VOLUME += dt * self._DATA_Qout # Integrate what has happened within the last few seconds from flow out
self._DATA_PRESSURE = np.mean(self._DATA_PRESSURE_LIST)
+ self.__control_signal_in = self._adaptivecontroller.feed(self._DATA_PRESSURE, now)
+
diff --git a/vent/controller/control_module.py b/vent/controller/control_module.py
index 3a7b724..ff819f3 100644
--- a/vent/controller/control_module.py
+++ b/vent/controller/control_module.py
@@ -610,17 +610,18 @@ class ControlModuleBase:
self._DATA_VOLUME += dt * self._DATA_Qout # Integrate what has happened within the last few seconds from flow out
self._DATA_PRESSURE = np.mean(self._DATA_PRESSURE_LIST)
+ self.__control_signal_in = self._adaptivecontroller.feed(self._DATA_PRESSURE, now)
+
diff --git a/pid.txt b/pid.txt
index e453170..3015dbf 100644
--- a/pid.txt
+++ b/pid.txt
@@ -1,6 +1,6 @@
-def _PID_update(self, dt):
+def _Predictive_PID_update(self, dt):
'''
- This instantiates the PID control algorithms.
+ This instantiates the Predictive PID control algorithms.
def cg(A, b, x0=None, maxiter=None, tol=1e-5):
x = x0 or np.zeros_like(b)
k = 0
kmax = maxiter or len(b)
r = b - A @ x
p = r
d_o = np.dot(r, r)
d_n = d_o
/*
Bookmarklet to download image / movie from tadpoles
Sources:
https://gist.github.com/sfrdmn/8834747 by sfrdmn, unlicenced but I hope you won't sue me :3
https://stackoverflow.com/a/49500465/2550406 by Leeroy, CC-BY-SA
*/
;(function() {
// Probably should do some validation, but whatever
var l = document.links;
@danielsuo
danielsuo / click.js
Last active November 30, 2018 15:29
var simulateMouseEvent = function(element, eventName, coordX, coordY) {
element.dispatchEvent(new MouseEvent(eventName, {
view: window,
bubbles: true,
cancelable: true,
clientX: coordX,
clientY: coordY,
button: 0
}));
};
/*
Bookmarklet to download image / movie from tadpoles
Sources:
https://gist.github.com/sfrdmn/8834747 by sfrdmn, unlicenced but I hope you won't sue me :3
https://stackoverflow.com/a/49500465/2550406 by Leeroy, CC-BY-SA
*/
;(function() {
// Probably should do some validation, but whatever
var images = [window.location.href + "?d=t"]
@danielsuo
danielsuo / ray.tmux
Last active August 15, 2018 19:56
Start ray processes in tmux
#!/usr/bin/env bash
set -x
# NOTES
# - Requires tmux 2.3 or greater
# - Run in the appropriate Python environment
# - Check out the keybindings for helpful tips
# - We could also do this in tmuxinator
Verifying that "danielsuo.id" is my Blockstack ID. https://onename.com/danielsuo

Keybase proof

I hereby claim:

  • I am danielsuo on github.
  • I am danielsuo (https://keybase.io/danielsuo) on keybase.
  • I have a public key whose fingerprint is 1E76 9585 EBCD 36F0 E62A 1CD5 B136 A0CD 3950 E7E5

To claim this, I am signing this object: