Template:DeviceTypeName: Difference between revisions

From RadiWiki
Jump to navigation Jump to search
No edit summary
No edit summary
 
(17 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{#switch:{{{1|0}}}
<!-- First check for specific single values (no combination) -->{{#switch: {{{1|0}}}
|1=Signal Generator|2=Amplifier|4=Coupler|8=Power Meter|16=Antenna|32=Field Sensor|64=AD Converter|128=Injection Device|256=Current Sensor|512=Spectrum Analyser|1024=LISN|2048=Calibration Jig|4096=Turn Table|8192=Output Box|16384=Cable|32768=Pre-Amplifier|65536=Climat Chamber|131072=Antenna Tower|262144=ESD Generator|524288=EFT Burst Generator|1048576=Surge Generator|2097152=Absorbing Clamp|4194304=Clamp Positioner|8388608=Switch Matrix|16777216=EUT Controller|33554432=Oscilloscope|67108864=Resistor|134217728=Multimeter|268435456=Network Analyser|536870912=Modulation Source|1073741824=Voltage, dips and interrupts generator}}
| 1073741825 = [[Stirrer]]
{{#ifeq:{{HasBitValueSet|{{{1|0}}}|1}}|1|Signal Generator}}
| 1073741826 = [[Auxiliary Equipment]]
<noinclude>
| #default =
Converts the numeric value of a [[DeviceDriverType]] into a nice name
  <!-- Fallback: always apply bitmask logic -->
  {{CombineWithSeperator<!--
    -->|{{#ifeq:{{HasBitValueSet|{{{1|0}}}|1}}|1|[[Signal Generator]]}}<!--
    -->|,&nbsp;<!--
    -->|{{#ifeq:{{HasBitValueSet|{{{1|0}}}|2}}|1|[[Amplifier]]}}<!--
    -->|{{#ifeq:{{HasBitValueSet|{{{1|0}}}|4}}|1|[[Coupler]]}}<!--
    -->|{{#ifeq:{{HasBitValueSet|{{{1|0}}}|8}}|1|[[Power Meter]]}}<!--
    -->|{{#ifeq:{{HasBitValueSet|{{{1|0}}}|16}}|1|[[Antenna]]}}<!--
    -->|{{#ifeq:{{HasBitValueSet|{{{1|0}}}|32}}|1|[[Field Sensor]]}}<!--
    -->|{{#ifeq:{{HasBitValueSet|{{{1|0}}}|64}}|1|[[AD Converter]]}}<!--
    -->|{{#ifeq:{{HasBitValueSet|{{{1|0}}}|128}}|1|[[Injection Device]]}}<!--
    -->|{{#ifeq:{{HasBitValueSet|{{{1|0}}}|256}}|1|[[Current Sensor]]}}<!--
    -->|{{#ifeq:{{HasBitValueSet|{{{1|0}}}|512}}|1|[[Spectrum Analyser]]}}<!--
    -->|{{#ifeq:{{HasBitValueSet|{{{1|0}}}|1024}}|1|[[LISN]]}}<!--
    -->|{{#ifeq:{{HasBitValueSet|{{{1|0}}}|2048}}|1|[[Calibration Jig]]}}<!--
    -->|{{#ifeq:{{HasBitValueSet|{{{1|0}}}|4096}}|1|[[Turn Table]]}}<!--
    -->|{{#ifeq:{{HasBitValueSet|{{{1|0}}}|8192}}|1|[[Output Box]]}}<!--
    -->|{{#ifeq:{{HasBitValueSet|{{{1|0}}}|16384}}|1|[[Cable]]}}<!--
    -->|{{#ifeq:{{HasBitValueSet|{{{1|0}}}|32768}}|1|[[Pre-Amplifier]]}}<!--
    -->|{{#ifeq:{{HasBitValueSet|{{{1|0}}}|65536}}|1|[[Climat Chamber]]}}<!--
    -->|{{#ifeq:{{HasBitValueSet|{{{1|0}}}|131072}}|1|[[Antenna Tower]]}}<!--
    -->|{{#ifeq:{{HasBitValueSet|{{{1|0}}}|262144}}|1|[[ESD Generator]]}}<!--
    -->|{{#ifeq:{{HasBitValueSet|{{{1|0}}}|524288}}|1|[[EFT Generator]]}}<!--
    -->|{{#ifeq:{{HasBitValueSet|{{{1|0}}}|1048576}}|1|[[Surge Generator]]}}<!--
    -->|{{#ifeq:{{HasBitValueSet|{{{1|0}}}|2097152}}|1|[[Absorbing Clamp]]}}<!--
    -->|{{#ifeq:{{HasBitValueSet|{{{1|0}}}|4194304}}|1|[[Positioner]]}}<!--
    -->|{{#ifeq:{{HasBitValueSet|{{{1|0}}}|8388608}}|1|[[Switch Matrix]]}}<!--
    -->|{{#ifeq:{{HasBitValueSet|{{{1|0}}}|16777216}}|1|[[EUT Controller]]}}<!--
    -->|{{#ifeq:{{HasBitValueSet|{{{1|0}}}|33554432}}|1|[[Oscilloscope]]}}<!--
    -->|{{#ifeq:{{HasBitValueSet|{{{1|0}}}|67108864}}|1|[[Resistor]]}}<!--
    -->|{{#ifeq:{{HasBitValueSet|{{{1|0}}}|134217728}}|1|[[Multimeter]]}}<!--
    -->|{{#ifeq:{{HasBitValueSet|{{{1|0}}}|268435456}}|1|[[Network Analyser]]}}<!--
    -->|{{#ifeq:{{HasBitValueSet|{{{1|0}}}|536870912}}|1|[[Modulation Source]]}}<!--
    -->|{{#ifeq:{{HasBitValueSet|{{{1|0}}}|1073741824}}|1|[[Voltage, dips and interrupts generator]]}}<!--
    -->}}
}}<noinclude>


Only the basic values are detected, bit-combinations will not be splitted into several names! This is because it seems to be very difficult in MediaWiki to implement bit operations (or bitwise comparsion).
Converts the numeric value of a [[DeviceDriverType]] into a human-readable list.
 
For values below 1073741824 (2^30), multiple bits can be combined using the
A possibility is to use a modulation operation of the double of the value, to determine if the value is present.
'HasBitValueSet' function and are joined with a comma. For values > 1073741824,
10 is bitvalue 8 and bitvalue 2. To check if bitvalue 2 is set double the bitvalue, and use it for the a modulo operation. Then with that result, do a modulo operation with the tested bitvalue. If it changes, then the bit was set.
an exact (non-combinable) mapping is used.
* 10 mod (2 * 2) => 2
* 2 mod 2 => 0
* 0 is different than the 2, so the bitvalue 2 was present in 10.


[[Category:Template]]
[[Category:Template]]
</noinclude>
</noinclude>

Latest revision as of 13:26, 8 December 2025


Converts the numeric value of a DeviceDriverType into a human-readable list. For values below 1073741824 (2^30), multiple bits can be combined using the 'HasBitValueSet' function and are joined with a comma. For values > 1073741824, an exact (non-combinable) mapping is used.