2022-01-28 00:31:41 +08:00
|
|
|
<script lang="ts">
|
2022-02-05 14:16:14 +08:00
|
|
|
export let data: Array<number>;
|
|
|
|
|
2022-01-28 00:31:41 +08:00
|
|
|
let topDatas = Array(16).fill(0);
|
|
|
|
let botDatas = Array(16).fill(0);
|
2022-02-06 17:56:50 +08:00
|
|
|
let airDatas = Array(6).fill(0);
|
|
|
|
let extraDatas = Array(3).fill(0);
|
2022-02-05 14:16:14 +08:00
|
|
|
let ledDatas = Array(31)
|
|
|
|
.fill(0)
|
|
|
|
.map((_, idx) => ({
|
|
|
|
color: !!(idx % 2) ? "#f0f" : "#ff0",
|
|
|
|
spec: idx % 2,
|
|
|
|
}));
|
|
|
|
|
|
|
|
$: {
|
2022-02-06 17:56:50 +08:00
|
|
|
if (data.length === 134) {
|
2022-02-05 14:16:14 +08:00
|
|
|
// console.log(data);
|
|
|
|
for (let i = 0; i < 16; i++) {
|
|
|
|
topDatas[i] = data[i * 2 + 1];
|
|
|
|
botDatas[i] = data[i * 2];
|
|
|
|
}
|
2022-02-06 17:56:50 +08:00
|
|
|
for (let i = 0; i < 6; i++) {
|
|
|
|
airDatas[i] = data[32 + i];
|
|
|
|
}
|
|
|
|
for (let i = 0; i < 3; i++) {
|
|
|
|
extraDatas[i] = data[38 + i];
|
|
|
|
}
|
|
|
|
|
2022-02-05 14:16:14 +08:00
|
|
|
for (let i = 0; i < 31; i++) {
|
2022-02-06 17:56:50 +08:00
|
|
|
ledDatas[i].color = `rgb(${data[41 + i * 3]}, ${data[42 + i * 3]}, ${
|
|
|
|
data[43 + i * 3]
|
2022-02-05 14:16:14 +08:00
|
|
|
})`;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2022-01-28 00:31:41 +08:00
|
|
|
</script>
|
|
|
|
|
|
|
|
<main class="preview">
|
2022-02-06 17:56:50 +08:00
|
|
|
<div class="air">
|
|
|
|
{#each airDatas as airData, idx (idx)}
|
|
|
|
<div class={`air-data air-data-${airData}`} />
|
|
|
|
{/each}
|
|
|
|
</div>
|
2022-01-28 00:31:41 +08:00
|
|
|
<div class="ground">
|
|
|
|
<div class="ground-led">
|
|
|
|
<div class="ground-row">
|
2022-02-05 14:16:14 +08:00
|
|
|
<div class="ground-led-2" />
|
|
|
|
{#each ledDatas as { color, spec }, idx (idx)}
|
|
|
|
<div
|
|
|
|
class={`ground-led-${spec}`}
|
|
|
|
style={`background-color: ${color}`}
|
|
|
|
/>
|
2022-01-28 00:31:41 +08:00
|
|
|
{/each}
|
2022-02-05 14:16:14 +08:00
|
|
|
<div class="ground-led-2" />
|
2022-01-28 00:31:41 +08:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="ground-btn">
|
|
|
|
<div class="ground-row">
|
|
|
|
{#each topDatas as topData, idx (idx)}
|
|
|
|
<div class="ground-data">{topData}</div>
|
|
|
|
{/each}
|
|
|
|
</div>
|
|
|
|
<div class="ground-row">
|
|
|
|
{#each botDatas as botData, idx (idx)}
|
|
|
|
<div class="ground-data">{botData}</div>
|
|
|
|
{/each}
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
2022-02-06 17:56:50 +08:00
|
|
|
<div class="extra">
|
|
|
|
{#each extraDatas as extraData, idx (idx)}
|
|
|
|
<div class={`extra-data extra-data-${extraData}`} />
|
|
|
|
{/each}
|
|
|
|
</div>
|
2022-01-28 00:31:41 +08:00
|
|
|
</main>
|