botches for rule all-in-one display of used tempsensors and voltages

This commit is contained in:
Karlsson Winkels 2024-07-23 10:26:39 +02:00
parent 4cbf14e078
commit 971d6380e0
5 changed files with 1271 additions and 1536 deletions

View File

@ -1,2 +1,2 @@
export const N_CELLS_PER_SLAVE = 15;
export const N_TEMP_SENSORS_PER_SLAVE = 32;
export const N_TEMP_SENSORS_PER_SLAVE = 44;

View File

@ -48,12 +48,20 @@
</script>
<h1>FaSTTUBe Charger</h1>
<div class="wrapper">
<MasterErrorDisplay {error} />
<MasterStatusDisplay status={amsStatus} />
<MasterErrorDisplay {error} />
<MasterStatusDisplay status={amsStatus} />
<div class="slaves">
{#each Object.entries(slaveStatus) as [id, status]}
<SlaveStatusDisplay {id} {status} logData={slaveLog[id]} />
{/each}
</div>
<style>
.wrapper {
display: flex;
flex-direction: row;
justify-content: center;
align-items: center;
}
</style>

File diff suppressed because it is too large Load Diff

View File

@ -4,6 +4,7 @@
export let status: AMSStatus | undefined;
</script>
<div class="master-content">
{#if status}
<h2>Master Status</h2>
<div class="status-table">
@ -14,8 +15,15 @@
<div>SoC:</div>
<div>{status.soc}</div>
<div>Min. cell voltage:</div>
<div>{status.minCellVolt}</div>
<div>{Math.round(status.minCellVolt*100)/100}</div>
<div>Max. cell temperature:</div>
<div>{status.maxCellTemp}</div>
<div>{Math.round(status.maxCellTemp*100)/100}</div>
</div>
{/if}
</div>
<style>
.master-content {
width:12vw
}
</style>

View File

@ -7,34 +7,46 @@
export let logData: SlaveLogData | undefined;
</script>
<div class="slave-content">
<h2>Slave #{id}</h2>
<div class="status-table">
<div>Error</div>
<div>{status.error}</div>
<div>Min. cell voltage</div>
<div>{status.minCellVolt}</div>
<div>{Math.round(status.minCellVolt*100)/100}</div>
<div>Max. cell voltage</div>
<div>{status.maxCellVolt}</div>
<div>{Math.round(status.maxCellVolt*100)/100}</div>
<div>Max. temperature</div>
<div>{status.maxTemp}</div>
<div>SoC</div>
<div>{status.soc}</div>
<div>Failed temperature sensors</div>
<div>{logData?.failedTempSensors ?? 0}</div>
<div>{Math.round(status.maxTemp*100)/100}</div>
<!-- <div>SoC</div>
<div>{status.soc}</div> -->
<!-- <div>Failed temperature sensors</div>
<div>{logData?.failedTempSensors ?? 0}</div> -->
</div>
{#if logData}
<details>
{#if logData}
<div class="status-table">
{#each logData.voltages as volt, i}
<div>V_{i}</div>
<div>{volt}</div>
{#if i < 15}
<div>V_{i}</div>
<div>{Math.round(volt*100)/100}</div>
{/if}
{/each}
{#each logData.temperatures as temp, i}
{#if i > 33 && i < 43}
<div>T_{i}</div>
<div>{temp}</div>
{/if}
{/each}
</div>
</details>
{/if}
{/if}
</div>
<style>
.slave-content {
display: flex;
flex-direction: column;
width: 12vw;
}
</style>