Prechádzať zdrojové kódy

Merge branch 'master' of https://tree.clementinecomputing.com/clementinecomputing/popufare

clementinecomputing 6 rokov pred
rodič
commit
e6539f93ee

+ 16 - 22
busunit/DIUv2/diu_main.c

@@ -493,30 +493,22 @@ void maintain_ipc_hub_connect(char *progname)
 //int redraw_flag = 0;
 
 
-message_callback_return handle_status_request(struct message_record *msg, void *param)
-{
-    struct message_record outgoing_msg;
+message_callback_return handle_status_request(struct message_record *msg, void *param) {
+  struct message_record outgoing_msg;
 
-    if(hub_fd >= 0)
-    {
-        prepare_message(&outgoing_msg, MAILBOX_DRIVER_STATUS, &my_driver_status, sizeof(my_driver_status));
-        send_message(hub_fd, &outgoing_msg);
-        prepare_message(&outgoing_msg, MAILBOX_GPS_STATUS, &my_gps_stat, sizeof(my_gps_stat));
-        send_message(hub_fd, &outgoing_msg);
-    }
+  if(hub_fd >= 0) {
+    prepare_message(&outgoing_msg, MAILBOX_DRIVER_STATUS, &my_driver_status, sizeof(my_driver_status));
+    send_message(hub_fd, &outgoing_msg);
+    prepare_message(&outgoing_msg, MAILBOX_GPS_STATUS, &my_gps_stat, sizeof(my_gps_stat));
+    send_message(hub_fd, &outgoing_msg);
+  }
 
-    return MESSAGE_HANDLED_CONT;
+  return MESSAGE_HANDLED_CONT;
 }
 
-message_callback_return handle_vault_drop(struct message_record *msg, void *param)
-{
-
-    if(diu_fd >= 0)
-    {
-        write(diu_fd, "/V:\r", 4);
-    }
-
-    return MESSAGE_HANDLED_CONT;
+message_callback_return handle_vault_drop(struct message_record *msg, void *param) {
+  if(diu_fd >= 0) { write(diu_fd, "/V:\r", 4); }
+  return MESSAGE_HANDLED_CONT;
 }
 
 char dup_notify_str[MAX_PAYLOAD_LENGTH] = {0};
@@ -715,7 +707,6 @@ static void ui_handle_status_input(struct mg_connection *nc, struct http_message
 		_strnncat(pkgnetline, "|", _SLEN);
     _strnncat(pkgnetline, _str, _SLEN);
     npkgnet++;
-
   }
 
   fp = fopen("/tmp/net_ids", "rb");
@@ -920,11 +911,11 @@ static void api_handle_req(struct mg_connection *nc, struct http_message *hm) {
   ret = mg_get_http_var(&(hm->body), "action", s_action, _SLEN);
 
   if (ret==0) {
-    //printf(">>> %p\n", s_action);
     mg_http_send_error(nc, 404, NULL);
     return;
   }
 
+  //DEBUG
   printf("#req: action: (%s)\n", s_action);
 
   if (strncmp(s_action, "driverlogin", strlen("driverlogin"))==0) {
@@ -975,7 +966,10 @@ static void ev_handler(struct mg_connection *nc, int ev, void *ev_data) {
   switch (ev){
 
     case MG_EV_HTTP_REQUEST:
+
+      //DEBUG
       printf("http request\n");
+
       if (mg_vcmp(&hm->uri, "/req")==0) {
         api_handle_req(nc, (struct http_message *)ev_data);
       }

BIN
busunit/DIUv2/html/assets/459992_florianreichelt_beep_short.mp3


+ 229 - 61
busunit/DIUv2/html/css/diustyles.css

@@ -1,3 +1,23 @@
+/*
+ * Copyright (c) 2019 Clementine Computing LLC.
+ *
+ * This file is part of PopuFare.
+ *
+ * PopuFare is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * PopuFare is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with PopuFare.  If not, see <https://www.gnu.org/licenses/>.
+ *
+ */
+
 html, body {
   height: 100%;
 }
@@ -5,7 +25,7 @@ html, body {
 body {
   background: #efefef;
   color: hsl(240,30,10);
-  letter-spacing: 0.125em;
+  /* letter-spacing: 0.125em; */
   text-align: center;
   /* text-transform: uppercase; */
 
@@ -62,7 +82,7 @@ p:focus {
 */
 
 .statuslogin {
-  font-size:20px;
+  /* font-size:20px; */
   resize:none;
   background: #f7f7f7;
   overflow:hidden;
@@ -79,12 +99,14 @@ p:focus {
 }
 
 .statusmain {
-  font-size:20px;
+  /* font-size:20px; */
   resize:none;
   background: #f7f7f7;
+  /*
   overflow:auto;
   overflow-x:hidden;
   overflow-y:hidden;
+  */
   word-wrap:off;
   -webkit-user-select: none;
   -webkit-touch-callout: none;
@@ -96,42 +118,211 @@ p:focus {
   -moz-user-select: none;
 }
 
-.row {
-  height: 80px;
+@media only screen and (max-width: 640px) {
+  body {
+    background: rgb(230,230,230);
+  }
+}
+
+@media only screen and (min-width: 640px) {
+  body {
+    background: lightblue;
+  }
+}
+
+/* small size */
+
+@media only screen and (max-width: 640px) {
+  body {
+    letter-spacing: 0.125em;
+  }
+
+  .statuslogin { font-size:20px; }
+  .statusmain { font-size:20px; }
+
+  #mainstatus { font-size: 16px; }
+
+
+  .row { height: 80px; }
+  .col { width: 80px; }
+
+  .bdisp {
+    font-size: 20px;
+    margin-top: 15px;
+    margin-right: 15px;
+  }
+
+  .bstatus {
+    font-size: 20px;
+    border: solid 2px #888888;
+    box-shadow: 3px 3px 0px #aaaaaa;
+  }
+
+  .bstatus {
+    font-size: 20px;
+    border: solid 2px #888888;
+    box-shadow: 3px 3px 0px #aaaaaa;
+  }
+
+  .bdrop {
+    font-size: 19px;
+    border: solid 2px #888888;
+    box-shadow: 3px 3px 0px #aaaaaa;
+  }
+
+  .bdropinp {
+    font-size: 22px;
+    border: solid 2px #888888;
+    box-shadow: 3px 3px 0px #aaaaaa;
+  }
+
+  .bkey {
+    width: 75px;
+    height:75px;
+  }
+
+
+  .bkeyw {
+    width: 150px;
+    height:58px;
+  }
+
+  .bkeym {
+    width: 100px;
+    height:58px;
+  }
+
+  .bkeyHuge {
+    width: 300px;
+    height:300px;
+  }
+
+
+  .bfieldinp {
+    width: 150px;
+    height: 58px;
+  }
+
+
+}
+
+/* LARGE SIZE */
+
+.row4 { height: 20vh; }
+.row5 { height: 15vh; }
+
+
+@media only screen and (min-width: 640px) {
+  body {
+    letter-spacing: 0.25em;
+  }
+
+  .statuslogin { font-size:40px; }
+  .statusmain { font-size:40px; }
+
+  #mainstatus { font-size: 32px; }
+
+  .row { height: 160px; }
+  .col { width: 160px; }
+
+  .bdisp {
+    /*
+    font-size: 40px;
+    margin-top: 30px;
+    margin-right: 30px;
+    */
+    font-size: 7vh;
+    margin-top: 5vh;
+    margin-right: 1vw;
+  }
+
+  .bstatus {
+    font-size: 40px;
+    border: solid 4px #888888;
+    box-shadow: 6px 6px 0px #aaaaaa;
+  }
+
+  .bstatus {
+    font-size: 40px;
+    border: solid 4px #888888;
+    box-shadow: 6px 6px 0px #aaaaaa;
+  }
+
+  .bdrop {
+    /* font-size: 38px; */
+    font-size: 7vh;
+    border: solid 4px #888888;
+    box-shadow: 6px 6px 0px #aaaaaa;
+  }
+
+  .bdropinp {
+    /* font-size: 44px; */
+    font-size: 7vh;
+    border: solid 4px #888888;
+    box-shadow: 6px 6px 0px #aaaaaa;
+  }
+
+  .bkey {
+    width: 20vh;
+    height:20vh;
+  }
+
+
+  .bkeyw {
+    width: 25vw;
+    height:17vh;
+  }
+
+  .bkeym {
+    width: 20vw;
+    height:17vh;
+  }
+
+  .bkeyHuge {
+    width: 80vw;
+    height:80vh;
+  }
+
+  .bfieldinp {
+    width: 20vw;
+    height: 20vh;
+  }
+
 }
 
-.col {
-  width: 80px;
+.bdisp:focus {
+  outline:0;
 }
 
 .bdisp {
 
-  font-size: 20px;
+  /* font-size: 20px; */
   font-weight: bold;
   color: #444444;
 
+  /*
   margin-top: 15px;
   margin-right: 15px;
+  */
+
   margin-left: auto;
 
   background: none;
   border: none;
 }
 
-.bdisp:focus {
-  outline:0;
-}
-
 
 .bmsg {
 
-  font-size: 20px;
+  /* font-size: 20px; */
   font-weight: bold;
   color: #444444;
 
   background: #ADD8E6;
+  /*
   border: solid 2px #888888;
   box-shadow: 3px 3px 0px #aaaaaa;
+  */
 
 }
 
@@ -141,12 +332,14 @@ p:focus {
 
 .bstatus {
 
-  font-size: 20px;
+  /* font-size: 20px; */
   font-weight: bold;
   color: #444444;
 
+  /*
   border: solid 2px #888888;
   box-shadow: 3px 3px 0px #aaaaaa;
+  */
 
 }
 
@@ -157,14 +350,17 @@ p:focus {
 
 .bdrop {
 
-  /* font-size: 15px; */
+  /*
   font-size: 19px;
+  */
   font-weight: bold;
   color: #444444;
 
   background: none;
+  /*
   border: solid 2px #888888;
   box-shadow: 3px 3px 0px #aaaaaa;
+  */
 
 }
 
@@ -175,13 +371,15 @@ p:focus {
 
 .bdropinp {
 
-  font-size: 22px;
+  /* font-size: 22px; */
   font-weight: bold;
   color: #444444;
 
   background: none;
+  /*
   border: solid 2px #888888;
   box-shadow: 3px 3px 0px #aaaaaa;
+  */
 
   -webkit-transition: margin-left 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
   -moz-transition: margin-left 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
@@ -213,11 +411,6 @@ p:focus {
   margin-left:9px;
   background: #aaaaaa;
 
-  /*
-  -webkit-transition: margin-left 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
-  -moz-transition: margin-left 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
-  transition: margin-left 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
-  */
   -webkit-transition: margin-left 0.05s ease, box-shadow 0.05s ease, background 0.05s ease;
   -moz-transition: margin-left 0.05s ease, box-shadow 0.05s ease, background 0.05s ease;
   transition: margin-left 0.05s ease, box-shadow 0.05s ease, background 0.05s ease;
@@ -229,60 +422,28 @@ p:focus {
 
 /***********/
 
-.bkey {
-  width: 75px;
-  height:75px;
-}
-
 .bkey:focus {
   outline:0;
 }
 
-/*
-.bkey {
-  width: 58px;
-  height:58px;
-}
-*/
-
-.bkeym {
-  width: 100px;
-  height:58px;
-}
-
 .bkeym:focus {
   outline:0;
 }
 
 /*****/
 
-.bkeyw {
-  width: 150px;
-  height:58px;
-}
-
 .bkeyw:focus {
   outline:0;
 }
 
 /*****/
 
-.bkeyHuge {
-  width: 300px;
-  height:300px;
-}
-
 .bkeyHuge:focus {
   outline:0;
 }
 
 /*****/
 
-.bfieldinp {
-  width: 150px;
-  height: 58px;
-}
-
 .bfieldinp:focus {
   outline:0;
 }
@@ -291,32 +452,39 @@ p:focus {
 
 .btnprv {
   position: absolute;
+  /*
   left: 83%;
   top: 5%;
+  */
+
+  left: 75vw;
+  top: 5vh;
 }
 
 .btnnxt {
   position: absolute;
+
+  /*
   left: 83%;
   top: 35%;
+  */
+
+  left: 75vw;
+  top: 30vh;
 }
 
 #mainstatus {
-
   font-family: "Courier New";
   font-weight:bold;
   color: #d7d644;
-  font-size: 16px;
+  /* font-size: 16px; */
 
   position:absolute;
   bottom:0;
   width:110%;
-  height:25px;
+  height: 5%;
   background:#555555;
-  /* margin:0; */
   margin-left:-35px;
-  /* margin-top:5px; */
-  /* padding:0; */
 }
 
 /*****/
@@ -334,11 +502,11 @@ p:focus {
 /** **/
 
 .invisiblock {
-  /* background: rgba(255,0,0,0.5); */
   background-color: rgba(0,0,0,0);
-  /* background-color: rgba(255,0,0,0.5); */
+  /*
   width: 100px;
   height: 100px;
+  */
   border: none !important;
   font-size: 0;
 

+ 72 - 46
busunit/DIUv2/html/index-ORG.html

@@ -1,3 +1,25 @@
+<!--
+
+  Copyright (c) 2019 Clementine Computing LLC.
+
+  This file is part of PopuFare.
+
+  PopuFare is free software: you can redistribute it and/or modify
+  it under the terms of the GNU Affero General Public License as published by
+  the Free Software Foundation, either version 3 of the License, or
+  (at your option) any later version.
+
+  PopuFare is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+  GNU Affero General Public License for more details.
+
+  You should have received a copy of the GNU Affero General Public License
+  along with PopuFare.  If not, see <https://www.gnu.org/licenses/>.
+
+-->
+
+<meta charset='utf-8'/>
 <html>
 
   <head>
@@ -60,7 +82,7 @@ Package    Version        Installed
 
       <br>
 
-      <div class='pure-g row'>
+      <div class='pure-g row4'>
 
         <div class='pure-u-1-3 col'> <button onmousedown='_beep();' class='bdropinp bkeyw' id='ui_diagnostic_mainscreen'>Main Screen</button> </div>
         <div class='pure-u-1-3 col'> <button onmousedown='_beep();' class='bdropinp bkeyw' id='ui_diagnostic_reset'>Reset</button> </div>
@@ -68,7 +90,7 @@ Package    Version        Installed
 
       </div>
 
-      <div class='pure-g row'>
+      <div class='pure-g row4'>
 
         <div class='pure-u-1-3 col'> <button onmousedown='_beep();' class='bdropinp bkeyw' id='ui_diagnostic_custom0'>Custom 0</button> </div>
         <div class='pure-u-1-3 col'> <button onmousedown='_beep();' class='bdropinp bkeyw' id='ui_diagnostic_custom1'>Custom 1</button> </div>
@@ -104,7 +126,7 @@ Diagnostic window...
 
       <br>
 
-      <div class='pure-g row'>
+      <div class='pure-g row4'>
 
         <div class='pure-u-1-6 col'> <button onmousedown='_beep();' class='bdropinp bkey ltyellow' id='ui_driver_1'>1</button> </div>
         <div class='pure-u-1-6 col'> <button onmousedown='_beep();' class='bdropinp bkey ltyellow' id='ui_driver_2'>2</button> </div>
@@ -120,7 +142,7 @@ Diagnostic window...
 
       <br>
 
-      <div class='pure-g row'>
+      <div class='pure-g row4'>
 
         <div class='pure-u-1-6 col'> <button onmousedown='_beep();' class='bdropinp bkey ltyellow' id='ui_driver_4'>4</button> </div>
         <div class='pure-u-1-6 col'> <button onmousedown='_beep();' class='bdropinp bkey ltyellow' id='ui_driver_5'>5</button> </div>
@@ -138,7 +160,7 @@ Diagnostic window...
 
       <br>
 
-      <div class='pure-g row'>
+      <div class='pure-g row4'>
 
         <div class='pure-u-1-6 col'> <button onmousedown='_beep();' class='bdropinp bkey ltyellow' id='ui_driver_7'>7</button> </div>
         <div class='pure-u-1-6 col'> <button onmousedown='_beep();' class='bdropinp bkey ltyellow' id='ui_driver_8'>8</button> </div>
@@ -151,7 +173,7 @@ Diagnostic window...
 
       <br>
 
-      <div class='pure-g row'>
+      <div class='pure-g row4'>
 
         <div class='pure-u-1-6 col'> <button onmousedown='_beep();' class='bdropinp bkey ltyellow' id='ui_driver_clr'>Clr</button> </div>
         <div class='pure-u-1-6 col'> <button onmousedown='_beep();' class='bdropinp bkey ltyellow' id='ui_driver_0'>0</button> </div>
@@ -218,7 +240,7 @@ Diagnostic window...
 
       <br>
 
-      <div class='pure-g row'>
+      <div class='pure-g row4'>
 
         <div class='pure-u-1-6 col'> <button onmousedown='_beep();' class='bdropinp bkey ltyellow' id='ui_paddle_1'>1</button> </div>
         <div class='pure-u-1-6 col'> <button onmousedown='_beep();' class='bdropinp bkey ltyellow' id='ui_paddle_2'>2</button> </div>
@@ -237,7 +259,7 @@ Diagnostic window...
 
       <br>
 
-      <div class='pure-g row'>
+      <div class='pure-g row4'>
         <div class='pure-u-1-6 col'> <button onmousedown='_beep();' class='bdropinp bkey ltyellow' id='ui_paddle_4'>4</button> </div>
         <div class='pure-u-1-6 col'> <button onmousedown='_beep();' class='bdropinp bkey ltyellow' id='ui_paddle_5'>5</button> </div>
         <div class='pure-u-1-6 col'> <button onmousedown='_beep();' class='bdropinp bkey ltyellow' id='ui_paddle_6'>6</button> </div>
@@ -245,7 +267,7 @@ Diagnostic window...
 
       <br>
 
-      <div class='pure-g row'>
+      <div class='pure-g row4'>
 
         <div class='pure-u-1-6 col'> <button onmousedown='_beep();' class='bdropinp bkey ltyellow' id='ui_paddle_7'>7</button> </div>
         <div class='pure-u-1-6 col'> <button onmousedown='_beep();' class='bdropinp bkey ltyellow' id='ui_paddle_8'>8</button> </div>
@@ -258,7 +280,7 @@ Diagnostic window...
 
       <br>
 
-      <div class='pure-g row'>
+      <div class='pure-g row4'>
 
         <div class='pure-u-1-6 col'> <button onmousedown='_beep();' class='bdropinp bkey ltyellow' id='ui_paddle_clr'>Clr</button> </div>
         <div class='pure-u-1-6 col'> <button onmousedown='_beep();' class='bdropinp bkey ltyellow' id='ui_paddle_0'>0</button> </div>
@@ -332,22 +354,22 @@ Diagnostic window...
 
     <div id='ui_main' style='display:none;'>
 
-      <div class='pure-g row'>
+      <div class='pure-g row4'>
 
         <button class='invisiblock' id='ui_main_blockwindow'> </button>
 
-<textarea
-  wrap=""
-  class='statusmain'
-  type='textarea'
-  id='ui_main_status'
-  rows='10'
-  cols='40'
-  onselect='return false;'
-  unselectable='on'
-  disabled readonly>
-...
-</textarea>
+        <textarea
+          wrap=""
+          class='statusmain'
+          type='textarea'
+          id='ui_main_status'
+          rows='10'
+          cols='40'
+          onselect='return false;'
+          unselectable='on'
+          disabled readonly>
+        ...
+        </textarea>
 
         <!-- <div class='pure-u-1-2 col'> <button onmousedown='_beep();' class='bstatus' id='ui_main_status'>status...</button> </div> -->
 
@@ -356,11 +378,15 @@ Diagnostic window...
       <div class='pure-u-1-6 col'> <button onmousedown='_beep();' class='bdropinp bkey btnprv' id='ui_main_prv'>PRV</button> </div>
       <div class='pure-u-1-6 col'> <button onmousedown='_beep();' class='bdropinp bkey btnnxt' id='ui_main_nxt'>NXT</button> </div>
 
-      <div class='pure-g row'></div>
+      <!-- <div id='ok0' style='height:35%;' class='pure-g row'> -->
+      <div class='pure-g row4'>
+        <div class='pure-u col'> <div style='height:10%;'></div> </div>
+      </div>
+
+      <div class='pure-g row' style='height:10vh;'></div>
       <!-- <div class='pure-g row'></div> -->
-      <div style='height:85;'></div>
 
-      <div class='pure-g row'>
+      <div class='pure-g row4'>
 
         <div class='pure-u-1-4 col'> <button onmousedown='_beep();' class='bdropinp bkeym mny' id='ui_main_adult'>Adult $</button> </div>
         <div class='pure-u-1-4 col'> <button onmousedown='_beep();' class='bdropinp bkeym mny' id='ui_main_youth'>Youth $</button> </div>
@@ -369,7 +395,7 @@ Diagnostic window...
 
       </div>
 
-      <div class='pure-g row'>
+      <div class='pure-g row4'>
 
         <div class='pure-u-1-4 col'> <button onmousedown='_beep();' class='bdropinp bkeym mny' id='ui_main_bike'>Bike</button> </div>
         <div class='pure-u-1-4 col'> <button onmousedown='_beep();' class='bdropinp bkeym mny' id='ui_main_wheelchair'>Wheel Chair</button> </div>
@@ -393,12 +419,12 @@ Diagnostic window...
 
       <br>
 
-      <div class='pure-g row'>
+      <div class='pure-g row4'>
 
         <div class='pure-u-1-4 col'> <button onmousedown='_beep();' class='bdropinp bkeym highlight' id='ui_bulk_misc'>$ + Misc</button> </div>
         <div class='pure-u-1-4 col'> <button onmousedown='_beep();' class='bdropinp bkeym' id='ui_bulk_passes'>Passes</button> </div>
         <div class='pure-u-1-4 col'> <button onmousedown='_beep();' class='bdropinp bkeym' id='ui_bulk_menu'>Main Menu</button> </div>
-        <div class='pure-u-1-4 col'> <button onmousedown='_beep();' class='bdisp' style='font-size:30px;'>BULK</button> </div>
+        <div class='pure-u-1-4 col'> <button onmousedown='_beep();' class='bdisp' style='font-size:7vh;'>BULK</button> </div>
 
       </div>
 
@@ -408,16 +434,16 @@ Diagnostic window...
 
       <div id='ui_bulk_misc_tab' style='display:block;'>
 
-        <div class='pure-g row'>
+        <div class='pure-g row4'>
           <div class='pure-u-1-3 col'> <button onmousedown='_beep();' class='bdropinp bkeyw mny' id='ui_bulk_adult'>Adult $</button> </div>
           <div class='pure-u-1-3 col'> <button onmousedown='_beep();' class='bdropinp bkeyw mny' id='ui_bulk_youth'>Youth $</button> </div>
           <div class='pure-u-1-3 col'> <button onmousedown='_beep();' class='bdropinp bkeyw mny' id='ui_bulk_half'>Half $</button> </div>
         </div>
 
-        <div class='pure-g row'></div>
+        <div class='pure-g row4'></div>
 
 
-        <div class='pure-g row'>
+        <div class='pure-g row4'>
           <div class='pure-u-1-3 col'> <button onmousedown='_beep();' class='bdropinp bkeyw mny' id='ui_bulk_event'>Event</button> </div>
           <div class='pure-u-1-3 col'> <button onmousedown='_beep();' class='bdropinp bkeyw mny' id='ui_bulk_transfer'>X-fer</button> </div>
           <div class='pure-u-1-3 col'> <button onmousedown='_beep();' class='bdropinp bkeyw mny' id='ui_bulk_interline'>InterLine</button> </div>
@@ -427,15 +453,15 @@ Diagnostic window...
 
       <div id='ui_bulk_passes_tab' style='display:none;'>
 
-        <div class='pure-g row'>
+        <div class='pure-g row4'>
           <div class='pure-u-1-3 col'> <button onmousedown='_beep();' class='bdropinp bkeyw mny' id='ui_bulk_schoola'>SchoolA ID</button> </div>
           <div class='pure-u-1-3 col'> <button onmousedown='_beep();' class='bdropinp bkeyw mny' id='ui_bulk_schoolb'>SchoolB ID</button> </div>
           <div class='pure-u-1-3 col'> <button onmousedown='_beep();' class='bdropinp bkeyw mny' id='ui_bulk_schoolc'>SchoolC ID</button> </div>
         </div>
 
-        <div class='pure-g row'></div>
+        <div class='pure-g row4'></div>
 
-        <div class='pure-g row'>
+        <div class='pure-g row4'>
           <div class='pure-u-1-3 col'> <button onmousedown='_beep();' class='bdropinp bkeyw mny' id='ui_bulk_orga'>Org A ID</button> </div>
           <div class='pure-u-1-3 col'> <button onmousedown='_beep();' class='bdropinp bkeyw mny' id='ui_bulk_orgb'>Org B ID</button> </div>
           <div class='pure-u-1-3 col'> <button onmousedown='_beep();' class='bdropinp bkeyw mny' id='ui_bulk_orgc'>Org C ID</button> </div>
@@ -460,7 +486,7 @@ Diagnostic window...
 
       <br>
 
-      <div class='pure-g row'>
+      <div class='pure-g row4'>
 
         <div class='pure-u-1-6 col'> <button onmousedown='_beep();' class='bdropinp bkey ltyellow' id='ui_bulkaccept_1'>1</button> </div>
         <div class='pure-u-1-6 col'> <button onmousedown='_beep();' class='bdropinp bkey ltyellow' id='ui_bulkaccept_2'>2</button> </div>
@@ -478,7 +504,7 @@ Diagnostic window...
 
       <br>
 
-      <div class='pure-g row'>
+      <div class='pure-g row4'>
 
         <div class='pure-u-1-6 col'> <button onmousedown='_beep();' class='bdropinp bkey ltyellow' id='ui_bulkaccept_4'>4</button> </div>
         <div class='pure-u-1-6 col'> <button onmousedown='_beep();' class='bdropinp bkey ltyellow' id='ui_bulkaccept_5'>5</button> </div>
@@ -494,7 +520,7 @@ Diagnostic window...
 
       <br>
 
-      <div class='pure-g row'>
+      <div class='pure-g row4'>
 
         <div class='pure-u-1-6 col'> <button onmousedown='_beep();' class='bdropinp bkey ltyellow' id='ui_bulkaccept_7'>7</button> </div>
         <div class='pure-u-1-6 col'> <button onmousedown='_beep();' class='bdropinp bkey ltyellow' id='ui_bulkaccept_8'>8</button> </div>
@@ -507,7 +533,7 @@ Diagnostic window...
 
       <br>
 
-      <div class='pure-g row'>
+      <div class='pure-g row4'>
 
         <div class='pure-u-1-6 col'> <button onmousedown='_beep();' class='bdropinp bkey ltyellow' id='ui_bulkaccept_clr'>Clr</button> </div>
         <div class='pure-u-1-6 col'> <button onmousedown='_beep();' class='bdropinp bkey ltyellow' id='ui_bulkaccept_0'>0</button> </div>
@@ -534,7 +560,7 @@ Diagnostic window...
 
       <br>
 
-      <div class='pure-g row'>
+      <div class='pure-g row4'>
 
         <div class='pure-u-1-4 col'> <button onmousedown='_beep();' class='bdropinp bkeym highlight' id='ui_fareoverride_misc'>$ + Misc</button> </div>
         <div class='pure-u-1-4 col'> <button onmousedown='_beep();' class='bdropinp bkeym' id='ui_fareoverride_passes'>Passes</button> </div>
@@ -549,21 +575,21 @@ Diagnostic window...
 
       <div id='ui_fareoverride_misc_tab' style='display:block;'>
 
-        <div class='pure-g row'>
+        <div class='pure-g row4'>
           <div class='pure-u-1-3 col'> <button onmousedown='_beep();' class='bdropinp bkeyw mny' id='ui_fareoverride_adult'>Adult $</button> </div>
           <div class='pure-u-1-3 col'> <button onmousedown='_beep();' class='bdropinp bkeyw mny' id='ui_fareoverride_youth'>Youth $</button> </div>
           <div class='pure-u-1-3 col'> <button onmousedown='_beep();' class='bdropinp bkeyw mny' id='ui_fareoverride_half'>Half $</button> </div>
         </div>
 
 
-        <div class='pure-g row'>
+        <div class='pure-g row4'>
           <div class='pure-u-1-3 col'> <button onmousedown='_beep();' class='bdropinp bkeyw mny' id='ui_fareoverride_bike'>Bike</button> </div>
           <div class='pure-u-1-3 col'> <button onmousedown='_beep();' class='bdropinp bkeyw mny' id='ui_fareoverride_wheelchair'>Wheel Chair</button> </div>
           <div class='pure-u-1-3 col'> <button onmousedown='_beep();' class='bdropinp bkeyw mny' id='ui_fareoverride_transfer'>X-fer</button> </div>
         </div>
 
 
-        <div class='pure-g row'>
+        <div class='pure-g row4'>
           <div class='pure-u-1-3 col'> </div>
           <div class='pure-u-1-3 col'> <button onmousedown='_beep();' class='bdropinp bkeyw mny' id='ui_fareoverride_event'>Event</button> </div>
           <div class='pure-u-1-3 col'> <button onmousedown='_beep();' class='bdropinp bkeyw mny' id='ui_fareoverride_interline'>Interline</button> </div>
@@ -573,15 +599,15 @@ Diagnostic window...
 
       <div id='ui_fareoverride_passes_tab' style='display:none;'>
 
-        <div class='pure-g row'>
+        <div class='pure-g row4'>
           <div class='pure-u-1-3 col'> <button onmousedown='_beep();' class='bdropinp bkeyw mny' id='ui_fareoverride_schoola'>SchoolA ID</button> </div>
           <div class='pure-u-1-3 col'> <button onmousedown='_beep();' class='bdropinp bkeyw mny' id='ui_fareoverride_schoolb'>SchoolB ID</button> </div>
           <div class='pure-u-1-3 col'> <button onmousedown='_beep();' class='bdropinp bkeyw mny' id='ui_fareoverride_schoolc'>SchoolC ID</button> </div>
         </div>
 
-        <div class='pure-g row'></div>
+        <div class='pure-g row4'></div>
 
-        <div class='pure-g row'>
+        <div class='pure-g row4'>
           <div class='pure-u-1-3 col'> <button onmousedown='_beep();' class='bdropinp bkeyw mny' id='ui_fareoverride_orga'>OrgA ID</button> </div>
           <div class='pure-u-1-3 col'> <button onmousedown='_beep();' class='bdropinp bkeyw mny' id='ui_fareoverride_orgb'>OrgB ID</button> </div>
           <div class='pure-u-1-3 col'> <button onmousedown='_beep();' class='bdropinp bkeyw mny' id='ui_fareoverride_orgc'>OrgC</button> </div>

+ 40 - 26
busunit/DIUv2/html/js/diu_ui-ORG.js

@@ -75,7 +75,10 @@ function _api_request(action, param, cb_ok, cb_fail, cb_neterr) {
   var param_name = [], param_val = [];
 
   var req = new XMLHttpRequest();
-  //var url = _URL + ":" + _PORT + "/req";
+
+  // Firefox gets testy about parsing assumed XML
+  //
+  req.overrideMimeType("text/plain");
   var url =  "/req";
   var varstr = "action=" + action;
 
@@ -89,6 +92,7 @@ function _api_request(action, param, cb_ok, cb_fail, cb_neterr) {
   }
 
   req.onreadystatechange = function() {
+
     if (req.readyState == 4) {
       if (req.status == 200) {
 
@@ -743,35 +747,39 @@ function ui_pattern_mousedown(ev) {
   return false;
 
 
-  if (ui_pattern.state == "idle") {
-
-    if ((x < (width/4)) && (y < (height/4))) {
-      ui_pattern.state = "cross_0_start";
-    }
-    else {
-      ui_pattern.state = "idle"
-    }
-
-  }
-  else if (ui_pattern.state == "cross_0_end") {
-
-    if ((x > (3*width/4)) && (y < (height/4))) {
-      ui_pattern.state = "cross_1_start";
-    }
-    else {
-      ui_pattern.state = "idle"
-    }
-
-  }
-  else {
-    ui_pattern.state = "idle";
-  }
+//  if (ui_pattern.state == "idle") {
+//
+//    if ((x < (width/4)) && (y < (height/4))) {
+//      ui_pattern.state = "cross_0_start";
+//    }
+//    else {
+//      ui_pattern.state = "idle"
+//    }
+//
+//  }
+//  else if (ui_pattern.state == "cross_0_end") {
+//
+//    if ((x > (3*width/4)) && (y < (height/4))) {
+//      ui_pattern.state = "cross_1_start";
+//    }
+//    else {
+//      ui_pattern.state = "idle"
+//    }
+//
+//  }
+//  else {
+//    ui_pattern.state = "idle";
+//  }
+//
+//  return false;
 
-  return false;
 }
 
 function ui_pattern_mouseup(ev) {
   return false;
+}
+
+function __ui_pattern_mouseup_depricated(ev) {
 
   var ele = document.getElementById("body");
   var rect = ele.getBoundingClientRect();
@@ -784,6 +792,8 @@ function ui_pattern_mouseup(ev) {
 
   if (ui_pattern.state == "cross_0_start") {
 
+    console.log("cp0");
+
     if ((x > (3*width/4)) && (y > (3*height/4))) {
       ui_pattern.state = "cross_0_end";
     }
@@ -792,8 +802,12 @@ function ui_pattern_mouseup(ev) {
     }
 
   }
+
   else if (ui_pattern.state == "cross_1_start") {
 
+    console.log("cp1");
+
+
     if ((x < (width/4)) && (y > (3*height/4))) {
       _switch_ui("ui_diagnostic");
     }
@@ -1084,7 +1098,7 @@ function init() {
   ele.onmousedown = ui_pattern_mousedown;
   ele.onmouseup = ui_pattern_mouseup;
 
-  g_snd.button_press = new Audio("assets/459992_florianreichelt_beep_short.wav");
+  g_snd.button_press = new Audio("assets/459992_florianreichelt_beep_short.mp3");
 
 }
 

+ 2 - 2
busunit/common/common_config.h

@@ -508,11 +508,11 @@
 #ifdef TARGET_DEVEL_DESKTOP
     #define SUPERVISOR_WARN_LOW_MEM    (4096)    //Warn if free memory goes below this threshold
     #define SUPERVISOR_WARN_LOAD_AVG    (2.0f)    //Warn if our 5 minute load average goes above this threshold
-    #define SUPERVISOR_WARN_NUM_PROC    (256)    //Warn if there are more than this many processes 
+    #define SUPERVISOR_WARN_NUM_PROC    (2048)    //Warn if there are more than this many processes 
 #else
     #define SUPERVISOR_WARN_LOW_MEM    (4096)    //Warn if free memory goes below this threshold
     #define SUPERVISOR_WARN_LOAD_AVG    (2.0f)    //Warn if our 5 minute load average goes above this threshold
-    #define SUPERVISOR_WARN_NUM_PROC    (100)    //Warn if there are more than this many processes 
+    #define SUPERVISOR_WARN_NUM_PROC    (1024)    //Warn if there are more than this many processes 
 #endif
 
 //Which types of log entries should be sent to the server via the billing log?