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_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> </script>
<h1>FaSTTUBe Charger</h1> <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]} {#each Object.entries(slaveStatus) as [id, status]}
<SlaveStatusDisplay {id} {status} logData={slaveLog[id]} /> <SlaveStatusDisplay {id} {status} logData={slaveLog[id]} />
{/each} {/each}
</div> </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; export let status: AMSStatus | undefined;
</script> </script>
<div class="master-content">
{#if status} {#if status}
<h2>Master Status</h2> <h2>Master Status</h2>
<div class="status-table"> <div class="status-table">
@ -14,8 +15,15 @@
<div>SoC:</div> <div>SoC:</div>
<div>{status.soc}</div> <div>{status.soc}</div>
<div>Min. cell voltage:</div> <div>Min. cell voltage:</div>
<div>{status.minCellVolt}</div> <div>{Math.round(status.minCellVolt*100)/100}</div>
<div>Max. cell temperature:</div> <div>Max. cell temperature:</div>
<div>{status.maxCellTemp}</div> <div>{Math.round(status.maxCellTemp*100)/100}</div>
</div> </div>
{/if} {/if}
</div>
<style>
.master-content {
width:12vw
}
</style>

View File

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