show rx and tx quality

This commit is contained in:
proddy
2020-10-07 19:14:59 +02:00
parent 4c7c18b973
commit 1b5bc9563a
3 changed files with 12 additions and 27 deletions

View File

@@ -4,8 +4,6 @@ import { WithTheme, withTheme, withStyles, Theme, createStyles } from "@material
import { import {
TableContainer, TableContainer,
Table, Table,
Box,
Typography,
TableBody, TableBody,
TableCell, TableCell,
TableHead, TableHead,
@@ -38,7 +36,7 @@ import {
import { EMSESPStatus } from "./EMSESPtypes"; import { EMSESPStatus } from "./EMSESPtypes";
function formatNumber(num: number) { function formatNumber(num: number) {
return new Intl.NumberFormat().format(num); return new Intl.NumberFormat().format(num);
} }
type EMSESPStatusFormProps = RestFormProps<EMSESPStatus> & WithTheme & WithWidthProps; type EMSESPStatusFormProps = RestFormProps<EMSESPStatus> & WithTheme & WithWidthProps;
@@ -57,10 +55,6 @@ const StyledTableCell = withStyles((theme: Theme) =>
class EMSESPStatusForm extends Component<EMSESPStatusFormProps> { class EMSESPStatusForm extends Component<EMSESPStatusFormProps> {
rxErrors = () => {
return this.props.data.crc_errors !== 0;
}
createListItems() { createListItems() {
const { data, theme, width } = this.props; const { data, theme, width } = this.props;
return ( return (
@@ -91,33 +85,24 @@ class EMSESPStatusForm extends Component<EMSESPStatusFormProps> {
</TableRow> </TableRow>
<TableRow> <TableRow>
<TableCell > <TableCell >
(Rx) Incomplete telegrams (Rx) Quality
</TableCell> </TableCell>
<TableCell align="right">{formatNumber(data.crc_errors)}</TableCell> <TableCell align="right">{formatNumber(data.rx_quality)}%</TableCell>
</TableRow> </TableRow>
<TableRow> <TableRow>
<TableCell > <TableCell >
(Tx) Successfully sent telegrams (Tx) Sent telegrams
</TableCell> </TableCell>
<TableCell align="right">{formatNumber(data.tx_sent)}</TableCell> <TableCell align="right">{formatNumber(data.tx_sent)}</TableCell>
</TableRow> </TableRow>
<TableRow> <TableRow>
<TableCell > <TableCell >
(Tx) Send Errors (Tx) Quality
</TableCell> </TableCell>
<TableCell align="right">{formatNumber(data.tx_errors)}</TableCell> <TableCell align="right">{formatNumber(data.tx_quality)}%</TableCell>
</TableRow> </TableRow>
</TableBody> </TableBody>
</Table> </Table>
<Fragment>
{this.rxErrors() && (
<Box bgcolor="warning.main" p={1} mt={0} mb={0}>
<Typography variant="caption" color="textPrimary">
<i>Note: Having a small number of incomplete Rx telegrams is normal and often caused by noise on the EMS line.</i>
</Typography>
</Box>
)}
</Fragment>
</TableContainer> </TableContainer>
)} )}
</Fragment> </Fragment>

View File

@@ -28,8 +28,8 @@ export interface EMSESPStatus {
status: busConnectionStatus; status: busConnectionStatus;
rx_received: number; rx_received: number;
tx_sent: number; tx_sent: number;
crc_errors: number; rx_quality: number;
tx_errors: number; tx_quality: number;
} }
export interface Device { export interface Device {
@@ -53,8 +53,8 @@ export interface EMSESPDevices {
} }
export interface DeviceData { export interface DeviceData {
name: string; n: string;
value: string; v: string;
} }
export interface EMSESPDeviceData { export interface EMSESPDeviceData {

View File

@@ -63,8 +63,8 @@ void EMSESPStatusService::emsespStatusService(AsyncWebServerRequest * request) {
root["status"] = EMSESP::bus_status(); // 0, 1 or 2 root["status"] = EMSESP::bus_status(); // 0, 1 or 2
root["rx_received"] = EMSESP::rxservice_.telegram_count(); root["rx_received"] = EMSESP::rxservice_.telegram_count();
root["tx_sent"] = EMSESP::txservice_.telegram_read_count() + EMSESP::txservice_.telegram_write_count(); root["tx_sent"] = EMSESP::txservice_.telegram_read_count() + EMSESP::txservice_.telegram_write_count();
root["crc_errors"] = EMSESP::rxservice_.telegram_error_count(); root["rx_quality"] = EMSESP::rxservice_.quality();
root["tx_errors"] = EMSESP::txservice_.telegram_fail_count(); root["tx_quality"] = EMSESP::txservice_.quality();
response->setLength(); response->setLength();
request->send(response); request->send(response);