47 lines
2.3 KiB
HTML
47 lines
2.3 KiB
HTML
<div>
|
|
<h1>Controller</h1>
|
|
<div class="panel flex">
|
|
<column>
|
|
<fieldset>
|
|
<label>Status</label>
|
|
<span class="state" :class="controller.State">{{ controller.State }}</span>
|
|
</fieldset>
|
|
<fieldset class="equal">
|
|
<button @click="ctrl_action('DisableDrives');">DISABLE</button>
|
|
<button @click="ctrl_action('EnableDrives');">ENABLE</button>
|
|
<button @click="ctrl_action('ClearFaults');">CLEAR FAULT</button>
|
|
</fieldset>
|
|
<fieldset class="equal">
|
|
<button @click="ctrl_set('DisableRemoteWatchdog', !controller.DisableRemoteWatchdog);" :class="controller.DisableRemoteWatchdog.toString()">DisableRemoteWatchdog</button>
|
|
<button @click="ctrl_set('IgnoreRemoteInterface', !controller.IgnoreRemoteInterface);" :class="controller.IgnoreRemoteInterface.toString()">IgnoreRemoteInterface</button>
|
|
</fieldset>
|
|
</column>
|
|
<column>
|
|
<div class="group"
|
|
v-for="drive,key in controller.Drives"
|
|
>
|
|
<fieldset>
|
|
<label>Drive {{ key }}</label>
|
|
<span class="state" :class="drive.DriveState">{{ drive.DriveState }}</span>
|
|
<span class="state large" :class="drive.OEMState">{{ drive.OEMState }}</span>
|
|
</fieldset>
|
|
<fieldset class="equal">
|
|
<label>Drive Mode</label>
|
|
<span class="value">{{ drive.DriveMode }}</span>
|
|
<label>Velocity</label>
|
|
<meter :value="Math.abs(drive.ActualSpeed)" min="0.0" max="1.5" low="0.8" high="1.0" optimum="0.7"></meter>
|
|
</fieldset>
|
|
<fieldset class="equal">
|
|
<label>TargetValue</label>
|
|
<input type="range" step="0.05" min="-1.0" max="1.0" v-model="drive.TargetValue" @input="drive_set(key, 'TargetValue', drive.TargetValue);">
|
|
<label>Torque</label>
|
|
<meter :value="Math.abs(drive.ActualTorque)" min="0.0" max="1.5" low="0.8" high="1.0" optimum="0.7"></meter>
|
|
</fieldset>
|
|
</div>
|
|
</column>
|
|
</div>
|
|
<p>
|
|
{{ controller }}
|
|
</p>
|
|
|
|
</div> |