svghmi/gen_index_xhtml.xslt
branchpython3
changeset 3854 d29d67e86532
parent 3711 f68449d64d1c
parent 3837 efe0b5b21842
child 3877 ecb947e5bbb4
equal deleted inserted replaced
3853:e1cfb03e6582 3854:d29d67e86532
  2168 </xsl:text>
  2168 </xsl:text>
  2169     <xsl:text>        let [new_val, old_val] = this.incoming[index];
  2169     <xsl:text>        let [new_val, old_val] = this.incoming[index];
  2170 </xsl:text>
  2170 </xsl:text>
  2171     <xsl:text>        this.incoming[index] = undefined;
  2171     <xsl:text>        this.incoming[index] = undefined;
  2172 </xsl:text>
  2172 </xsl:text>
  2173     <xsl:text>        // TODO: add timestamp argument to dispatch, so that defered data do not appear wrong on graphs
       
  2174 </xsl:text>
       
  2175     <xsl:text>        this.lastdispatch[index] = Date.now();
  2173     <xsl:text>        this.lastdispatch[index] = Date.now();
  2176 </xsl:text>
  2174 </xsl:text>
  2177     <xsl:text>        this.do_dispatch(new_val, old_val, index);
  2175     <xsl:text>        this.do_dispatch(new_val, old_val, index);
  2178 </xsl:text>
  2176 </xsl:text>
  2179     <xsl:text>    }
  2177     <xsl:text>    }
  9271 </xsl:text>
  9269 </xsl:text>
  9272     <xsl:text>        let time = Date.now();
  9270     <xsl:text>        let time = Date.now();
  9273 </xsl:text>
  9271 </xsl:text>
  9274     <xsl:text>
  9272     <xsl:text>
  9275 </xsl:text>
  9273 </xsl:text>
  9276     <xsl:text>        console.log("dispatch(",value,oldval, index, time);
       
  9277 </xsl:text>
       
  9278     <xsl:text>        // naive local buffer impl. 
  9274     <xsl:text>        // naive local buffer impl. 
  9279 </xsl:text>
  9275 </xsl:text>
  9280     <xsl:text>        // data is updated only when graph is visible
  9276     <xsl:text>        // data is updated only when graph is visible
  9281 </xsl:text>
  9277 </xsl:text>
  9282     <xsl:text>        // TODO: replace with separate recording
  9278     <xsl:text>        // TODO: replace with separate recording
 10983 </xsl:text>
 10979 </xsl:text>
 10984           <xsl:text>                }
 10980           <xsl:text>                }
 10985 </xsl:text>
 10981 </xsl:text>
 10986           <xsl:text>
 10982           <xsl:text>
 10987 </xsl:text>
 10983 </xsl:text>
 10988           <xsl:text>                if (re.numeric_arg.test(ph.type) &amp;&amp; (typeof arg !== 'number' &amp;&amp; isNaN(arg))) {
 10984           <xsl:text>                if (re.numeric_arg.test(ph.type)){
 10989 </xsl:text>
 10985 </xsl:text>
 10990           <xsl:text>                    throw new TypeError(sprintf('[sprintf] expecting number but found %T', arg))
 10986           <xsl:text>                    let argtype = typeof arg;
       
 10987 </xsl:text>
       
 10988           <xsl:text>                    if ( argtype !== 'bigint') {
       
 10989 </xsl:text>
       
 10990           <xsl:text>                        if ( argtype !== 'number' &amp;&amp; isNaN(arg) ) {
       
 10991 </xsl:text>
       
 10992           <xsl:text>                            throw new TypeError(sprintf('[sprintf] expecting number but found %T', arg))
       
 10993 </xsl:text>
       
 10994           <xsl:text>                        }
       
 10995 </xsl:text>
       
 10996           <xsl:text>                    }
 10991 </xsl:text>
 10997 </xsl:text>
 10992           <xsl:text>                }
 10998           <xsl:text>                }
 10993 </xsl:text>
 10999 </xsl:text>
 10994           <xsl:text>
 11000           <xsl:text>
 10995 </xsl:text>
 11001 </xsl:text>
 11479 </xsl:text>
 11485 </xsl:text>
 11480           <xsl:text>
 11486           <xsl:text>
 11481 </xsl:text>
 11487 </xsl:text>
 11482           <xsl:text>const dvgetters = {
 11488           <xsl:text>const dvgetters = {
 11483 </xsl:text>
 11489 </xsl:text>
 11484           <xsl:text>    INT: (dv,offset) =&gt; [dv.getInt16(offset, true), 2],
 11490           <xsl:text>    SINT:  (dv,offset) =&gt; [dv.getInt8(offset, true), 1],
 11485 </xsl:text>
 11491 </xsl:text>
 11486           <xsl:text>    BOOL: (dv,offset) =&gt; [dv.getInt8(offset, true), 1],
 11492           <xsl:text>    INT:   (dv,offset) =&gt; [dv.getInt16(offset, true), 2],
 11487 </xsl:text>
 11493 </xsl:text>
 11488           <xsl:text>    NODE: (dv,offset) =&gt; [dv.getInt8(offset, true), 1],
 11494           <xsl:text>    DINT:  (dv,offset) =&gt; [dv.getInt32(offset, true), 4],
 11489 </xsl:text>
 11495 </xsl:text>
 11490           <xsl:text>    REAL: (dv,offset) =&gt; [dv.getFloat32(offset, true), 4],
 11496           <xsl:text>    LINT:  (dv,offset) =&gt; [dv.getBigInt64(offset, true), 8],
       
 11497 </xsl:text>
       
 11498           <xsl:text>    USINT: (dv,offset) =&gt; [dv.getUint8(offset, true), 1],
       
 11499 </xsl:text>
       
 11500           <xsl:text>    UINT:  (dv,offset) =&gt; [dv.getUint16(offset, true), 2],
       
 11501 </xsl:text>
       
 11502           <xsl:text>    UDINT: (dv,offset) =&gt; [dv.getUint32(offset, true), 4],
       
 11503 </xsl:text>
       
 11504           <xsl:text>    ULINT: (dv,offset) =&gt; [dv.getBigUint64(offset, true), 8],
       
 11505 </xsl:text>
       
 11506           <xsl:text>    BOOL:  (dv,offset) =&gt; [dv.getInt8(offset, true), 1],
       
 11507 </xsl:text>
       
 11508           <xsl:text>    NODE:  (dv,offset) =&gt; [dv.getInt8(offset, true), 1],
       
 11509 </xsl:text>
       
 11510           <xsl:text>    REAL:  (dv,offset) =&gt; [dv.getFloat32(offset, true), 4],
 11491 </xsl:text>
 11511 </xsl:text>
 11492           <xsl:text>    STRING: (dv, offset) =&gt; {
 11512           <xsl:text>    STRING: (dv, offset) =&gt; {
 11493 </xsl:text>
 11513 </xsl:text>
 11494           <xsl:text>        const size = dv.getInt8(offset);
 11514           <xsl:text>        const size = dv.getInt8(offset);
 11495 </xsl:text>
 11515 </xsl:text>
 11715 </xsl:text>
 11735 </xsl:text>
 11716           <xsl:text>
 11736           <xsl:text>
 11717 </xsl:text>
 11737 </xsl:text>
 11718           <xsl:text>const typedarray_types = {
 11738           <xsl:text>const typedarray_types = {
 11719 </xsl:text>
 11739 </xsl:text>
       
 11740           <xsl:text>    SINT: (number) =&gt; new Int8Array([number]),
       
 11741 </xsl:text>
 11720           <xsl:text>    INT: (number) =&gt; new Int16Array([number]),
 11742           <xsl:text>    INT: (number) =&gt; new Int16Array([number]),
       
 11743 </xsl:text>
       
 11744           <xsl:text>    DINT: (number) =&gt; new Int32Array([number]),
       
 11745 </xsl:text>
       
 11746           <xsl:text>    LINT: (number) =&gt; new Int64Array([number]),
       
 11747 </xsl:text>
       
 11748           <xsl:text>    USINT: (number) =&gt; new Uint8Array([number]),
       
 11749 </xsl:text>
       
 11750           <xsl:text>    UINT: (number) =&gt; new Uint16Array([number]),
       
 11751 </xsl:text>
       
 11752           <xsl:text>    UDINT: (number) =&gt; new Uint32Array([number]),
       
 11753 </xsl:text>
       
 11754           <xsl:text>    ULINT: (number) =&gt; new Uint64Array([number]),
 11721 </xsl:text>
 11755 </xsl:text>
 11722           <xsl:text>    BOOL: (truth) =&gt; new Int8Array([truth]),
 11756           <xsl:text>    BOOL: (truth) =&gt; new Int8Array([truth]),
 11723 </xsl:text>
 11757 </xsl:text>
 11724           <xsl:text>    NODE: (truth) =&gt; new Int8Array([truth]),
 11758           <xsl:text>    NODE: (truth) =&gt; new Int8Array([truth]),
 11725 </xsl:text>
 11759 </xsl:text>