summaryrefslogtreecommitdiffhomepage
path: root/static/js/controller.js
diff options
context:
space:
mode:
authorPrivate Island Networks Inc <opensource@privateisland.tech>2026-03-03 15:56:53 -0500
committerPrivate Island Networks Inc <opensource@privateisland.tech>2026-03-03 15:56:53 -0500
commitab6ca080771b706a310ebfd8a4192841cdfef05c (patch)
treef9da21650402f17330d68bb7d6f86b031191ddb9 /static/js/controller.js
initial commit of experimental code base for PI Explorer (PI-EXP)HEADmain
Diffstat (limited to 'static/js/controller.js')
-rw-r--r--static/js/controller.js93
1 files changed, 93 insertions, 0 deletions
diff --git a/static/js/controller.js b/static/js/controller.js
new file mode 100644
index 0000000..a12362b
--- /dev/null
+++ b/static/js/controller.js
@@ -0,0 +1,93 @@
+/*
+ *
+ * Copyright (C) 2026 Private Island Networks Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * file: controller.js
+ *
+ *
+ */
+
+function ajaxData() {
+ var data = {};
+ return data;
+}
+
+
+function log_msg(msg) {
+ let msg_str = '';
+
+ msg_str += msg.type + ': ' + msg.address + ' ' + msg.data + '<br>';
+
+ return msg_str;
+}
+
+function postControllerMsg(event) {
+ $.loading('block');
+ event.preventDefault();
+ console.log("postControllerMsg");
+
+ let fd = new FormData($('#mc-cont_message'));
+ fd.append('dummy', 'foo')
+
+ $.post("/controller", fd, function(resp) {
+ $.loading('none');
+ resp = JSON.parse(resp);
+ if (resp.r == STATUS.OK) {
+ let log = document.getElementById('mc-log');
+ let height = 2 * resp.d.length;
+ for (let i=0; i < resp.d.length; i++) {
+ msg = resp.d[i];
+ if (msg.port == PORT_PC) {
+ log.innerHTML += '<div class="mc-log-row style=height:' + height.toString() + 'rem"><div class="mc-log-col-time">' + msg.time + '</div>' +
+ '<div class="mc-log-col-pc">' + log_msg(msg) + '</div>' +
+ '<div class="mc-log-col-phy0"></div>' +
+ '<div class="mc-log-col-phy1"></div></div>';
+ }
+ else if (msg.port == PORT_PHY0) {
+ log.innerHTML += '<div class="mc-log-row"><div class="mc-log-col-time">' + msg.time + '</div>' +
+ '<div class="mc-log-col-pc"></div>' +
+ '<div class="mc-log-col-phy0">' + log_msg(msg) +
+ '</div><div class="mc-log-col-phy1"></div></div>';
+ }
+ }
+ }
+
+ console.log("done");
+ });
+
+}
+
+/*
+The DOMContentLoaded event fires as soon as the HTML document has been fully parsed,
+which typically occurs long before images, stylesheets, and other external resources
+have loaded.
+*/
+window.addEventListener("DOMContentLoaded", function(e) {
+ var MsgForm = $('#mc-cont_message')
+ try {
+ // $('button[value=submit]').addEventListener('click', postControllerMsg);
+ MsgForm.addEventListener('submit', postControllerMsg);
+ } catch (event) {
+ }
+});
+
+/*
+The load event is essential for operations that require the entire web page to be fully loaded,
+including all dependent resources like images and stylesheets.
+This event ensures that every element is available for script manipulation.
+*/
+window.addEventListener("load", function(e) {
+ console.log("controller loaded");
+}); \ No newline at end of file

Highly Recommended Verilog Books