Skip to content

Commit

Permalink
Better field parsing
Browse files Browse the repository at this point in the history
  • Loading branch information
karniv00l committed Dec 27, 2023
1 parent c2c8954 commit bc2313c
Show file tree
Hide file tree
Showing 4 changed files with 101 additions and 70 deletions.
24 changes: 24 additions & 0 deletions lib/sections/ui_dialogs_parser.dart
Original file line number Diff line number Diff line change
Expand Up @@ -107,6 +107,30 @@ class UiDialogsParser {
}

void _parseField(List<String> result) {
// field = label, constant, { enabled }
// field = label, constant
// field = label, { enabled }

if (result.length == 3) {
if (result[2].isExpression()) {
_currentDialog!.items.add(
UIField(
label: result[1],
enabled: result[2],
),
);
} else {
_currentDialog!.items.add(
UIField(
label: result[1],
constant: result[2],
),
);
}

return;
}

_currentDialog!.items.add(
UIField(
label: result[1],
Expand Down
128 changes: 64 additions & 64 deletions test/data/fome/json/fome_proteus_f4.json
Original file line number Diff line number Diff line change
Expand Up @@ -53712,13 +53712,13 @@
},
{
"label": "Fire sparks for this angle duration multisparkMaxSparkingAngle",
"constant": "{multisparkEnable}",
"enabled": null
"constant": null,
"enabled": "{multisparkEnable}"
},
{
"label": "Maximum extra spark count multisparkMaxExtraSparkCount",
"constant": "{multisparkEnable}",
"enabled": null
"constant": null,
"enabled": "{multisparkEnable}"
}
]
},
Expand Down Expand Up @@ -58458,8 +58458,8 @@
},
{
"label": "Startup delay stft_startupDelay",
"constant": "{fuelClosedLoopCorrectionEnabled == 1}",
"enabled": null
"constant": null,
"enabled": "{fuelClosedLoopCorrectionEnabled == 1}"
},
{
"label": "Minimum CLT for correction",
Expand Down Expand Up @@ -60227,13 +60227,13 @@
},
{
"label": "Gear Controller gearControllerMode",
"constant": "{ tcuEnabled }",
"enabled": null
"constant": null,
"enabled": "{ tcuEnabled }"
},
{
"label": "Transmission Controller transmissionControllerMode",
"constant": "{ tcuEnabled }",
"enabled": null
"constant": null,
"enabled": "{ tcuEnabled }"
}
]
},
Expand All @@ -60245,78 +60245,78 @@
"items": [
{
"label": "Solenoid 1 output tcu_solenoid1",
"constant": "{ tcuEnabled && (transmissionControllerMode == 1 || transmissionControllerMode == 2) }",
"enabled": null
"constant": null,
"enabled": "{ tcuEnabled && (transmissionControllerMode == 1 || transmissionControllerMode == 2) }"
},
{
"label": "Solenoid 1 output Mode tcu_solenoid_mode1",
"constant": "{ tcuEnabled && (transmissionControllerMode == 1 || transmissionControllerMode == 2) }",
"enabled": null
"constant": null,
"enabled": "{ tcuEnabled && (transmissionControllerMode == 1 || transmissionControllerMode == 2) }"
},
{
"label": "Solenoid 2 output tcu_solenoid2",
"constant": "{ tcuEnabled && (transmissionControllerMode == 1 || transmissionControllerMode == 2) }",
"enabled": null
"constant": null,
"enabled": "{ tcuEnabled && (transmissionControllerMode == 1 || transmissionControllerMode == 2) }"
},
{
"label": "Solenoid 2 output Mode tcu_solenoid_mode2",
"constant": "{ tcuEnabled && (transmissionControllerMode == 1 || transmissionControllerMode == 2) }",
"enabled": null
"constant": null,
"enabled": "{ tcuEnabled && (transmissionControllerMode == 1 || transmissionControllerMode == 2) }"
},
{
"label": "Solenoid 3 output tcu_solenoid3",
"constant": "{ tcuEnabled && (transmissionControllerMode == 1 || transmissionControllerMode == 2) }",
"enabled": null
"constant": null,
"enabled": "{ tcuEnabled && (transmissionControllerMode == 1 || transmissionControllerMode == 2) }"
},
{
"label": "Solenoid 3 output Mode tcu_solenoid_mode3",
"constant": "{ tcuEnabled && (transmissionControllerMode == 1 || transmissionControllerMode == 2) }",
"enabled": null
"constant": null,
"enabled": "{ tcuEnabled && (transmissionControllerMode == 1 || transmissionControllerMode == 2) }"
},
{
"label": "Solenoid 4 output tcu_solenoid4",
"constant": "{ tcuEnabled && (transmissionControllerMode == 1 || transmissionControllerMode == 2) }",
"enabled": null
"constant": null,
"enabled": "{ tcuEnabled && (transmissionControllerMode == 1 || transmissionControllerMode == 2) }"
},
{
"label": "Solenoid 4 output Mode tcu_solenoid_mode4",
"constant": "{ tcuEnabled && (transmissionControllerMode == 1 || transmissionControllerMode == 2) }",
"enabled": null
"constant": null,
"enabled": "{ tcuEnabled && (transmissionControllerMode == 1 || transmissionControllerMode == 2) }"
},
{
"label": "Solenoid 5 output tcu_solenoid5",
"constant": "{ tcuEnabled && (transmissionControllerMode == 1 || transmissionControllerMode == 2) }",
"enabled": null
"constant": null,
"enabled": "{ tcuEnabled && (transmissionControllerMode == 1 || transmissionControllerMode == 2) }"
},
{
"label": "Solenoid 5 output Mode tcu_solenoid_mode5",
"constant": "{ tcuEnabled && (transmissionControllerMode == 1 || transmissionControllerMode == 2) }",
"enabled": null
"constant": null,
"enabled": "{ tcuEnabled && (transmissionControllerMode == 1 || transmissionControllerMode == 2) }"
},
{
"label": "Solenoid 6 output tcu_solenoid6",
"constant": "{ tcuEnabled && (transmissionControllerMode == 1 || transmissionControllerMode == 2) }",
"enabled": null
"constant": null,
"enabled": "{ tcuEnabled && (transmissionControllerMode == 1 || transmissionControllerMode == 2) }"
},
{
"label": "Solenoid 6 output Mode tcu_solenoid_mode6",
"constant": "{ tcuEnabled && (transmissionControllerMode == 1 || transmissionControllerMode == 2) }",
"enabled": null
"constant": null,
"enabled": "{ tcuEnabled && (transmissionControllerMode == 1 || transmissionControllerMode == 2) }"
},
{
"label": "3-2 Solenoid output tcu_32_solenoid_pin",
"constant": "{ tcuEnabled && (transmissionControllerMode == 2) }",
"enabled": null
"constant": null,
"enabled": "{ tcuEnabled && (transmissionControllerMode == 2) }"
},
{
"label": "3-2 Solenoid output mode tcu_32_solenoid_pin_mode",
"constant": "{ tcuEnabled && (transmissionControllerMode == 2) }",
"enabled": null
"constant": null,
"enabled": "{ tcuEnabled && (transmissionControllerMode == 2) }"
},
{
"label": "3-2 Solenoid Frequency tcu_32_solenoid_freq",
"constant": "{ tcuEnabled && (transmissionControllerMode == 2) }",
"enabled": null
"constant": null,
"enabled": "{ tcuEnabled && (transmissionControllerMode == 2) }"
}
]
},
Expand All @@ -60328,43 +60328,43 @@
"items": [
{
"label": "TCC On/Off Solenoid Pin tcu_tcc_onoff_solenoid",
"constant": "{ tcuEnabled && (transmissionControllerMode == 2) }",
"enabled": null
"constant": null,
"enabled": "{ tcuEnabled && (transmissionControllerMode == 2) }"
},
{
"label": "TCC On/Off Solenoid Pin Mode tcu_tcc_onoff_solenoid_mode",
"constant": "{ tcuEnabled && (transmissionControllerMode == 2) }",
"enabled": null
"constant": null,
"enabled": "{ tcuEnabled && (transmissionControllerMode == 2) }"
},
{
"label": "TCC PWM Solenoid Pin tcu_tcc_pwm_solenoid",
"constant": "{ tcuEnabled && (transmissionControllerMode == 2) }",
"enabled": null
"constant": null,
"enabled": "{ tcuEnabled && (transmissionControllerMode == 2) }"
},
{
"label": "TCC PWM Solenoid Pin Mode tcu_tcc_pwm_solenoid_mode",
"constant": "{ tcuEnabled && (transmissionControllerMode == 2) }",
"enabled": null
"constant": null,
"enabled": "{ tcuEnabled && (transmissionControllerMode == 2) }"
},
{
"label": "TCC PWM Solenoid Frequency tcu_tcc_pwm_solenoid_freq",
"constant": "{ tcuEnabled && (transmissionControllerMode == 2) }",
"enabled": null
"constant": null,
"enabled": "{ tcuEnabled && (transmissionControllerMode == 2) }"
},
{
"label": "Pressure Control Solenoid Pin tcu_pc_solenoid_pin",
"constant": "{ tcuEnabled && (transmissionControllerMode == 2) }",
"enabled": null
"constant": null,
"enabled": "{ tcuEnabled && (transmissionControllerMode == 2) }"
},
{
"label": "Pressure Control Solenoid Pin Mode tcu_pc_solenoid_pin_mode",
"constant": "{ tcuEnabled && (transmissionControllerMode == 2) }",
"enabled": null
"constant": null,
"enabled": "{ tcuEnabled && (transmissionControllerMode == 2) }"
},
{
"label": "Pressure Control Solenoid Frequency tcu_pc_solenoid_freq",
"constant": "{ tcuEnabled && (transmissionControllerMode == 2) }",
"enabled": null
"constant": null,
"enabled": "{ tcuEnabled && (transmissionControllerMode == 2) }"
}
]
},
Expand All @@ -60376,23 +60376,23 @@
"items": [
{
"label": "Upshift Pin tcuUpshiftButtonPin",
"constant": "{ tcuEnabled && gearControllerMode == 1 }",
"enabled": null
"constant": null,
"enabled": "{ tcuEnabled && gearControllerMode == 1 }"
},
{
"label": "Upshift Pin Mode tcuUpshiftButtonPinMode",
"constant": "{ tcuEnabled && gearControllerMode == 1 }",
"enabled": null
"constant": null,
"enabled": "{ tcuEnabled && gearControllerMode == 1 }"
},
{
"label": "Downshift Pin tcuDownshiftButtonPin",
"constant": "{ tcuEnabled && gearControllerMode == 1 }",
"enabled": null
"constant": null,
"enabled": "{ tcuEnabled && gearControllerMode == 1 }"
},
{
"label": "Downshift Pin Mode tcuDownshiftButtonPinMode",
"constant": "{ tcuEnabled && gearControllerMode == 1 }",
"enabled": null
"constant": null,
"enabled": "{ tcuEnabled && gearControllerMode == 1 }"
}
]
},
Expand Down
4 changes: 2 additions & 2 deletions test/data/speeduino/json/202207.json
Original file line number Diff line number Diff line change
Expand Up @@ -18990,8 +18990,8 @@
},
{
"label": "#Please ensure you calibrate your O2 sensor in the Tools menu",
"constant": "{ egoType }",
"enabled": null
"constant": null,
"enabled": "{ egoType }"
},
{
"label": "Algorithm",
Expand Down
15 changes: 11 additions & 4 deletions test/unit/sections/ui_dialogs_test.dart
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ void main() {
field = "!This is a critical setting!"
field = "VVT2 Cam angle @ 0% duty",vvt2CL0DutyAng, { vvt2Enabled && vvtMode == 2 }
field = "Real Time Clock Trim +/-", rtc_trim, {rtc_mode}
field = "#Please ensure you calibrate your O2 sensor in the Tools menu", { egoType }
gauge = VBattGauge,North
gauge = pedalPositionGauge
Expand Down Expand Up @@ -120,11 +121,17 @@ void main() {
expect((items[9] as UIField).constant).toEqual('rtc_trim');
expect((items[9] as UIField).enabled).toEqual('{rtc_mode}');

expect((items[10] as UIGauge).name).toEqual('VBattGauge');
expect((items[10] as UIGauge).placement).toEqual(UIPlacement.north);
expect((items[10] as UIField).label).toEqual(
'#Please ensure you calibrate your O2 sensor in the Tools menu',
);
expect((items[10] as UIField).constant).toBeNull();
expect((items[10] as UIField).enabled).toEqual('{ egoType }');

expect((items[11] as UIGauge).name).toEqual('VBattGauge');
expect((items[11] as UIGauge).placement).toEqual(UIPlacement.north);

expect((items[11] as UIGauge).name).toEqual('pedalPositionGauge');
expect((items[11] as UIGauge).placement).toBeNull();
expect((items[12] as UIGauge).name).toEqual('pedalPositionGauge');
expect((items[12] as UIGauge).placement).toBeNull();
});

test('dialog with panels and live graphs', () async {
Expand Down

0 comments on commit bc2313c

Please sign in to comment.