CEC-4533 - Add DLT level to TREX config message (#434)

* CEC-4533 - Add DLT level to TREX config message

* Improved log level selection
This commit is contained in:
Paul Adamsen
2023-09-05 12:09:07 -04:00
committed by GitHub
parent 19cf9c5689
commit 7892df25ce
4 changed files with 155 additions and 78 deletions

View File

@@ -76,6 +76,29 @@ const MainForm = ({ vin }) => {
} }
} }
const findDLTLevelStr = (dltLevelNum) => {
switch (dltLevelNum) {
case 0:
return "Off"
case 1:
return "Fatal"
case 2:
return "Error"
case 3:
return "Warn"
case 4:
return "Info"
case 5:
return "Debug"
case 6:
return "Verbose"
case 255:
return "Delete"
default:
return "Default"
}
}
if (redirect && redirect.length > 0) { if (redirect && redirect.length > 0) {
return <Redirect to={redirect} />; return <Redirect to={redirect} />;
} }
@@ -144,11 +167,16 @@ const MainForm = ({ vin }) => {
<p> <p>
<b>DTC Enabled</b>: {(vehicle.canbus.dtc_enabled || false).toString()} <b>DTC Enabled</b>: {(vehicle.canbus.dtc_enabled || false).toString()}
</p> </p>
<p>
<b>DLT Logging Enabled</b>: {(vehicle.dlt_enabled || false).toString()}
</p>
</> </>
)} )}
<p>
<b>DLT Logging Enabled</b>: {(vehicle.dlt_enabled || false).toString()}
</p>
{vehicle.dlt_enabled && (
<p>
<b>DLT Level</b>: {findDLTLevelStr(vehicle.dlt_level) ?? "Default"}
</p>
)}
</Grid> </Grid>
{showDebugMask && ( {showDebugMask && (
<Grid item md={12} className={classes.textCenterAlign}> <Grid item md={12} className={classes.textCenterAlign}>

View File

@@ -318,7 +318,15 @@ exports[`CarStatus Render 1`] = `
</div> </div>
<div <div
class="MuiGrid-root makeStyles-textCenterAlign-0 MuiGrid-item MuiGrid-grid-md-12" class="MuiGrid-root makeStyles-textCenterAlign-0 MuiGrid-item MuiGrid-grid-md-12"
/> >
<p>
<b>
DLT Logging Enabled
</b>
:
false
</p>
</div>
<div <div
class="MuiGrid-root makeStyles-textCenterAlign-0 MuiGrid-item MuiGrid-grid-md-12" class="MuiGrid-root makeStyles-textCenterAlign-0 MuiGrid-item MuiGrid-grid-md-12"
> >

View File

@@ -968,81 +968,85 @@ exports[`VehicleUpdate Render 1`] = `
</fieldset> </fieldset>
</div> </div>
</div> </div>
<label <div>
class="MuiFormControlLabel-root" <label
> class="MuiFormControlLabel-root"
<span
aria-disabled="false"
class="MuiButtonBase-root MuiIconButton-root PrivateSwitchBase-root-0 MuiCheckbox-root MuiCheckbox-colorSecondary PrivateSwitchBase-checked-0 Mui-checked MuiIconButton-colorSecondary"
> >
<span <span
class="MuiIconButton-label" aria-disabled="false"
class="MuiButtonBase-root MuiIconButton-root PrivateSwitchBase-root-0 MuiCheckbox-root MuiCheckbox-colorSecondary PrivateSwitchBase-checked-0 Mui-checked MuiIconButton-colorSecondary"
> >
<input <span
checked="" class="MuiIconButton-label"
class="PrivateSwitchBase-input-0"
data-indeterminate="false"
type="checkbox"
value=""
/>
<svg
aria-hidden="true"
class="MuiSvgIcon-root"
focusable="false"
viewBox="0 0 24 24"
> >
<path <input
d="M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2zm-9 14l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z" checked=""
class="PrivateSwitchBase-input-0"
data-indeterminate="false"
type="checkbox"
value=""
/> />
</svg> <svg
aria-hidden="true"
class="MuiSvgIcon-root"
focusable="false"
viewBox="0 0 24 24"
>
<path
d="M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2zm-9 14l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"
/>
</svg>
</span>
<span
class="MuiTouchRipple-root"
/>
</span> </span>
<span <span
class="MuiTouchRipple-root" class="MuiTypography-root MuiFormControlLabel-label MuiTypography-body1"
/> >
</span> DTC Enabled
<span </span>
class="MuiTypography-root MuiFormControlLabel-label MuiTypography-body1" </label>
> </div>
DTC Enabled <div>
</span> <label
</label> class="MuiFormControlLabel-root"
<label
class="MuiFormControlLabel-root"
>
<span
aria-disabled="false"
class="MuiButtonBase-root MuiIconButton-root PrivateSwitchBase-root-0 MuiCheckbox-root MuiCheckbox-colorSecondary MuiIconButton-colorSecondary"
> >
<span <span
class="MuiIconButton-label" aria-disabled="false"
class="MuiButtonBase-root MuiIconButton-root PrivateSwitchBase-root-0 MuiCheckbox-root MuiCheckbox-colorSecondary MuiIconButton-colorSecondary"
> >
<input <span
class="PrivateSwitchBase-input-0" class="MuiIconButton-label"
data-indeterminate="false"
type="checkbox"
value=""
/>
<svg
aria-hidden="true"
class="MuiSvgIcon-root"
focusable="false"
viewBox="0 0 24 24"
> >
<path <input
d="M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z" class="PrivateSwitchBase-input-0"
data-indeterminate="false"
type="checkbox"
value=""
/> />
</svg> <svg
aria-hidden="true"
class="MuiSvgIcon-root"
focusable="false"
viewBox="0 0 24 24"
>
<path
d="M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z"
/>
</svg>
</span>
<span
class="MuiTouchRipple-root"
/>
</span> </span>
<span <span
class="MuiTouchRipple-root" class="MuiTypography-root MuiFormControlLabel-label MuiTypography-body1"
/> >
</span> DLT Logging Enabled (supported from T.Rex 1.1.127)
<span </span>
class="MuiTypography-root MuiFormControlLabel-label MuiTypography-body1" </label>
> </div>
DLT Logging Enabled (supported from T.Rex 1.1.127)
</span>
</label>
<div <div
class="MuiFormControl-root MuiTextField-root MuiFormControl-marginNormal MuiFormControl-fullWidth" class="MuiFormControl-root MuiTextField-root MuiFormControl-marginNormal MuiFormControl-fullWidth"
> >

View File

@@ -48,6 +48,7 @@ const MainForm = () => {
const [maxDiskBufferSize, setMaxDiskBufferSize] = useState(0); const [maxDiskBufferSize, setMaxDiskBufferSize] = useState(0);
const [dtcEnabled, setDTCEnabled] = useState(true); const [dtcEnabled, setDTCEnabled] = useState(true);
const [dltEnabled, setDLTEnabled] = useState(false); const [dltEnabled, setDLTEnabled] = useState(false);
const [dltLevel, setDLTLevel] = useState(0);
const debugMaskEl = useRef(null); const debugMaskEl = useRef(null);
const tagsEl = useRef(null); const tagsEl = useRef(null);
@@ -100,7 +101,11 @@ const MainForm = () => {
setMaxDiskBufferSize(vehicle.canbus.max_disk_buffer_size ?? maxDiskBufferSize); setMaxDiskBufferSize(vehicle.canbus.max_disk_buffer_size ?? maxDiskBufferSize);
setDTCEnabled(vehicle.canbus.dtc_enabled ?? dtcEnabled); setDTCEnabled(vehicle.canbus.dtc_enabled ?? dtcEnabled);
} }
setDLTEnabled(vehicle.dlt_enabled ?? dltEnabled); setDLTEnabled(vehicle.dlt_enabled ?? dltEnabled);
if (vehicle.dlt_enabled) {
setDLTLevel(vehicle.dlt_level?.toString() ?? dltLevel.toString());
}
if (showDebugMask) { if (showDebugMask) {
debugMaskEl.current.value = vehicle.debug_mask ?? "" debugMaskEl.current.value = vehicle.debug_mask ?? ""
@@ -131,6 +136,10 @@ const MainForm = () => {
setDLTEnabled(event.target.checked); setDLTEnabled(event.target.checked);
} }
const onDltLevelChange = (event) => {
setDLTLevel(event.target.value);
}
const onMaxMemBufferSizeChange = (event) => { const onMaxMemBufferSizeChange = (event) => {
setMaxMemBufferSize(event.target.value); setMaxMemBufferSize(event.target.value);
} }
@@ -154,7 +163,7 @@ const MainForm = () => {
restraint: restraintEl.current.value, restraint: restraintEl.current.value,
body_type: bodyTypeEl.current.value, body_type: bodyTypeEl.current.value,
log_level: selectedLogLevel, log_level: selectedLogLevel,
tags: tagsEl.current.value.split(",").map(function(word) { tags: tagsEl.current.value.split(",").map(function (word) {
return word.trim(); return word.trim();
}), }),
canbus: { canbus: {
@@ -165,6 +174,7 @@ const MainForm = () => {
dtc_enabled: dtcEnabled dtc_enabled: dtcEnabled
}, },
dlt_enabled: dltEnabled, dlt_enabled: dltEnabled,
dlt_level: dltEnabled ? parseInt(dltLevel) : 0,
debug_mask: debugMaskEl.current?.value debug_mask: debugMaskEl.current?.value
}; };
@@ -424,18 +434,45 @@ const MainForm = () => {
required required
fullWidth fullWidth
/> />
<FormControlLabel control={ <div>
<Checkbox <FormControlLabel control={
checked={dtcEnabled} <Checkbox
onChange={onDtcEnabledChange} checked={dtcEnabled}
/> onChange={onDtcEnabledChange}
} label="DTC Enabled" /> />
<FormControlLabel control={ } label="DTC Enabled" />
<Checkbox </div>
checked={dltEnabled} <div>
onChange={onDltEnabledChange} <FormControlLabel control={
/> <Checkbox
} label="DLT Logging Enabled (supported from T.Rex 1.1.127)" /> checked={dltEnabled}
onChange={onDltEnabledChange}
/>
} label="DLT Logging Enabled (supported from T.Rex 1.1.127)" />
</div>
{dltEnabled && (
<div>
<FormLabel id="dlt_level">DLT Log Level</FormLabel>
<RadioGroup
row
aria-labelledby="dlt_level"
name="dlt_level"
value={dltLevel}
onChange={onDltLevelChange}
margin="normal"
disabled={!dltEnabled}
>
<FormControlLabel value="0" control={<Radio />} label="Off" />
<FormControlLabel value="1" control={<Radio />} label="Fatal" />
<FormControlLabel value="2" control={<Radio />} label="Error" />
<FormControlLabel value="3" control={<Radio />} label="Warn" />
<FormControlLabel value="4" control={<Radio />} label="Info" />
<FormControlLabel value="5" control={<Radio />} label="Debug" />
<FormControlLabel value="6" control={<Radio />} label="Verbose" />
<FormControlLabel value="255" control={<Radio />} label="Delete" />
</RadioGroup>
</div>
)}
{showDebugMask && ( {showDebugMask && (
<TextField <TextField
id="debug_mask" id="debug_mask"