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,10 +167,15 @@ 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> <p>
<b>DLT Logging Enabled</b>: {(vehicle.dlt_enabled || false).toString()} <b>DLT Logging Enabled</b>: {(vehicle.dlt_enabled || false).toString()}
</p> </p>
</> {vehicle.dlt_enabled && (
<p>
<b>DLT Level</b>: {findDLTLevelStr(vehicle.dlt_level) ?? "Default"}
</p>
)} )}
</Grid> </Grid>
{showDebugMask && ( {showDebugMask && (

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,6 +968,7 @@ exports[`VehicleUpdate Render 1`] = `
</fieldset> </fieldset>
</div> </div>
</div> </div>
<div>
<label <label
class="MuiFormControlLabel-root" class="MuiFormControlLabel-root"
> >
@@ -1006,6 +1007,8 @@ exports[`VehicleUpdate Render 1`] = `
DTC Enabled DTC Enabled
</span> </span>
</label> </label>
</div>
<div>
<label <label
class="MuiFormControlLabel-root" class="MuiFormControlLabel-root"
> >
@@ -1043,6 +1046,7 @@ exports[`VehicleUpdate Render 1`] = `
DLT Logging Enabled (supported from T.Rex 1.1.127) DLT Logging Enabled (supported from T.Rex 1.1.127)
</span> </span>
</label> </label>
</div>
<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
/> />
<div>
<FormControlLabel control={ <FormControlLabel control={
<Checkbox <Checkbox
checked={dtcEnabled} checked={dtcEnabled}
onChange={onDtcEnabledChange} onChange={onDtcEnabledChange}
/> />
} label="DTC Enabled" /> } label="DTC Enabled" />
</div>
<div>
<FormControlLabel control={ <FormControlLabel control={
<Checkbox <Checkbox
checked={dltEnabled} checked={dltEnabled}
onChange={onDltEnabledChange} onChange={onDltEnabledChange}
/> />
} label="DLT Logging Enabled (supported from T.Rex 1.1.127)" /> } 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"