From e7f4d3f38c119fe73da6aadb021f80820a93c9ac Mon Sep 17 00:00:00 2001 From: blackholegalaxy Date: Mon, 20 Jan 2020 17:46:28 -0500 Subject: [PATCH 1/7] feat: add engine 1 offsets --- src/lib/offsets/plane/engines.ts | 284 ++++++++++++++++++++++++++++ src/lib/offsets/plane/helicopter.ts | 25 +++ 2 files changed, 309 insertions(+) diff --git a/src/lib/offsets/plane/engines.ts b/src/lib/offsets/plane/engines.ts index 9ce6b16..aaec227 100644 --- a/src/lib/offsets/plane/engines.ts +++ b/src/lib/offsets/plane/engines.ts @@ -42,4 +42,288 @@ export const engines: OffsetList = { length: 1, permission: 'rw', }), + + // ENGINE 1 + + engine1ThrottleLever: new Offset({ + value: 0x88C, + name: 'engine1ThrottleLever', + category: OffsetCategory.ENGINE, + description: 'engine 1 throttle lever - percent - negative = reverse', + convert: '{VAL} < 0 ? {VAL} / 4096 * 100 : {VAL} / 16384 * 100', + type: Type.Int16, + permission: 'r', + }), + engine1PropLever: new Offset({ + value: 0x88E, + name: 'engine1PropLever', + category: OffsetCategory.ENGINE, + description: 'engine 1 prop lever - percent - negative = reverse', + convert: '{VAL} < 0 ? {VAL} / 4096 * 100 : {VAL} / 16384 * 100', + type: Type.Int16, + permission: 'rw', + }), + engine1MixtureLever: new Offset({ + value: 0x890, + name: 'engine1MixtureLever', + category: OffsetCategory.ENGINE, + description: 'engine 1 prop lever - percent', + convert: '{VAL} / 16384 * 100', + type: Type.UInt16, + permission: 'rw', + }), + engine1StarterSwitchPosition: new Offset({ + value: 0x892, + name: 'engine1StarterSwitchPosition', + category: OffsetCategory.ENGINE, + description: 'engine1 start switch position - JET: 0=off 1=start 2=gen/alt - PROP: 0=off 1=right 2=left 3=both 4=start', + convert: '{VAL} / 16384 * 100', + type: Type.UInt16, + permission: 'rw', + }), + engine1Firing: new Offset({ + value: 0x894, + name: 'engine1Firing', + category: OffsetCategory.ENGINE, + description: 'engine 1 combustion', + convert: '!!{VAL}', + type: Type.UInt16, + permission: 'r', + }), + engine1N2: new Offset({ + value: 0x896, + name: 'engine1N2', + category: OffsetCategory.ENGINE, + description: 'engine 1 N2 - also helo RPM %', + convert: '{VAL} / 16384 * 100', + type: Type.UInt16, + permission: 'rw', + }), + engine1N1: new Offset({ + value: 0x898, + name: 'engine1N1', + category: OffsetCategory.ENGINE, + description: 'engine 1 N1 - also helo RPM %', + convert: '{VAL} / 16384 * 100', + type: Type.Int16, + permission: 'rw', + }), + engine1PropRPM: new Offset({ + value: 0x898, + name: 'engine1PropRPM', + category: OffsetCategory.ENGINE, + description: 'derive RPM by multiplying by - negative = counter-rotating propeller', + convert: '{VAL} / 16384 / 65536', + type: Type.Int16, + permission: 'rw', + }), + engine1ThrottleLeverControl: new Offset({ + value: 0x89A, + name: 'engine1ThrottleLeverControl', + category: OffsetCategory.ENGINE, + description: 'engine1 throttle lever control - -4096 to +16384', + type: Type.Int16, + permission: 'rw', + }), + engine1FuelFlowLbHourSSL: new Offset({ + value: 0x8A0, + name: 'engine1FuelFlowLbHourSSL', + category: OffsetCategory.ENGINE, + description: 'engine1 fuel flow (lb per hour, sea level)', + convert: '{VAL} / 128', + type: Type.UInt16, + permission: 'r', + }), + engine1AntiIce: new Offset({ + value: 0x8B2, + name: 'engine1AntiIce', + category: OffsetCategory.ENGINE, + description: 'engine1 anti-ice/carb heat active', + convert: '!!{VAL}', + type: Type.UInt16, + permission: 'r', + }), + engine1OilTemp: new Offset({ + value: 0x8B8, + name: 'engine1OilTemp', + category: OffsetCategory.ENGINE, + description: 'engine1 oil temp - celsius', + convert: 'Math.round({VAL} * 140 / 16384)', + type: Type.UInt16, + permission: 'r', + }), + engine1OilPres: new Offset({ + value: 0x8BA, + name: 'engine1OilPres', + category: OffsetCategory.ENGINE, + description: 'engine1 oil pressure - PSI', + convert: 'Math.round({VAL} * 55 / 16384)', + type: Type.UInt16, + permission: 'r', + }), + engine1PressureRatio: new Offset({ + value: 0x8BC, + name: 'engine1PressureRatio', + category: OffsetCategory.ENGINE, + description: 'engine1 pressure ratio', + convert: '{VAL} * 1.6 / 16384', + type: Type.UInt16, + permission: 'r', + }), + engine1EGT: new Offset({ + value: 0x8BE, + name: 'engine1EGT', + category: OffsetCategory.ENGINE, + description: 'engine1 exhaust gas temperature - Trust only on jet engine - celsius', + convert: '{VAL} * 860 / 16384', + type: Type.UInt16, + permission: 'r', + }), + engine1MP: new Offset({ + value: 0x8C0, + name: 'engine1MP', + category: OffsetCategory.ENGINE, + description: 'engine1 manifold pressure - inHg', + convert: '{VAL} / 1024', + type: Type.UInt16, + permission: 'r', + }), + engine1RPMScaler: new Offset({ + value: 0x8C8, + name: 'engine1RPMScaler', + category: OffsetCategory.ENGINE, + description: 'engine1 RPM Scaler - props: used to calculate RPM', + type: Type.UInt16, + permission: 'r', + }), + engine1OilQuantity: new Offset({ + value: 0x8D0, + name: 'engine1OilQuantity', + category: OffsetCategory.ENGINE, + description: 'engine1 oil quantity - percent', + convert: 'Math.round({VAL} / 16384 * 100)', + type: Type.UInt32, + permission: 'r', + }), + engine1Vibration: new Offset({ + value: 0x8D4, + name: 'engine1Vibration', + category: OffsetCategory.ENGINE, + description: 'engine1 vibration', + convert: '{VAL} * 5 / 16384', + type: Type.UInt32, + permission: 'r', + }), + engine1HydPres: new Offset({ + value: 0x8D8, + name: 'engine1HydPres', + category: OffsetCategory.ENGINE, + description: 'engine1 hydraulic pressure - PSI', + convert: '{VAL} / 4', + type: Type.UInt32, + permission: 'r', + }), + engine1CHT: new Offset({ + value: 0x8E8, + name: 'engine1CHT', + category: OffsetCategory.ENGINE, + description: 'engine1 cylinder head temperature - F', + type: Type.Double, + permission: 'r', + }), + engine1ITT: new Offset({ + value: 0x8F0, + name: 'engine1ITT', + category: OffsetCategory.ENGINE, + description: 'engine1 turbine temperature - C', + convert: '{VAL} / 16384', + type: Type.UInt32, + permission: 'r', + }), + engine1Torque: new Offset({ + value: 0x8F4, + name: 'engine1Torque', + category: OffsetCategory.ENGINE, + description: 'engine1 torque - trust only for helo - percent', + convert: '{VAL} / 16384 * 100', + type: Type.UInt32, + permission: 'r', + }), + engine1FuelPres: new Offset({ + value: 0x8F8, + name: 'engine1FuelPres', + category: OffsetCategory.ENGINE, + description: 'engine1 fuel pressure - PSI', + convert: '{VAL} / 144', + type: Type.UInt32, + permission: 'r', + }), + engine1ElectricalLoad: new Offset({ + value: 0x8FC, + name: 'engine1ElectricalLoad', + category: OffsetCategory.ENGINE, + description: 'engine1 electrical load - trust only for helo - percent', + convert: '{VAL} / 16384 * 100', + type: Type.UInt32, + permission: 'r', + }), + engine1TransmOilPres: new Offset({ + value: 0x900, + name: 'engine1TransmOilPres', + category: OffsetCategory.ENGINE, + description: 'engine1 transmission oil pressure - trust only for helo - PSI', + convert: '{VAL} / 16384', + type: Type.UInt32, + permission: 'r', + }), + engine1TransmOilTemp: new Offset({ + value: 0x904, + name: 'engine1TransmOilTemp', + category: OffsetCategory.ENGINE, + description: 'engine1 transmission oil temperature - trust only for helo - C', + convert: '{VAL} / 16384', + type: Type.UInt32, + permission: 'r', + }), + engine1RotorRPM: new Offset({ + value: 0x908, + name: 'engine1RotorRPM', + category: OffsetCategory.ENGINE, + description: 'engine1 rotor RPM - trust only for helo - percent', + convert: '{VAL} / 16384 * 100', + type: Type.UInt32, + permission: 'r', + }), + engine1FuelUsedSinceStart: new Offset({ + value: 0x90C, + name: 'engine1FuelUsedSinceStart', + category: OffsetCategory.ENGINE, + description: 'engine1 used fuel since start - lb', + type: Type.Single, + permission: 'r', + }), + engine1FuelElapsedTime: new Offset({ + value: 0x910, + name: 'engine1FuelElapsedTime', + category: OffsetCategory.ENGINE, + description: 'engine1 fuel elapsed time - h', + type: Type.Single, + permission: 'r', + }), + engine1FuelFlowLbHour: new Offset({ + value: 0x918, + name: 'engine1FuelFlowLbHour', + category: OffsetCategory.ENGINE, + description: 'engine1 fuel elapsed time - lb/h', + type: Type.Double, + permission: 'r', + }), + engine1TorqueFtLb: new Offset({ + value: 0x920, + name: 'engine1TorqueFtLb', + category: OffsetCategory.ENGINE, + description: 'engine1 fuel elapsed time - ft lb', + type: Type.Single, + permission: 'r', + }), }; diff --git a/src/lib/offsets/plane/helicopter.ts b/src/lib/offsets/plane/helicopter.ts index f47c1ac..4fba9bc 100644 --- a/src/lib/offsets/plane/helicopter.ts +++ b/src/lib/offsets/plane/helicopter.ts @@ -76,4 +76,29 @@ export const helicopter: OffsetList = { type: Type.Double, permission: 'r', }), + helicopterEngine1RPM: new Offset({ + value: 0x896, + name: 'helicopterEngine1RPM', + category: OffsetCategory.ENGINE, + description: 'engine 1 RPM %', + type: Type.UInt16, + permission: 'rw', + }), + helicopterEngine1RPMUnscaled: new Offset({ + value: 0x896, + name: 'helicopterEngine1RPMUnscaled', + category: OffsetCategory.ENGINE, + description: 'engine 1 RPM unscalled - multiply by engineRPMScaler to obtain derivated RPM', + type: Type.UInt16, + permission: 'rw', + }), + helicopterEngine1RotorRPM: new Offset({ + value: 0x908, + name: 'helicopterEngine1RotorRPM', + category: OffsetCategory.ENGINE, + description: 'engine1 rotor RPM - percent', + convert: '{VAL} / 16384 * 100', + type: Type.UInt32, + permission: 'r', + }), }; From 1b1b29bb74cd34b41e64f8aff4edde77a533b92b Mon Sep 17 00:00:00 2001 From: blackholegalaxy Date: Tue, 21 Jan 2020 21:37:54 -0500 Subject: [PATCH 2/7] feat: add tests --- src/lib/convert/apply-conversion.ts | 2 +- src/lib/offsets/plane/engines.ts | 9 +- tests/convert/apply-conversion.spec.ts | 23 ++ tests/offsets/airport/pushback.spec.ts | 2 +- tests/offsets/airport/runway.spec.ts | 2 +- tests/offsets/environment/weather.spec.ts | 2 +- .../plane/__snapshots__/engines.spec.ts.snap | 352 ++++++++++++++++++ tests/offsets/plane/autopilot.spec.ts | 2 +- tests/offsets/plane/cockpit.spec.ts | 2 +- tests/offsets/plane/controls.spec.ts | 2 +- tests/offsets/plane/engines.spec.ts | 34 +- tests/offsets/plane/helicopter.spec.ts | 2 +- tests/offsets/plane/icing.spec.ts | 2 +- tests/offsets/plane/plane.spec.ts | 2 +- tests/offsets/plane/pressurisation.spec.ts | 2 +- tests/offsets/plane/radios.spec.ts | 2 +- .../position-attitude.spec.ts | 2 +- tests/offsets/simulation/simulation.spec.ts | 2 +- 18 files changed, 426 insertions(+), 20 deletions(-) diff --git a/src/lib/convert/apply-conversion.ts b/src/lib/convert/apply-conversion.ts index 7add8b2..702d5d5 100644 --- a/src/lib/convert/apply-conversion.ts +++ b/src/lib/convert/apply-conversion.ts @@ -22,7 +22,7 @@ export const applyConversion = (offset: Offset, rawOffsetValue: RawOffsetValue): } const convertExpression: string = offset.convert.replace( - '{VAL}', + new RegExp(/{VAL}/g), Array.isArray(rawOffsetValue) ? `${JSON.stringify(rawOffsetValue)}` : rawOffsetValue.toString() diff --git a/src/lib/offsets/plane/engines.ts b/src/lib/offsets/plane/engines.ts index aaec227..f501cd0 100644 --- a/src/lib/offsets/plane/engines.ts +++ b/src/lib/offsets/plane/engines.ts @@ -50,7 +50,7 @@ export const engines: OffsetList = { name: 'engine1ThrottleLever', category: OffsetCategory.ENGINE, description: 'engine 1 throttle lever - percent - negative = reverse', - convert: '{VAL} < 0 ? {VAL} / 4096 * 100 : {VAL} / 16384 * 100', + convert: 'Math.round({VAL} < 0 ? {VAL} / 4096 * 100 : {VAL} / 16384 * 100)', type: Type.Int16, permission: 'r', }), @@ -59,7 +59,7 @@ export const engines: OffsetList = { name: 'engine1PropLever', category: OffsetCategory.ENGINE, description: 'engine 1 prop lever - percent - negative = reverse', - convert: '{VAL} < 0 ? {VAL} / 4096 * 100 : {VAL} / 16384 * 100', + convert: 'Math.round({VAL} < 0 ? {VAL} / 4096 * 100 : {VAL} / 16384 * 100)', type: Type.Int16, permission: 'rw', }), @@ -77,7 +77,6 @@ export const engines: OffsetList = { name: 'engine1StarterSwitchPosition', category: OffsetCategory.ENGINE, description: 'engine1 start switch position - JET: 0=off 1=start 2=gen/alt - PROP: 0=off 1=right 2=left 3=both 4=start', - convert: '{VAL} / 16384 * 100', type: Type.UInt16, permission: 'rw', }), @@ -175,7 +174,7 @@ export const engines: OffsetList = { name: 'engine1EGT', category: OffsetCategory.ENGINE, description: 'engine1 exhaust gas temperature - Trust only on jet engine - celsius', - convert: '{VAL} * 860 / 16384', + convert: 'Math.round({VAL} * 860 / 16384)', type: Type.UInt16, permission: 'r', }), @@ -210,7 +209,7 @@ export const engines: OffsetList = { name: 'engine1Vibration', category: OffsetCategory.ENGINE, description: 'engine1 vibration', - convert: '{VAL} * 5 / 16384', + convert: 'Math.round({VAL} * 5 / 16384)', type: Type.UInt32, permission: 'r', }), diff --git a/tests/convert/apply-conversion.spec.ts b/tests/convert/apply-conversion.spec.ts index 49be1c3..05a8b97 100644 --- a/tests/convert/apply-conversion.spec.ts +++ b/tests/convert/apply-conversion.spec.ts @@ -13,6 +13,7 @@ jest.mock('../../src/lib/convert/mappings', () => ({ const VALUE = 123; const ARRAY = [123, 456]; const EXPECTED_RESULT_ARRAY = [124, 457]; +const EXPECTED_RESULT_MULTIPLE = VALUE + VALUE; const OFFSET_NO_CONVERT = new Offset({ name: 'someOffset', }); @@ -34,18 +35,27 @@ const OFFSET_WITH_ARRAY_CONVERT = new Offset({ name: 'someOffsetWithConvert', convert: '({VAL}).map(val => val + 1)', }); +const OFFSET_WITH_MULTIPLE_VAL_USAGE = new Offset({ + name: 'someOffsetWithConvert', + convert: '{VAL} + {VAL}', +}); const OFFSET_WITH_NON_STRING_CONVERT = new Offset({ name: 'someOffsetWithConvert', convert: (() => { let something; }) as any, }); const EXPECTED_EXPRESSION_ARRAY = '([123,456]).map(val => val + 1)'; const EXPECTED_EXPRESSION_SIMPLE = '!!123'; +const EXPECTED_EXPRESSION_MULTIPLE = '123 + 123'; const mockRun = jest.fn().mockImplementation((expression) => { if (expression === EXPECTED_EXPRESSION_ARRAY) { return EXPECTED_RESULT_ARRAY; } + if (expression === EXPECTED_EXPRESSION_MULTIPLE) { + return EXPECTED_RESULT_MULTIPLE; + } + return true; }); jest.mock('vm2', () => { @@ -128,6 +138,19 @@ describe('apply conversion', () => { expect(result).toBe(true); }); }); + + describe('when expression has multiple value usage', () => { + let result; + + beforeEach(() => { + result = applyConversion(OFFSET_WITH_MULTIPLE_VAL_USAGE, VALUE); + }); + + it('should replace all occurences of value', () => { + expect(mockRun).toHaveBeenCalledWith(EXPECTED_EXPRESSION_MULTIPLE); + expect(result).toEqual(246); + }); + }); }); }); }); diff --git a/tests/offsets/airport/pushback.spec.ts b/tests/offsets/airport/pushback.spec.ts index d577c66..bd72078 100644 --- a/tests/offsets/airport/pushback.spec.ts +++ b/tests/offsets/airport/pushback.spec.ts @@ -15,7 +15,7 @@ describe('offset - airport/pushback', () => { offsetsTestCases.forEach(testedOffset => { describe(testedOffset.name, () => { it('should convert data properly', () => { - const convertExpression = offsets[testedOffset.name].convert.replace('{VAL}', testedOffset.value.toString()); + const convertExpression = offsets[testedOffset.name].convert.replace(new RegExp(/{VAL}/g), testedOffset.value.toString()); // tslint:disable-next-line:no-eval expect(eval(convertExpression)).toEqual(testedOffset.expectedResult); diff --git a/tests/offsets/airport/runway.spec.ts b/tests/offsets/airport/runway.spec.ts index 7f0c105..a7b04f1 100644 --- a/tests/offsets/airport/runway.spec.ts +++ b/tests/offsets/airport/runway.spec.ts @@ -15,7 +15,7 @@ describe('offset - airport/runway', () => { offsetsTestCases.forEach(testedOffset => { describe(testedOffset.name, () => { it('should convert data properly', () => { - const convertExpression = offsets[testedOffset.name].convert.replace('{VAL}', testedOffset.value.toString()); + const convertExpression = offsets[testedOffset.name].convert.replace(new RegExp(/{VAL}/g), testedOffset.value.toString()); // tslint:disable-next-line:no-eval expect(eval(convertExpression)).toEqual(testedOffset.expectedResult); diff --git a/tests/offsets/environment/weather.spec.ts b/tests/offsets/environment/weather.spec.ts index b0df5a2..63f041e 100644 --- a/tests/offsets/environment/weather.spec.ts +++ b/tests/offsets/environment/weather.spec.ts @@ -21,7 +21,7 @@ describe('offset - environment/weather', () => { offsetsTestCases.forEach(testedOffset => { describe(testedOffset.name, () => { it('should convert data properly', () => { - const convertExpression = offsets[testedOffset.name].convert.replace('{VAL}', testedOffset.value.toString()); + const convertExpression = offsets[testedOffset.name].convert.replace(new RegExp(/{VAL}/g), testedOffset.value.toString()); // tslint:disable-next-line:no-eval expect(eval(convertExpression)).toEqual(testedOffset.expectedResult); diff --git a/tests/offsets/plane/__snapshots__/engines.spec.ts.snap b/tests/offsets/plane/__snapshots__/engines.spec.ts.snap index cf21dd3..fac988d 100644 --- a/tests/offsets/plane/__snapshots__/engines.spec.ts.snap +++ b/tests/offsets/plane/__snapshots__/engines.spec.ts.snap @@ -13,6 +13,358 @@ Object { "type": 12, "value": 2184, }, + "engine1AntiIce": Offset { + "category": "engine", + "convert": "!!{VAL}", + "description": "engine1 anti-ice/carb heat active", + "length": undefined, + "mapping": undefined, + "name": "engine1AntiIce", + "permission": "r", + "type": 5, + "value": 2226, + }, + "engine1CHT": Offset { + "category": "engine", + "convert": undefined, + "description": "engine1 cylinder head temperature - F", + "length": undefined, + "mapping": undefined, + "name": "engine1CHT", + "permission": "r", + "type": 8, + "value": 2280, + }, + "engine1EGT": Offset { + "category": "engine", + "convert": "Math.round({VAL} * 860 / 16384)", + "description": "engine1 exhaust gas temperature - Trust only on jet engine - celsius", + "length": undefined, + "mapping": undefined, + "name": "engine1EGT", + "permission": "r", + "type": 5, + "value": 2238, + }, + "engine1ElectricalLoad": Offset { + "category": "engine", + "convert": "{VAL} / 16384 * 100", + "description": "engine1 electrical load - trust only for helo - percent", + "length": undefined, + "mapping": undefined, + "name": "engine1ElectricalLoad", + "permission": "r", + "type": 6, + "value": 2300, + }, + "engine1Firing": Offset { + "category": "engine", + "convert": "!!{VAL}", + "description": "engine 1 combustion", + "length": undefined, + "mapping": undefined, + "name": "engine1Firing", + "permission": "r", + "type": 5, + "value": 2196, + }, + "engine1FuelElapsedTime": Offset { + "category": "engine", + "convert": undefined, + "description": "engine1 fuel elapsed time - h", + "length": undefined, + "mapping": undefined, + "name": "engine1FuelElapsedTime", + "permission": "r", + "type": 9, + "value": 2320, + }, + "engine1FuelFlowLbHour": Offset { + "category": "engine", + "convert": undefined, + "description": "engine1 fuel elapsed time - lb/h", + "length": undefined, + "mapping": undefined, + "name": "engine1FuelFlowLbHour", + "permission": "r", + "type": 8, + "value": 2328, + }, + "engine1FuelFlowLbHourSSL": Offset { + "category": "engine", + "convert": "{VAL} / 128", + "description": "engine1 fuel flow (lb per hour, sea level)", + "length": undefined, + "mapping": undefined, + "name": "engine1FuelFlowLbHourSSL", + "permission": "r", + "type": 5, + "value": 2208, + }, + "engine1FuelPres": Offset { + "category": "engine", + "convert": "{VAL} / 144", + "description": "engine1 fuel pressure - PSI", + "length": undefined, + "mapping": undefined, + "name": "engine1FuelPres", + "permission": "r", + "type": 6, + "value": 2296, + }, + "engine1FuelUsedSinceStart": Offset { + "category": "engine", + "convert": undefined, + "description": "engine1 used fuel since start - lb", + "length": undefined, + "mapping": undefined, + "name": "engine1FuelUsedSinceStart", + "permission": "r", + "type": 9, + "value": 2316, + }, + "engine1HydPres": Offset { + "category": "engine", + "convert": "{VAL} / 4", + "description": "engine1 hydraulic pressure - PSI", + "length": undefined, + "mapping": undefined, + "name": "engine1HydPres", + "permission": "r", + "type": 6, + "value": 2264, + }, + "engine1ITT": Offset { + "category": "engine", + "convert": "{VAL} / 16384", + "description": "engine1 turbine temperature - C", + "length": undefined, + "mapping": undefined, + "name": "engine1ITT", + "permission": "r", + "type": 6, + "value": 2288, + }, + "engine1MP": Offset { + "category": "engine", + "convert": "{VAL} / 1024", + "description": "engine1 manifold pressure - inHg", + "length": undefined, + "mapping": undefined, + "name": "engine1MP", + "permission": "r", + "type": 5, + "value": 2240, + }, + "engine1MixtureLever": Offset { + "category": "engine", + "convert": "{VAL} / 16384 * 100", + "description": "engine 1 prop lever - percent", + "length": undefined, + "mapping": undefined, + "name": "engine1MixtureLever", + "permission": "rw", + "type": 5, + "value": 2192, + }, + "engine1N1": Offset { + "category": "engine", + "convert": "{VAL} / 16384 * 100", + "description": "engine 1 N1 - also helo RPM %", + "length": undefined, + "mapping": undefined, + "name": "engine1N1", + "permission": "rw", + "type": 2, + "value": 2200, + }, + "engine1N2": Offset { + "category": "engine", + "convert": "{VAL} / 16384 * 100", + "description": "engine 1 N2 - also helo RPM %", + "length": undefined, + "mapping": undefined, + "name": "engine1N2", + "permission": "rw", + "type": 5, + "value": 2198, + }, + "engine1OilPres": Offset { + "category": "engine", + "convert": "Math.round({VAL} * 55 / 16384)", + "description": "engine1 oil pressure - PSI", + "length": undefined, + "mapping": undefined, + "name": "engine1OilPres", + "permission": "r", + "type": 5, + "value": 2234, + }, + "engine1OilQuantity": Offset { + "category": "engine", + "convert": "Math.round({VAL} / 16384 * 100)", + "description": "engine1 oil quantity - percent", + "length": undefined, + "mapping": undefined, + "name": "engine1OilQuantity", + "permission": "r", + "type": 6, + "value": 2256, + }, + "engine1OilTemp": Offset { + "category": "engine", + "convert": "Math.round({VAL} * 140 / 16384)", + "description": "engine1 oil temp - celsius", + "length": undefined, + "mapping": undefined, + "name": "engine1OilTemp", + "permission": "r", + "type": 5, + "value": 2232, + }, + "engine1PressureRatio": Offset { + "category": "engine", + "convert": "{VAL} * 1.6 / 16384", + "description": "engine1 pressure ratio", + "length": undefined, + "mapping": undefined, + "name": "engine1PressureRatio", + "permission": "r", + "type": 5, + "value": 2236, + }, + "engine1PropLever": Offset { + "category": "engine", + "convert": "Math.round({VAL} < 0 ? {VAL} / 4096 * 100 : {VAL} / 16384 * 100)", + "description": "engine 1 prop lever - percent - negative = reverse", + "length": undefined, + "mapping": undefined, + "name": "engine1PropLever", + "permission": "rw", + "type": 2, + "value": 2190, + }, + "engine1PropRPM": Offset { + "category": "engine", + "convert": "{VAL} / 16384 / 65536", + "description": "derive RPM by multiplying by - negative = counter-rotating propeller", + "length": undefined, + "mapping": undefined, + "name": "engine1PropRPM", + "permission": "rw", + "type": 2, + "value": 2200, + }, + "engine1RPMScaler": Offset { + "category": "engine", + "convert": undefined, + "description": "engine1 RPM Scaler - props: used to calculate RPM", + "length": undefined, + "mapping": undefined, + "name": "engine1RPMScaler", + "permission": "r", + "type": 5, + "value": 2248, + }, + "engine1RotorRPM": Offset { + "category": "engine", + "convert": "{VAL} / 16384 * 100", + "description": "engine1 rotor RPM - trust only for helo - percent", + "length": undefined, + "mapping": undefined, + "name": "engine1RotorRPM", + "permission": "r", + "type": 6, + "value": 2312, + }, + "engine1StarterSwitchPosition": Offset { + "category": "engine", + "convert": undefined, + "description": "engine1 start switch position - JET: 0=off 1=start 2=gen/alt - PROP: 0=off 1=right 2=left 3=both 4=start", + "length": undefined, + "mapping": undefined, + "name": "engine1StarterSwitchPosition", + "permission": "rw", + "type": 5, + "value": 2194, + }, + "engine1ThrottleLever": Offset { + "category": "engine", + "convert": "Math.round({VAL} < 0 ? {VAL} / 4096 * 100 : {VAL} / 16384 * 100)", + "description": "engine 1 throttle lever - percent - negative = reverse", + "length": undefined, + "mapping": undefined, + "name": "engine1ThrottleLever", + "permission": "r", + "type": 2, + "value": 2188, + }, + "engine1ThrottleLeverControl": Offset { + "category": "engine", + "convert": undefined, + "description": "engine1 throttle lever control - -4096 to +16384", + "length": undefined, + "mapping": undefined, + "name": "engine1ThrottleLeverControl", + "permission": "rw", + "type": 2, + "value": 2202, + }, + "engine1Torque": Offset { + "category": "engine", + "convert": "{VAL} / 16384 * 100", + "description": "engine1 torque - trust only for helo - percent", + "length": undefined, + "mapping": undefined, + "name": "engine1Torque", + "permission": "r", + "type": 6, + "value": 2292, + }, + "engine1TorqueFtLb": Offset { + "category": "engine", + "convert": undefined, + "description": "engine1 fuel elapsed time - ft lb", + "length": undefined, + "mapping": undefined, + "name": "engine1TorqueFtLb", + "permission": "r", + "type": 9, + "value": 2336, + }, + "engine1TransmOilPres": Offset { + "category": "engine", + "convert": "{VAL} / 16384", + "description": "engine1 transmission oil pressure - trust only for helo - PSI", + "length": undefined, + "mapping": undefined, + "name": "engine1TransmOilPres", + "permission": "r", + "type": 6, + "value": 2304, + }, + "engine1TransmOilTemp": Offset { + "category": "engine", + "convert": "{VAL} / 16384", + "description": "engine1 transmission oil temperature - trust only for helo - C", + "length": undefined, + "mapping": undefined, + "name": "engine1TransmOilTemp", + "permission": "r", + "type": 6, + "value": 2308, + }, + "engine1Vibration": Offset { + "category": "engine", + "convert": "Math.round({VAL} * 5 / 16384)", + "description": "engine1 vibration", + "length": undefined, + "mapping": undefined, + "name": "engine1Vibration", + "permission": "r", + "type": 6, + "value": 2260, + }, "engineType": Offset { "category": "engine", "convert": "engineType", diff --git a/tests/offsets/plane/autopilot.spec.ts b/tests/offsets/plane/autopilot.spec.ts index 7daf419..7bf890f 100644 --- a/tests/offsets/plane/autopilot.spec.ts +++ b/tests/offsets/plane/autopilot.spec.ts @@ -61,7 +61,7 @@ describe('offset - plane/autopilot', () => { offsetsTestCases.forEach(testedOffset => { describe(testedOffset.name, () => { it('should convert data properly', () => { - const convertExpression = offsets[testedOffset.name].convert.replace('{VAL}', testedOffset.value.toString()); + const convertExpression = offsets[testedOffset.name].convert.replace(new RegExp(/{VAL}/g), testedOffset.value.toString()); // tslint:disable-next-line:no-eval expect(eval(convertExpression)).toEqual(testedOffset.expectedResult); diff --git a/tests/offsets/plane/cockpit.spec.ts b/tests/offsets/plane/cockpit.spec.ts index b8a191e..552f9d5 100644 --- a/tests/offsets/plane/cockpit.spec.ts +++ b/tests/offsets/plane/cockpit.spec.ts @@ -31,7 +31,7 @@ describe('offset - plane/cockpit', () => { offsetsTestCases.forEach(testedOffset => { describe(testedOffset.name, () => { it('should convert data properly', () => { - const convertExpression = offsets[testedOffset.name].convert.replace('{VAL}', testedOffset.value.toString()); + const convertExpression = offsets[testedOffset.name].convert.replace(new RegExp(/{VAL}/g), testedOffset.value.toString()); // tslint:disable-next-line:no-eval expect(eval(convertExpression)).toEqual(testedOffset.expectedResult); diff --git a/tests/offsets/plane/controls.spec.ts b/tests/offsets/plane/controls.spec.ts index 41d6b3e..ef9fa4b 100644 --- a/tests/offsets/plane/controls.spec.ts +++ b/tests/offsets/plane/controls.spec.ts @@ -17,7 +17,7 @@ describe('offset - plane/controls', () => { offsetsTestCases.forEach(testedOffset => { describe(testedOffset.name, () => { it('should convert data properly', () => { - const convertExpression = offsets[testedOffset.name].convert.replace('{VAL}', testedOffset.value.toString()); + const convertExpression = offsets[testedOffset.name].convert.replace(new RegExp(/{VAL}/g), testedOffset.value.toString()); // tslint:disable-next-line:no-eval expect(eval(convertExpression)).toEqual(testedOffset.expectedResult); diff --git a/tests/offsets/plane/engines.spec.ts b/tests/offsets/plane/engines.spec.ts index 8744d63..d4863c7 100644 --- a/tests/offsets/plane/engines.spec.ts +++ b/tests/offsets/plane/engines.spec.ts @@ -6,6 +6,38 @@ describe('offset - plane/engines', () => { { name: 'hasMixtureControl', value: 1, expectedResult: true }, { name: 'hasCarbHeat', value: 0, expectedResult: false }, { name: 'hasCarbHeat', value: 1, expectedResult: true }, + + // Engine 1 + { name: 'engine1ThrottleLever', value: -2048, expectedResult: -50 }, + { name: 'engine1ThrottleLever', value: 0, expectedResult: 0 }, + { name: 'engine1ThrottleLever', value: 8192, expectedResult: 50 }, + { name: 'engine1PropLever', value: -2048, expectedResult: -50 }, + { name: 'engine1PropLever', value: 0, expectedResult: 0 }, + { name: 'engine1PropLever', value: 8192, expectedResult: 50 }, + { name: 'engine1MixtureLever', value: 8192, expectedResult: 50 }, + { name: 'engine1Firing', value: 0, expectedResult: false }, + { name: 'engine1Firing', value: 1, expectedResult: true }, + { name: 'engine1N2', value: 8192, expectedResult: 50 }, + { name: 'engine1N1', value: 8192, expectedResult: 50 }, + { name: 'engine1PropRPM', value: 107374182400, expectedResult: 100 }, + { name: 'engine1FuelFlowLbHourSSL', value: 256, expectedResult: 2 }, + { name: 'engine1AntiIce', value: 0, expectedResult: false }, + { name: 'engine1AntiIce', value: 1, expectedResult: true }, + { name: 'engine1OilTemp', value: 10532, expectedResult: 90 }, + { name: 'engine1OilPres', value: 22342, expectedResult: 75 }, + { name: 'engine1PressureRatio', value: 20480, expectedResult: 2 }, + { name: 'engine1EGT', value: 14281, expectedResult: 750 }, + { name: 'engine1MP', value: 20480, expectedResult: 20 }, + { name: 'engine1OilQuantity', value: 8167, expectedResult: 50 }, + { name: 'engine1Vibration', value: 6553, expectedResult: 2 }, + { name: 'engine1HydPres', value: 64, expectedResult: 16 }, + { name: 'engine1ITT', value: 3276800, expectedResult: 200 }, + { name: 'engine1Torque', value: 8192, expectedResult: 50 }, + { name: 'engine1FuelPres', value: 288, expectedResult: 2 }, + { name: 'engine1ElectricalLoad', value: 8192, expectedResult: 50 }, + { name: 'engine1TransmOilPres', value: 3276800, expectedResult: 200 }, + { name: 'engine1TransmOilTemp', value: 3276800, expectedResult: 200 }, + { name: 'engine1RotorRPM', value: 8192, expectedResult: 50 }, ]; describe('offsets list', () => { @@ -17,7 +49,7 @@ describe('offset - plane/engines', () => { offsetsTestCases.forEach(testedOffset => { describe(testedOffset.name, () => { it('should convert data properly', () => { - const convertExpression = offsets[testedOffset.name].convert.replace('{VAL}', testedOffset.value.toString()); + const convertExpression = offsets[testedOffset.name].convert.replace(new RegExp(/{VAL}/g), testedOffset.value.toString()); // tslint:disable-next-line:no-eval expect(eval(convertExpression)).toEqual(testedOffset.expectedResult); diff --git a/tests/offsets/plane/helicopter.spec.ts b/tests/offsets/plane/helicopter.spec.ts index 3d639cb..fd5e5a7 100644 --- a/tests/offsets/plane/helicopter.spec.ts +++ b/tests/offsets/plane/helicopter.spec.ts @@ -17,7 +17,7 @@ describe('offset - plane/helicopter', () => { offsetsTestCases.forEach(testedOffset => { describe(testedOffset.name, () => { it('should convert data properly', () => { - const convertExpression = offsets[testedOffset.name].convert.replace('{VAL}', testedOffset.value.toString()); + const convertExpression = offsets[testedOffset.name].convert.replace(new RegExp(/{VAL}/g), testedOffset.value.toString()); // tslint:disable-next-line:no-eval expect(eval(convertExpression)).toEqual(testedOffset.expectedResult); diff --git a/tests/offsets/plane/icing.spec.ts b/tests/offsets/plane/icing.spec.ts index 37dab60..13756be 100644 --- a/tests/offsets/plane/icing.spec.ts +++ b/tests/offsets/plane/icing.spec.ts @@ -15,7 +15,7 @@ describe('offset - plane/icing', () => { offsetsTestCases.forEach(testedOffset => { describe(testedOffset.name, () => { it('should convert data properly', () => { - const convertExpression = offsets[testedOffset.name].convert.replace('{VAL}', testedOffset.value.toString()); + const convertExpression = offsets[testedOffset.name].convert.replace(new RegExp(/{VAL}/g), testedOffset.value.toString()); // tslint:disable-next-line:no-eval expect(eval(convertExpression)).toEqual(testedOffset.expectedResult); diff --git a/tests/offsets/plane/plane.spec.ts b/tests/offsets/plane/plane.spec.ts index ffd5914..557c05f 100644 --- a/tests/offsets/plane/plane.spec.ts +++ b/tests/offsets/plane/plane.spec.ts @@ -31,7 +31,7 @@ describe('offset - plane/plane', () => { offsetsTestCases.forEach(testedOffset => { describe(testedOffset.name, () => { it('should convert data properly', () => { - const convertExpression = offsets[testedOffset.name].convert.replace('{VAL}', testedOffset.value.toString()); + const convertExpression = offsets[testedOffset.name].convert.replace(new RegExp(/{VAL}/g), testedOffset.value.toString()); // tslint:disable-next-line:no-eval expect(eval(convertExpression)).toEqual(testedOffset.expectedResult); diff --git a/tests/offsets/plane/pressurisation.spec.ts b/tests/offsets/plane/pressurisation.spec.ts index 0c232e8..47954c2 100644 --- a/tests/offsets/plane/pressurisation.spec.ts +++ b/tests/offsets/plane/pressurisation.spec.ts @@ -15,7 +15,7 @@ describe('offset - plane/pressurisation', () => { offsetsTestCases.forEach(testedOffset => { describe(testedOffset.name, () => { it('should convert data properly', () => { - const convertExpression = offsets[testedOffset.name].convert.replace('{VAL}', testedOffset.value.toString()); + const convertExpression = offsets[testedOffset.name].convert.replace(new RegExp(/{VAL}/g), testedOffset.value.toString()); // tslint:disable-next-line:no-eval expect(eval(convertExpression)).toEqual(testedOffset.expectedResult); diff --git a/tests/offsets/plane/radios.spec.ts b/tests/offsets/plane/radios.spec.ts index 8e590a6..e70aa5f 100644 --- a/tests/offsets/plane/radios.spec.ts +++ b/tests/offsets/plane/radios.spec.ts @@ -53,7 +53,7 @@ describe('offset - plane/radios', () => { offsetsTestCases.forEach(testedOffset => { describe(testedOffset.name, () => { it('should convert data properly', () => { - const convertExpression = offsets[testedOffset.name].convert.replace('{VAL}', testedOffset.value.toString()); + const convertExpression = offsets[testedOffset.name].convert.replace(new RegExp(/{VAL}/g), testedOffset.value.toString()); // tslint:disable-next-line:no-eval expect(eval(convertExpression)).toEqual(testedOffset.expectedResult); diff --git a/tests/offsets/position-attitude/position-attitude.spec.ts b/tests/offsets/position-attitude/position-attitude.spec.ts index d2632ab..3da29ee 100644 --- a/tests/offsets/position-attitude/position-attitude.spec.ts +++ b/tests/offsets/position-attitude/position-attitude.spec.ts @@ -36,7 +36,7 @@ describe('offset - position-attitude/position-attitude', () => { offsetsTestCases.forEach(testedOffset => { describe(testedOffset.name, () => { it('should convert data properly', () => { - const convertExpression = offsets[testedOffset.name].convert.replace('{VAL}', testedOffset.value.toString()); + const convertExpression = offsets[testedOffset.name].convert.replace(new RegExp(/{VAL}/g), testedOffset.value.toString()); // tslint:disable-next-line:no-eval expect(eval(convertExpression)).toEqual(testedOffset.expectedResult); diff --git a/tests/offsets/simulation/simulation.spec.ts b/tests/offsets/simulation/simulation.spec.ts index 6827779..2652b57 100644 --- a/tests/offsets/simulation/simulation.spec.ts +++ b/tests/offsets/simulation/simulation.spec.ts @@ -35,7 +35,7 @@ describe('offset - plane/simulation', () => { offsetsTestCases.forEach(testedOffset => { describe(testedOffset.name, () => { it('should convert data properly', () => { - const convertExpression = offsets[testedOffset.name].convert.replace('{VAL}', testedOffset.value.toString()); + const convertExpression = offsets[testedOffset.name].convert.replace(new RegExp(/{VAL}/g), testedOffset.value.toString()); // tslint:disable-next-line:no-eval expect(eval(convertExpression)).toEqual(testedOffset.expectedResult); From f64fe4d1b9b7efae237b411363e5196bb8144d6d Mon Sep 17 00:00:00 2001 From: blackholegalaxy Date: Tue, 21 Jan 2020 22:04:55 -0500 Subject: [PATCH 3/7] feat: add engine 2-4 --- src/lib/offsets/plane/engines.ts | 777 ++++++++++++++ .../offsets/__snapshots__/offset.spec.ts.snap | 352 +++++++ .../plane/__snapshots__/engines.spec.ts.snap | 968 ++++++++++++++++++ .../__snapshots__/helicopter.spec.ts.snap | 33 + tests/offsets/plane/engines.spec.ts | 88 ++ tests/offsets/plane/helicopter.spec.ts | 1 + 6 files changed, 2219 insertions(+) diff --git a/src/lib/offsets/plane/engines.ts b/src/lib/offsets/plane/engines.ts index f501cd0..c730547 100644 --- a/src/lib/offsets/plane/engines.ts +++ b/src/lib/offsets/plane/engines.ts @@ -222,6 +222,15 @@ export const engines: OffsetList = { type: Type.UInt32, permission: 'r', }), + engine1HydQuantity: new Offset({ + value: 0x8DC, + name: 'engine1HydQuantity', + category: OffsetCategory.ENGINE, + description: 'engine1 hydraulic quantity - PSI', + convert: '{VAL} / 16384 * 100', + type: Type.UInt32, + permission: 'r', + }), engine1CHT: new Offset({ value: 0x8E8, name: 'engine1CHT', @@ -325,4 +334,772 @@ export const engines: OffsetList = { type: Type.Single, permission: 'r', }), + + // Engine 2 + + engine2ThrottleLever: new Offset({ + value: 0x924, + name: 'engine2ThrottleLever', + category: OffsetCategory.ENGINE, + description: 'engine 2 throttle lever - percent - negative = reverse', + convert: 'Math.round({VAL} < 0 ? {VAL} / 4096 * 100 : {VAL} / 16384 * 100)', + type: Type.Int16, + permission: 'r', + }), + engine2PropLever: new Offset({ + value: 0x926, + name: 'engine2PropLever', + category: OffsetCategory.ENGINE, + description: 'engine 2 prop lever - percent - negative = reverse', + convert: 'Math.round({VAL} < 0 ? {VAL} / 4096 * 100 : {VAL} / 16384 * 100)', + type: Type.Int16, + permission: 'rw', + }), + engine2MixtureLever: new Offset({ + value: 0x928, + name: 'engine2MixtureLever', + category: OffsetCategory.ENGINE, + description: 'engine 2 prop lever - percent', + convert: '{VAL} / 16384 * 100', + type: Type.UInt16, + permission: 'rw', + }), + engine2StarterSwitchPosition: new Offset({ + value: 0x92A, + name: 'engine2StarterSwitchPosition', + category: OffsetCategory.ENGINE, + description: 'engine2 start switch position - JET: 0=off 1=start 2=gen/alt - PROP: 0=off 1=right 2=left 3=both 4=start', + type: Type.UInt16, + permission: 'rw', + }), + engine2Firing: new Offset({ + value: 0x92C, + name: 'engine2Firing', + category: OffsetCategory.ENGINE, + description: 'engine 2 combustion', + convert: '!!{VAL}', + type: Type.UInt16, + permission: 'r', + }), + engine2N2: new Offset({ + value: 0x92E, + name: 'engine2N2', + category: OffsetCategory.ENGINE, + description: 'engine 2 N2 - also helo RPM %', + convert: '{VAL} / 16384 * 100', + type: Type.UInt16, + permission: 'rw', + }), + engine2N1: new Offset({ + value: 0x930, + name: 'engine2N1', + category: OffsetCategory.ENGINE, + description: 'engine 2 N1 - also helo RPM %', + convert: '{VAL} / 16384 * 100', + type: Type.Int16, + permission: 'rw', + }), + engine2PropRPM: new Offset({ + value: 0x930, + name: 'engine2PropRPM', + category: OffsetCategory.ENGINE, + description: 'derive RPM by multiplying by - negative = counter-rotating propeller', + convert: '{VAL} / 16384 / 65536', + type: Type.Int16, + permission: 'rw', + }), + engine2ThrottleLeverControl: new Offset({ + value: 0x932, + name: 'engine2ThrottleLeverControl', + category: OffsetCategory.ENGINE, + description: 'engine2 throttle lever control - -4096 to +16384', + type: Type.Int16, + permission: 'rw', + }), + engine2FuelFlowLbHourSSL: new Offset({ + value: 0x938, + name: 'engine2FuelFlowLbHourSSL', + category: OffsetCategory.ENGINE, + description: 'engine2 fuel flow (lb per hour, sea level)', + convert: '{VAL} / 128', + type: Type.UInt16, + permission: 'r', + }), + engine2AntiIce: new Offset({ + value: 0x94A, + name: 'engine2AntiIce', + category: OffsetCategory.ENGINE, + description: 'engine2 anti-ice/carb heat active', + convert: '!!{VAL}', + type: Type.UInt16, + permission: 'r', + }), + engine2OilTemp: new Offset({ + value: 0x950, + name: 'engine2OilTemp', + category: OffsetCategory.ENGINE, + description: 'engine2 oil temp - celsius', + convert: 'Math.round({VAL} * 140 / 16384)', + type: Type.UInt16, + permission: 'r', + }), + engine2OilPres: new Offset({ + value: 0x952, + name: 'engine2OilPres', + category: OffsetCategory.ENGINE, + description: 'engine2 oil pressure - PSI', + convert: 'Math.round({VAL} * 55 / 16384)', + type: Type.UInt16, + permission: 'r', + }), + engine2PressureRatio: new Offset({ + value: 0x954, + name: 'engine2PressureRatio', + category: OffsetCategory.ENGINE, + description: 'engine2 pressure ratio', + convert: '{VAL} * 1.6 / 16384', + type: Type.UInt16, + permission: 'r', + }), + engine2EGT: new Offset({ + value: 0x956, + name: 'engine2EGT', + category: OffsetCategory.ENGINE, + description: 'engine2 exhaust gas temperature - Trust only on jet engine - celsius', + convert: 'Math.round({VAL} * 860 / 16384)', + type: Type.UInt16, + permission: 'r', + }), + engine2MP: new Offset({ + value: 0x958, + name: 'engine2MP', + category: OffsetCategory.ENGINE, + description: 'engine2 manifold pressure - inHg', + convert: '{VAL} / 1024', + type: Type.UInt16, + permission: 'r', + }), + engine2RPMScaler: new Offset({ + value: 0x960, + name: 'engine2RPMScaler', + category: OffsetCategory.ENGINE, + description: 'engine2 RPM Scaler - props: used to calculate RPM', + type: Type.UInt16, + permission: 'r', + }), + engine2OilQuantity: new Offset({ + value: 0x968, + name: 'engine2OilQuantity', + category: OffsetCategory.ENGINE, + description: 'engine2 oil quantity - percent', + convert: 'Math.round({VAL} / 16384 * 100)', + type: Type.UInt32, + permission: 'r', + }), + engine2Vibration: new Offset({ + value: 0x96C, + name: 'engine2Vibration', + category: OffsetCategory.ENGINE, + description: 'engine2 vibration', + convert: 'Math.round({VAL} * 5 / 16384)', + type: Type.UInt32, + permission: 'r', + }), + engine2HydPres: new Offset({ + value: 0x970, + name: 'engine2HydPres', + category: OffsetCategory.ENGINE, + description: 'engine2 hydraulic pressure - PSI', + convert: '{VAL} / 4', + type: Type.UInt32, + permission: 'r', + }), + engine2HydQuantity: new Offset({ + value: 0x974, + name: 'engine2HydQuantity', + category: OffsetCategory.ENGINE, + description: 'engine2 hydraulic quantity - percent', + convert: '{VAL} / 16384 * 100', + type: Type.UInt32, + permission: 'r', + }), + engine2CHT: new Offset({ + value: 0x980, + name: 'engine2CHT', + category: OffsetCategory.ENGINE, + description: 'engine2 cylinder head temperature - F', + type: Type.Double, + permission: 'r', + }), + engine2ITT: new Offset({ + value: 0x988, + name: 'engine2ITT', + category: OffsetCategory.ENGINE, + description: 'engine2 turbine temperature - C', + convert: '{VAL} / 16384', + type: Type.UInt32, + permission: 'r', + }), + engine2Torque: new Offset({ + value: 0x98C, + name: 'engine2Torque', + category: OffsetCategory.ENGINE, + description: 'engine2 torque - trust only for helo - percent', + convert: '{VAL} / 16384 * 100', + type: Type.UInt32, + permission: 'r', + }), + engine2FuelPres: new Offset({ + value: 0x990, + name: 'engine2FuelPres', + category: OffsetCategory.ENGINE, + description: 'engine2 fuel pressure - PSI', + convert: '{VAL} / 144', + type: Type.UInt32, + permission: 'r', + }), + engine2FuelUsedSinceStart: new Offset({ + value: 0x9A4, + name: 'engine2FuelUsedSinceStart', + category: OffsetCategory.ENGINE, + description: 'engine2 used fuel since start - lb', + type: Type.Single, + permission: 'r', + }), + engine2FuelElapsedTime: new Offset({ + value: 0x9A8, + name: 'engine2FuelElapsedTime', + category: OffsetCategory.ENGINE, + description: 'engine2 fuel elapsed time - h', + type: Type.Single, + permission: 'r', + }), + engine2FuelFlowLbHour: new Offset({ + value: 0x9B0, + name: 'engine2FuelFlowLbHour', + category: OffsetCategory.ENGINE, + description: 'engine2 fuel elapsed time - lb/h', + type: Type.Double, + permission: 'r', + }), + engine2TorqueFtLb: new Offset({ + value: 0x9B8, + name: 'engine2TorqueFtLb', + category: OffsetCategory.ENGINE, + description: 'engine2 fuel elapsed time - ft lb', + type: Type.Single, + permission: 'r', + }), + + // Engine 3 + + engine3ThrottleLever: new Offset({ + value: 0x9BC, + name: 'engine3ThrottleLever', + category: OffsetCategory.ENGINE, + description: 'engine 3 throttle lever - percent - negative = reverse', + convert: 'Math.round({VAL} < 0 ? {VAL} / 4096 * 100 : {VAL} / 16384 * 100)', + type: Type.Int16, + permission: 'r', + }), + engine3PropLever: new Offset({ + value: 0x9BE, + name: 'engine3PropLever', + category: OffsetCategory.ENGINE, + description: 'engine 3 prop lever - percent - negative = reverse', + convert: 'Math.round({VAL} < 0 ? {VAL} / 4096 * 100 : {VAL} / 16384 * 100)', + type: Type.Int16, + permission: 'rw', + }), + engine3MixtureLever: new Offset({ + value: 0x9C0, + name: 'engine3MixtureLever', + category: OffsetCategory.ENGINE, + description: 'engine 3 prop lever - percent', + convert: '{VAL} / 16384 * 100', + type: Type.UInt16, + permission: 'rw', + }), + engine3StarterSwitchPosition: new Offset({ + value: 0x9C2, + name: 'engine3StarterSwitchPosition', + category: OffsetCategory.ENGINE, + description: 'engine3 start switch position - JET: 0=off 1=start 2=gen/alt - PROP: 0=off 1=right 2=left 3=both 4=start', + type: Type.UInt16, + permission: 'rw', + }), + engine3Firing: new Offset({ + value: 0x9C4, + name: 'engine3Firing', + category: OffsetCategory.ENGINE, + description: 'engine 3 combustion', + convert: '!!{VAL}', + type: Type.UInt16, + permission: 'r', + }), + engine3N2: new Offset({ + value: 0x9C6, + name: 'engine3N2', + category: OffsetCategory.ENGINE, + description: 'engine 3 N2 - also helo RPM %', + convert: '{VAL} / 16384 * 100', + type: Type.UInt16, + permission: 'rw', + }), + engine3N1: new Offset({ + value: 0x9C8, + name: 'engine3N1', + category: OffsetCategory.ENGINE, + description: 'engine 3 N1 - also helo RPM %', + convert: '{VAL} / 16384 * 100', + type: Type.Int16, + permission: 'rw', + }), + engine3PropRPM: new Offset({ + value: 0x9C8, + name: 'engine3PropRPM', + category: OffsetCategory.ENGINE, + description: 'derive RPM by multiplying by - negative = counter-rotating propeller', + convert: '{VAL} / 16384 / 65536', + type: Type.Int16, + permission: 'rw', + }), + engine3ThrottleLeverControl: new Offset({ + value: 0x9CA, + name: 'engine3ThrottleLeverControl', + category: OffsetCategory.ENGINE, + description: 'engine3 throttle lever control - -4096 to +16384', + type: Type.Int16, + permission: 'rw', + }), + engine3FuelFlowLbHourSSL: new Offset({ + value: 0x9D0, + name: 'engine3FuelFlowLbHourSSL', + category: OffsetCategory.ENGINE, + description: 'engine3 fuel flow (lb per hour, sea level)', + convert: '{VAL} / 128', + type: Type.UInt16, + permission: 'r', + }), + engine3AntiIce: new Offset({ + value: 0x9E2, + name: 'engine3AntiIce', + category: OffsetCategory.ENGINE, + description: 'engine3 anti-ice/carb heat active', + convert: '!!{VAL}', + type: Type.UInt16, + permission: 'r', + }), + engine3OilTemp: new Offset({ + value: 0x9E8, + name: 'engine3OilTemp', + category: OffsetCategory.ENGINE, + description: 'engine3 oil temp - celsius', + convert: 'Math.round({VAL} * 140 / 16384)', + type: Type.UInt16, + permission: 'r', + }), + engine3OilPres: new Offset({ + value: 0x9EA, + name: 'engine3OilPres', + category: OffsetCategory.ENGINE, + description: 'engine3 oil pressure - PSI', + convert: 'Math.round({VAL} * 55 / 16384)', + type: Type.UInt16, + permission: 'r', + }), + engine3PressureRatio: new Offset({ + value: 0x9EC, + name: 'engine3PressureRatio', + category: OffsetCategory.ENGINE, + description: 'engine3 pressure ratio', + convert: '{VAL} * 1.6 / 16384', + type: Type.UInt16, + permission: 'r', + }), + engine3EGT: new Offset({ + value: 0x9EE, + name: 'engine3EGT', + category: OffsetCategory.ENGINE, + description: 'engine3 exhaust gas temperature - Trust only on jet engine - celsius', + convert: 'Math.round({VAL} * 860 / 16384)', + type: Type.UInt16, + permission: 'r', + }), + engine3MP: new Offset({ + value: 0x9F0, + name: 'engine3MP', + category: OffsetCategory.ENGINE, + description: 'engine3 manifold pressure - inHg', + convert: '{VAL} / 1024', + type: Type.UInt16, + permission: 'r', + }), + engine3RPMScaler: new Offset({ + value: 0x9F8, + name: 'engine3RPMScaler', + category: OffsetCategory.ENGINE, + description: 'engine3 RPM Scaler - props: used to calculate RPM', + type: Type.UInt16, + permission: 'r', + }), + engine3OilQuantity: new Offset({ + value: 0xA00, + name: 'engine3OilQuantity', + category: OffsetCategory.ENGINE, + description: 'engine3 oil quantity - percent', + convert: 'Math.round({VAL} / 16384 * 100)', + type: Type.UInt32, + permission: 'r', + }), + engine3Vibration: new Offset({ + value: 0xA04, + name: 'engine3Vibration', + category: OffsetCategory.ENGINE, + description: 'engine3 vibration', + convert: 'Math.round({VAL} * 5 / 16384)', + type: Type.UInt32, + permission: 'r', + }), + engine3HydPres: new Offset({ + value: 0xA08, + name: 'engine3HydPres', + category: OffsetCategory.ENGINE, + description: 'engine3 hydraulic pressure - PSI', + convert: '{VAL} / 4', + type: Type.UInt32, + permission: 'r', + }), + engine3HydQuantity: new Offset({ + value: 0xA0C, + name: 'engine3HydQuantity', + category: OffsetCategory.ENGINE, + description: 'engine3 hydraulic quantity - percent', + convert: '{VAL} / 16384 * 100', + type: Type.UInt32, + permission: 'r', + }), + engine3CHT: new Offset({ + value: 0xA18, + name: 'engine3CHT', + category: OffsetCategory.ENGINE, + description: 'engine3 cylinder head temperature - F', + type: Type.Double, + permission: 'r', + }), + engine3ITT: new Offset({ + value: 0xA20, + name: 'engine3ITT', + category: OffsetCategory.ENGINE, + description: 'engine3 turbine temperature - C', + convert: '{VAL} / 16384', + type: Type.UInt32, + permission: 'r', + }), + engine3Torque: new Offset({ + value: 0xA24, + name: 'engine3Torque', + category: OffsetCategory.ENGINE, + description: 'engine3 torque - trust only for helo - percent', + convert: '{VAL} / 16384 * 100', + type: Type.UInt32, + permission: 'r', + }), + engine3FuelPres: new Offset({ + value: 0xA28, + name: 'engine3FuelPres', + category: OffsetCategory.ENGINE, + description: 'engine3 fuel pressure - PSI', + convert: '{VAL} / 144', + type: Type.UInt32, + permission: 'r', + }), + engine3FuelUsedSinceStart: new Offset({ + value: 0xA3C, + name: 'engine3FuelUsedSinceStart', + category: OffsetCategory.ENGINE, + description: 'engine3 used fuel since start - lb', + type: Type.Single, + permission: 'r', + }), + engine3FuelElapsedTime: new Offset({ + value: 0xA40, + name: 'engine3FuelElapsedTime', + category: OffsetCategory.ENGINE, + description: 'engine3 fuel elapsed time - h', + type: Type.Single, + permission: 'r', + }), + engine3FuelFlowLbHour: new Offset({ + value: 0xA48, + name: 'engine3FuelFlowLbHour', + category: OffsetCategory.ENGINE, + description: 'engine3 fuel elapsed time - lb/h', + type: Type.Double, + permission: 'r', + }), + engine3TorqueFtLb: new Offset({ + value: 0xA50, + name: 'engine3TorqueFtLb', + category: OffsetCategory.ENGINE, + description: 'engine3 fuel elapsed time - ft lb', + type: Type.Single, + permission: 'r', + }), + + // Engine 4 + + engine4ThrottleLever: new Offset({ + value: 0xA54, + name: 'engine4ThrottleLever', + category: OffsetCategory.ENGINE, + description: 'engine 4 throttle lever - percent - negative = reverse', + convert: 'Math.round({VAL} < 0 ? {VAL} / 4096 * 100 : {VAL} / 16384 * 100)', + type: Type.Int16, + permission: 'r', + }), + engine4PropLever: new Offset({ + value: 0xA56, + name: 'engine4PropLever', + category: OffsetCategory.ENGINE, + description: 'engine 4 prop lever - percent - negative = reverse', + convert: 'Math.round({VAL} < 0 ? {VAL} / 4096 * 100 : {VAL} / 16384 * 100)', + type: Type.Int16, + permission: 'rw', + }), + engine4MixtureLever: new Offset({ + value: 0xA58, + name: 'engine4MixtureLever', + category: OffsetCategory.ENGINE, + description: 'engine 4 prop lever - percent', + convert: '{VAL} / 16384 * 100', + type: Type.UInt16, + permission: 'rw', + }), + engine4StarterSwitchPosition: new Offset({ + value: 0xA5A, + name: 'engine4StarterSwitchPosition', + category: OffsetCategory.ENGINE, + description: 'engine4 start switch position - JET: 0=off 1=start 2=gen/alt - PROP: 0=off 1=right 2=left 3=both 4=start', + type: Type.UInt16, + permission: 'rw', + }), + engine4Firing: new Offset({ + value: 0xA5C, + name: 'engine4Firing', + category: OffsetCategory.ENGINE, + description: 'engine 4 combustion', + convert: '!!{VAL}', + type: Type.UInt16, + permission: 'r', + }), + engine4N2: new Offset({ + value: 0xA5E, + name: 'engine4N2', + category: OffsetCategory.ENGINE, + description: 'engine 4 N2 - also helo RPM %', + convert: '{VAL} / 16384 * 100', + type: Type.UInt16, + permission: 'rw', + }), + engine4N1: new Offset({ + value: 0xA60, + name: 'engine4N1', + category: OffsetCategory.ENGINE, + description: 'engine 4 N1 - also helo RPM %', + convert: '{VAL} / 16384 * 100', + type: Type.Int16, + permission: 'rw', + }), + engine4PropRPM: new Offset({ + value: 0xA60, + name: 'engine4PropRPM', + category: OffsetCategory.ENGINE, + description: 'derive RPM by multiplying by - negative = counter-rotating propeller', + convert: '{VAL} / 16384 / 65536', + type: Type.Int16, + permission: 'rw', + }), + engine4ThrottleLeverControl: new Offset({ + value: 0xA62, + name: 'engine4ThrottleLeverControl', + category: OffsetCategory.ENGINE, + description: 'engine4 throttle lever control - -4096 to +16384', + type: Type.Int16, + permission: 'rw', + }), + engine4FuelFlowLbHourSSL: new Offset({ + value: 0xA68, + name: 'engine4FuelFlowLbHourSSL', + category: OffsetCategory.ENGINE, + description: 'engine4 fuel flow (lb per hour, sea level)', + convert: '{VAL} / 128', + type: Type.UInt16, + permission: 'r', + }), + engine4AntiIce: new Offset({ + value: 0xA7A, + name: 'engine4AntiIce', + category: OffsetCategory.ENGINE, + description: 'engine4 anti-ice/carb heat active', + convert: '!!{VAL}', + type: Type.UInt16, + permission: 'r', + }), + engine4OilTemp: new Offset({ + value: 0xA80, + name: 'engine4OilTemp', + category: OffsetCategory.ENGINE, + description: 'engine4 oil temp - celsius', + convert: 'Math.round({VAL} * 140 / 16384)', + type: Type.UInt16, + permission: 'r', + }), + engine4OilPres: new Offset({ + value: 0xA82, + name: 'engine4OilPres', + category: OffsetCategory.ENGINE, + description: 'engine4 oil pressure - PSI', + convert: 'Math.round({VAL} * 55 / 16384)', + type: Type.UInt16, + permission: 'r', + }), + engine4PressureRatio: new Offset({ + value: 0xA84, + name: 'engine4PressureRatio', + category: OffsetCategory.ENGINE, + description: 'engine4 pressure ratio', + convert: '{VAL} * 1.6 / 16384', + type: Type.UInt16, + permission: 'r', + }), + engine4EGT: new Offset({ + value: 0xA86, + name: 'engine4EGT', + category: OffsetCategory.ENGINE, + description: 'engine4 exhaust gas temperature - Trust only on jet engine - celsius', + convert: 'Math.round({VAL} * 860 / 16384)', + type: Type.UInt16, + permission: 'r', + }), + engine4MP: new Offset({ + value: 0xA88, + name: 'engine4MP', + category: OffsetCategory.ENGINE, + description: 'engine4 manifold pressure - inHg', + convert: '{VAL} / 1024', + type: Type.UInt16, + permission: 'r', + }), + engine4RPMScaler: new Offset({ + value: 0xA90, + name: 'engine4RPMScaler', + category: OffsetCategory.ENGINE, + description: 'engine4 RPM Scaler - props: used to calculate RPM', + type: Type.UInt16, + permission: 'r', + }), + engine4OilQuantity: new Offset({ + value: 0xA98, + name: 'engine4OilQuantity', + category: OffsetCategory.ENGINE, + description: 'engine4 oil quantity - percent', + convert: 'Math.round({VAL} / 16384 * 100)', + type: Type.UInt32, + permission: 'r', + }), + engine4Vibration: new Offset({ + value: 0xA9C, + name: 'engine4Vibration', + category: OffsetCategory.ENGINE, + description: 'engine4 vibration', + convert: 'Math.round({VAL} * 5 / 16384)', + type: Type.UInt32, + permission: 'r', + }), + engine4HydPres: new Offset({ + value: 0xAA0, + name: 'engine4HydPres', + category: OffsetCategory.ENGINE, + description: 'engine4 hydraulic pressure - PSI', + convert: '{VAL} / 4', + type: Type.UInt32, + permission: 'r', + }), + engine4HydQuantity: new Offset({ + value: 0xAA4, + name: 'engine4HydQuantity', + category: OffsetCategory.ENGINE, + description: 'engine4 hydraulic quantity - percent', + convert: '{VAL} / 16384 * 100', + type: Type.UInt32, + permission: 'r', + }), + engine4CHT: new Offset({ + value: 0xAB0, + name: 'engine4CHT', + category: OffsetCategory.ENGINE, + description: 'engine4 cylinder head temperature - F', + type: Type.Double, + permission: 'r', + }), + engine4ITT: new Offset({ + value: 0xAB8, + name: 'engine4ITT', + category: OffsetCategory.ENGINE, + description: 'engine4 turbine temperature - C', + convert: '{VAL} / 16384', + type: Type.UInt32, + permission: 'r', + }), + engine4Torque: new Offset({ + value: 0xABC, + name: 'engine4Torque', + category: OffsetCategory.ENGINE, + description: 'engine4 torque - trust only for helo - percent', + convert: '{VAL} / 16384 * 100', + type: Type.UInt32, + permission: 'r', + }), + engine4FuelPres: new Offset({ + value: 0xAC0, + name: 'engine4FuelPres', + category: OffsetCategory.ENGINE, + description: 'engine4 fuel pressure - PSI', + convert: '{VAL} / 144', + type: Type.UInt32, + permission: 'r', + }), + engine4FuelUsedSinceStart: new Offset({ + value: 0xAD4, + name: 'engine4FuelUsedSinceStart', + category: OffsetCategory.ENGINE, + description: 'engine4 used fuel since start - lb', + type: Type.Single, + permission: 'r', + }), + engine4FuelElapsedTime: new Offset({ + value: 0xAD8, + name: 'engine4FuelElapsedTime', + category: OffsetCategory.ENGINE, + description: 'engine4 fuel elapsed time - h', + type: Type.Single, + permission: 'r', + }), + engine4FuelFlowLbHour: new Offset({ + value: 0xAE0, + name: 'engine4FuelFlowLbHour', + category: OffsetCategory.ENGINE, + description: 'engine4 fuel elapsed time - lb/h', + type: Type.Double, + permission: 'r', + }), + engine4TorqueFtLb: new Offset({ + value: 0xAE8, + name: 'engine4TorqueFtLb', + category: OffsetCategory.ENGINE, + description: 'engine4 fuel elapsed time - ft lb', + type: Type.Single, + permission: 'r', + }), }; diff --git a/tests/offsets/__snapshots__/offset.spec.ts.snap b/tests/offsets/__snapshots__/offset.spec.ts.snap index 30eb3b2..896c1c2 100644 --- a/tests/offsets/__snapshots__/offset.spec.ts.snap +++ b/tests/offsets/__snapshots__/offset.spec.ts.snap @@ -684,6 +684,358 @@ Object { "type": 8, "value": 1192, }, + "engine1AntiIce": Offset { + "category": "engine", + "convert": "!!{VAL}", + "description": "engine1 anti-ice/carb heat active", + "length": undefined, + "mapping": undefined, + "name": "engine1AntiIce", + "permission": "r", + "type": 5, + "value": 2226, + }, + "engine1CHT": Offset { + "category": "engine", + "convert": undefined, + "description": "engine1 cylinder head temperature - F", + "length": undefined, + "mapping": undefined, + "name": "engine1CHT", + "permission": "r", + "type": 8, + "value": 2280, + }, + "engine1EGT": Offset { + "category": "engine", + "convert": "Math.round({VAL} * 860 / 16384)", + "description": "engine1 exhaust gas temperature - Trust only on jet engine - celsius", + "length": undefined, + "mapping": undefined, + "name": "engine1EGT", + "permission": "r", + "type": 5, + "value": 2238, + }, + "engine1ElectricalLoad": Offset { + "category": "engine", + "convert": "{VAL} / 16384 * 100", + "description": "engine1 electrical load - trust only for helo - percent", + "length": undefined, + "mapping": undefined, + "name": "engine1ElectricalLoad", + "permission": "r", + "type": 6, + "value": 2300, + }, + "engine1Firing": Offset { + "category": "engine", + "convert": "!!{VAL}", + "description": "engine 1 combustion", + "length": undefined, + "mapping": undefined, + "name": "engine1Firing", + "permission": "r", + "type": 5, + "value": 2196, + }, + "engine1FuelElapsedTime": Offset { + "category": "engine", + "convert": undefined, + "description": "engine1 fuel elapsed time - h", + "length": undefined, + "mapping": undefined, + "name": "engine1FuelElapsedTime", + "permission": "r", + "type": 9, + "value": 2320, + }, + "engine1FuelFlowLbHour": Offset { + "category": "engine", + "convert": undefined, + "description": "engine1 fuel elapsed time - lb/h", + "length": undefined, + "mapping": undefined, + "name": "engine1FuelFlowLbHour", + "permission": "r", + "type": 8, + "value": 2328, + }, + "engine1FuelFlowLbHourSSL": Offset { + "category": "engine", + "convert": "{VAL} / 128", + "description": "engine1 fuel flow (lb per hour, sea level)", + "length": undefined, + "mapping": undefined, + "name": "engine1FuelFlowLbHourSSL", + "permission": "r", + "type": 5, + "value": 2208, + }, + "engine1FuelPres": Offset { + "category": "engine", + "convert": "{VAL} / 144", + "description": "engine1 fuel pressure - PSI", + "length": undefined, + "mapping": undefined, + "name": "engine1FuelPres", + "permission": "r", + "type": 6, + "value": 2296, + }, + "engine1FuelUsedSinceStart": Offset { + "category": "engine", + "convert": undefined, + "description": "engine1 used fuel since start - lb", + "length": undefined, + "mapping": undefined, + "name": "engine1FuelUsedSinceStart", + "permission": "r", + "type": 9, + "value": 2316, + }, + "engine1HydPres": Offset { + "category": "engine", + "convert": "{VAL} / 4", + "description": "engine1 hydraulic pressure - PSI", + "length": undefined, + "mapping": undefined, + "name": "engine1HydPres", + "permission": "r", + "type": 6, + "value": 2264, + }, + "engine1ITT": Offset { + "category": "engine", + "convert": "{VAL} / 16384", + "description": "engine1 turbine temperature - C", + "length": undefined, + "mapping": undefined, + "name": "engine1ITT", + "permission": "r", + "type": 6, + "value": 2288, + }, + "engine1MP": Offset { + "category": "engine", + "convert": "{VAL} / 1024", + "description": "engine1 manifold pressure - inHg", + "length": undefined, + "mapping": undefined, + "name": "engine1MP", + "permission": "r", + "type": 5, + "value": 2240, + }, + "engine1MixtureLever": Offset { + "category": "engine", + "convert": "{VAL} / 16384 * 100", + "description": "engine 1 prop lever - percent", + "length": undefined, + "mapping": undefined, + "name": "engine1MixtureLever", + "permission": "rw", + "type": 5, + "value": 2192, + }, + "engine1N1": Offset { + "category": "engine", + "convert": "{VAL} / 16384 * 100", + "description": "engine 1 N1 - also helo RPM %", + "length": undefined, + "mapping": undefined, + "name": "engine1N1", + "permission": "rw", + "type": 2, + "value": 2200, + }, + "engine1N2": Offset { + "category": "engine", + "convert": "{VAL} / 16384 * 100", + "description": "engine 1 N2 - also helo RPM %", + "length": undefined, + "mapping": undefined, + "name": "engine1N2", + "permission": "rw", + "type": 5, + "value": 2198, + }, + "engine1OilPres": Offset { + "category": "engine", + "convert": "Math.round({VAL} * 55 / 16384)", + "description": "engine1 oil pressure - PSI", + "length": undefined, + "mapping": undefined, + "name": "engine1OilPres", + "permission": "r", + "type": 5, + "value": 2234, + }, + "engine1OilQuantity": Offset { + "category": "engine", + "convert": "Math.round({VAL} / 16384 * 100)", + "description": "engine1 oil quantity - percent", + "length": undefined, + "mapping": undefined, + "name": "engine1OilQuantity", + "permission": "r", + "type": 6, + "value": 2256, + }, + "engine1OilTemp": Offset { + "category": "engine", + "convert": "Math.round({VAL} * 140 / 16384)", + "description": "engine1 oil temp - celsius", + "length": undefined, + "mapping": undefined, + "name": "engine1OilTemp", + "permission": "r", + "type": 5, + "value": 2232, + }, + "engine1PressureRatio": Offset { + "category": "engine", + "convert": "{VAL} * 1.6 / 16384", + "description": "engine1 pressure ratio", + "length": undefined, + "mapping": undefined, + "name": "engine1PressureRatio", + "permission": "r", + "type": 5, + "value": 2236, + }, + "engine1PropLever": Offset { + "category": "engine", + "convert": "Math.round({VAL} < 0 ? {VAL} / 4096 * 100 : {VAL} / 16384 * 100)", + "description": "engine 1 prop lever - percent - negative = reverse", + "length": undefined, + "mapping": undefined, + "name": "engine1PropLever", + "permission": "rw", + "type": 2, + "value": 2190, + }, + "engine1PropRPM": Offset { + "category": "engine", + "convert": "{VAL} / 16384 / 65536", + "description": "derive RPM by multiplying by - negative = counter-rotating propeller", + "length": undefined, + "mapping": undefined, + "name": "engine1PropRPM", + "permission": "rw", + "type": 2, + "value": 2200, + }, + "engine1RPMScaler": Offset { + "category": "engine", + "convert": undefined, + "description": "engine1 RPM Scaler - props: used to calculate RPM", + "length": undefined, + "mapping": undefined, + "name": "engine1RPMScaler", + "permission": "r", + "type": 5, + "value": 2248, + }, + "engine1RotorRPM": Offset { + "category": "engine", + "convert": "{VAL} / 16384 * 100", + "description": "engine1 rotor RPM - trust only for helo - percent", + "length": undefined, + "mapping": undefined, + "name": "engine1RotorRPM", + "permission": "r", + "type": 6, + "value": 2312, + }, + "engine1StarterSwitchPosition": Offset { + "category": "engine", + "convert": undefined, + "description": "engine1 start switch position - JET: 0=off 1=start 2=gen/alt - PROP: 0=off 1=right 2=left 3=both 4=start", + "length": undefined, + "mapping": undefined, + "name": "engine1StarterSwitchPosition", + "permission": "rw", + "type": 5, + "value": 2194, + }, + "engine1ThrottleLever": Offset { + "category": "engine", + "convert": "Math.round({VAL} < 0 ? {VAL} / 4096 * 100 : {VAL} / 16384 * 100)", + "description": "engine 1 throttle lever - percent - negative = reverse", + "length": undefined, + "mapping": undefined, + "name": "engine1ThrottleLever", + "permission": "r", + "type": 2, + "value": 2188, + }, + "engine1ThrottleLeverControl": Offset { + "category": "engine", + "convert": undefined, + "description": "engine1 throttle lever control - -4096 to +16384", + "length": undefined, + "mapping": undefined, + "name": "engine1ThrottleLeverControl", + "permission": "rw", + "type": 2, + "value": 2202, + }, + "engine1Torque": Offset { + "category": "engine", + "convert": "{VAL} / 16384 * 100", + "description": "engine1 torque - trust only for helo - percent", + "length": undefined, + "mapping": undefined, + "name": "engine1Torque", + "permission": "r", + "type": 6, + "value": 2292, + }, + "engine1TorqueFtLb": Offset { + "category": "engine", + "convert": undefined, + "description": "engine1 fuel elapsed time - ft lb", + "length": undefined, + "mapping": undefined, + "name": "engine1TorqueFtLb", + "permission": "r", + "type": 9, + "value": 2336, + }, + "engine1TransmOilPres": Offset { + "category": "engine", + "convert": "{VAL} / 16384", + "description": "engine1 transmission oil pressure - trust only for helo - PSI", + "length": undefined, + "mapping": undefined, + "name": "engine1TransmOilPres", + "permission": "r", + "type": 6, + "value": 2304, + }, + "engine1TransmOilTemp": Offset { + "category": "engine", + "convert": "{VAL} / 16384", + "description": "engine1 transmission oil temperature - trust only for helo - C", + "length": undefined, + "mapping": undefined, + "name": "engine1TransmOilTemp", + "permission": "r", + "type": 6, + "value": 2308, + }, + "engine1Vibration": Offset { + "category": "engine", + "convert": "Math.round({VAL} * 5 / 16384)", + "description": "engine1 vibration", + "length": undefined, + "mapping": undefined, + "name": "engine1Vibration", + "permission": "r", + "type": 6, + "value": 2260, + }, "engineType": Offset { "category": "engine", "convert": "engineType", diff --git a/tests/offsets/plane/__snapshots__/engines.spec.ts.snap b/tests/offsets/plane/__snapshots__/engines.spec.ts.snap index fac988d..828dac5 100644 --- a/tests/offsets/plane/__snapshots__/engines.spec.ts.snap +++ b/tests/offsets/plane/__snapshots__/engines.spec.ts.snap @@ -134,6 +134,17 @@ Object { "type": 6, "value": 2264, }, + "engine1HydQuantity": Offset { + "category": "engine", + "convert": "{VAL} / 16384 * 100", + "description": "engine1 hydraulic quantity - PSI", + "length": undefined, + "mapping": undefined, + "name": "engine1HydQuantity", + "permission": "r", + "type": 6, + "value": 2268, + }, "engine1ITT": Offset { "category": "engine", "convert": "{VAL} / 16384", @@ -365,6 +376,963 @@ Object { "type": 6, "value": 2260, }, + "engine2AntiIce": Offset { + "category": "engine", + "convert": "!!{VAL}", + "description": "engine2 anti-ice/carb heat active", + "length": undefined, + "mapping": undefined, + "name": "engine2AntiIce", + "permission": "r", + "type": 5, + "value": 2378, + }, + "engine2CHT": Offset { + "category": "engine", + "convert": undefined, + "description": "engine2 cylinder head temperature - F", + "length": undefined, + "mapping": undefined, + "name": "engine2CHT", + "permission": "r", + "type": 8, + "value": 2432, + }, + "engine2EGT": Offset { + "category": "engine", + "convert": "Math.round({VAL} * 860 / 16384)", + "description": "engine2 exhaust gas temperature - Trust only on jet engine - celsius", + "length": undefined, + "mapping": undefined, + "name": "engine2EGT", + "permission": "r", + "type": 5, + "value": 2390, + }, + "engine2Firing": Offset { + "category": "engine", + "convert": "!!{VAL}", + "description": "engine 2 combustion", + "length": undefined, + "mapping": undefined, + "name": "engine2Firing", + "permission": "r", + "type": 5, + "value": 2348, + }, + "engine2FuelElapsedTime": Offset { + "category": "engine", + "convert": undefined, + "description": "engine2 fuel elapsed time - h", + "length": undefined, + "mapping": undefined, + "name": "engine2FuelElapsedTime", + "permission": "r", + "type": 9, + "value": 2472, + }, + "engine2FuelFlowLbHour": Offset { + "category": "engine", + "convert": undefined, + "description": "engine2 fuel elapsed time - lb/h", + "length": undefined, + "mapping": undefined, + "name": "engine2FuelFlowLbHour", + "permission": "r", + "type": 8, + "value": 2480, + }, + "engine2FuelFlowLbHourSSL": Offset { + "category": "engine", + "convert": "{VAL} / 128", + "description": "engine2 fuel flow (lb per hour, sea level)", + "length": undefined, + "mapping": undefined, + "name": "engine2FuelFlowLbHourSSL", + "permission": "r", + "type": 5, + "value": 2360, + }, + "engine2FuelPres": Offset { + "category": "engine", + "convert": "{VAL} / 144", + "description": "engine2 fuel pressure - PSI", + "length": undefined, + "mapping": undefined, + "name": "engine2FuelPres", + "permission": "r", + "type": 6, + "value": 2448, + }, + "engine2FuelUsedSinceStart": Offset { + "category": "engine", + "convert": undefined, + "description": "engine2 used fuel since start - lb", + "length": undefined, + "mapping": undefined, + "name": "engine2FuelUsedSinceStart", + "permission": "r", + "type": 9, + "value": 2468, + }, + "engine2HydPres": Offset { + "category": "engine", + "convert": "{VAL} / 4", + "description": "engine2 hydraulic pressure - PSI", + "length": undefined, + "mapping": undefined, + "name": "engine2HydPres", + "permission": "r", + "type": 6, + "value": 2416, + }, + "engine2HydQuantity": Offset { + "category": "engine", + "convert": "{VAL} / 16384 * 100", + "description": "engine2 hydraulic quantity - percent", + "length": undefined, + "mapping": undefined, + "name": "engine2HydQuantity", + "permission": "r", + "type": 6, + "value": 2420, + }, + "engine2ITT": Offset { + "category": "engine", + "convert": "{VAL} / 16384", + "description": "engine2 turbine temperature - C", + "length": undefined, + "mapping": undefined, + "name": "engine2ITT", + "permission": "r", + "type": 6, + "value": 2440, + }, + "engine2MP": Offset { + "category": "engine", + "convert": "{VAL} / 1024", + "description": "engine2 manifold pressure - inHg", + "length": undefined, + "mapping": undefined, + "name": "engine2MP", + "permission": "r", + "type": 5, + "value": 2392, + }, + "engine2MixtureLever": Offset { + "category": "engine", + "convert": "{VAL} / 16384 * 100", + "description": "engine 2 prop lever - percent", + "length": undefined, + "mapping": undefined, + "name": "engine2MixtureLever", + "permission": "rw", + "type": 5, + "value": 2344, + }, + "engine2N1": Offset { + "category": "engine", + "convert": "{VAL} / 16384 * 100", + "description": "engine 2 N1 - also helo RPM %", + "length": undefined, + "mapping": undefined, + "name": "engine2N1", + "permission": "rw", + "type": 2, + "value": 2352, + }, + "engine2N2": Offset { + "category": "engine", + "convert": "{VAL} / 16384 * 100", + "description": "engine 2 N2 - also helo RPM %", + "length": undefined, + "mapping": undefined, + "name": "engine2N2", + "permission": "rw", + "type": 5, + "value": 2350, + }, + "engine2OilPres": Offset { + "category": "engine", + "convert": "Math.round({VAL} * 55 / 16384)", + "description": "engine2 oil pressure - PSI", + "length": undefined, + "mapping": undefined, + "name": "engine2OilPres", + "permission": "r", + "type": 5, + "value": 2386, + }, + "engine2OilQuantity": Offset { + "category": "engine", + "convert": "Math.round({VAL} / 16384 * 100)", + "description": "engine2 oil quantity - percent", + "length": undefined, + "mapping": undefined, + "name": "engine2OilQuantity", + "permission": "r", + "type": 6, + "value": 2408, + }, + "engine2OilTemp": Offset { + "category": "engine", + "convert": "Math.round({VAL} * 140 / 16384)", + "description": "engine2 oil temp - celsius", + "length": undefined, + "mapping": undefined, + "name": "engine2OilTemp", + "permission": "r", + "type": 5, + "value": 2384, + }, + "engine2PressureRatio": Offset { + "category": "engine", + "convert": "{VAL} * 1.6 / 16384", + "description": "engine2 pressure ratio", + "length": undefined, + "mapping": undefined, + "name": "engine2PressureRatio", + "permission": "r", + "type": 5, + "value": 2388, + }, + "engine2PropLever": Offset { + "category": "engine", + "convert": "Math.round({VAL} < 0 ? {VAL} / 4096 * 100 : {VAL} / 16384 * 100)", + "description": "engine 2 prop lever - percent - negative = reverse", + "length": undefined, + "mapping": undefined, + "name": "engine2PropLever", + "permission": "rw", + "type": 2, + "value": 2342, + }, + "engine2PropRPM": Offset { + "category": "engine", + "convert": "{VAL} / 16384 / 65536", + "description": "derive RPM by multiplying by - negative = counter-rotating propeller", + "length": undefined, + "mapping": undefined, + "name": "engine2PropRPM", + "permission": "rw", + "type": 2, + "value": 2352, + }, + "engine2RPMScaler": Offset { + "category": "engine", + "convert": undefined, + "description": "engine2 RPM Scaler - props: used to calculate RPM", + "length": undefined, + "mapping": undefined, + "name": "engine2RPMScaler", + "permission": "r", + "type": 5, + "value": 2400, + }, + "engine2StarterSwitchPosition": Offset { + "category": "engine", + "convert": undefined, + "description": "engine2 start switch position - JET: 0=off 1=start 2=gen/alt - PROP: 0=off 1=right 2=left 3=both 4=start", + "length": undefined, + "mapping": undefined, + "name": "engine2StarterSwitchPosition", + "permission": "rw", + "type": 5, + "value": 2346, + }, + "engine2ThrottleLever": Offset { + "category": "engine", + "convert": "Math.round({VAL} < 0 ? {VAL} / 4096 * 100 : {VAL} / 16384 * 100)", + "description": "engine 2 throttle lever - percent - negative = reverse", + "length": undefined, + "mapping": undefined, + "name": "engine2ThrottleLever", + "permission": "r", + "type": 2, + "value": 2340, + }, + "engine2ThrottleLeverControl": Offset { + "category": "engine", + "convert": undefined, + "description": "engine2 throttle lever control - -4096 to +16384", + "length": undefined, + "mapping": undefined, + "name": "engine2ThrottleLeverControl", + "permission": "rw", + "type": 2, + "value": 2354, + }, + "engine2Torque": Offset { + "category": "engine", + "convert": "{VAL} / 16384 * 100", + "description": "engine2 torque - trust only for helo - percent", + "length": undefined, + "mapping": undefined, + "name": "engine2Torque", + "permission": "r", + "type": 6, + "value": 2444, + }, + "engine2TorqueFtLb": Offset { + "category": "engine", + "convert": undefined, + "description": "engine2 fuel elapsed time - ft lb", + "length": undefined, + "mapping": undefined, + "name": "engine2TorqueFtLb", + "permission": "r", + "type": 9, + "value": 2488, + }, + "engine2Vibration": Offset { + "category": "engine", + "convert": "Math.round({VAL} * 5 / 16384)", + "description": "engine2 vibration", + "length": undefined, + "mapping": undefined, + "name": "engine2Vibration", + "permission": "r", + "type": 6, + "value": 2412, + }, + "engine3AntiIce": Offset { + "category": "engine", + "convert": "!!{VAL}", + "description": "engine3 anti-ice/carb heat active", + "length": undefined, + "mapping": undefined, + "name": "engine3AntiIce", + "permission": "r", + "type": 5, + "value": 2530, + }, + "engine3CHT": Offset { + "category": "engine", + "convert": undefined, + "description": "engine3 cylinder head temperature - F", + "length": undefined, + "mapping": undefined, + "name": "engine3CHT", + "permission": "r", + "type": 8, + "value": 2584, + }, + "engine3EGT": Offset { + "category": "engine", + "convert": "Math.round({VAL} * 860 / 16384)", + "description": "engine3 exhaust gas temperature - Trust only on jet engine - celsius", + "length": undefined, + "mapping": undefined, + "name": "engine3EGT", + "permission": "r", + "type": 5, + "value": 2542, + }, + "engine3Firing": Offset { + "category": "engine", + "convert": "!!{VAL}", + "description": "engine 3 combustion", + "length": undefined, + "mapping": undefined, + "name": "engine3Firing", + "permission": "r", + "type": 5, + "value": 2500, + }, + "engine3FuelElapsedTime": Offset { + "category": "engine", + "convert": undefined, + "description": "engine3 fuel elapsed time - h", + "length": undefined, + "mapping": undefined, + "name": "engine3FuelElapsedTime", + "permission": "r", + "type": 9, + "value": 2624, + }, + "engine3FuelFlowLbHour": Offset { + "category": "engine", + "convert": undefined, + "description": "engine3 fuel elapsed time - lb/h", + "length": undefined, + "mapping": undefined, + "name": "engine3FuelFlowLbHour", + "permission": "r", + "type": 8, + "value": 2632, + }, + "engine3FuelFlowLbHourSSL": Offset { + "category": "engine", + "convert": "{VAL} / 128", + "description": "engine3 fuel flow (lb per hour, sea level)", + "length": undefined, + "mapping": undefined, + "name": "engine3FuelFlowLbHourSSL", + "permission": "r", + "type": 5, + "value": 2512, + }, + "engine3FuelPres": Offset { + "category": "engine", + "convert": "{VAL} / 144", + "description": "engine3 fuel pressure - PSI", + "length": undefined, + "mapping": undefined, + "name": "engine3FuelPres", + "permission": "r", + "type": 6, + "value": 2600, + }, + "engine3FuelUsedSinceStart": Offset { + "category": "engine", + "convert": undefined, + "description": "engine3 used fuel since start - lb", + "length": undefined, + "mapping": undefined, + "name": "engine3FuelUsedSinceStart", + "permission": "r", + "type": 9, + "value": 2620, + }, + "engine3HydPres": Offset { + "category": "engine", + "convert": "{VAL} / 4", + "description": "engine3 hydraulic pressure - PSI", + "length": undefined, + "mapping": undefined, + "name": "engine3HydPres", + "permission": "r", + "type": 6, + "value": 2568, + }, + "engine3HydQuantity": Offset { + "category": "engine", + "convert": "{VAL} / 16384 * 100", + "description": "engine3 hydraulic quantity - percent", + "length": undefined, + "mapping": undefined, + "name": "engine3HydQuantity", + "permission": "r", + "type": 6, + "value": 2572, + }, + "engine3ITT": Offset { + "category": "engine", + "convert": "{VAL} / 16384", + "description": "engine3 turbine temperature - C", + "length": undefined, + "mapping": undefined, + "name": "engine3ITT", + "permission": "r", + "type": 6, + "value": 2592, + }, + "engine3MP": Offset { + "category": "engine", + "convert": "{VAL} / 1024", + "description": "engine3 manifold pressure - inHg", + "length": undefined, + "mapping": undefined, + "name": "engine3MP", + "permission": "r", + "type": 5, + "value": 2544, + }, + "engine3MixtureLever": Offset { + "category": "engine", + "convert": "{VAL} / 16384 * 100", + "description": "engine 3 prop lever - percent", + "length": undefined, + "mapping": undefined, + "name": "engine3MixtureLever", + "permission": "rw", + "type": 5, + "value": 2496, + }, + "engine3N1": Offset { + "category": "engine", + "convert": "{VAL} / 16384 * 100", + "description": "engine 3 N1 - also helo RPM %", + "length": undefined, + "mapping": undefined, + "name": "engine3N1", + "permission": "rw", + "type": 2, + "value": 2504, + }, + "engine3N2": Offset { + "category": "engine", + "convert": "{VAL} / 16384 * 100", + "description": "engine 3 N2 - also helo RPM %", + "length": undefined, + "mapping": undefined, + "name": "engine3N2", + "permission": "rw", + "type": 5, + "value": 2502, + }, + "engine3OilPres": Offset { + "category": "engine", + "convert": "Math.round({VAL} * 55 / 16384)", + "description": "engine3 oil pressure - PSI", + "length": undefined, + "mapping": undefined, + "name": "engine3OilPres", + "permission": "r", + "type": 5, + "value": 2538, + }, + "engine3OilQuantity": Offset { + "category": "engine", + "convert": "Math.round({VAL} / 16384 * 100)", + "description": "engine3 oil quantity - percent", + "length": undefined, + "mapping": undefined, + "name": "engine3OilQuantity", + "permission": "r", + "type": 6, + "value": 2560, + }, + "engine3OilTemp": Offset { + "category": "engine", + "convert": "Math.round({VAL} * 140 / 16384)", + "description": "engine3 oil temp - celsius", + "length": undefined, + "mapping": undefined, + "name": "engine3OilTemp", + "permission": "r", + "type": 5, + "value": 2536, + }, + "engine3PressureRatio": Offset { + "category": "engine", + "convert": "{VAL} * 1.6 / 16384", + "description": "engine3 pressure ratio", + "length": undefined, + "mapping": undefined, + "name": "engine3PressureRatio", + "permission": "r", + "type": 5, + "value": 2540, + }, + "engine3PropLever": Offset { + "category": "engine", + "convert": "Math.round({VAL} < 0 ? {VAL} / 4096 * 100 : {VAL} / 16384 * 100)", + "description": "engine 3 prop lever - percent - negative = reverse", + "length": undefined, + "mapping": undefined, + "name": "engine3PropLever", + "permission": "rw", + "type": 2, + "value": 2494, + }, + "engine3PropRPM": Offset { + "category": "engine", + "convert": "{VAL} / 16384 / 65536", + "description": "derive RPM by multiplying by - negative = counter-rotating propeller", + "length": undefined, + "mapping": undefined, + "name": "engine3PropRPM", + "permission": "rw", + "type": 2, + "value": 2504, + }, + "engine3RPMScaler": Offset { + "category": "engine", + "convert": undefined, + "description": "engine3 RPM Scaler - props: used to calculate RPM", + "length": undefined, + "mapping": undefined, + "name": "engine3RPMScaler", + "permission": "r", + "type": 5, + "value": 2552, + }, + "engine3StarterSwitchPosition": Offset { + "category": "engine", + "convert": undefined, + "description": "engine3 start switch position - JET: 0=off 1=start 2=gen/alt - PROP: 0=off 1=right 2=left 3=both 4=start", + "length": undefined, + "mapping": undefined, + "name": "engine3StarterSwitchPosition", + "permission": "rw", + "type": 5, + "value": 2498, + }, + "engine3ThrottleLever": Offset { + "category": "engine", + "convert": "Math.round({VAL} < 0 ? {VAL} / 4096 * 100 : {VAL} / 16384 * 100)", + "description": "engine 3 throttle lever - percent - negative = reverse", + "length": undefined, + "mapping": undefined, + "name": "engine3ThrottleLever", + "permission": "r", + "type": 2, + "value": 2492, + }, + "engine3ThrottleLeverControl": Offset { + "category": "engine", + "convert": undefined, + "description": "engine3 throttle lever control - -4096 to +16384", + "length": undefined, + "mapping": undefined, + "name": "engine3ThrottleLeverControl", + "permission": "rw", + "type": 2, + "value": 2506, + }, + "engine3Torque": Offset { + "category": "engine", + "convert": "{VAL} / 16384 * 100", + "description": "engine3 torque - trust only for helo - percent", + "length": undefined, + "mapping": undefined, + "name": "engine3Torque", + "permission": "r", + "type": 6, + "value": 2596, + }, + "engine3TorqueFtLb": Offset { + "category": "engine", + "convert": undefined, + "description": "engine3 fuel elapsed time - ft lb", + "length": undefined, + "mapping": undefined, + "name": "engine3TorqueFtLb", + "permission": "r", + "type": 9, + "value": 2640, + }, + "engine3Vibration": Offset { + "category": "engine", + "convert": "Math.round({VAL} * 5 / 16384)", + "description": "engine3 vibration", + "length": undefined, + "mapping": undefined, + "name": "engine3Vibration", + "permission": "r", + "type": 6, + "value": 2564, + }, + "engine4AntiIce": Offset { + "category": "engine", + "convert": "!!{VAL}", + "description": "engine4 anti-ice/carb heat active", + "length": undefined, + "mapping": undefined, + "name": "engine4AntiIce", + "permission": "r", + "type": 5, + "value": 2682, + }, + "engine4CHT": Offset { + "category": "engine", + "convert": undefined, + "description": "engine4 cylinder head temperature - F", + "length": undefined, + "mapping": undefined, + "name": "engine4CHT", + "permission": "r", + "type": 8, + "value": 2736, + }, + "engine4EGT": Offset { + "category": "engine", + "convert": "Math.round({VAL} * 860 / 16384)", + "description": "engine4 exhaust gas temperature - Trust only on jet engine - celsius", + "length": undefined, + "mapping": undefined, + "name": "engine4EGT", + "permission": "r", + "type": 5, + "value": 2694, + }, + "engine4Firing": Offset { + "category": "engine", + "convert": "!!{VAL}", + "description": "engine 4 combustion", + "length": undefined, + "mapping": undefined, + "name": "engine4Firing", + "permission": "r", + "type": 5, + "value": 2652, + }, + "engine4FuelElapsedTime": Offset { + "category": "engine", + "convert": undefined, + "description": "engine4 fuel elapsed time - h", + "length": undefined, + "mapping": undefined, + "name": "engine4FuelElapsedTime", + "permission": "r", + "type": 9, + "value": 2776, + }, + "engine4FuelFlowLbHour": Offset { + "category": "engine", + "convert": undefined, + "description": "engine4 fuel elapsed time - lb/h", + "length": undefined, + "mapping": undefined, + "name": "engine4FuelFlowLbHour", + "permission": "r", + "type": 8, + "value": 2784, + }, + "engine4FuelFlowLbHourSSL": Offset { + "category": "engine", + "convert": "{VAL} / 128", + "description": "engine4 fuel flow (lb per hour, sea level)", + "length": undefined, + "mapping": undefined, + "name": "engine4FuelFlowLbHourSSL", + "permission": "r", + "type": 5, + "value": 2664, + }, + "engine4FuelPres": Offset { + "category": "engine", + "convert": "{VAL} / 144", + "description": "engine4 fuel pressure - PSI", + "length": undefined, + "mapping": undefined, + "name": "engine4FuelPres", + "permission": "r", + "type": 6, + "value": 2752, + }, + "engine4FuelUsedSinceStart": Offset { + "category": "engine", + "convert": undefined, + "description": "engine4 used fuel since start - lb", + "length": undefined, + "mapping": undefined, + "name": "engine4FuelUsedSinceStart", + "permission": "r", + "type": 9, + "value": 2772, + }, + "engine4HydPres": Offset { + "category": "engine", + "convert": "{VAL} / 4", + "description": "engine4 hydraulic pressure - PSI", + "length": undefined, + "mapping": undefined, + "name": "engine4HydPres", + "permission": "r", + "type": 6, + "value": 2720, + }, + "engine4HydQuantity": Offset { + "category": "engine", + "convert": "{VAL} / 16384 * 100", + "description": "engine4 hydraulic quantity - percent", + "length": undefined, + "mapping": undefined, + "name": "engine4HydQuantity", + "permission": "r", + "type": 6, + "value": 2724, + }, + "engine4ITT": Offset { + "category": "engine", + "convert": "{VAL} / 16384", + "description": "engine4 turbine temperature - C", + "length": undefined, + "mapping": undefined, + "name": "engine4ITT", + "permission": "r", + "type": 6, + "value": 2744, + }, + "engine4MP": Offset { + "category": "engine", + "convert": "{VAL} / 1024", + "description": "engine4 manifold pressure - inHg", + "length": undefined, + "mapping": undefined, + "name": "engine4MP", + "permission": "r", + "type": 5, + "value": 2696, + }, + "engine4MixtureLever": Offset { + "category": "engine", + "convert": "{VAL} / 16384 * 100", + "description": "engine 4 prop lever - percent", + "length": undefined, + "mapping": undefined, + "name": "engine4MixtureLever", + "permission": "rw", + "type": 5, + "value": 2648, + }, + "engine4N1": Offset { + "category": "engine", + "convert": "{VAL} / 16384 * 100", + "description": "engine 4 N1 - also helo RPM %", + "length": undefined, + "mapping": undefined, + "name": "engine4N1", + "permission": "rw", + "type": 2, + "value": 2656, + }, + "engine4N2": Offset { + "category": "engine", + "convert": "{VAL} / 16384 * 100", + "description": "engine 4 N2 - also helo RPM %", + "length": undefined, + "mapping": undefined, + "name": "engine4N2", + "permission": "rw", + "type": 5, + "value": 2654, + }, + "engine4OilPres": Offset { + "category": "engine", + "convert": "Math.round({VAL} * 55 / 16384)", + "description": "engine4 oil pressure - PSI", + "length": undefined, + "mapping": undefined, + "name": "engine4OilPres", + "permission": "r", + "type": 5, + "value": 2690, + }, + "engine4OilQuantity": Offset { + "category": "engine", + "convert": "Math.round({VAL} / 16384 * 100)", + "description": "engine4 oil quantity - percent", + "length": undefined, + "mapping": undefined, + "name": "engine4OilQuantity", + "permission": "r", + "type": 6, + "value": 2712, + }, + "engine4OilTemp": Offset { + "category": "engine", + "convert": "Math.round({VAL} * 140 / 16384)", + "description": "engine4 oil temp - celsius", + "length": undefined, + "mapping": undefined, + "name": "engine4OilTemp", + "permission": "r", + "type": 5, + "value": 2688, + }, + "engine4PressureRatio": Offset { + "category": "engine", + "convert": "{VAL} * 1.6 / 16384", + "description": "engine4 pressure ratio", + "length": undefined, + "mapping": undefined, + "name": "engine4PressureRatio", + "permission": "r", + "type": 5, + "value": 2692, + }, + "engine4PropLever": Offset { + "category": "engine", + "convert": "Math.round({VAL} < 0 ? {VAL} / 4096 * 100 : {VAL} / 16384 * 100)", + "description": "engine 4 prop lever - percent - negative = reverse", + "length": undefined, + "mapping": undefined, + "name": "engine4PropLever", + "permission": "rw", + "type": 2, + "value": 2646, + }, + "engine4PropRPM": Offset { + "category": "engine", + "convert": "{VAL} / 16384 / 65536", + "description": "derive RPM by multiplying by - negative = counter-rotating propeller", + "length": undefined, + "mapping": undefined, + "name": "engine4PropRPM", + "permission": "rw", + "type": 2, + "value": 2656, + }, + "engine4RPMScaler": Offset { + "category": "engine", + "convert": undefined, + "description": "engine4 RPM Scaler - props: used to calculate RPM", + "length": undefined, + "mapping": undefined, + "name": "engine4RPMScaler", + "permission": "r", + "type": 5, + "value": 2704, + }, + "engine4StarterSwitchPosition": Offset { + "category": "engine", + "convert": undefined, + "description": "engine4 start switch position - JET: 0=off 1=start 2=gen/alt - PROP: 0=off 1=right 2=left 3=both 4=start", + "length": undefined, + "mapping": undefined, + "name": "engine4StarterSwitchPosition", + "permission": "rw", + "type": 5, + "value": 2650, + }, + "engine4ThrottleLever": Offset { + "category": "engine", + "convert": "Math.round({VAL} < 0 ? {VAL} / 4096 * 100 : {VAL} / 16384 * 100)", + "description": "engine 4 throttle lever - percent - negative = reverse", + "length": undefined, + "mapping": undefined, + "name": "engine4ThrottleLever", + "permission": "r", + "type": 2, + "value": 2644, + }, + "engine4ThrottleLeverControl": Offset { + "category": "engine", + "convert": undefined, + "description": "engine4 throttle lever control - -4096 to +16384", + "length": undefined, + "mapping": undefined, + "name": "engine4ThrottleLeverControl", + "permission": "rw", + "type": 2, + "value": 2658, + }, + "engine4Torque": Offset { + "category": "engine", + "convert": "{VAL} / 16384 * 100", + "description": "engine4 torque - trust only for helo - percent", + "length": undefined, + "mapping": undefined, + "name": "engine4Torque", + "permission": "r", + "type": 6, + "value": 2748, + }, + "engine4TorqueFtLb": Offset { + "category": "engine", + "convert": undefined, + "description": "engine4 fuel elapsed time - ft lb", + "length": undefined, + "mapping": undefined, + "name": "engine4TorqueFtLb", + "permission": "r", + "type": 9, + "value": 2792, + }, + "engine4Vibration": Offset { + "category": "engine", + "convert": "Math.round({VAL} * 5 / 16384)", + "description": "engine4 vibration", + "length": undefined, + "mapping": undefined, + "name": "engine4Vibration", + "permission": "r", + "type": 6, + "value": 2716, + }, "engineType": Offset { "category": "engine", "convert": "engineType", diff --git a/tests/offsets/plane/__snapshots__/helicopter.spec.ts.snap b/tests/offsets/plane/__snapshots__/helicopter.spec.ts.snap index d369493..acfc6bc 100644 --- a/tests/offsets/plane/__snapshots__/helicopter.spec.ts.snap +++ b/tests/offsets/plane/__snapshots__/helicopter.spec.ts.snap @@ -13,6 +13,39 @@ Object { "type": 0, "value": 2086, }, + "helicopterEngine1RPM": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 1 RPM %", + "length": undefined, + "mapping": undefined, + "name": "helicopterEngine1RPM", + "permission": "rw", + "type": 5, + "value": 2198, + }, + "helicopterEngine1RPMUnscaled": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 1 RPM unscalled - multiply by engineRPMScaler to obtain derivated RPM", + "length": undefined, + "mapping": undefined, + "name": "helicopterEngine1RPMUnscaled", + "permission": "rw", + "type": 5, + "value": 2198, + }, + "helicopterEngine1RotorRPM": Offset { + "category": "engine", + "convert": "{VAL} / 16384 * 100", + "description": "engine1 rotor RPM - percent", + "length": undefined, + "mapping": undefined, + "name": "helicopterEngine1RotorRPM", + "permission": "r", + "type": 6, + "value": 2312, + }, "rotorBreakApplication": Offset { "category": "helicopter", "convert": "Math.round({VAL} / 16384 * 100)", diff --git a/tests/offsets/plane/engines.spec.ts b/tests/offsets/plane/engines.spec.ts index d4863c7..361cf09 100644 --- a/tests/offsets/plane/engines.spec.ts +++ b/tests/offsets/plane/engines.spec.ts @@ -31,6 +31,7 @@ describe('offset - plane/engines', () => { { name: 'engine1OilQuantity', value: 8167, expectedResult: 50 }, { name: 'engine1Vibration', value: 6553, expectedResult: 2 }, { name: 'engine1HydPres', value: 64, expectedResult: 16 }, + { name: 'engine1HydQuantity', value: 8192, expectedResult: 50 }, { name: 'engine1ITT', value: 3276800, expectedResult: 200 }, { name: 'engine1Torque', value: 8192, expectedResult: 50 }, { name: 'engine1FuelPres', value: 288, expectedResult: 2 }, @@ -38,6 +39,93 @@ describe('offset - plane/engines', () => { { name: 'engine1TransmOilPres', value: 3276800, expectedResult: 200 }, { name: 'engine1TransmOilTemp', value: 3276800, expectedResult: 200 }, { name: 'engine1RotorRPM', value: 8192, expectedResult: 50 }, + + // Engine 2 + { name: 'engine2ThrottleLever', value: -2048, expectedResult: -50 }, + { name: 'engine2ThrottleLever', value: 0, expectedResult: 0 }, + { name: 'engine2ThrottleLever', value: 8192, expectedResult: 50 }, + { name: 'engine2PropLever', value: -2048, expectedResult: -50 }, + { name: 'engine2PropLever', value: 0, expectedResult: 0 }, + { name: 'engine2PropLever', value: 8192, expectedResult: 50 }, + { name: 'engine2MixtureLever', value: 8192, expectedResult: 50 }, + { name: 'engine2Firing', value: 0, expectedResult: false }, + { name: 'engine2Firing', value: 1, expectedResult: true }, + { name: 'engine2N2', value: 8192, expectedResult: 50 }, + { name: 'engine2N1', value: 8192, expectedResult: 50 }, + { name: 'engine2PropRPM', value: 107374182400, expectedResult: 100 }, + { name: 'engine2FuelFlowLbHourSSL', value: 256, expectedResult: 2 }, + { name: 'engine2AntiIce', value: 0, expectedResult: false }, + { name: 'engine2AntiIce', value: 1, expectedResult: true }, + { name: 'engine2OilTemp', value: 10532, expectedResult: 90 }, + { name: 'engine2OilPres', value: 22342, expectedResult: 75 }, + { name: 'engine2PressureRatio', value: 20480, expectedResult: 2 }, + { name: 'engine2EGT', value: 14281, expectedResult: 750 }, + { name: 'engine2MP', value: 20480, expectedResult: 20 }, + { name: 'engine2OilQuantity', value: 8167, expectedResult: 50 }, + { name: 'engine2Vibration', value: 6553, expectedResult: 2 }, + { name: 'engine2HydPres', value: 64, expectedResult: 16 }, + { name: 'engine2HydQuantity', value: 8192, expectedResult: 50 }, + { name: 'engine2ITT', value: 3276800, expectedResult: 200 }, + { name: 'engine2Torque', value: 8192, expectedResult: 50 }, + { name: 'engine2FuelPres', value: 288, expectedResult: 2 }, + + // Engine 3 + { name: 'engine3ThrottleLever', value: -2048, expectedResult: -50 }, + { name: 'engine3ThrottleLever', value: 0, expectedResult: 0 }, + { name: 'engine3ThrottleLever', value: 8192, expectedResult: 50 }, + { name: 'engine3PropLever', value: -2048, expectedResult: -50 }, + { name: 'engine3PropLever', value: 0, expectedResult: 0 }, + { name: 'engine3PropLever', value: 8192, expectedResult: 50 }, + { name: 'engine3MixtureLever', value: 8192, expectedResult: 50 }, + { name: 'engine3Firing', value: 0, expectedResult: false }, + { name: 'engine3Firing', value: 1, expectedResult: true }, + { name: 'engine3N2', value: 8192, expectedResult: 50 }, + { name: 'engine3N1', value: 8192, expectedResult: 50 }, + { name: 'engine3PropRPM', value: 107374182400, expectedResult: 100 }, + { name: 'engine3FuelFlowLbHourSSL', value: 256, expectedResult: 2 }, + { name: 'engine3AntiIce', value: 0, expectedResult: false }, + { name: 'engine3AntiIce', value: 1, expectedResult: true }, + { name: 'engine3OilTemp', value: 10532, expectedResult: 90 }, + { name: 'engine3OilPres', value: 22342, expectedResult: 75 }, + { name: 'engine3PressureRatio', value: 20480, expectedResult: 2 }, + { name: 'engine3EGT', value: 14281, expectedResult: 750 }, + { name: 'engine3MP', value: 20480, expectedResult: 20 }, + { name: 'engine3OilQuantity', value: 8167, expectedResult: 50 }, + { name: 'engine3Vibration', value: 6553, expectedResult: 2 }, + { name: 'engine3HydPres', value: 64, expectedResult: 16 }, + { name: 'engine3HydQuantity', value: 8192, expectedResult: 50 }, + { name: 'engine3ITT', value: 3276800, expectedResult: 200 }, + { name: 'engine3Torque', value: 8192, expectedResult: 50 }, + { name: 'engine3FuelPres', value: 288, expectedResult: 2 }, + + // Engine 4 + { name: 'engine4ThrottleLever', value: -2048, expectedResult: -50 }, + { name: 'engine4ThrottleLever', value: 0, expectedResult: 0 }, + { name: 'engine4ThrottleLever', value: 8192, expectedResult: 50 }, + { name: 'engine4PropLever', value: -2048, expectedResult: -50 }, + { name: 'engine4PropLever', value: 0, expectedResult: 0 }, + { name: 'engine4PropLever', value: 8192, expectedResult: 50 }, + { name: 'engine4MixtureLever', value: 8192, expectedResult: 50 }, + { name: 'engine4Firing', value: 0, expectedResult: false }, + { name: 'engine4Firing', value: 1, expectedResult: true }, + { name: 'engine4N2', value: 8192, expectedResult: 50 }, + { name: 'engine4N1', value: 8192, expectedResult: 50 }, + { name: 'engine4PropRPM', value: 107374182400, expectedResult: 100 }, + { name: 'engine4FuelFlowLbHourSSL', value: 256, expectedResult: 2 }, + { name: 'engine4AntiIce', value: 0, expectedResult: false }, + { name: 'engine4AntiIce', value: 1, expectedResult: true }, + { name: 'engine4OilTemp', value: 10532, expectedResult: 90 }, + { name: 'engine4OilPres', value: 22342, expectedResult: 75 }, + { name: 'engine4PressureRatio', value: 20480, expectedResult: 2 }, + { name: 'engine4EGT', value: 14281, expectedResult: 750 }, + { name: 'engine4MP', value: 20480, expectedResult: 20 }, + { name: 'engine4OilQuantity', value: 8167, expectedResult: 50 }, + { name: 'engine4Vibration', value: 6553, expectedResult: 2 }, + { name: 'engine4HydPres', value: 64, expectedResult: 16 }, + { name: 'engine4HydQuantity', value: 8192, expectedResult: 50 }, + { name: 'engine4ITT', value: 3276800, expectedResult: 200 }, + { name: 'engine4Torque', value: 8192, expectedResult: 50 }, + { name: 'engine4FuelPres', value: 288, expectedResult: 2 }, ]; describe('offsets list', () => { diff --git a/tests/offsets/plane/helicopter.spec.ts b/tests/offsets/plane/helicopter.spec.ts index fd5e5a7..a819b35 100644 --- a/tests/offsets/plane/helicopter.spec.ts +++ b/tests/offsets/plane/helicopter.spec.ts @@ -6,6 +6,7 @@ describe('offset - plane/helicopter', () => { { name: 'rotorLateralTrim', value: 13107, expectedResult: 80 }, { name: 'governorSwitch', value: 0, expectedResult: false }, { name: 'governorSwitch', value: 1, expectedResult: true }, + { name: 'helicopterEngine1RotorRPM', value: 8192, expectedResult: 50 }, ]; describe('offsets list', () => { From f27d570ae2d5997a989ba70063518cf4d5f7144d Mon Sep 17 00:00:00 2001 From: blackholegalaxy Date: Tue, 21 Jan 2020 22:05:20 -0500 Subject: [PATCH 4/7] add test --- .../offsets/__snapshots__/offset.spec.ts.snap | 968 ++++++++++++++++++ 1 file changed, 968 insertions(+) diff --git a/tests/offsets/__snapshots__/offset.spec.ts.snap b/tests/offsets/__snapshots__/offset.spec.ts.snap index 896c1c2..78261e3 100644 --- a/tests/offsets/__snapshots__/offset.spec.ts.snap +++ b/tests/offsets/__snapshots__/offset.spec.ts.snap @@ -805,6 +805,17 @@ Object { "type": 6, "value": 2264, }, + "engine1HydQuantity": Offset { + "category": "engine", + "convert": "{VAL} / 16384 * 100", + "description": "engine1 hydraulic quantity - PSI", + "length": undefined, + "mapping": undefined, + "name": "engine1HydQuantity", + "permission": "r", + "type": 6, + "value": 2268, + }, "engine1ITT": Offset { "category": "engine", "convert": "{VAL} / 16384", @@ -1036,6 +1047,963 @@ Object { "type": 6, "value": 2260, }, + "engine2AntiIce": Offset { + "category": "engine", + "convert": "!!{VAL}", + "description": "engine2 anti-ice/carb heat active", + "length": undefined, + "mapping": undefined, + "name": "engine2AntiIce", + "permission": "r", + "type": 5, + "value": 2378, + }, + "engine2CHT": Offset { + "category": "engine", + "convert": undefined, + "description": "engine2 cylinder head temperature - F", + "length": undefined, + "mapping": undefined, + "name": "engine2CHT", + "permission": "r", + "type": 8, + "value": 2432, + }, + "engine2EGT": Offset { + "category": "engine", + "convert": "Math.round({VAL} * 860 / 16384)", + "description": "engine2 exhaust gas temperature - Trust only on jet engine - celsius", + "length": undefined, + "mapping": undefined, + "name": "engine2EGT", + "permission": "r", + "type": 5, + "value": 2390, + }, + "engine2Firing": Offset { + "category": "engine", + "convert": "!!{VAL}", + "description": "engine 2 combustion", + "length": undefined, + "mapping": undefined, + "name": "engine2Firing", + "permission": "r", + "type": 5, + "value": 2348, + }, + "engine2FuelElapsedTime": Offset { + "category": "engine", + "convert": undefined, + "description": "engine2 fuel elapsed time - h", + "length": undefined, + "mapping": undefined, + "name": "engine2FuelElapsedTime", + "permission": "r", + "type": 9, + "value": 2472, + }, + "engine2FuelFlowLbHour": Offset { + "category": "engine", + "convert": undefined, + "description": "engine2 fuel elapsed time - lb/h", + "length": undefined, + "mapping": undefined, + "name": "engine2FuelFlowLbHour", + "permission": "r", + "type": 8, + "value": 2480, + }, + "engine2FuelFlowLbHourSSL": Offset { + "category": "engine", + "convert": "{VAL} / 128", + "description": "engine2 fuel flow (lb per hour, sea level)", + "length": undefined, + "mapping": undefined, + "name": "engine2FuelFlowLbHourSSL", + "permission": "r", + "type": 5, + "value": 2360, + }, + "engine2FuelPres": Offset { + "category": "engine", + "convert": "{VAL} / 144", + "description": "engine2 fuel pressure - PSI", + "length": undefined, + "mapping": undefined, + "name": "engine2FuelPres", + "permission": "r", + "type": 6, + "value": 2448, + }, + "engine2FuelUsedSinceStart": Offset { + "category": "engine", + "convert": undefined, + "description": "engine2 used fuel since start - lb", + "length": undefined, + "mapping": undefined, + "name": "engine2FuelUsedSinceStart", + "permission": "r", + "type": 9, + "value": 2468, + }, + "engine2HydPres": Offset { + "category": "engine", + "convert": "{VAL} / 4", + "description": "engine2 hydraulic pressure - PSI", + "length": undefined, + "mapping": undefined, + "name": "engine2HydPres", + "permission": "r", + "type": 6, + "value": 2416, + }, + "engine2HydQuantity": Offset { + "category": "engine", + "convert": "{VAL} / 16384 * 100", + "description": "engine2 hydraulic quantity - percent", + "length": undefined, + "mapping": undefined, + "name": "engine2HydQuantity", + "permission": "r", + "type": 6, + "value": 2420, + }, + "engine2ITT": Offset { + "category": "engine", + "convert": "{VAL} / 16384", + "description": "engine2 turbine temperature - C", + "length": undefined, + "mapping": undefined, + "name": "engine2ITT", + "permission": "r", + "type": 6, + "value": 2440, + }, + "engine2MP": Offset { + "category": "engine", + "convert": "{VAL} / 1024", + "description": "engine2 manifold pressure - inHg", + "length": undefined, + "mapping": undefined, + "name": "engine2MP", + "permission": "r", + "type": 5, + "value": 2392, + }, + "engine2MixtureLever": Offset { + "category": "engine", + "convert": "{VAL} / 16384 * 100", + "description": "engine 2 prop lever - percent", + "length": undefined, + "mapping": undefined, + "name": "engine2MixtureLever", + "permission": "rw", + "type": 5, + "value": 2344, + }, + "engine2N1": Offset { + "category": "engine", + "convert": "{VAL} / 16384 * 100", + "description": "engine 2 N1 - also helo RPM %", + "length": undefined, + "mapping": undefined, + "name": "engine2N1", + "permission": "rw", + "type": 2, + "value": 2352, + }, + "engine2N2": Offset { + "category": "engine", + "convert": "{VAL} / 16384 * 100", + "description": "engine 2 N2 - also helo RPM %", + "length": undefined, + "mapping": undefined, + "name": "engine2N2", + "permission": "rw", + "type": 5, + "value": 2350, + }, + "engine2OilPres": Offset { + "category": "engine", + "convert": "Math.round({VAL} * 55 / 16384)", + "description": "engine2 oil pressure - PSI", + "length": undefined, + "mapping": undefined, + "name": "engine2OilPres", + "permission": "r", + "type": 5, + "value": 2386, + }, + "engine2OilQuantity": Offset { + "category": "engine", + "convert": "Math.round({VAL} / 16384 * 100)", + "description": "engine2 oil quantity - percent", + "length": undefined, + "mapping": undefined, + "name": "engine2OilQuantity", + "permission": "r", + "type": 6, + "value": 2408, + }, + "engine2OilTemp": Offset { + "category": "engine", + "convert": "Math.round({VAL} * 140 / 16384)", + "description": "engine2 oil temp - celsius", + "length": undefined, + "mapping": undefined, + "name": "engine2OilTemp", + "permission": "r", + "type": 5, + "value": 2384, + }, + "engine2PressureRatio": Offset { + "category": "engine", + "convert": "{VAL} * 1.6 / 16384", + "description": "engine2 pressure ratio", + "length": undefined, + "mapping": undefined, + "name": "engine2PressureRatio", + "permission": "r", + "type": 5, + "value": 2388, + }, + "engine2PropLever": Offset { + "category": "engine", + "convert": "Math.round({VAL} < 0 ? {VAL} / 4096 * 100 : {VAL} / 16384 * 100)", + "description": "engine 2 prop lever - percent - negative = reverse", + "length": undefined, + "mapping": undefined, + "name": "engine2PropLever", + "permission": "rw", + "type": 2, + "value": 2342, + }, + "engine2PropRPM": Offset { + "category": "engine", + "convert": "{VAL} / 16384 / 65536", + "description": "derive RPM by multiplying by - negative = counter-rotating propeller", + "length": undefined, + "mapping": undefined, + "name": "engine2PropRPM", + "permission": "rw", + "type": 2, + "value": 2352, + }, + "engine2RPMScaler": Offset { + "category": "engine", + "convert": undefined, + "description": "engine2 RPM Scaler - props: used to calculate RPM", + "length": undefined, + "mapping": undefined, + "name": "engine2RPMScaler", + "permission": "r", + "type": 5, + "value": 2400, + }, + "engine2StarterSwitchPosition": Offset { + "category": "engine", + "convert": undefined, + "description": "engine2 start switch position - JET: 0=off 1=start 2=gen/alt - PROP: 0=off 1=right 2=left 3=both 4=start", + "length": undefined, + "mapping": undefined, + "name": "engine2StarterSwitchPosition", + "permission": "rw", + "type": 5, + "value": 2346, + }, + "engine2ThrottleLever": Offset { + "category": "engine", + "convert": "Math.round({VAL} < 0 ? {VAL} / 4096 * 100 : {VAL} / 16384 * 100)", + "description": "engine 2 throttle lever - percent - negative = reverse", + "length": undefined, + "mapping": undefined, + "name": "engine2ThrottleLever", + "permission": "r", + "type": 2, + "value": 2340, + }, + "engine2ThrottleLeverControl": Offset { + "category": "engine", + "convert": undefined, + "description": "engine2 throttle lever control - -4096 to +16384", + "length": undefined, + "mapping": undefined, + "name": "engine2ThrottleLeverControl", + "permission": "rw", + "type": 2, + "value": 2354, + }, + "engine2Torque": Offset { + "category": "engine", + "convert": "{VAL} / 16384 * 100", + "description": "engine2 torque - trust only for helo - percent", + "length": undefined, + "mapping": undefined, + "name": "engine2Torque", + "permission": "r", + "type": 6, + "value": 2444, + }, + "engine2TorqueFtLb": Offset { + "category": "engine", + "convert": undefined, + "description": "engine2 fuel elapsed time - ft lb", + "length": undefined, + "mapping": undefined, + "name": "engine2TorqueFtLb", + "permission": "r", + "type": 9, + "value": 2488, + }, + "engine2Vibration": Offset { + "category": "engine", + "convert": "Math.round({VAL} * 5 / 16384)", + "description": "engine2 vibration", + "length": undefined, + "mapping": undefined, + "name": "engine2Vibration", + "permission": "r", + "type": 6, + "value": 2412, + }, + "engine3AntiIce": Offset { + "category": "engine", + "convert": "!!{VAL}", + "description": "engine3 anti-ice/carb heat active", + "length": undefined, + "mapping": undefined, + "name": "engine3AntiIce", + "permission": "r", + "type": 5, + "value": 2530, + }, + "engine3CHT": Offset { + "category": "engine", + "convert": undefined, + "description": "engine3 cylinder head temperature - F", + "length": undefined, + "mapping": undefined, + "name": "engine3CHT", + "permission": "r", + "type": 8, + "value": 2584, + }, + "engine3EGT": Offset { + "category": "engine", + "convert": "Math.round({VAL} * 860 / 16384)", + "description": "engine3 exhaust gas temperature - Trust only on jet engine - celsius", + "length": undefined, + "mapping": undefined, + "name": "engine3EGT", + "permission": "r", + "type": 5, + "value": 2542, + }, + "engine3Firing": Offset { + "category": "engine", + "convert": "!!{VAL}", + "description": "engine 3 combustion", + "length": undefined, + "mapping": undefined, + "name": "engine3Firing", + "permission": "r", + "type": 5, + "value": 2500, + }, + "engine3FuelElapsedTime": Offset { + "category": "engine", + "convert": undefined, + "description": "engine3 fuel elapsed time - h", + "length": undefined, + "mapping": undefined, + "name": "engine3FuelElapsedTime", + "permission": "r", + "type": 9, + "value": 2624, + }, + "engine3FuelFlowLbHour": Offset { + "category": "engine", + "convert": undefined, + "description": "engine3 fuel elapsed time - lb/h", + "length": undefined, + "mapping": undefined, + "name": "engine3FuelFlowLbHour", + "permission": "r", + "type": 8, + "value": 2632, + }, + "engine3FuelFlowLbHourSSL": Offset { + "category": "engine", + "convert": "{VAL} / 128", + "description": "engine3 fuel flow (lb per hour, sea level)", + "length": undefined, + "mapping": undefined, + "name": "engine3FuelFlowLbHourSSL", + "permission": "r", + "type": 5, + "value": 2512, + }, + "engine3FuelPres": Offset { + "category": "engine", + "convert": "{VAL} / 144", + "description": "engine3 fuel pressure - PSI", + "length": undefined, + "mapping": undefined, + "name": "engine3FuelPres", + "permission": "r", + "type": 6, + "value": 2600, + }, + "engine3FuelUsedSinceStart": Offset { + "category": "engine", + "convert": undefined, + "description": "engine3 used fuel since start - lb", + "length": undefined, + "mapping": undefined, + "name": "engine3FuelUsedSinceStart", + "permission": "r", + "type": 9, + "value": 2620, + }, + "engine3HydPres": Offset { + "category": "engine", + "convert": "{VAL} / 4", + "description": "engine3 hydraulic pressure - PSI", + "length": undefined, + "mapping": undefined, + "name": "engine3HydPres", + "permission": "r", + "type": 6, + "value": 2568, + }, + "engine3HydQuantity": Offset { + "category": "engine", + "convert": "{VAL} / 16384 * 100", + "description": "engine3 hydraulic quantity - percent", + "length": undefined, + "mapping": undefined, + "name": "engine3HydQuantity", + "permission": "r", + "type": 6, + "value": 2572, + }, + "engine3ITT": Offset { + "category": "engine", + "convert": "{VAL} / 16384", + "description": "engine3 turbine temperature - C", + "length": undefined, + "mapping": undefined, + "name": "engine3ITT", + "permission": "r", + "type": 6, + "value": 2592, + }, + "engine3MP": Offset { + "category": "engine", + "convert": "{VAL} / 1024", + "description": "engine3 manifold pressure - inHg", + "length": undefined, + "mapping": undefined, + "name": "engine3MP", + "permission": "r", + "type": 5, + "value": 2544, + }, + "engine3MixtureLever": Offset { + "category": "engine", + "convert": "{VAL} / 16384 * 100", + "description": "engine 3 prop lever - percent", + "length": undefined, + "mapping": undefined, + "name": "engine3MixtureLever", + "permission": "rw", + "type": 5, + "value": 2496, + }, + "engine3N1": Offset { + "category": "engine", + "convert": "{VAL} / 16384 * 100", + "description": "engine 3 N1 - also helo RPM %", + "length": undefined, + "mapping": undefined, + "name": "engine3N1", + "permission": "rw", + "type": 2, + "value": 2504, + }, + "engine3N2": Offset { + "category": "engine", + "convert": "{VAL} / 16384 * 100", + "description": "engine 3 N2 - also helo RPM %", + "length": undefined, + "mapping": undefined, + "name": "engine3N2", + "permission": "rw", + "type": 5, + "value": 2502, + }, + "engine3OilPres": Offset { + "category": "engine", + "convert": "Math.round({VAL} * 55 / 16384)", + "description": "engine3 oil pressure - PSI", + "length": undefined, + "mapping": undefined, + "name": "engine3OilPres", + "permission": "r", + "type": 5, + "value": 2538, + }, + "engine3OilQuantity": Offset { + "category": "engine", + "convert": "Math.round({VAL} / 16384 * 100)", + "description": "engine3 oil quantity - percent", + "length": undefined, + "mapping": undefined, + "name": "engine3OilQuantity", + "permission": "r", + "type": 6, + "value": 2560, + }, + "engine3OilTemp": Offset { + "category": "engine", + "convert": "Math.round({VAL} * 140 / 16384)", + "description": "engine3 oil temp - celsius", + "length": undefined, + "mapping": undefined, + "name": "engine3OilTemp", + "permission": "r", + "type": 5, + "value": 2536, + }, + "engine3PressureRatio": Offset { + "category": "engine", + "convert": "{VAL} * 1.6 / 16384", + "description": "engine3 pressure ratio", + "length": undefined, + "mapping": undefined, + "name": "engine3PressureRatio", + "permission": "r", + "type": 5, + "value": 2540, + }, + "engine3PropLever": Offset { + "category": "engine", + "convert": "Math.round({VAL} < 0 ? {VAL} / 4096 * 100 : {VAL} / 16384 * 100)", + "description": "engine 3 prop lever - percent - negative = reverse", + "length": undefined, + "mapping": undefined, + "name": "engine3PropLever", + "permission": "rw", + "type": 2, + "value": 2494, + }, + "engine3PropRPM": Offset { + "category": "engine", + "convert": "{VAL} / 16384 / 65536", + "description": "derive RPM by multiplying by - negative = counter-rotating propeller", + "length": undefined, + "mapping": undefined, + "name": "engine3PropRPM", + "permission": "rw", + "type": 2, + "value": 2504, + }, + "engine3RPMScaler": Offset { + "category": "engine", + "convert": undefined, + "description": "engine3 RPM Scaler - props: used to calculate RPM", + "length": undefined, + "mapping": undefined, + "name": "engine3RPMScaler", + "permission": "r", + "type": 5, + "value": 2552, + }, + "engine3StarterSwitchPosition": Offset { + "category": "engine", + "convert": undefined, + "description": "engine3 start switch position - JET: 0=off 1=start 2=gen/alt - PROP: 0=off 1=right 2=left 3=both 4=start", + "length": undefined, + "mapping": undefined, + "name": "engine3StarterSwitchPosition", + "permission": "rw", + "type": 5, + "value": 2498, + }, + "engine3ThrottleLever": Offset { + "category": "engine", + "convert": "Math.round({VAL} < 0 ? {VAL} / 4096 * 100 : {VAL} / 16384 * 100)", + "description": "engine 3 throttle lever - percent - negative = reverse", + "length": undefined, + "mapping": undefined, + "name": "engine3ThrottleLever", + "permission": "r", + "type": 2, + "value": 2492, + }, + "engine3ThrottleLeverControl": Offset { + "category": "engine", + "convert": undefined, + "description": "engine3 throttle lever control - -4096 to +16384", + "length": undefined, + "mapping": undefined, + "name": "engine3ThrottleLeverControl", + "permission": "rw", + "type": 2, + "value": 2506, + }, + "engine3Torque": Offset { + "category": "engine", + "convert": "{VAL} / 16384 * 100", + "description": "engine3 torque - trust only for helo - percent", + "length": undefined, + "mapping": undefined, + "name": "engine3Torque", + "permission": "r", + "type": 6, + "value": 2596, + }, + "engine3TorqueFtLb": Offset { + "category": "engine", + "convert": undefined, + "description": "engine3 fuel elapsed time - ft lb", + "length": undefined, + "mapping": undefined, + "name": "engine3TorqueFtLb", + "permission": "r", + "type": 9, + "value": 2640, + }, + "engine3Vibration": Offset { + "category": "engine", + "convert": "Math.round({VAL} * 5 / 16384)", + "description": "engine3 vibration", + "length": undefined, + "mapping": undefined, + "name": "engine3Vibration", + "permission": "r", + "type": 6, + "value": 2564, + }, + "engine4AntiIce": Offset { + "category": "engine", + "convert": "!!{VAL}", + "description": "engine4 anti-ice/carb heat active", + "length": undefined, + "mapping": undefined, + "name": "engine4AntiIce", + "permission": "r", + "type": 5, + "value": 2682, + }, + "engine4CHT": Offset { + "category": "engine", + "convert": undefined, + "description": "engine4 cylinder head temperature - F", + "length": undefined, + "mapping": undefined, + "name": "engine4CHT", + "permission": "r", + "type": 8, + "value": 2736, + }, + "engine4EGT": Offset { + "category": "engine", + "convert": "Math.round({VAL} * 860 / 16384)", + "description": "engine4 exhaust gas temperature - Trust only on jet engine - celsius", + "length": undefined, + "mapping": undefined, + "name": "engine4EGT", + "permission": "r", + "type": 5, + "value": 2694, + }, + "engine4Firing": Offset { + "category": "engine", + "convert": "!!{VAL}", + "description": "engine 4 combustion", + "length": undefined, + "mapping": undefined, + "name": "engine4Firing", + "permission": "r", + "type": 5, + "value": 2652, + }, + "engine4FuelElapsedTime": Offset { + "category": "engine", + "convert": undefined, + "description": "engine4 fuel elapsed time - h", + "length": undefined, + "mapping": undefined, + "name": "engine4FuelElapsedTime", + "permission": "r", + "type": 9, + "value": 2776, + }, + "engine4FuelFlowLbHour": Offset { + "category": "engine", + "convert": undefined, + "description": "engine4 fuel elapsed time - lb/h", + "length": undefined, + "mapping": undefined, + "name": "engine4FuelFlowLbHour", + "permission": "r", + "type": 8, + "value": 2784, + }, + "engine4FuelFlowLbHourSSL": Offset { + "category": "engine", + "convert": "{VAL} / 128", + "description": "engine4 fuel flow (lb per hour, sea level)", + "length": undefined, + "mapping": undefined, + "name": "engine4FuelFlowLbHourSSL", + "permission": "r", + "type": 5, + "value": 2664, + }, + "engine4FuelPres": Offset { + "category": "engine", + "convert": "{VAL} / 144", + "description": "engine4 fuel pressure - PSI", + "length": undefined, + "mapping": undefined, + "name": "engine4FuelPres", + "permission": "r", + "type": 6, + "value": 2752, + }, + "engine4FuelUsedSinceStart": Offset { + "category": "engine", + "convert": undefined, + "description": "engine4 used fuel since start - lb", + "length": undefined, + "mapping": undefined, + "name": "engine4FuelUsedSinceStart", + "permission": "r", + "type": 9, + "value": 2772, + }, + "engine4HydPres": Offset { + "category": "engine", + "convert": "{VAL} / 4", + "description": "engine4 hydraulic pressure - PSI", + "length": undefined, + "mapping": undefined, + "name": "engine4HydPres", + "permission": "r", + "type": 6, + "value": 2720, + }, + "engine4HydQuantity": Offset { + "category": "engine", + "convert": "{VAL} / 16384 * 100", + "description": "engine4 hydraulic quantity - percent", + "length": undefined, + "mapping": undefined, + "name": "engine4HydQuantity", + "permission": "r", + "type": 6, + "value": 2724, + }, + "engine4ITT": Offset { + "category": "engine", + "convert": "{VAL} / 16384", + "description": "engine4 turbine temperature - C", + "length": undefined, + "mapping": undefined, + "name": "engine4ITT", + "permission": "r", + "type": 6, + "value": 2744, + }, + "engine4MP": Offset { + "category": "engine", + "convert": "{VAL} / 1024", + "description": "engine4 manifold pressure - inHg", + "length": undefined, + "mapping": undefined, + "name": "engine4MP", + "permission": "r", + "type": 5, + "value": 2696, + }, + "engine4MixtureLever": Offset { + "category": "engine", + "convert": "{VAL} / 16384 * 100", + "description": "engine 4 prop lever - percent", + "length": undefined, + "mapping": undefined, + "name": "engine4MixtureLever", + "permission": "rw", + "type": 5, + "value": 2648, + }, + "engine4N1": Offset { + "category": "engine", + "convert": "{VAL} / 16384 * 100", + "description": "engine 4 N1 - also helo RPM %", + "length": undefined, + "mapping": undefined, + "name": "engine4N1", + "permission": "rw", + "type": 2, + "value": 2656, + }, + "engine4N2": Offset { + "category": "engine", + "convert": "{VAL} / 16384 * 100", + "description": "engine 4 N2 - also helo RPM %", + "length": undefined, + "mapping": undefined, + "name": "engine4N2", + "permission": "rw", + "type": 5, + "value": 2654, + }, + "engine4OilPres": Offset { + "category": "engine", + "convert": "Math.round({VAL} * 55 / 16384)", + "description": "engine4 oil pressure - PSI", + "length": undefined, + "mapping": undefined, + "name": "engine4OilPres", + "permission": "r", + "type": 5, + "value": 2690, + }, + "engine4OilQuantity": Offset { + "category": "engine", + "convert": "Math.round({VAL} / 16384 * 100)", + "description": "engine4 oil quantity - percent", + "length": undefined, + "mapping": undefined, + "name": "engine4OilQuantity", + "permission": "r", + "type": 6, + "value": 2712, + }, + "engine4OilTemp": Offset { + "category": "engine", + "convert": "Math.round({VAL} * 140 / 16384)", + "description": "engine4 oil temp - celsius", + "length": undefined, + "mapping": undefined, + "name": "engine4OilTemp", + "permission": "r", + "type": 5, + "value": 2688, + }, + "engine4PressureRatio": Offset { + "category": "engine", + "convert": "{VAL} * 1.6 / 16384", + "description": "engine4 pressure ratio", + "length": undefined, + "mapping": undefined, + "name": "engine4PressureRatio", + "permission": "r", + "type": 5, + "value": 2692, + }, + "engine4PropLever": Offset { + "category": "engine", + "convert": "Math.round({VAL} < 0 ? {VAL} / 4096 * 100 : {VAL} / 16384 * 100)", + "description": "engine 4 prop lever - percent - negative = reverse", + "length": undefined, + "mapping": undefined, + "name": "engine4PropLever", + "permission": "rw", + "type": 2, + "value": 2646, + }, + "engine4PropRPM": Offset { + "category": "engine", + "convert": "{VAL} / 16384 / 65536", + "description": "derive RPM by multiplying by - negative = counter-rotating propeller", + "length": undefined, + "mapping": undefined, + "name": "engine4PropRPM", + "permission": "rw", + "type": 2, + "value": 2656, + }, + "engine4RPMScaler": Offset { + "category": "engine", + "convert": undefined, + "description": "engine4 RPM Scaler - props: used to calculate RPM", + "length": undefined, + "mapping": undefined, + "name": "engine4RPMScaler", + "permission": "r", + "type": 5, + "value": 2704, + }, + "engine4StarterSwitchPosition": Offset { + "category": "engine", + "convert": undefined, + "description": "engine4 start switch position - JET: 0=off 1=start 2=gen/alt - PROP: 0=off 1=right 2=left 3=both 4=start", + "length": undefined, + "mapping": undefined, + "name": "engine4StarterSwitchPosition", + "permission": "rw", + "type": 5, + "value": 2650, + }, + "engine4ThrottleLever": Offset { + "category": "engine", + "convert": "Math.round({VAL} < 0 ? {VAL} / 4096 * 100 : {VAL} / 16384 * 100)", + "description": "engine 4 throttle lever - percent - negative = reverse", + "length": undefined, + "mapping": undefined, + "name": "engine4ThrottleLever", + "permission": "r", + "type": 2, + "value": 2644, + }, + "engine4ThrottleLeverControl": Offset { + "category": "engine", + "convert": undefined, + "description": "engine4 throttle lever control - -4096 to +16384", + "length": undefined, + "mapping": undefined, + "name": "engine4ThrottleLeverControl", + "permission": "rw", + "type": 2, + "value": 2658, + }, + "engine4Torque": Offset { + "category": "engine", + "convert": "{VAL} / 16384 * 100", + "description": "engine4 torque - trust only for helo - percent", + "length": undefined, + "mapping": undefined, + "name": "engine4Torque", + "permission": "r", + "type": 6, + "value": 2748, + }, + "engine4TorqueFtLb": Offset { + "category": "engine", + "convert": undefined, + "description": "engine4 fuel elapsed time - ft lb", + "length": undefined, + "mapping": undefined, + "name": "engine4TorqueFtLb", + "permission": "r", + "type": 9, + "value": 2792, + }, + "engine4Vibration": Offset { + "category": "engine", + "convert": "Math.round({VAL} * 5 / 16384)", + "description": "engine4 vibration", + "length": undefined, + "mapping": undefined, + "name": "engine4Vibration", + "permission": "r", + "type": 6, + "value": 2716, + }, "engineType": Offset { "category": "engine", "convert": "engineType", From 4ffbc5ae503a0086d310e0262dad25961c267614 Mon Sep 17 00:00:00 2001 From: blackholegalaxy Date: Wed, 22 Jan 2020 08:33:47 -0500 Subject: [PATCH 5/7] refact: separate engines to separate files --- src/lib/offsets/plane/engines.ts | 1069 +---------------- src/lib/offsets/plane/engines/engine1.ts | 297 +++++ src/lib/offsets/plane/engines/engine2.ts | 261 ++++ src/lib/offsets/plane/engines/engine3.ts | 261 ++++ src/lib/offsets/plane/engines/engine4.ts | 261 ++++ tests/offsets/plane/engines.spec.ts | 120 -- .../__snapshots__/engine1.spec.ts.snap | 369 ++++++ .../__snapshots__/engine2.spec.ts.snap | 325 +++++ .../__snapshots__/engine3.spec.ts.snap | 325 +++++ .../__snapshots__/engine4.spec.ts.snap | 325 +++++ tests/offsets/plane/engines/engine1.spec.ts | 54 + tests/offsets/plane/engines/engine2.spec.ts | 50 + tests/offsets/plane/engines/engine3.spec.ts | 50 + tests/offsets/plane/engines/engine4.spec.ts | 50 + 14 files changed, 2637 insertions(+), 1180 deletions(-) create mode 100644 src/lib/offsets/plane/engines/engine1.ts create mode 100644 src/lib/offsets/plane/engines/engine2.ts create mode 100644 src/lib/offsets/plane/engines/engine3.ts create mode 100644 src/lib/offsets/plane/engines/engine4.ts create mode 100644 tests/offsets/plane/engines/__snapshots__/engine1.spec.ts.snap create mode 100644 tests/offsets/plane/engines/__snapshots__/engine2.spec.ts.snap create mode 100644 tests/offsets/plane/engines/__snapshots__/engine3.spec.ts.snap create mode 100644 tests/offsets/plane/engines/__snapshots__/engine4.spec.ts.snap create mode 100644 tests/offsets/plane/engines/engine1.spec.ts create mode 100644 tests/offsets/plane/engines/engine2.spec.ts create mode 100644 tests/offsets/plane/engines/engine3.spec.ts create mode 100644 tests/offsets/plane/engines/engine4.spec.ts diff --git a/src/lib/offsets/plane/engines.ts b/src/lib/offsets/plane/engines.ts index c730547..417a74d 100644 --- a/src/lib/offsets/plane/engines.ts +++ b/src/lib/offsets/plane/engines.ts @@ -4,6 +4,11 @@ import { OffsetCategory } from '@shared/offset-category'; import { OffsetList } from '@shared/offset-list'; import { Offset } from '@shared/offset'; +import { engine1 } from './engines/engine1'; +import { engine2 } from './engines/engine2'; +import { engine3 } from './engines/engine3'; +import { engine4 } from './engines/engine4'; + export const engines: OffsetList = { engineType: new Offset({ value: 0x609, @@ -42,1064 +47,8 @@ export const engines: OffsetList = { length: 1, permission: 'rw', }), - - // ENGINE 1 - - engine1ThrottleLever: new Offset({ - value: 0x88C, - name: 'engine1ThrottleLever', - category: OffsetCategory.ENGINE, - description: 'engine 1 throttle lever - percent - negative = reverse', - convert: 'Math.round({VAL} < 0 ? {VAL} / 4096 * 100 : {VAL} / 16384 * 100)', - type: Type.Int16, - permission: 'r', - }), - engine1PropLever: new Offset({ - value: 0x88E, - name: 'engine1PropLever', - category: OffsetCategory.ENGINE, - description: 'engine 1 prop lever - percent - negative = reverse', - convert: 'Math.round({VAL} < 0 ? {VAL} / 4096 * 100 : {VAL} / 16384 * 100)', - type: Type.Int16, - permission: 'rw', - }), - engine1MixtureLever: new Offset({ - value: 0x890, - name: 'engine1MixtureLever', - category: OffsetCategory.ENGINE, - description: 'engine 1 prop lever - percent', - convert: '{VAL} / 16384 * 100', - type: Type.UInt16, - permission: 'rw', - }), - engine1StarterSwitchPosition: new Offset({ - value: 0x892, - name: 'engine1StarterSwitchPosition', - category: OffsetCategory.ENGINE, - description: 'engine1 start switch position - JET: 0=off 1=start 2=gen/alt - PROP: 0=off 1=right 2=left 3=both 4=start', - type: Type.UInt16, - permission: 'rw', - }), - engine1Firing: new Offset({ - value: 0x894, - name: 'engine1Firing', - category: OffsetCategory.ENGINE, - description: 'engine 1 combustion', - convert: '!!{VAL}', - type: Type.UInt16, - permission: 'r', - }), - engine1N2: new Offset({ - value: 0x896, - name: 'engine1N2', - category: OffsetCategory.ENGINE, - description: 'engine 1 N2 - also helo RPM %', - convert: '{VAL} / 16384 * 100', - type: Type.UInt16, - permission: 'rw', - }), - engine1N1: new Offset({ - value: 0x898, - name: 'engine1N1', - category: OffsetCategory.ENGINE, - description: 'engine 1 N1 - also helo RPM %', - convert: '{VAL} / 16384 * 100', - type: Type.Int16, - permission: 'rw', - }), - engine1PropRPM: new Offset({ - value: 0x898, - name: 'engine1PropRPM', - category: OffsetCategory.ENGINE, - description: 'derive RPM by multiplying by - negative = counter-rotating propeller', - convert: '{VAL} / 16384 / 65536', - type: Type.Int16, - permission: 'rw', - }), - engine1ThrottleLeverControl: new Offset({ - value: 0x89A, - name: 'engine1ThrottleLeverControl', - category: OffsetCategory.ENGINE, - description: 'engine1 throttle lever control - -4096 to +16384', - type: Type.Int16, - permission: 'rw', - }), - engine1FuelFlowLbHourSSL: new Offset({ - value: 0x8A0, - name: 'engine1FuelFlowLbHourSSL', - category: OffsetCategory.ENGINE, - description: 'engine1 fuel flow (lb per hour, sea level)', - convert: '{VAL} / 128', - type: Type.UInt16, - permission: 'r', - }), - engine1AntiIce: new Offset({ - value: 0x8B2, - name: 'engine1AntiIce', - category: OffsetCategory.ENGINE, - description: 'engine1 anti-ice/carb heat active', - convert: '!!{VAL}', - type: Type.UInt16, - permission: 'r', - }), - engine1OilTemp: new Offset({ - value: 0x8B8, - name: 'engine1OilTemp', - category: OffsetCategory.ENGINE, - description: 'engine1 oil temp - celsius', - convert: 'Math.round({VAL} * 140 / 16384)', - type: Type.UInt16, - permission: 'r', - }), - engine1OilPres: new Offset({ - value: 0x8BA, - name: 'engine1OilPres', - category: OffsetCategory.ENGINE, - description: 'engine1 oil pressure - PSI', - convert: 'Math.round({VAL} * 55 / 16384)', - type: Type.UInt16, - permission: 'r', - }), - engine1PressureRatio: new Offset({ - value: 0x8BC, - name: 'engine1PressureRatio', - category: OffsetCategory.ENGINE, - description: 'engine1 pressure ratio', - convert: '{VAL} * 1.6 / 16384', - type: Type.UInt16, - permission: 'r', - }), - engine1EGT: new Offset({ - value: 0x8BE, - name: 'engine1EGT', - category: OffsetCategory.ENGINE, - description: 'engine1 exhaust gas temperature - Trust only on jet engine - celsius', - convert: 'Math.round({VAL} * 860 / 16384)', - type: Type.UInt16, - permission: 'r', - }), - engine1MP: new Offset({ - value: 0x8C0, - name: 'engine1MP', - category: OffsetCategory.ENGINE, - description: 'engine1 manifold pressure - inHg', - convert: '{VAL} / 1024', - type: Type.UInt16, - permission: 'r', - }), - engine1RPMScaler: new Offset({ - value: 0x8C8, - name: 'engine1RPMScaler', - category: OffsetCategory.ENGINE, - description: 'engine1 RPM Scaler - props: used to calculate RPM', - type: Type.UInt16, - permission: 'r', - }), - engine1OilQuantity: new Offset({ - value: 0x8D0, - name: 'engine1OilQuantity', - category: OffsetCategory.ENGINE, - description: 'engine1 oil quantity - percent', - convert: 'Math.round({VAL} / 16384 * 100)', - type: Type.UInt32, - permission: 'r', - }), - engine1Vibration: new Offset({ - value: 0x8D4, - name: 'engine1Vibration', - category: OffsetCategory.ENGINE, - description: 'engine1 vibration', - convert: 'Math.round({VAL} * 5 / 16384)', - type: Type.UInt32, - permission: 'r', - }), - engine1HydPres: new Offset({ - value: 0x8D8, - name: 'engine1HydPres', - category: OffsetCategory.ENGINE, - description: 'engine1 hydraulic pressure - PSI', - convert: '{VAL} / 4', - type: Type.UInt32, - permission: 'r', - }), - engine1HydQuantity: new Offset({ - value: 0x8DC, - name: 'engine1HydQuantity', - category: OffsetCategory.ENGINE, - description: 'engine1 hydraulic quantity - PSI', - convert: '{VAL} / 16384 * 100', - type: Type.UInt32, - permission: 'r', - }), - engine1CHT: new Offset({ - value: 0x8E8, - name: 'engine1CHT', - category: OffsetCategory.ENGINE, - description: 'engine1 cylinder head temperature - F', - type: Type.Double, - permission: 'r', - }), - engine1ITT: new Offset({ - value: 0x8F0, - name: 'engine1ITT', - category: OffsetCategory.ENGINE, - description: 'engine1 turbine temperature - C', - convert: '{VAL} / 16384', - type: Type.UInt32, - permission: 'r', - }), - engine1Torque: new Offset({ - value: 0x8F4, - name: 'engine1Torque', - category: OffsetCategory.ENGINE, - description: 'engine1 torque - trust only for helo - percent', - convert: '{VAL} / 16384 * 100', - type: Type.UInt32, - permission: 'r', - }), - engine1FuelPres: new Offset({ - value: 0x8F8, - name: 'engine1FuelPres', - category: OffsetCategory.ENGINE, - description: 'engine1 fuel pressure - PSI', - convert: '{VAL} / 144', - type: Type.UInt32, - permission: 'r', - }), - engine1ElectricalLoad: new Offset({ - value: 0x8FC, - name: 'engine1ElectricalLoad', - category: OffsetCategory.ENGINE, - description: 'engine1 electrical load - trust only for helo - percent', - convert: '{VAL} / 16384 * 100', - type: Type.UInt32, - permission: 'r', - }), - engine1TransmOilPres: new Offset({ - value: 0x900, - name: 'engine1TransmOilPres', - category: OffsetCategory.ENGINE, - description: 'engine1 transmission oil pressure - trust only for helo - PSI', - convert: '{VAL} / 16384', - type: Type.UInt32, - permission: 'r', - }), - engine1TransmOilTemp: new Offset({ - value: 0x904, - name: 'engine1TransmOilTemp', - category: OffsetCategory.ENGINE, - description: 'engine1 transmission oil temperature - trust only for helo - C', - convert: '{VAL} / 16384', - type: Type.UInt32, - permission: 'r', - }), - engine1RotorRPM: new Offset({ - value: 0x908, - name: 'engine1RotorRPM', - category: OffsetCategory.ENGINE, - description: 'engine1 rotor RPM - trust only for helo - percent', - convert: '{VAL} / 16384 * 100', - type: Type.UInt32, - permission: 'r', - }), - engine1FuelUsedSinceStart: new Offset({ - value: 0x90C, - name: 'engine1FuelUsedSinceStart', - category: OffsetCategory.ENGINE, - description: 'engine1 used fuel since start - lb', - type: Type.Single, - permission: 'r', - }), - engine1FuelElapsedTime: new Offset({ - value: 0x910, - name: 'engine1FuelElapsedTime', - category: OffsetCategory.ENGINE, - description: 'engine1 fuel elapsed time - h', - type: Type.Single, - permission: 'r', - }), - engine1FuelFlowLbHour: new Offset({ - value: 0x918, - name: 'engine1FuelFlowLbHour', - category: OffsetCategory.ENGINE, - description: 'engine1 fuel elapsed time - lb/h', - type: Type.Double, - permission: 'r', - }), - engine1TorqueFtLb: new Offset({ - value: 0x920, - name: 'engine1TorqueFtLb', - category: OffsetCategory.ENGINE, - description: 'engine1 fuel elapsed time - ft lb', - type: Type.Single, - permission: 'r', - }), - - // Engine 2 - - engine2ThrottleLever: new Offset({ - value: 0x924, - name: 'engine2ThrottleLever', - category: OffsetCategory.ENGINE, - description: 'engine 2 throttle lever - percent - negative = reverse', - convert: 'Math.round({VAL} < 0 ? {VAL} / 4096 * 100 : {VAL} / 16384 * 100)', - type: Type.Int16, - permission: 'r', - }), - engine2PropLever: new Offset({ - value: 0x926, - name: 'engine2PropLever', - category: OffsetCategory.ENGINE, - description: 'engine 2 prop lever - percent - negative = reverse', - convert: 'Math.round({VAL} < 0 ? {VAL} / 4096 * 100 : {VAL} / 16384 * 100)', - type: Type.Int16, - permission: 'rw', - }), - engine2MixtureLever: new Offset({ - value: 0x928, - name: 'engine2MixtureLever', - category: OffsetCategory.ENGINE, - description: 'engine 2 prop lever - percent', - convert: '{VAL} / 16384 * 100', - type: Type.UInt16, - permission: 'rw', - }), - engine2StarterSwitchPosition: new Offset({ - value: 0x92A, - name: 'engine2StarterSwitchPosition', - category: OffsetCategory.ENGINE, - description: 'engine2 start switch position - JET: 0=off 1=start 2=gen/alt - PROP: 0=off 1=right 2=left 3=both 4=start', - type: Type.UInt16, - permission: 'rw', - }), - engine2Firing: new Offset({ - value: 0x92C, - name: 'engine2Firing', - category: OffsetCategory.ENGINE, - description: 'engine 2 combustion', - convert: '!!{VAL}', - type: Type.UInt16, - permission: 'r', - }), - engine2N2: new Offset({ - value: 0x92E, - name: 'engine2N2', - category: OffsetCategory.ENGINE, - description: 'engine 2 N2 - also helo RPM %', - convert: '{VAL} / 16384 * 100', - type: Type.UInt16, - permission: 'rw', - }), - engine2N1: new Offset({ - value: 0x930, - name: 'engine2N1', - category: OffsetCategory.ENGINE, - description: 'engine 2 N1 - also helo RPM %', - convert: '{VAL} / 16384 * 100', - type: Type.Int16, - permission: 'rw', - }), - engine2PropRPM: new Offset({ - value: 0x930, - name: 'engine2PropRPM', - category: OffsetCategory.ENGINE, - description: 'derive RPM by multiplying by - negative = counter-rotating propeller', - convert: '{VAL} / 16384 / 65536', - type: Type.Int16, - permission: 'rw', - }), - engine2ThrottleLeverControl: new Offset({ - value: 0x932, - name: 'engine2ThrottleLeverControl', - category: OffsetCategory.ENGINE, - description: 'engine2 throttle lever control - -4096 to +16384', - type: Type.Int16, - permission: 'rw', - }), - engine2FuelFlowLbHourSSL: new Offset({ - value: 0x938, - name: 'engine2FuelFlowLbHourSSL', - category: OffsetCategory.ENGINE, - description: 'engine2 fuel flow (lb per hour, sea level)', - convert: '{VAL} / 128', - type: Type.UInt16, - permission: 'r', - }), - engine2AntiIce: new Offset({ - value: 0x94A, - name: 'engine2AntiIce', - category: OffsetCategory.ENGINE, - description: 'engine2 anti-ice/carb heat active', - convert: '!!{VAL}', - type: Type.UInt16, - permission: 'r', - }), - engine2OilTemp: new Offset({ - value: 0x950, - name: 'engine2OilTemp', - category: OffsetCategory.ENGINE, - description: 'engine2 oil temp - celsius', - convert: 'Math.round({VAL} * 140 / 16384)', - type: Type.UInt16, - permission: 'r', - }), - engine2OilPres: new Offset({ - value: 0x952, - name: 'engine2OilPres', - category: OffsetCategory.ENGINE, - description: 'engine2 oil pressure - PSI', - convert: 'Math.round({VAL} * 55 / 16384)', - type: Type.UInt16, - permission: 'r', - }), - engine2PressureRatio: new Offset({ - value: 0x954, - name: 'engine2PressureRatio', - category: OffsetCategory.ENGINE, - description: 'engine2 pressure ratio', - convert: '{VAL} * 1.6 / 16384', - type: Type.UInt16, - permission: 'r', - }), - engine2EGT: new Offset({ - value: 0x956, - name: 'engine2EGT', - category: OffsetCategory.ENGINE, - description: 'engine2 exhaust gas temperature - Trust only on jet engine - celsius', - convert: 'Math.round({VAL} * 860 / 16384)', - type: Type.UInt16, - permission: 'r', - }), - engine2MP: new Offset({ - value: 0x958, - name: 'engine2MP', - category: OffsetCategory.ENGINE, - description: 'engine2 manifold pressure - inHg', - convert: '{VAL} / 1024', - type: Type.UInt16, - permission: 'r', - }), - engine2RPMScaler: new Offset({ - value: 0x960, - name: 'engine2RPMScaler', - category: OffsetCategory.ENGINE, - description: 'engine2 RPM Scaler - props: used to calculate RPM', - type: Type.UInt16, - permission: 'r', - }), - engine2OilQuantity: new Offset({ - value: 0x968, - name: 'engine2OilQuantity', - category: OffsetCategory.ENGINE, - description: 'engine2 oil quantity - percent', - convert: 'Math.round({VAL} / 16384 * 100)', - type: Type.UInt32, - permission: 'r', - }), - engine2Vibration: new Offset({ - value: 0x96C, - name: 'engine2Vibration', - category: OffsetCategory.ENGINE, - description: 'engine2 vibration', - convert: 'Math.round({VAL} * 5 / 16384)', - type: Type.UInt32, - permission: 'r', - }), - engine2HydPres: new Offset({ - value: 0x970, - name: 'engine2HydPres', - category: OffsetCategory.ENGINE, - description: 'engine2 hydraulic pressure - PSI', - convert: '{VAL} / 4', - type: Type.UInt32, - permission: 'r', - }), - engine2HydQuantity: new Offset({ - value: 0x974, - name: 'engine2HydQuantity', - category: OffsetCategory.ENGINE, - description: 'engine2 hydraulic quantity - percent', - convert: '{VAL} / 16384 * 100', - type: Type.UInt32, - permission: 'r', - }), - engine2CHT: new Offset({ - value: 0x980, - name: 'engine2CHT', - category: OffsetCategory.ENGINE, - description: 'engine2 cylinder head temperature - F', - type: Type.Double, - permission: 'r', - }), - engine2ITT: new Offset({ - value: 0x988, - name: 'engine2ITT', - category: OffsetCategory.ENGINE, - description: 'engine2 turbine temperature - C', - convert: '{VAL} / 16384', - type: Type.UInt32, - permission: 'r', - }), - engine2Torque: new Offset({ - value: 0x98C, - name: 'engine2Torque', - category: OffsetCategory.ENGINE, - description: 'engine2 torque - trust only for helo - percent', - convert: '{VAL} / 16384 * 100', - type: Type.UInt32, - permission: 'r', - }), - engine2FuelPres: new Offset({ - value: 0x990, - name: 'engine2FuelPres', - category: OffsetCategory.ENGINE, - description: 'engine2 fuel pressure - PSI', - convert: '{VAL} / 144', - type: Type.UInt32, - permission: 'r', - }), - engine2FuelUsedSinceStart: new Offset({ - value: 0x9A4, - name: 'engine2FuelUsedSinceStart', - category: OffsetCategory.ENGINE, - description: 'engine2 used fuel since start - lb', - type: Type.Single, - permission: 'r', - }), - engine2FuelElapsedTime: new Offset({ - value: 0x9A8, - name: 'engine2FuelElapsedTime', - category: OffsetCategory.ENGINE, - description: 'engine2 fuel elapsed time - h', - type: Type.Single, - permission: 'r', - }), - engine2FuelFlowLbHour: new Offset({ - value: 0x9B0, - name: 'engine2FuelFlowLbHour', - category: OffsetCategory.ENGINE, - description: 'engine2 fuel elapsed time - lb/h', - type: Type.Double, - permission: 'r', - }), - engine2TorqueFtLb: new Offset({ - value: 0x9B8, - name: 'engine2TorqueFtLb', - category: OffsetCategory.ENGINE, - description: 'engine2 fuel elapsed time - ft lb', - type: Type.Single, - permission: 'r', - }), - - // Engine 3 - - engine3ThrottleLever: new Offset({ - value: 0x9BC, - name: 'engine3ThrottleLever', - category: OffsetCategory.ENGINE, - description: 'engine 3 throttle lever - percent - negative = reverse', - convert: 'Math.round({VAL} < 0 ? {VAL} / 4096 * 100 : {VAL} / 16384 * 100)', - type: Type.Int16, - permission: 'r', - }), - engine3PropLever: new Offset({ - value: 0x9BE, - name: 'engine3PropLever', - category: OffsetCategory.ENGINE, - description: 'engine 3 prop lever - percent - negative = reverse', - convert: 'Math.round({VAL} < 0 ? {VAL} / 4096 * 100 : {VAL} / 16384 * 100)', - type: Type.Int16, - permission: 'rw', - }), - engine3MixtureLever: new Offset({ - value: 0x9C0, - name: 'engine3MixtureLever', - category: OffsetCategory.ENGINE, - description: 'engine 3 prop lever - percent', - convert: '{VAL} / 16384 * 100', - type: Type.UInt16, - permission: 'rw', - }), - engine3StarterSwitchPosition: new Offset({ - value: 0x9C2, - name: 'engine3StarterSwitchPosition', - category: OffsetCategory.ENGINE, - description: 'engine3 start switch position - JET: 0=off 1=start 2=gen/alt - PROP: 0=off 1=right 2=left 3=both 4=start', - type: Type.UInt16, - permission: 'rw', - }), - engine3Firing: new Offset({ - value: 0x9C4, - name: 'engine3Firing', - category: OffsetCategory.ENGINE, - description: 'engine 3 combustion', - convert: '!!{VAL}', - type: Type.UInt16, - permission: 'r', - }), - engine3N2: new Offset({ - value: 0x9C6, - name: 'engine3N2', - category: OffsetCategory.ENGINE, - description: 'engine 3 N2 - also helo RPM %', - convert: '{VAL} / 16384 * 100', - type: Type.UInt16, - permission: 'rw', - }), - engine3N1: new Offset({ - value: 0x9C8, - name: 'engine3N1', - category: OffsetCategory.ENGINE, - description: 'engine 3 N1 - also helo RPM %', - convert: '{VAL} / 16384 * 100', - type: Type.Int16, - permission: 'rw', - }), - engine3PropRPM: new Offset({ - value: 0x9C8, - name: 'engine3PropRPM', - category: OffsetCategory.ENGINE, - description: 'derive RPM by multiplying by - negative = counter-rotating propeller', - convert: '{VAL} / 16384 / 65536', - type: Type.Int16, - permission: 'rw', - }), - engine3ThrottleLeverControl: new Offset({ - value: 0x9CA, - name: 'engine3ThrottleLeverControl', - category: OffsetCategory.ENGINE, - description: 'engine3 throttle lever control - -4096 to +16384', - type: Type.Int16, - permission: 'rw', - }), - engine3FuelFlowLbHourSSL: new Offset({ - value: 0x9D0, - name: 'engine3FuelFlowLbHourSSL', - category: OffsetCategory.ENGINE, - description: 'engine3 fuel flow (lb per hour, sea level)', - convert: '{VAL} / 128', - type: Type.UInt16, - permission: 'r', - }), - engine3AntiIce: new Offset({ - value: 0x9E2, - name: 'engine3AntiIce', - category: OffsetCategory.ENGINE, - description: 'engine3 anti-ice/carb heat active', - convert: '!!{VAL}', - type: Type.UInt16, - permission: 'r', - }), - engine3OilTemp: new Offset({ - value: 0x9E8, - name: 'engine3OilTemp', - category: OffsetCategory.ENGINE, - description: 'engine3 oil temp - celsius', - convert: 'Math.round({VAL} * 140 / 16384)', - type: Type.UInt16, - permission: 'r', - }), - engine3OilPres: new Offset({ - value: 0x9EA, - name: 'engine3OilPres', - category: OffsetCategory.ENGINE, - description: 'engine3 oil pressure - PSI', - convert: 'Math.round({VAL} * 55 / 16384)', - type: Type.UInt16, - permission: 'r', - }), - engine3PressureRatio: new Offset({ - value: 0x9EC, - name: 'engine3PressureRatio', - category: OffsetCategory.ENGINE, - description: 'engine3 pressure ratio', - convert: '{VAL} * 1.6 / 16384', - type: Type.UInt16, - permission: 'r', - }), - engine3EGT: new Offset({ - value: 0x9EE, - name: 'engine3EGT', - category: OffsetCategory.ENGINE, - description: 'engine3 exhaust gas temperature - Trust only on jet engine - celsius', - convert: 'Math.round({VAL} * 860 / 16384)', - type: Type.UInt16, - permission: 'r', - }), - engine3MP: new Offset({ - value: 0x9F0, - name: 'engine3MP', - category: OffsetCategory.ENGINE, - description: 'engine3 manifold pressure - inHg', - convert: '{VAL} / 1024', - type: Type.UInt16, - permission: 'r', - }), - engine3RPMScaler: new Offset({ - value: 0x9F8, - name: 'engine3RPMScaler', - category: OffsetCategory.ENGINE, - description: 'engine3 RPM Scaler - props: used to calculate RPM', - type: Type.UInt16, - permission: 'r', - }), - engine3OilQuantity: new Offset({ - value: 0xA00, - name: 'engine3OilQuantity', - category: OffsetCategory.ENGINE, - description: 'engine3 oil quantity - percent', - convert: 'Math.round({VAL} / 16384 * 100)', - type: Type.UInt32, - permission: 'r', - }), - engine3Vibration: new Offset({ - value: 0xA04, - name: 'engine3Vibration', - category: OffsetCategory.ENGINE, - description: 'engine3 vibration', - convert: 'Math.round({VAL} * 5 / 16384)', - type: Type.UInt32, - permission: 'r', - }), - engine3HydPres: new Offset({ - value: 0xA08, - name: 'engine3HydPres', - category: OffsetCategory.ENGINE, - description: 'engine3 hydraulic pressure - PSI', - convert: '{VAL} / 4', - type: Type.UInt32, - permission: 'r', - }), - engine3HydQuantity: new Offset({ - value: 0xA0C, - name: 'engine3HydQuantity', - category: OffsetCategory.ENGINE, - description: 'engine3 hydraulic quantity - percent', - convert: '{VAL} / 16384 * 100', - type: Type.UInt32, - permission: 'r', - }), - engine3CHT: new Offset({ - value: 0xA18, - name: 'engine3CHT', - category: OffsetCategory.ENGINE, - description: 'engine3 cylinder head temperature - F', - type: Type.Double, - permission: 'r', - }), - engine3ITT: new Offset({ - value: 0xA20, - name: 'engine3ITT', - category: OffsetCategory.ENGINE, - description: 'engine3 turbine temperature - C', - convert: '{VAL} / 16384', - type: Type.UInt32, - permission: 'r', - }), - engine3Torque: new Offset({ - value: 0xA24, - name: 'engine3Torque', - category: OffsetCategory.ENGINE, - description: 'engine3 torque - trust only for helo - percent', - convert: '{VAL} / 16384 * 100', - type: Type.UInt32, - permission: 'r', - }), - engine3FuelPres: new Offset({ - value: 0xA28, - name: 'engine3FuelPres', - category: OffsetCategory.ENGINE, - description: 'engine3 fuel pressure - PSI', - convert: '{VAL} / 144', - type: Type.UInt32, - permission: 'r', - }), - engine3FuelUsedSinceStart: new Offset({ - value: 0xA3C, - name: 'engine3FuelUsedSinceStart', - category: OffsetCategory.ENGINE, - description: 'engine3 used fuel since start - lb', - type: Type.Single, - permission: 'r', - }), - engine3FuelElapsedTime: new Offset({ - value: 0xA40, - name: 'engine3FuelElapsedTime', - category: OffsetCategory.ENGINE, - description: 'engine3 fuel elapsed time - h', - type: Type.Single, - permission: 'r', - }), - engine3FuelFlowLbHour: new Offset({ - value: 0xA48, - name: 'engine3FuelFlowLbHour', - category: OffsetCategory.ENGINE, - description: 'engine3 fuel elapsed time - lb/h', - type: Type.Double, - permission: 'r', - }), - engine3TorqueFtLb: new Offset({ - value: 0xA50, - name: 'engine3TorqueFtLb', - category: OffsetCategory.ENGINE, - description: 'engine3 fuel elapsed time - ft lb', - type: Type.Single, - permission: 'r', - }), - - // Engine 4 - - engine4ThrottleLever: new Offset({ - value: 0xA54, - name: 'engine4ThrottleLever', - category: OffsetCategory.ENGINE, - description: 'engine 4 throttle lever - percent - negative = reverse', - convert: 'Math.round({VAL} < 0 ? {VAL} / 4096 * 100 : {VAL} / 16384 * 100)', - type: Type.Int16, - permission: 'r', - }), - engine4PropLever: new Offset({ - value: 0xA56, - name: 'engine4PropLever', - category: OffsetCategory.ENGINE, - description: 'engine 4 prop lever - percent - negative = reverse', - convert: 'Math.round({VAL} < 0 ? {VAL} / 4096 * 100 : {VAL} / 16384 * 100)', - type: Type.Int16, - permission: 'rw', - }), - engine4MixtureLever: new Offset({ - value: 0xA58, - name: 'engine4MixtureLever', - category: OffsetCategory.ENGINE, - description: 'engine 4 prop lever - percent', - convert: '{VAL} / 16384 * 100', - type: Type.UInt16, - permission: 'rw', - }), - engine4StarterSwitchPosition: new Offset({ - value: 0xA5A, - name: 'engine4StarterSwitchPosition', - category: OffsetCategory.ENGINE, - description: 'engine4 start switch position - JET: 0=off 1=start 2=gen/alt - PROP: 0=off 1=right 2=left 3=both 4=start', - type: Type.UInt16, - permission: 'rw', - }), - engine4Firing: new Offset({ - value: 0xA5C, - name: 'engine4Firing', - category: OffsetCategory.ENGINE, - description: 'engine 4 combustion', - convert: '!!{VAL}', - type: Type.UInt16, - permission: 'r', - }), - engine4N2: new Offset({ - value: 0xA5E, - name: 'engine4N2', - category: OffsetCategory.ENGINE, - description: 'engine 4 N2 - also helo RPM %', - convert: '{VAL} / 16384 * 100', - type: Type.UInt16, - permission: 'rw', - }), - engine4N1: new Offset({ - value: 0xA60, - name: 'engine4N1', - category: OffsetCategory.ENGINE, - description: 'engine 4 N1 - also helo RPM %', - convert: '{VAL} / 16384 * 100', - type: Type.Int16, - permission: 'rw', - }), - engine4PropRPM: new Offset({ - value: 0xA60, - name: 'engine4PropRPM', - category: OffsetCategory.ENGINE, - description: 'derive RPM by multiplying by - negative = counter-rotating propeller', - convert: '{VAL} / 16384 / 65536', - type: Type.Int16, - permission: 'rw', - }), - engine4ThrottleLeverControl: new Offset({ - value: 0xA62, - name: 'engine4ThrottleLeverControl', - category: OffsetCategory.ENGINE, - description: 'engine4 throttle lever control - -4096 to +16384', - type: Type.Int16, - permission: 'rw', - }), - engine4FuelFlowLbHourSSL: new Offset({ - value: 0xA68, - name: 'engine4FuelFlowLbHourSSL', - category: OffsetCategory.ENGINE, - description: 'engine4 fuel flow (lb per hour, sea level)', - convert: '{VAL} / 128', - type: Type.UInt16, - permission: 'r', - }), - engine4AntiIce: new Offset({ - value: 0xA7A, - name: 'engine4AntiIce', - category: OffsetCategory.ENGINE, - description: 'engine4 anti-ice/carb heat active', - convert: '!!{VAL}', - type: Type.UInt16, - permission: 'r', - }), - engine4OilTemp: new Offset({ - value: 0xA80, - name: 'engine4OilTemp', - category: OffsetCategory.ENGINE, - description: 'engine4 oil temp - celsius', - convert: 'Math.round({VAL} * 140 / 16384)', - type: Type.UInt16, - permission: 'r', - }), - engine4OilPres: new Offset({ - value: 0xA82, - name: 'engine4OilPres', - category: OffsetCategory.ENGINE, - description: 'engine4 oil pressure - PSI', - convert: 'Math.round({VAL} * 55 / 16384)', - type: Type.UInt16, - permission: 'r', - }), - engine4PressureRatio: new Offset({ - value: 0xA84, - name: 'engine4PressureRatio', - category: OffsetCategory.ENGINE, - description: 'engine4 pressure ratio', - convert: '{VAL} * 1.6 / 16384', - type: Type.UInt16, - permission: 'r', - }), - engine4EGT: new Offset({ - value: 0xA86, - name: 'engine4EGT', - category: OffsetCategory.ENGINE, - description: 'engine4 exhaust gas temperature - Trust only on jet engine - celsius', - convert: 'Math.round({VAL} * 860 / 16384)', - type: Type.UInt16, - permission: 'r', - }), - engine4MP: new Offset({ - value: 0xA88, - name: 'engine4MP', - category: OffsetCategory.ENGINE, - description: 'engine4 manifold pressure - inHg', - convert: '{VAL} / 1024', - type: Type.UInt16, - permission: 'r', - }), - engine4RPMScaler: new Offset({ - value: 0xA90, - name: 'engine4RPMScaler', - category: OffsetCategory.ENGINE, - description: 'engine4 RPM Scaler - props: used to calculate RPM', - type: Type.UInt16, - permission: 'r', - }), - engine4OilQuantity: new Offset({ - value: 0xA98, - name: 'engine4OilQuantity', - category: OffsetCategory.ENGINE, - description: 'engine4 oil quantity - percent', - convert: 'Math.round({VAL} / 16384 * 100)', - type: Type.UInt32, - permission: 'r', - }), - engine4Vibration: new Offset({ - value: 0xA9C, - name: 'engine4Vibration', - category: OffsetCategory.ENGINE, - description: 'engine4 vibration', - convert: 'Math.round({VAL} * 5 / 16384)', - type: Type.UInt32, - permission: 'r', - }), - engine4HydPres: new Offset({ - value: 0xAA0, - name: 'engine4HydPres', - category: OffsetCategory.ENGINE, - description: 'engine4 hydraulic pressure - PSI', - convert: '{VAL} / 4', - type: Type.UInt32, - permission: 'r', - }), - engine4HydQuantity: new Offset({ - value: 0xAA4, - name: 'engine4HydQuantity', - category: OffsetCategory.ENGINE, - description: 'engine4 hydraulic quantity - percent', - convert: '{VAL} / 16384 * 100', - type: Type.UInt32, - permission: 'r', - }), - engine4CHT: new Offset({ - value: 0xAB0, - name: 'engine4CHT', - category: OffsetCategory.ENGINE, - description: 'engine4 cylinder head temperature - F', - type: Type.Double, - permission: 'r', - }), - engine4ITT: new Offset({ - value: 0xAB8, - name: 'engine4ITT', - category: OffsetCategory.ENGINE, - description: 'engine4 turbine temperature - C', - convert: '{VAL} / 16384', - type: Type.UInt32, - permission: 'r', - }), - engine4Torque: new Offset({ - value: 0xABC, - name: 'engine4Torque', - category: OffsetCategory.ENGINE, - description: 'engine4 torque - trust only for helo - percent', - convert: '{VAL} / 16384 * 100', - type: Type.UInt32, - permission: 'r', - }), - engine4FuelPres: new Offset({ - value: 0xAC0, - name: 'engine4FuelPres', - category: OffsetCategory.ENGINE, - description: 'engine4 fuel pressure - PSI', - convert: '{VAL} / 144', - type: Type.UInt32, - permission: 'r', - }), - engine4FuelUsedSinceStart: new Offset({ - value: 0xAD4, - name: 'engine4FuelUsedSinceStart', - category: OffsetCategory.ENGINE, - description: 'engine4 used fuel since start - lb', - type: Type.Single, - permission: 'r', - }), - engine4FuelElapsedTime: new Offset({ - value: 0xAD8, - name: 'engine4FuelElapsedTime', - category: OffsetCategory.ENGINE, - description: 'engine4 fuel elapsed time - h', - type: Type.Single, - permission: 'r', - }), - engine4FuelFlowLbHour: new Offset({ - value: 0xAE0, - name: 'engine4FuelFlowLbHour', - category: OffsetCategory.ENGINE, - description: 'engine4 fuel elapsed time - lb/h', - type: Type.Double, - permission: 'r', - }), - engine4TorqueFtLb: new Offset({ - value: 0xAE8, - name: 'engine4TorqueFtLb', - category: OffsetCategory.ENGINE, - description: 'engine4 fuel elapsed time - ft lb', - type: Type.Single, - permission: 'r', - }), + ...engine1, + ...engine2, + ...engine3, + ...engine4, }; diff --git a/src/lib/offsets/plane/engines/engine1.ts b/src/lib/offsets/plane/engines/engine1.ts new file mode 100644 index 0000000..9e99505 --- /dev/null +++ b/src/lib/offsets/plane/engines/engine1.ts @@ -0,0 +1,297 @@ +import { Type } from 'fsuipc'; + +import { OffsetList } from '@shared/offset-list'; +import { Offset } from '@shared/offset'; +import { OffsetCategory } from '@shared/offset-category'; + +export const engine1: OffsetList = { + engine1ThrottleLever: new Offset({ + value: 0x88C, + name: 'engine1ThrottleLever', + category: OffsetCategory.ENGINE, + description: 'engine 1 throttle lever - percent - negative = reverse', + convert: 'Math.round({VAL} < 0 ? {VAL} / 4096 * 100 : {VAL} / 16384 * 100)', + type: Type.Int16, + permission: 'r', + }), + engine1PropLever: new Offset({ + value: 0x88E, + name: 'engine1PropLever', + category: OffsetCategory.ENGINE, + description: 'engine 1 prop lever - percent - negative = reverse', + convert: 'Math.round({VAL} < 0 ? {VAL} / 4096 * 100 : {VAL} / 16384 * 100)', + type: Type.Int16, + permission: 'rw', + }), + engine1MixtureLever: new Offset({ + value: 0x890, + name: 'engine1MixtureLever', + category: OffsetCategory.ENGINE, + description: 'engine 1 prop lever - percent', + convert: '{VAL} / 16384 * 100', + type: Type.UInt16, + permission: 'rw', + }), + engine1StarterSwitchPosition: new Offset({ + value: 0x892, + name: 'engine1StarterSwitchPosition', + category: OffsetCategory.ENGINE, + description: 'engine1 start switch position - JET: 0=off 1=start 2=gen/alt - PROP: 0=off 1=right 2=left 3=both 4=start', + type: Type.UInt16, + permission: 'rw', + }), + engine1Firing: new Offset({ + value: 0x894, + name: 'engine1Firing', + category: OffsetCategory.ENGINE, + description: 'engine 1 combustion', + convert: '!!{VAL}', + type: Type.UInt16, + permission: 'r', + }), + engine1N2: new Offset({ + value: 0x896, + name: 'engine1N2', + category: OffsetCategory.ENGINE, + description: 'engine 1 N2 - also helo RPM %', + convert: '{VAL} / 16384 * 100', + type: Type.UInt16, + permission: 'rw', + }), + engine1N1: new Offset({ + value: 0x898, + name: 'engine1N1', + category: OffsetCategory.ENGINE, + description: 'engine 1 N1 - also helo RPM %', + convert: '{VAL} / 16384 * 100', + type: Type.Int16, + permission: 'rw', + }), + engine1PropRPM: new Offset({ + value: 0x898, + name: 'engine1PropRPM', + category: OffsetCategory.ENGINE, + description: 'derive RPM by multiplying by - negative = counter-rotating propeller', + convert: '{VAL} / 16384 / 65536', + type: Type.Int16, + permission: 'rw', + }), + engine1ThrottleLeverControl: new Offset({ + value: 0x89A, + name: 'engine1ThrottleLeverControl', + category: OffsetCategory.ENGINE, + description: 'engine1 throttle lever control - -4096 to +16384', + type: Type.Int16, + permission: 'rw', + }), + engine1FuelFlowLbHourSSL: new Offset({ + value: 0x8A0, + name: 'engine1FuelFlowLbHourSSL', + category: OffsetCategory.ENGINE, + description: 'engine1 fuel flow (lb per hour, sea level)', + convert: '{VAL} / 128', + type: Type.UInt16, + permission: 'r', + }), + engine1AntiIce: new Offset({ + value: 0x8B2, + name: 'engine1AntiIce', + category: OffsetCategory.ENGINE, + description: 'engine1 anti-ice/carb heat active', + convert: '!!{VAL}', + type: Type.UInt16, + permission: 'r', + }), + engine1OilTemp: new Offset({ + value: 0x8B8, + name: 'engine1OilTemp', + category: OffsetCategory.ENGINE, + description: 'engine1 oil temp - celsius', + convert: 'Math.round({VAL} * 140 / 16384)', + type: Type.UInt16, + permission: 'r', + }), + engine1OilPres: new Offset({ + value: 0x8BA, + name: 'engine1OilPres', + category: OffsetCategory.ENGINE, + description: 'engine1 oil pressure - PSI', + convert: 'Math.round({VAL} * 55 / 16384)', + type: Type.UInt16, + permission: 'r', + }), + engine1PressureRatio: new Offset({ + value: 0x8BC, + name: 'engine1PressureRatio', + category: OffsetCategory.ENGINE, + description: 'engine1 pressure ratio', + convert: '{VAL} * 1.6 / 16384', + type: Type.UInt16, + permission: 'r', + }), + engine1EGT: new Offset({ + value: 0x8BE, + name: 'engine1EGT', + category: OffsetCategory.ENGINE, + description: 'engine1 exhaust gas temperature - Trust only on jet engine - celsius', + convert: 'Math.round({VAL} * 860 / 16384)', + type: Type.UInt16, + permission: 'r', + }), + engine1MP: new Offset({ + value: 0x8C0, + name: 'engine1MP', + category: OffsetCategory.ENGINE, + description: 'engine1 manifold pressure - inHg', + convert: '{VAL} / 1024', + type: Type.UInt16, + permission: 'r', + }), + engine1RPMScaler: new Offset({ + value: 0x8C8, + name: 'engine1RPMScaler', + category: OffsetCategory.ENGINE, + description: 'engine1 RPM Scaler - props: used to calculate RPM', + type: Type.UInt16, + permission: 'r', + }), + engine1OilQuantity: new Offset({ + value: 0x8D0, + name: 'engine1OilQuantity', + category: OffsetCategory.ENGINE, + description: 'engine1 oil quantity - percent', + convert: 'Math.round({VAL} / 16384 * 100)', + type: Type.UInt32, + permission: 'r', + }), + engine1Vibration: new Offset({ + value: 0x8D4, + name: 'engine1Vibration', + category: OffsetCategory.ENGINE, + description: 'engine1 vibration', + convert: 'Math.round({VAL} * 5 / 16384)', + type: Type.UInt32, + permission: 'r', + }), + engine1HydPres: new Offset({ + value: 0x8D8, + name: 'engine1HydPres', + category: OffsetCategory.ENGINE, + description: 'engine1 hydraulic pressure - PSI', + convert: '{VAL} / 4', + type: Type.UInt32, + permission: 'r', + }), + engine1HydQuantity: new Offset({ + value: 0x8DC, + name: 'engine1HydQuantity', + category: OffsetCategory.ENGINE, + description: 'engine1 hydraulic quantity - PSI', + convert: '{VAL} / 16384 * 100', + type: Type.UInt32, + permission: 'r', + }), + engine1CHT: new Offset({ + value: 0x8E8, + name: 'engine1CHT', + category: OffsetCategory.ENGINE, + description: 'engine1 cylinder head temperature - F', + type: Type.Double, + permission: 'r', + }), + engine1ITT: new Offset({ + value: 0x8F0, + name: 'engine1ITT', + category: OffsetCategory.ENGINE, + description: 'engine1 turbine temperature - C', + convert: '{VAL} / 16384', + type: Type.UInt32, + permission: 'r', + }), + engine1Torque: new Offset({ + value: 0x8F4, + name: 'engine1Torque', + category: OffsetCategory.ENGINE, + description: 'engine1 torque - trust only for helo - percent', + convert: '{VAL} / 16384 * 100', + type: Type.UInt32, + permission: 'r', + }), + engine1FuelPres: new Offset({ + value: 0x8F8, + name: 'engine1FuelPres', + category: OffsetCategory.ENGINE, + description: 'engine1 fuel pressure - PSI', + convert: '{VAL} / 144', + type: Type.UInt32, + permission: 'r', + }), + engine1ElectricalLoad: new Offset({ + value: 0x8FC, + name: 'engine1ElectricalLoad', + category: OffsetCategory.ENGINE, + description: 'engine1 electrical load - trust only for helo - percent', + convert: '{VAL} / 16384 * 100', + type: Type.UInt32, + permission: 'r', + }), + engine1TransmOilPres: new Offset({ + value: 0x900, + name: 'engine1TransmOilPres', + category: OffsetCategory.ENGINE, + description: 'engine1 transmission oil pressure - trust only for helo - PSI', + convert: '{VAL} / 16384', + type: Type.UInt32, + permission: 'r', + }), + engine1TransmOilTemp: new Offset({ + value: 0x904, + name: 'engine1TransmOilTemp', + category: OffsetCategory.ENGINE, + description: 'engine1 transmission oil temperature - trust only for helo - C', + convert: '{VAL} / 16384', + type: Type.UInt32, + permission: 'r', + }), + engine1RotorRPM: new Offset({ + value: 0x908, + name: 'engine1RotorRPM', + category: OffsetCategory.ENGINE, + description: 'engine1 rotor RPM - trust only for helo - percent', + convert: '{VAL} / 16384 * 100', + type: Type.UInt32, + permission: 'r', + }), + engine1FuelUsedSinceStart: new Offset({ + value: 0x90C, + name: 'engine1FuelUsedSinceStart', + category: OffsetCategory.ENGINE, + description: 'engine1 used fuel since start - lb', + type: Type.Single, + permission: 'r', + }), + engine1FuelElapsedTime: new Offset({ + value: 0x910, + name: 'engine1FuelElapsedTime', + category: OffsetCategory.ENGINE, + description: 'engine1 fuel elapsed time - h', + type: Type.Single, + permission: 'r', + }), + engine1FuelFlowLbHour: new Offset({ + value: 0x918, + name: 'engine1FuelFlowLbHour', + category: OffsetCategory.ENGINE, + description: 'engine1 fuel elapsed time - lb/h', + type: Type.Double, + permission: 'r', + }), + engine1TorqueFtLb: new Offset({ + value: 0x920, + name: 'engine1TorqueFtLb', + category: OffsetCategory.ENGINE, + description: 'engine1 fuel elapsed time - ft lb', + type: Type.Single, + permission: 'r', + }), +}; diff --git a/src/lib/offsets/plane/engines/engine2.ts b/src/lib/offsets/plane/engines/engine2.ts new file mode 100644 index 0000000..821f891 --- /dev/null +++ b/src/lib/offsets/plane/engines/engine2.ts @@ -0,0 +1,261 @@ +import { Type } from 'fsuipc'; + +import { OffsetList } from '@shared/offset-list'; +import { Offset } from '@shared/offset'; +import { OffsetCategory } from '@shared/offset-category'; + +export const engine2: OffsetList = { + engine2ThrottleLever: new Offset({ + value: 0x924, + name: 'engine2ThrottleLever', + category: OffsetCategory.ENGINE, + description: 'engine 2 throttle lever - percent - negative = reverse', + convert: 'Math.round({VAL} < 0 ? {VAL} / 4096 * 100 : {VAL} / 16384 * 100)', + type: Type.Int16, + permission: 'r', + }), + engine2PropLever: new Offset({ + value: 0x926, + name: 'engine2PropLever', + category: OffsetCategory.ENGINE, + description: 'engine 2 prop lever - percent - negative = reverse', + convert: 'Math.round({VAL} < 0 ? {VAL} / 4096 * 100 : {VAL} / 16384 * 100)', + type: Type.Int16, + permission: 'rw', + }), + engine2MixtureLever: new Offset({ + value: 0x928, + name: 'engine2MixtureLever', + category: OffsetCategory.ENGINE, + description: 'engine 2 prop lever - percent', + convert: '{VAL} / 16384 * 100', + type: Type.UInt16, + permission: 'rw', + }), + engine2StarterSwitchPosition: new Offset({ + value: 0x92A, + name: 'engine2StarterSwitchPosition', + category: OffsetCategory.ENGINE, + description: 'engine2 start switch position - JET: 0=off 1=start 2=gen/alt - PROP: 0=off 1=right 2=left 3=both 4=start', + type: Type.UInt16, + permission: 'rw', + }), + engine2Firing: new Offset({ + value: 0x92C, + name: 'engine2Firing', + category: OffsetCategory.ENGINE, + description: 'engine 2 combustion', + convert: '!!{VAL}', + type: Type.UInt16, + permission: 'r', + }), + engine2N2: new Offset({ + value: 0x92E, + name: 'engine2N2', + category: OffsetCategory.ENGINE, + description: 'engine 2 N2 - also helo RPM %', + convert: '{VAL} / 16384 * 100', + type: Type.UInt16, + permission: 'rw', + }), + engine2N1: new Offset({ + value: 0x930, + name: 'engine2N1', + category: OffsetCategory.ENGINE, + description: 'engine 2 N1 - also helo RPM %', + convert: '{VAL} / 16384 * 100', + type: Type.Int16, + permission: 'rw', + }), + engine2PropRPM: new Offset({ + value: 0x930, + name: 'engine2PropRPM', + category: OffsetCategory.ENGINE, + description: 'derive RPM by multiplying by - negative = counter-rotating propeller', + convert: '{VAL} / 16384 / 65536', + type: Type.Int16, + permission: 'rw', + }), + engine2ThrottleLeverControl: new Offset({ + value: 0x932, + name: 'engine2ThrottleLeverControl', + category: OffsetCategory.ENGINE, + description: 'engine2 throttle lever control - -4096 to +16384', + type: Type.Int16, + permission: 'rw', + }), + engine2FuelFlowLbHourSSL: new Offset({ + value: 0x938, + name: 'engine2FuelFlowLbHourSSL', + category: OffsetCategory.ENGINE, + description: 'engine2 fuel flow (lb per hour, sea level)', + convert: '{VAL} / 128', + type: Type.UInt16, + permission: 'r', + }), + engine2AntiIce: new Offset({ + value: 0x94A, + name: 'engine2AntiIce', + category: OffsetCategory.ENGINE, + description: 'engine2 anti-ice/carb heat active', + convert: '!!{VAL}', + type: Type.UInt16, + permission: 'r', + }), + engine2OilTemp: new Offset({ + value: 0x950, + name: 'engine2OilTemp', + category: OffsetCategory.ENGINE, + description: 'engine2 oil temp - celsius', + convert: 'Math.round({VAL} * 140 / 16384)', + type: Type.UInt16, + permission: 'r', + }), + engine2OilPres: new Offset({ + value: 0x952, + name: 'engine2OilPres', + category: OffsetCategory.ENGINE, + description: 'engine2 oil pressure - PSI', + convert: 'Math.round({VAL} * 55 / 16384)', + type: Type.UInt16, + permission: 'r', + }), + engine2PressureRatio: new Offset({ + value: 0x954, + name: 'engine2PressureRatio', + category: OffsetCategory.ENGINE, + description: 'engine2 pressure ratio', + convert: '{VAL} * 1.6 / 16384', + type: Type.UInt16, + permission: 'r', + }), + engine2EGT: new Offset({ + value: 0x956, + name: 'engine2EGT', + category: OffsetCategory.ENGINE, + description: 'engine2 exhaust gas temperature - Trust only on jet engine - celsius', + convert: 'Math.round({VAL} * 860 / 16384)', + type: Type.UInt16, + permission: 'r', + }), + engine2MP: new Offset({ + value: 0x958, + name: 'engine2MP', + category: OffsetCategory.ENGINE, + description: 'engine2 manifold pressure - inHg', + convert: '{VAL} / 1024', + type: Type.UInt16, + permission: 'r', + }), + engine2RPMScaler: new Offset({ + value: 0x960, + name: 'engine2RPMScaler', + category: OffsetCategory.ENGINE, + description: 'engine2 RPM Scaler - props: used to calculate RPM', + type: Type.UInt16, + permission: 'r', + }), + engine2OilQuantity: new Offset({ + value: 0x968, + name: 'engine2OilQuantity', + category: OffsetCategory.ENGINE, + description: 'engine2 oil quantity - percent', + convert: 'Math.round({VAL} / 16384 * 100)', + type: Type.UInt32, + permission: 'r', + }), + engine2Vibration: new Offset({ + value: 0x96C, + name: 'engine2Vibration', + category: OffsetCategory.ENGINE, + description: 'engine2 vibration', + convert: 'Math.round({VAL} * 5 / 16384)', + type: Type.UInt32, + permission: 'r', + }), + engine2HydPres: new Offset({ + value: 0x970, + name: 'engine2HydPres', + category: OffsetCategory.ENGINE, + description: 'engine2 hydraulic pressure - PSI', + convert: '{VAL} / 4', + type: Type.UInt32, + permission: 'r', + }), + engine2HydQuantity: new Offset({ + value: 0x974, + name: 'engine2HydQuantity', + category: OffsetCategory.ENGINE, + description: 'engine2 hydraulic quantity - percent', + convert: '{VAL} / 16384 * 100', + type: Type.UInt32, + permission: 'r', + }), + engine2CHT: new Offset({ + value: 0x980, + name: 'engine2CHT', + category: OffsetCategory.ENGINE, + description: 'engine2 cylinder head temperature - F', + type: Type.Double, + permission: 'r', + }), + engine2ITT: new Offset({ + value: 0x988, + name: 'engine2ITT', + category: OffsetCategory.ENGINE, + description: 'engine2 turbine temperature - C', + convert: '{VAL} / 16384', + type: Type.UInt32, + permission: 'r', + }), + engine2Torque: new Offset({ + value: 0x98C, + name: 'engine2Torque', + category: OffsetCategory.ENGINE, + description: 'engine2 torque - trust only for helo - percent', + convert: '{VAL} / 16384 * 100', + type: Type.UInt32, + permission: 'r', + }), + engine2FuelPres: new Offset({ + value: 0x990, + name: 'engine2FuelPres', + category: OffsetCategory.ENGINE, + description: 'engine2 fuel pressure - PSI', + convert: '{VAL} / 144', + type: Type.UInt32, + permission: 'r', + }), + engine2FuelUsedSinceStart: new Offset({ + value: 0x9A4, + name: 'engine2FuelUsedSinceStart', + category: OffsetCategory.ENGINE, + description: 'engine2 used fuel since start - lb', + type: Type.Single, + permission: 'r', + }), + engine2FuelElapsedTime: new Offset({ + value: 0x9A8, + name: 'engine2FuelElapsedTime', + category: OffsetCategory.ENGINE, + description: 'engine2 fuel elapsed time - h', + type: Type.Single, + permission: 'r', + }), + engine2FuelFlowLbHour: new Offset({ + value: 0x9B0, + name: 'engine2FuelFlowLbHour', + category: OffsetCategory.ENGINE, + description: 'engine2 fuel elapsed time - lb/h', + type: Type.Double, + permission: 'r', + }), + engine2TorqueFtLb: new Offset({ + value: 0x9B8, + name: 'engine2TorqueFtLb', + category: OffsetCategory.ENGINE, + description: 'engine2 fuel elapsed time - ft lb', + type: Type.Single, + permission: 'r', + }), +}; diff --git a/src/lib/offsets/plane/engines/engine3.ts b/src/lib/offsets/plane/engines/engine3.ts new file mode 100644 index 0000000..0ff96be --- /dev/null +++ b/src/lib/offsets/plane/engines/engine3.ts @@ -0,0 +1,261 @@ +import { Type } from 'fsuipc'; + +import { OffsetList } from '@shared/offset-list'; +import { Offset } from '@shared/offset'; +import { OffsetCategory } from '@shared/offset-category'; + +export const engine3: OffsetList = { + engine3ThrottleLever: new Offset({ + value: 0x9BC, + name: 'engine3ThrottleLever', + category: OffsetCategory.ENGINE, + description: 'engine 3 throttle lever - percent - negative = reverse', + convert: 'Math.round({VAL} < 0 ? {VAL} / 4096 * 100 : {VAL} / 16384 * 100)', + type: Type.Int16, + permission: 'r', + }), + engine3PropLever: new Offset({ + value: 0x9BE, + name: 'engine3PropLever', + category: OffsetCategory.ENGINE, + description: 'engine 3 prop lever - percent - negative = reverse', + convert: 'Math.round({VAL} < 0 ? {VAL} / 4096 * 100 : {VAL} / 16384 * 100)', + type: Type.Int16, + permission: 'rw', + }), + engine3MixtureLever: new Offset({ + value: 0x9C0, + name: 'engine3MixtureLever', + category: OffsetCategory.ENGINE, + description: 'engine 3 prop lever - percent', + convert: '{VAL} / 16384 * 100', + type: Type.UInt16, + permission: 'rw', + }), + engine3StarterSwitchPosition: new Offset({ + value: 0x9C2, + name: 'engine3StarterSwitchPosition', + category: OffsetCategory.ENGINE, + description: 'engine3 start switch position - JET: 0=off 1=start 2=gen/alt - PROP: 0=off 1=right 2=left 3=both 4=start', + type: Type.UInt16, + permission: 'rw', + }), + engine3Firing: new Offset({ + value: 0x9C4, + name: 'engine3Firing', + category: OffsetCategory.ENGINE, + description: 'engine 3 combustion', + convert: '!!{VAL}', + type: Type.UInt16, + permission: 'r', + }), + engine3N2: new Offset({ + value: 0x9C6, + name: 'engine3N2', + category: OffsetCategory.ENGINE, + description: 'engine 3 N2 - also helo RPM %', + convert: '{VAL} / 16384 * 100', + type: Type.UInt16, + permission: 'rw', + }), + engine3N1: new Offset({ + value: 0x9C8, + name: 'engine3N1', + category: OffsetCategory.ENGINE, + description: 'engine 3 N1 - also helo RPM %', + convert: '{VAL} / 16384 * 100', + type: Type.Int16, + permission: 'rw', + }), + engine3PropRPM: new Offset({ + value: 0x9C8, + name: 'engine3PropRPM', + category: OffsetCategory.ENGINE, + description: 'derive RPM by multiplying by - negative = counter-rotating propeller', + convert: '{VAL} / 16384 / 65536', + type: Type.Int16, + permission: 'rw', + }), + engine3ThrottleLeverControl: new Offset({ + value: 0x9CA, + name: 'engine3ThrottleLeverControl', + category: OffsetCategory.ENGINE, + description: 'engine3 throttle lever control - -4096 to +16384', + type: Type.Int16, + permission: 'rw', + }), + engine3FuelFlowLbHourSSL: new Offset({ + value: 0x9D0, + name: 'engine3FuelFlowLbHourSSL', + category: OffsetCategory.ENGINE, + description: 'engine3 fuel flow (lb per hour, sea level)', + convert: '{VAL} / 128', + type: Type.UInt16, + permission: 'r', + }), + engine3AntiIce: new Offset({ + value: 0x9E2, + name: 'engine3AntiIce', + category: OffsetCategory.ENGINE, + description: 'engine3 anti-ice/carb heat active', + convert: '!!{VAL}', + type: Type.UInt16, + permission: 'r', + }), + engine3OilTemp: new Offset({ + value: 0x9E8, + name: 'engine3OilTemp', + category: OffsetCategory.ENGINE, + description: 'engine3 oil temp - celsius', + convert: 'Math.round({VAL} * 140 / 16384)', + type: Type.UInt16, + permission: 'r', + }), + engine3OilPres: new Offset({ + value: 0x9EA, + name: 'engine3OilPres', + category: OffsetCategory.ENGINE, + description: 'engine3 oil pressure - PSI', + convert: 'Math.round({VAL} * 55 / 16384)', + type: Type.UInt16, + permission: 'r', + }), + engine3PressureRatio: new Offset({ + value: 0x9EC, + name: 'engine3PressureRatio', + category: OffsetCategory.ENGINE, + description: 'engine3 pressure ratio', + convert: '{VAL} * 1.6 / 16384', + type: Type.UInt16, + permission: 'r', + }), + engine3EGT: new Offset({ + value: 0x9EE, + name: 'engine3EGT', + category: OffsetCategory.ENGINE, + description: 'engine3 exhaust gas temperature - Trust only on jet engine - celsius', + convert: 'Math.round({VAL} * 860 / 16384)', + type: Type.UInt16, + permission: 'r', + }), + engine3MP: new Offset({ + value: 0x9F0, + name: 'engine3MP', + category: OffsetCategory.ENGINE, + description: 'engine3 manifold pressure - inHg', + convert: '{VAL} / 1024', + type: Type.UInt16, + permission: 'r', + }), + engine3RPMScaler: new Offset({ + value: 0x9F8, + name: 'engine3RPMScaler', + category: OffsetCategory.ENGINE, + description: 'engine3 RPM Scaler - props: used to calculate RPM', + type: Type.UInt16, + permission: 'r', + }), + engine3OilQuantity: new Offset({ + value: 0xA00, + name: 'engine3OilQuantity', + category: OffsetCategory.ENGINE, + description: 'engine3 oil quantity - percent', + convert: 'Math.round({VAL} / 16384 * 100)', + type: Type.UInt32, + permission: 'r', + }), + engine3Vibration: new Offset({ + value: 0xA04, + name: 'engine3Vibration', + category: OffsetCategory.ENGINE, + description: 'engine3 vibration', + convert: 'Math.round({VAL} * 5 / 16384)', + type: Type.UInt32, + permission: 'r', + }), + engine3HydPres: new Offset({ + value: 0xA08, + name: 'engine3HydPres', + category: OffsetCategory.ENGINE, + description: 'engine3 hydraulic pressure - PSI', + convert: '{VAL} / 4', + type: Type.UInt32, + permission: 'r', + }), + engine3HydQuantity: new Offset({ + value: 0xA0C, + name: 'engine3HydQuantity', + category: OffsetCategory.ENGINE, + description: 'engine3 hydraulic quantity - percent', + convert: '{VAL} / 16384 * 100', + type: Type.UInt32, + permission: 'r', + }), + engine3CHT: new Offset({ + value: 0xA18, + name: 'engine3CHT', + category: OffsetCategory.ENGINE, + description: 'engine3 cylinder head temperature - F', + type: Type.Double, + permission: 'r', + }), + engine3ITT: new Offset({ + value: 0xA20, + name: 'engine3ITT', + category: OffsetCategory.ENGINE, + description: 'engine3 turbine temperature - C', + convert: '{VAL} / 16384', + type: Type.UInt32, + permission: 'r', + }), + engine3Torque: new Offset({ + value: 0xA24, + name: 'engine3Torque', + category: OffsetCategory.ENGINE, + description: 'engine3 torque - trust only for helo - percent', + convert: '{VAL} / 16384 * 100', + type: Type.UInt32, + permission: 'r', + }), + engine3FuelPres: new Offset({ + value: 0xA28, + name: 'engine3FuelPres', + category: OffsetCategory.ENGINE, + description: 'engine3 fuel pressure - PSI', + convert: '{VAL} / 144', + type: Type.UInt32, + permission: 'r', + }), + engine3FuelUsedSinceStart: new Offset({ + value: 0xA3C, + name: 'engine3FuelUsedSinceStart', + category: OffsetCategory.ENGINE, + description: 'engine3 used fuel since start - lb', + type: Type.Single, + permission: 'r', + }), + engine3FuelElapsedTime: new Offset({ + value: 0xA40, + name: 'engine3FuelElapsedTime', + category: OffsetCategory.ENGINE, + description: 'engine3 fuel elapsed time - h', + type: Type.Single, + permission: 'r', + }), + engine3FuelFlowLbHour: new Offset({ + value: 0xA48, + name: 'engine3FuelFlowLbHour', + category: OffsetCategory.ENGINE, + description: 'engine3 fuel elapsed time - lb/h', + type: Type.Double, + permission: 'r', + }), + engine3TorqueFtLb: new Offset({ + value: 0xA50, + name: 'engine3TorqueFtLb', + category: OffsetCategory.ENGINE, + description: 'engine3 fuel elapsed time - ft lb', + type: Type.Single, + permission: 'r', + }), +}; diff --git a/src/lib/offsets/plane/engines/engine4.ts b/src/lib/offsets/plane/engines/engine4.ts new file mode 100644 index 0000000..338eaba --- /dev/null +++ b/src/lib/offsets/plane/engines/engine4.ts @@ -0,0 +1,261 @@ +import { Type } from 'fsuipc'; + +import { OffsetList } from '@shared/offset-list'; +import { Offset } from '@shared/offset'; +import { OffsetCategory } from '@shared/offset-category'; + +export const engine4: OffsetList = { + engine4ThrottleLever: new Offset({ + value: 0xA54, + name: 'engine4ThrottleLever', + category: OffsetCategory.ENGINE, + description: 'engine 4 throttle lever - percent - negative = reverse', + convert: 'Math.round({VAL} < 0 ? {VAL} / 4096 * 100 : {VAL} / 16384 * 100)', + type: Type.Int16, + permission: 'r', + }), + engine4PropLever: new Offset({ + value: 0xA56, + name: 'engine4PropLever', + category: OffsetCategory.ENGINE, + description: 'engine 4 prop lever - percent - negative = reverse', + convert: 'Math.round({VAL} < 0 ? {VAL} / 4096 * 100 : {VAL} / 16384 * 100)', + type: Type.Int16, + permission: 'rw', + }), + engine4MixtureLever: new Offset({ + value: 0xA58, + name: 'engine4MixtureLever', + category: OffsetCategory.ENGINE, + description: 'engine 4 prop lever - percent', + convert: '{VAL} / 16384 * 100', + type: Type.UInt16, + permission: 'rw', + }), + engine4StarterSwitchPosition: new Offset({ + value: 0xA5A, + name: 'engine4StarterSwitchPosition', + category: OffsetCategory.ENGINE, + description: 'engine4 start switch position - JET: 0=off 1=start 2=gen/alt - PROP: 0=off 1=right 2=left 3=both 4=start', + type: Type.UInt16, + permission: 'rw', + }), + engine4Firing: new Offset({ + value: 0xA5C, + name: 'engine4Firing', + category: OffsetCategory.ENGINE, + description: 'engine 4 combustion', + convert: '!!{VAL}', + type: Type.UInt16, + permission: 'r', + }), + engine4N2: new Offset({ + value: 0xA5E, + name: 'engine4N2', + category: OffsetCategory.ENGINE, + description: 'engine 4 N2 - also helo RPM %', + convert: '{VAL} / 16384 * 100', + type: Type.UInt16, + permission: 'rw', + }), + engine4N1: new Offset({ + value: 0xA60, + name: 'engine4N1', + category: OffsetCategory.ENGINE, + description: 'engine 4 N1 - also helo RPM %', + convert: '{VAL} / 16384 * 100', + type: Type.Int16, + permission: 'rw', + }), + engine4PropRPM: new Offset({ + value: 0xA60, + name: 'engine4PropRPM', + category: OffsetCategory.ENGINE, + description: 'derive RPM by multiplying by - negative = counter-rotating propeller', + convert: '{VAL} / 16384 / 65536', + type: Type.Int16, + permission: 'rw', + }), + engine4ThrottleLeverControl: new Offset({ + value: 0xA62, + name: 'engine4ThrottleLeverControl', + category: OffsetCategory.ENGINE, + description: 'engine4 throttle lever control - -4096 to +16384', + type: Type.Int16, + permission: 'rw', + }), + engine4FuelFlowLbHourSSL: new Offset({ + value: 0xA68, + name: 'engine4FuelFlowLbHourSSL', + category: OffsetCategory.ENGINE, + description: 'engine4 fuel flow (lb per hour, sea level)', + convert: '{VAL} / 128', + type: Type.UInt16, + permission: 'r', + }), + engine4AntiIce: new Offset({ + value: 0xA7A, + name: 'engine4AntiIce', + category: OffsetCategory.ENGINE, + description: 'engine4 anti-ice/carb heat active', + convert: '!!{VAL}', + type: Type.UInt16, + permission: 'r', + }), + engine4OilTemp: new Offset({ + value: 0xA80, + name: 'engine4OilTemp', + category: OffsetCategory.ENGINE, + description: 'engine4 oil temp - celsius', + convert: 'Math.round({VAL} * 140 / 16384)', + type: Type.UInt16, + permission: 'r', + }), + engine4OilPres: new Offset({ + value: 0xA82, + name: 'engine4OilPres', + category: OffsetCategory.ENGINE, + description: 'engine4 oil pressure - PSI', + convert: 'Math.round({VAL} * 55 / 16384)', + type: Type.UInt16, + permission: 'r', + }), + engine4PressureRatio: new Offset({ + value: 0xA84, + name: 'engine4PressureRatio', + category: OffsetCategory.ENGINE, + description: 'engine4 pressure ratio', + convert: '{VAL} * 1.6 / 16384', + type: Type.UInt16, + permission: 'r', + }), + engine4EGT: new Offset({ + value: 0xA86, + name: 'engine4EGT', + category: OffsetCategory.ENGINE, + description: 'engine4 exhaust gas temperature - Trust only on jet engine - celsius', + convert: 'Math.round({VAL} * 860 / 16384)', + type: Type.UInt16, + permission: 'r', + }), + engine4MP: new Offset({ + value: 0xA88, + name: 'engine4MP', + category: OffsetCategory.ENGINE, + description: 'engine4 manifold pressure - inHg', + convert: '{VAL} / 1024', + type: Type.UInt16, + permission: 'r', + }), + engine4RPMScaler: new Offset({ + value: 0xA90, + name: 'engine4RPMScaler', + category: OffsetCategory.ENGINE, + description: 'engine4 RPM Scaler - props: used to calculate RPM', + type: Type.UInt16, + permission: 'r', + }), + engine4OilQuantity: new Offset({ + value: 0xA98, + name: 'engine4OilQuantity', + category: OffsetCategory.ENGINE, + description: 'engine4 oil quantity - percent', + convert: 'Math.round({VAL} / 16384 * 100)', + type: Type.UInt32, + permission: 'r', + }), + engine4Vibration: new Offset({ + value: 0xA9C, + name: 'engine4Vibration', + category: OffsetCategory.ENGINE, + description: 'engine4 vibration', + convert: 'Math.round({VAL} * 5 / 16384)', + type: Type.UInt32, + permission: 'r', + }), + engine4HydPres: new Offset({ + value: 0xAA0, + name: 'engine4HydPres', + category: OffsetCategory.ENGINE, + description: 'engine4 hydraulic pressure - PSI', + convert: '{VAL} / 4', + type: Type.UInt32, + permission: 'r', + }), + engine4HydQuantity: new Offset({ + value: 0xAA4, + name: 'engine4HydQuantity', + category: OffsetCategory.ENGINE, + description: 'engine4 hydraulic quantity - percent', + convert: '{VAL} / 16384 * 100', + type: Type.UInt32, + permission: 'r', + }), + engine4CHT: new Offset({ + value: 0xAB0, + name: 'engine4CHT', + category: OffsetCategory.ENGINE, + description: 'engine4 cylinder head temperature - F', + type: Type.Double, + permission: 'r', + }), + engine4ITT: new Offset({ + value: 0xAB8, + name: 'engine4ITT', + category: OffsetCategory.ENGINE, + description: 'engine4 turbine temperature - C', + convert: '{VAL} / 16384', + type: Type.UInt32, + permission: 'r', + }), + engine4Torque: new Offset({ + value: 0xABC, + name: 'engine4Torque', + category: OffsetCategory.ENGINE, + description: 'engine4 torque - trust only for helo - percent', + convert: '{VAL} / 16384 * 100', + type: Type.UInt32, + permission: 'r', + }), + engine4FuelPres: new Offset({ + value: 0xAC0, + name: 'engine4FuelPres', + category: OffsetCategory.ENGINE, + description: 'engine4 fuel pressure - PSI', + convert: '{VAL} / 144', + type: Type.UInt32, + permission: 'r', + }), + engine4FuelUsedSinceStart: new Offset({ + value: 0xAD4, + name: 'engine4FuelUsedSinceStart', + category: OffsetCategory.ENGINE, + description: 'engine4 used fuel since start - lb', + type: Type.Single, + permission: 'r', + }), + engine4FuelElapsedTime: new Offset({ + value: 0xAD8, + name: 'engine4FuelElapsedTime', + category: OffsetCategory.ENGINE, + description: 'engine4 fuel elapsed time - h', + type: Type.Single, + permission: 'r', + }), + engine4FuelFlowLbHour: new Offset({ + value: 0xAE0, + name: 'engine4FuelFlowLbHour', + category: OffsetCategory.ENGINE, + description: 'engine4 fuel elapsed time - lb/h', + type: Type.Double, + permission: 'r', + }), + engine4TorqueFtLb: new Offset({ + value: 0xAE8, + name: 'engine4TorqueFtLb', + category: OffsetCategory.ENGINE, + description: 'engine4 fuel elapsed time - ft lb', + type: Type.Single, + permission: 'r', + }), +}; diff --git a/tests/offsets/plane/engines.spec.ts b/tests/offsets/plane/engines.spec.ts index 361cf09..195bf99 100644 --- a/tests/offsets/plane/engines.spec.ts +++ b/tests/offsets/plane/engines.spec.ts @@ -6,126 +6,6 @@ describe('offset - plane/engines', () => { { name: 'hasMixtureControl', value: 1, expectedResult: true }, { name: 'hasCarbHeat', value: 0, expectedResult: false }, { name: 'hasCarbHeat', value: 1, expectedResult: true }, - - // Engine 1 - { name: 'engine1ThrottleLever', value: -2048, expectedResult: -50 }, - { name: 'engine1ThrottleLever', value: 0, expectedResult: 0 }, - { name: 'engine1ThrottleLever', value: 8192, expectedResult: 50 }, - { name: 'engine1PropLever', value: -2048, expectedResult: -50 }, - { name: 'engine1PropLever', value: 0, expectedResult: 0 }, - { name: 'engine1PropLever', value: 8192, expectedResult: 50 }, - { name: 'engine1MixtureLever', value: 8192, expectedResult: 50 }, - { name: 'engine1Firing', value: 0, expectedResult: false }, - { name: 'engine1Firing', value: 1, expectedResult: true }, - { name: 'engine1N2', value: 8192, expectedResult: 50 }, - { name: 'engine1N1', value: 8192, expectedResult: 50 }, - { name: 'engine1PropRPM', value: 107374182400, expectedResult: 100 }, - { name: 'engine1FuelFlowLbHourSSL', value: 256, expectedResult: 2 }, - { name: 'engine1AntiIce', value: 0, expectedResult: false }, - { name: 'engine1AntiIce', value: 1, expectedResult: true }, - { name: 'engine1OilTemp', value: 10532, expectedResult: 90 }, - { name: 'engine1OilPres', value: 22342, expectedResult: 75 }, - { name: 'engine1PressureRatio', value: 20480, expectedResult: 2 }, - { name: 'engine1EGT', value: 14281, expectedResult: 750 }, - { name: 'engine1MP', value: 20480, expectedResult: 20 }, - { name: 'engine1OilQuantity', value: 8167, expectedResult: 50 }, - { name: 'engine1Vibration', value: 6553, expectedResult: 2 }, - { name: 'engine1HydPres', value: 64, expectedResult: 16 }, - { name: 'engine1HydQuantity', value: 8192, expectedResult: 50 }, - { name: 'engine1ITT', value: 3276800, expectedResult: 200 }, - { name: 'engine1Torque', value: 8192, expectedResult: 50 }, - { name: 'engine1FuelPres', value: 288, expectedResult: 2 }, - { name: 'engine1ElectricalLoad', value: 8192, expectedResult: 50 }, - { name: 'engine1TransmOilPres', value: 3276800, expectedResult: 200 }, - { name: 'engine1TransmOilTemp', value: 3276800, expectedResult: 200 }, - { name: 'engine1RotorRPM', value: 8192, expectedResult: 50 }, - - // Engine 2 - { name: 'engine2ThrottleLever', value: -2048, expectedResult: -50 }, - { name: 'engine2ThrottleLever', value: 0, expectedResult: 0 }, - { name: 'engine2ThrottleLever', value: 8192, expectedResult: 50 }, - { name: 'engine2PropLever', value: -2048, expectedResult: -50 }, - { name: 'engine2PropLever', value: 0, expectedResult: 0 }, - { name: 'engine2PropLever', value: 8192, expectedResult: 50 }, - { name: 'engine2MixtureLever', value: 8192, expectedResult: 50 }, - { name: 'engine2Firing', value: 0, expectedResult: false }, - { name: 'engine2Firing', value: 1, expectedResult: true }, - { name: 'engine2N2', value: 8192, expectedResult: 50 }, - { name: 'engine2N1', value: 8192, expectedResult: 50 }, - { name: 'engine2PropRPM', value: 107374182400, expectedResult: 100 }, - { name: 'engine2FuelFlowLbHourSSL', value: 256, expectedResult: 2 }, - { name: 'engine2AntiIce', value: 0, expectedResult: false }, - { name: 'engine2AntiIce', value: 1, expectedResult: true }, - { name: 'engine2OilTemp', value: 10532, expectedResult: 90 }, - { name: 'engine2OilPres', value: 22342, expectedResult: 75 }, - { name: 'engine2PressureRatio', value: 20480, expectedResult: 2 }, - { name: 'engine2EGT', value: 14281, expectedResult: 750 }, - { name: 'engine2MP', value: 20480, expectedResult: 20 }, - { name: 'engine2OilQuantity', value: 8167, expectedResult: 50 }, - { name: 'engine2Vibration', value: 6553, expectedResult: 2 }, - { name: 'engine2HydPres', value: 64, expectedResult: 16 }, - { name: 'engine2HydQuantity', value: 8192, expectedResult: 50 }, - { name: 'engine2ITT', value: 3276800, expectedResult: 200 }, - { name: 'engine2Torque', value: 8192, expectedResult: 50 }, - { name: 'engine2FuelPres', value: 288, expectedResult: 2 }, - - // Engine 3 - { name: 'engine3ThrottleLever', value: -2048, expectedResult: -50 }, - { name: 'engine3ThrottleLever', value: 0, expectedResult: 0 }, - { name: 'engine3ThrottleLever', value: 8192, expectedResult: 50 }, - { name: 'engine3PropLever', value: -2048, expectedResult: -50 }, - { name: 'engine3PropLever', value: 0, expectedResult: 0 }, - { name: 'engine3PropLever', value: 8192, expectedResult: 50 }, - { name: 'engine3MixtureLever', value: 8192, expectedResult: 50 }, - { name: 'engine3Firing', value: 0, expectedResult: false }, - { name: 'engine3Firing', value: 1, expectedResult: true }, - { name: 'engine3N2', value: 8192, expectedResult: 50 }, - { name: 'engine3N1', value: 8192, expectedResult: 50 }, - { name: 'engine3PropRPM', value: 107374182400, expectedResult: 100 }, - { name: 'engine3FuelFlowLbHourSSL', value: 256, expectedResult: 2 }, - { name: 'engine3AntiIce', value: 0, expectedResult: false }, - { name: 'engine3AntiIce', value: 1, expectedResult: true }, - { name: 'engine3OilTemp', value: 10532, expectedResult: 90 }, - { name: 'engine3OilPres', value: 22342, expectedResult: 75 }, - { name: 'engine3PressureRatio', value: 20480, expectedResult: 2 }, - { name: 'engine3EGT', value: 14281, expectedResult: 750 }, - { name: 'engine3MP', value: 20480, expectedResult: 20 }, - { name: 'engine3OilQuantity', value: 8167, expectedResult: 50 }, - { name: 'engine3Vibration', value: 6553, expectedResult: 2 }, - { name: 'engine3HydPres', value: 64, expectedResult: 16 }, - { name: 'engine3HydQuantity', value: 8192, expectedResult: 50 }, - { name: 'engine3ITT', value: 3276800, expectedResult: 200 }, - { name: 'engine3Torque', value: 8192, expectedResult: 50 }, - { name: 'engine3FuelPres', value: 288, expectedResult: 2 }, - - // Engine 4 - { name: 'engine4ThrottleLever', value: -2048, expectedResult: -50 }, - { name: 'engine4ThrottleLever', value: 0, expectedResult: 0 }, - { name: 'engine4ThrottleLever', value: 8192, expectedResult: 50 }, - { name: 'engine4PropLever', value: -2048, expectedResult: -50 }, - { name: 'engine4PropLever', value: 0, expectedResult: 0 }, - { name: 'engine4PropLever', value: 8192, expectedResult: 50 }, - { name: 'engine4MixtureLever', value: 8192, expectedResult: 50 }, - { name: 'engine4Firing', value: 0, expectedResult: false }, - { name: 'engine4Firing', value: 1, expectedResult: true }, - { name: 'engine4N2', value: 8192, expectedResult: 50 }, - { name: 'engine4N1', value: 8192, expectedResult: 50 }, - { name: 'engine4PropRPM', value: 107374182400, expectedResult: 100 }, - { name: 'engine4FuelFlowLbHourSSL', value: 256, expectedResult: 2 }, - { name: 'engine4AntiIce', value: 0, expectedResult: false }, - { name: 'engine4AntiIce', value: 1, expectedResult: true }, - { name: 'engine4OilTemp', value: 10532, expectedResult: 90 }, - { name: 'engine4OilPres', value: 22342, expectedResult: 75 }, - { name: 'engine4PressureRatio', value: 20480, expectedResult: 2 }, - { name: 'engine4EGT', value: 14281, expectedResult: 750 }, - { name: 'engine4MP', value: 20480, expectedResult: 20 }, - { name: 'engine4OilQuantity', value: 8167, expectedResult: 50 }, - { name: 'engine4Vibration', value: 6553, expectedResult: 2 }, - { name: 'engine4HydPres', value: 64, expectedResult: 16 }, - { name: 'engine4HydQuantity', value: 8192, expectedResult: 50 }, - { name: 'engine4ITT', value: 3276800, expectedResult: 200 }, - { name: 'engine4Torque', value: 8192, expectedResult: 50 }, - { name: 'engine4FuelPres', value: 288, expectedResult: 2 }, ]; describe('offsets list', () => { diff --git a/tests/offsets/plane/engines/__snapshots__/engine1.spec.ts.snap b/tests/offsets/plane/engines/__snapshots__/engine1.spec.ts.snap new file mode 100644 index 0000000..ac8b5e2 --- /dev/null +++ b/tests/offsets/plane/engines/__snapshots__/engine1.spec.ts.snap @@ -0,0 +1,369 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`offset - plane/engines/engine1 offsets list should have required properties 1`] = ` +Object { + "engine1AntiIce": Offset { + "category": "engine", + "convert": "!!{VAL}", + "description": "engine1 anti-ice/carb heat active", + "length": undefined, + "mapping": undefined, + "name": "engine1AntiIce", + "permission": "r", + "type": 5, + "value": 2226, + }, + "engine1CHT": Offset { + "category": "engine", + "convert": undefined, + "description": "engine1 cylinder head temperature - F", + "length": undefined, + "mapping": undefined, + "name": "engine1CHT", + "permission": "r", + "type": 8, + "value": 2280, + }, + "engine1EGT": Offset { + "category": "engine", + "convert": "Math.round({VAL} * 860 / 16384)", + "description": "engine1 exhaust gas temperature - Trust only on jet engine - celsius", + "length": undefined, + "mapping": undefined, + "name": "engine1EGT", + "permission": "r", + "type": 5, + "value": 2238, + }, + "engine1ElectricalLoad": Offset { + "category": "engine", + "convert": "{VAL} / 16384 * 100", + "description": "engine1 electrical load - trust only for helo - percent", + "length": undefined, + "mapping": undefined, + "name": "engine1ElectricalLoad", + "permission": "r", + "type": 6, + "value": 2300, + }, + "engine1Firing": Offset { + "category": "engine", + "convert": "!!{VAL}", + "description": "engine 1 combustion", + "length": undefined, + "mapping": undefined, + "name": "engine1Firing", + "permission": "r", + "type": 5, + "value": 2196, + }, + "engine1FuelElapsedTime": Offset { + "category": "engine", + "convert": undefined, + "description": "engine1 fuel elapsed time - h", + "length": undefined, + "mapping": undefined, + "name": "engine1FuelElapsedTime", + "permission": "r", + "type": 9, + "value": 2320, + }, + "engine1FuelFlowLbHour": Offset { + "category": "engine", + "convert": undefined, + "description": "engine1 fuel elapsed time - lb/h", + "length": undefined, + "mapping": undefined, + "name": "engine1FuelFlowLbHour", + "permission": "r", + "type": 8, + "value": 2328, + }, + "engine1FuelFlowLbHourSSL": Offset { + "category": "engine", + "convert": "{VAL} / 128", + "description": "engine1 fuel flow (lb per hour, sea level)", + "length": undefined, + "mapping": undefined, + "name": "engine1FuelFlowLbHourSSL", + "permission": "r", + "type": 5, + "value": 2208, + }, + "engine1FuelPres": Offset { + "category": "engine", + "convert": "{VAL} / 144", + "description": "engine1 fuel pressure - PSI", + "length": undefined, + "mapping": undefined, + "name": "engine1FuelPres", + "permission": "r", + "type": 6, + "value": 2296, + }, + "engine1FuelUsedSinceStart": Offset { + "category": "engine", + "convert": undefined, + "description": "engine1 used fuel since start - lb", + "length": undefined, + "mapping": undefined, + "name": "engine1FuelUsedSinceStart", + "permission": "r", + "type": 9, + "value": 2316, + }, + "engine1HydPres": Offset { + "category": "engine", + "convert": "{VAL} / 4", + "description": "engine1 hydraulic pressure - PSI", + "length": undefined, + "mapping": undefined, + "name": "engine1HydPres", + "permission": "r", + "type": 6, + "value": 2264, + }, + "engine1HydQuantity": Offset { + "category": "engine", + "convert": "{VAL} / 16384 * 100", + "description": "engine1 hydraulic quantity - PSI", + "length": undefined, + "mapping": undefined, + "name": "engine1HydQuantity", + "permission": "r", + "type": 6, + "value": 2268, + }, + "engine1ITT": Offset { + "category": "engine", + "convert": "{VAL} / 16384", + "description": "engine1 turbine temperature - C", + "length": undefined, + "mapping": undefined, + "name": "engine1ITT", + "permission": "r", + "type": 6, + "value": 2288, + }, + "engine1MP": Offset { + "category": "engine", + "convert": "{VAL} / 1024", + "description": "engine1 manifold pressure - inHg", + "length": undefined, + "mapping": undefined, + "name": "engine1MP", + "permission": "r", + "type": 5, + "value": 2240, + }, + "engine1MixtureLever": Offset { + "category": "engine", + "convert": "{VAL} / 16384 * 100", + "description": "engine 1 prop lever - percent", + "length": undefined, + "mapping": undefined, + "name": "engine1MixtureLever", + "permission": "rw", + "type": 5, + "value": 2192, + }, + "engine1N1": Offset { + "category": "engine", + "convert": "{VAL} / 16384 * 100", + "description": "engine 1 N1 - also helo RPM %", + "length": undefined, + "mapping": undefined, + "name": "engine1N1", + "permission": "rw", + "type": 2, + "value": 2200, + }, + "engine1N2": Offset { + "category": "engine", + "convert": "{VAL} / 16384 * 100", + "description": "engine 1 N2 - also helo RPM %", + "length": undefined, + "mapping": undefined, + "name": "engine1N2", + "permission": "rw", + "type": 5, + "value": 2198, + }, + "engine1OilPres": Offset { + "category": "engine", + "convert": "Math.round({VAL} * 55 / 16384)", + "description": "engine1 oil pressure - PSI", + "length": undefined, + "mapping": undefined, + "name": "engine1OilPres", + "permission": "r", + "type": 5, + "value": 2234, + }, + "engine1OilQuantity": Offset { + "category": "engine", + "convert": "Math.round({VAL} / 16384 * 100)", + "description": "engine1 oil quantity - percent", + "length": undefined, + "mapping": undefined, + "name": "engine1OilQuantity", + "permission": "r", + "type": 6, + "value": 2256, + }, + "engine1OilTemp": Offset { + "category": "engine", + "convert": "Math.round({VAL} * 140 / 16384)", + "description": "engine1 oil temp - celsius", + "length": undefined, + "mapping": undefined, + "name": "engine1OilTemp", + "permission": "r", + "type": 5, + "value": 2232, + }, + "engine1PressureRatio": Offset { + "category": "engine", + "convert": "{VAL} * 1.6 / 16384", + "description": "engine1 pressure ratio", + "length": undefined, + "mapping": undefined, + "name": "engine1PressureRatio", + "permission": "r", + "type": 5, + "value": 2236, + }, + "engine1PropLever": Offset { + "category": "engine", + "convert": "Math.round({VAL} < 0 ? {VAL} / 4096 * 100 : {VAL} / 16384 * 100)", + "description": "engine 1 prop lever - percent - negative = reverse", + "length": undefined, + "mapping": undefined, + "name": "engine1PropLever", + "permission": "rw", + "type": 2, + "value": 2190, + }, + "engine1PropRPM": Offset { + "category": "engine", + "convert": "{VAL} / 16384 / 65536", + "description": "derive RPM by multiplying by - negative = counter-rotating propeller", + "length": undefined, + "mapping": undefined, + "name": "engine1PropRPM", + "permission": "rw", + "type": 2, + "value": 2200, + }, + "engine1RPMScaler": Offset { + "category": "engine", + "convert": undefined, + "description": "engine1 RPM Scaler - props: used to calculate RPM", + "length": undefined, + "mapping": undefined, + "name": "engine1RPMScaler", + "permission": "r", + "type": 5, + "value": 2248, + }, + "engine1RotorRPM": Offset { + "category": "engine", + "convert": "{VAL} / 16384 * 100", + "description": "engine1 rotor RPM - trust only for helo - percent", + "length": undefined, + "mapping": undefined, + "name": "engine1RotorRPM", + "permission": "r", + "type": 6, + "value": 2312, + }, + "engine1StarterSwitchPosition": Offset { + "category": "engine", + "convert": undefined, + "description": "engine1 start switch position - JET: 0=off 1=start 2=gen/alt - PROP: 0=off 1=right 2=left 3=both 4=start", + "length": undefined, + "mapping": undefined, + "name": "engine1StarterSwitchPosition", + "permission": "rw", + "type": 5, + "value": 2194, + }, + "engine1ThrottleLever": Offset { + "category": "engine", + "convert": "Math.round({VAL} < 0 ? {VAL} / 4096 * 100 : {VAL} / 16384 * 100)", + "description": "engine 1 throttle lever - percent - negative = reverse", + "length": undefined, + "mapping": undefined, + "name": "engine1ThrottleLever", + "permission": "r", + "type": 2, + "value": 2188, + }, + "engine1ThrottleLeverControl": Offset { + "category": "engine", + "convert": undefined, + "description": "engine1 throttle lever control - -4096 to +16384", + "length": undefined, + "mapping": undefined, + "name": "engine1ThrottleLeverControl", + "permission": "rw", + "type": 2, + "value": 2202, + }, + "engine1Torque": Offset { + "category": "engine", + "convert": "{VAL} / 16384 * 100", + "description": "engine1 torque - trust only for helo - percent", + "length": undefined, + "mapping": undefined, + "name": "engine1Torque", + "permission": "r", + "type": 6, + "value": 2292, + }, + "engine1TorqueFtLb": Offset { + "category": "engine", + "convert": undefined, + "description": "engine1 fuel elapsed time - ft lb", + "length": undefined, + "mapping": undefined, + "name": "engine1TorqueFtLb", + "permission": "r", + "type": 9, + "value": 2336, + }, + "engine1TransmOilPres": Offset { + "category": "engine", + "convert": "{VAL} / 16384", + "description": "engine1 transmission oil pressure - trust only for helo - PSI", + "length": undefined, + "mapping": undefined, + "name": "engine1TransmOilPres", + "permission": "r", + "type": 6, + "value": 2304, + }, + "engine1TransmOilTemp": Offset { + "category": "engine", + "convert": "{VAL} / 16384", + "description": "engine1 transmission oil temperature - trust only for helo - C", + "length": undefined, + "mapping": undefined, + "name": "engine1TransmOilTemp", + "permission": "r", + "type": 6, + "value": 2308, + }, + "engine1Vibration": Offset { + "category": "engine", + "convert": "Math.round({VAL} * 5 / 16384)", + "description": "engine1 vibration", + "length": undefined, + "mapping": undefined, + "name": "engine1Vibration", + "permission": "r", + "type": 6, + "value": 2260, + }, +} +`; diff --git a/tests/offsets/plane/engines/__snapshots__/engine2.spec.ts.snap b/tests/offsets/plane/engines/__snapshots__/engine2.spec.ts.snap new file mode 100644 index 0000000..6ea1a81 --- /dev/null +++ b/tests/offsets/plane/engines/__snapshots__/engine2.spec.ts.snap @@ -0,0 +1,325 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`offset - plane/engines/engine2 offsets list should have required properties 1`] = ` +Object { + "engine2AntiIce": Offset { + "category": "engine", + "convert": "!!{VAL}", + "description": "engine2 anti-ice/carb heat active", + "length": undefined, + "mapping": undefined, + "name": "engine2AntiIce", + "permission": "r", + "type": 5, + "value": 2378, + }, + "engine2CHT": Offset { + "category": "engine", + "convert": undefined, + "description": "engine2 cylinder head temperature - F", + "length": undefined, + "mapping": undefined, + "name": "engine2CHT", + "permission": "r", + "type": 8, + "value": 2432, + }, + "engine2EGT": Offset { + "category": "engine", + "convert": "Math.round({VAL} * 860 / 16384)", + "description": "engine2 exhaust gas temperature - Trust only on jet engine - celsius", + "length": undefined, + "mapping": undefined, + "name": "engine2EGT", + "permission": "r", + "type": 5, + "value": 2390, + }, + "engine2Firing": Offset { + "category": "engine", + "convert": "!!{VAL}", + "description": "engine 2 combustion", + "length": undefined, + "mapping": undefined, + "name": "engine2Firing", + "permission": "r", + "type": 5, + "value": 2348, + }, + "engine2FuelElapsedTime": Offset { + "category": "engine", + "convert": undefined, + "description": "engine2 fuel elapsed time - h", + "length": undefined, + "mapping": undefined, + "name": "engine2FuelElapsedTime", + "permission": "r", + "type": 9, + "value": 2472, + }, + "engine2FuelFlowLbHour": Offset { + "category": "engine", + "convert": undefined, + "description": "engine2 fuel elapsed time - lb/h", + "length": undefined, + "mapping": undefined, + "name": "engine2FuelFlowLbHour", + "permission": "r", + "type": 8, + "value": 2480, + }, + "engine2FuelFlowLbHourSSL": Offset { + "category": "engine", + "convert": "{VAL} / 128", + "description": "engine2 fuel flow (lb per hour, sea level)", + "length": undefined, + "mapping": undefined, + "name": "engine2FuelFlowLbHourSSL", + "permission": "r", + "type": 5, + "value": 2360, + }, + "engine2FuelPres": Offset { + "category": "engine", + "convert": "{VAL} / 144", + "description": "engine2 fuel pressure - PSI", + "length": undefined, + "mapping": undefined, + "name": "engine2FuelPres", + "permission": "r", + "type": 6, + "value": 2448, + }, + "engine2FuelUsedSinceStart": Offset { + "category": "engine", + "convert": undefined, + "description": "engine2 used fuel since start - lb", + "length": undefined, + "mapping": undefined, + "name": "engine2FuelUsedSinceStart", + "permission": "r", + "type": 9, + "value": 2468, + }, + "engine2HydPres": Offset { + "category": "engine", + "convert": "{VAL} / 4", + "description": "engine2 hydraulic pressure - PSI", + "length": undefined, + "mapping": undefined, + "name": "engine2HydPres", + "permission": "r", + "type": 6, + "value": 2416, + }, + "engine2HydQuantity": Offset { + "category": "engine", + "convert": "{VAL} / 16384 * 100", + "description": "engine2 hydraulic quantity - percent", + "length": undefined, + "mapping": undefined, + "name": "engine2HydQuantity", + "permission": "r", + "type": 6, + "value": 2420, + }, + "engine2ITT": Offset { + "category": "engine", + "convert": "{VAL} / 16384", + "description": "engine2 turbine temperature - C", + "length": undefined, + "mapping": undefined, + "name": "engine2ITT", + "permission": "r", + "type": 6, + "value": 2440, + }, + "engine2MP": Offset { + "category": "engine", + "convert": "{VAL} / 1024", + "description": "engine2 manifold pressure - inHg", + "length": undefined, + "mapping": undefined, + "name": "engine2MP", + "permission": "r", + "type": 5, + "value": 2392, + }, + "engine2MixtureLever": Offset { + "category": "engine", + "convert": "{VAL} / 16384 * 100", + "description": "engine 2 prop lever - percent", + "length": undefined, + "mapping": undefined, + "name": "engine2MixtureLever", + "permission": "rw", + "type": 5, + "value": 2344, + }, + "engine2N1": Offset { + "category": "engine", + "convert": "{VAL} / 16384 * 100", + "description": "engine 2 N1 - also helo RPM %", + "length": undefined, + "mapping": undefined, + "name": "engine2N1", + "permission": "rw", + "type": 2, + "value": 2352, + }, + "engine2N2": Offset { + "category": "engine", + "convert": "{VAL} / 16384 * 100", + "description": "engine 2 N2 - also helo RPM %", + "length": undefined, + "mapping": undefined, + "name": "engine2N2", + "permission": "rw", + "type": 5, + "value": 2350, + }, + "engine2OilPres": Offset { + "category": "engine", + "convert": "Math.round({VAL} * 55 / 16384)", + "description": "engine2 oil pressure - PSI", + "length": undefined, + "mapping": undefined, + "name": "engine2OilPres", + "permission": "r", + "type": 5, + "value": 2386, + }, + "engine2OilQuantity": Offset { + "category": "engine", + "convert": "Math.round({VAL} / 16384 * 100)", + "description": "engine2 oil quantity - percent", + "length": undefined, + "mapping": undefined, + "name": "engine2OilQuantity", + "permission": "r", + "type": 6, + "value": 2408, + }, + "engine2OilTemp": Offset { + "category": "engine", + "convert": "Math.round({VAL} * 140 / 16384)", + "description": "engine2 oil temp - celsius", + "length": undefined, + "mapping": undefined, + "name": "engine2OilTemp", + "permission": "r", + "type": 5, + "value": 2384, + }, + "engine2PressureRatio": Offset { + "category": "engine", + "convert": "{VAL} * 1.6 / 16384", + "description": "engine2 pressure ratio", + "length": undefined, + "mapping": undefined, + "name": "engine2PressureRatio", + "permission": "r", + "type": 5, + "value": 2388, + }, + "engine2PropLever": Offset { + "category": "engine", + "convert": "Math.round({VAL} < 0 ? {VAL} / 4096 * 100 : {VAL} / 16384 * 100)", + "description": "engine 2 prop lever - percent - negative = reverse", + "length": undefined, + "mapping": undefined, + "name": "engine2PropLever", + "permission": "rw", + "type": 2, + "value": 2342, + }, + "engine2PropRPM": Offset { + "category": "engine", + "convert": "{VAL} / 16384 / 65536", + "description": "derive RPM by multiplying by - negative = counter-rotating propeller", + "length": undefined, + "mapping": undefined, + "name": "engine2PropRPM", + "permission": "rw", + "type": 2, + "value": 2352, + }, + "engine2RPMScaler": Offset { + "category": "engine", + "convert": undefined, + "description": "engine2 RPM Scaler - props: used to calculate RPM", + "length": undefined, + "mapping": undefined, + "name": "engine2RPMScaler", + "permission": "r", + "type": 5, + "value": 2400, + }, + "engine2StarterSwitchPosition": Offset { + "category": "engine", + "convert": undefined, + "description": "engine2 start switch position - JET: 0=off 1=start 2=gen/alt - PROP: 0=off 1=right 2=left 3=both 4=start", + "length": undefined, + "mapping": undefined, + "name": "engine2StarterSwitchPosition", + "permission": "rw", + "type": 5, + "value": 2346, + }, + "engine2ThrottleLever": Offset { + "category": "engine", + "convert": "Math.round({VAL} < 0 ? {VAL} / 4096 * 100 : {VAL} / 16384 * 100)", + "description": "engine 2 throttle lever - percent - negative = reverse", + "length": undefined, + "mapping": undefined, + "name": "engine2ThrottleLever", + "permission": "r", + "type": 2, + "value": 2340, + }, + "engine2ThrottleLeverControl": Offset { + "category": "engine", + "convert": undefined, + "description": "engine2 throttle lever control - -4096 to +16384", + "length": undefined, + "mapping": undefined, + "name": "engine2ThrottleLeverControl", + "permission": "rw", + "type": 2, + "value": 2354, + }, + "engine2Torque": Offset { + "category": "engine", + "convert": "{VAL} / 16384 * 100", + "description": "engine2 torque - trust only for helo - percent", + "length": undefined, + "mapping": undefined, + "name": "engine2Torque", + "permission": "r", + "type": 6, + "value": 2444, + }, + "engine2TorqueFtLb": Offset { + "category": "engine", + "convert": undefined, + "description": "engine2 fuel elapsed time - ft lb", + "length": undefined, + "mapping": undefined, + "name": "engine2TorqueFtLb", + "permission": "r", + "type": 9, + "value": 2488, + }, + "engine2Vibration": Offset { + "category": "engine", + "convert": "Math.round({VAL} * 5 / 16384)", + "description": "engine2 vibration", + "length": undefined, + "mapping": undefined, + "name": "engine2Vibration", + "permission": "r", + "type": 6, + "value": 2412, + }, +} +`; diff --git a/tests/offsets/plane/engines/__snapshots__/engine3.spec.ts.snap b/tests/offsets/plane/engines/__snapshots__/engine3.spec.ts.snap new file mode 100644 index 0000000..9795fbe --- /dev/null +++ b/tests/offsets/plane/engines/__snapshots__/engine3.spec.ts.snap @@ -0,0 +1,325 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`offset - plane/engines/engine3 offsets list should have required properties 1`] = ` +Object { + "engine3AntiIce": Offset { + "category": "engine", + "convert": "!!{VAL}", + "description": "engine3 anti-ice/carb heat active", + "length": undefined, + "mapping": undefined, + "name": "engine3AntiIce", + "permission": "r", + "type": 5, + "value": 2530, + }, + "engine3CHT": Offset { + "category": "engine", + "convert": undefined, + "description": "engine3 cylinder head temperature - F", + "length": undefined, + "mapping": undefined, + "name": "engine3CHT", + "permission": "r", + "type": 8, + "value": 2584, + }, + "engine3EGT": Offset { + "category": "engine", + "convert": "Math.round({VAL} * 860 / 16384)", + "description": "engine3 exhaust gas temperature - Trust only on jet engine - celsius", + "length": undefined, + "mapping": undefined, + "name": "engine3EGT", + "permission": "r", + "type": 5, + "value": 2542, + }, + "engine3Firing": Offset { + "category": "engine", + "convert": "!!{VAL}", + "description": "engine 3 combustion", + "length": undefined, + "mapping": undefined, + "name": "engine3Firing", + "permission": "r", + "type": 5, + "value": 2500, + }, + "engine3FuelElapsedTime": Offset { + "category": "engine", + "convert": undefined, + "description": "engine3 fuel elapsed time - h", + "length": undefined, + "mapping": undefined, + "name": "engine3FuelElapsedTime", + "permission": "r", + "type": 9, + "value": 2624, + }, + "engine3FuelFlowLbHour": Offset { + "category": "engine", + "convert": undefined, + "description": "engine3 fuel elapsed time - lb/h", + "length": undefined, + "mapping": undefined, + "name": "engine3FuelFlowLbHour", + "permission": "r", + "type": 8, + "value": 2632, + }, + "engine3FuelFlowLbHourSSL": Offset { + "category": "engine", + "convert": "{VAL} / 128", + "description": "engine3 fuel flow (lb per hour, sea level)", + "length": undefined, + "mapping": undefined, + "name": "engine3FuelFlowLbHourSSL", + "permission": "r", + "type": 5, + "value": 2512, + }, + "engine3FuelPres": Offset { + "category": "engine", + "convert": "{VAL} / 144", + "description": "engine3 fuel pressure - PSI", + "length": undefined, + "mapping": undefined, + "name": "engine3FuelPres", + "permission": "r", + "type": 6, + "value": 2600, + }, + "engine3FuelUsedSinceStart": Offset { + "category": "engine", + "convert": undefined, + "description": "engine3 used fuel since start - lb", + "length": undefined, + "mapping": undefined, + "name": "engine3FuelUsedSinceStart", + "permission": "r", + "type": 9, + "value": 2620, + }, + "engine3HydPres": Offset { + "category": "engine", + "convert": "{VAL} / 4", + "description": "engine3 hydraulic pressure - PSI", + "length": undefined, + "mapping": undefined, + "name": "engine3HydPres", + "permission": "r", + "type": 6, + "value": 2568, + }, + "engine3HydQuantity": Offset { + "category": "engine", + "convert": "{VAL} / 16384 * 100", + "description": "engine3 hydraulic quantity - percent", + "length": undefined, + "mapping": undefined, + "name": "engine3HydQuantity", + "permission": "r", + "type": 6, + "value": 2572, + }, + "engine3ITT": Offset { + "category": "engine", + "convert": "{VAL} / 16384", + "description": "engine3 turbine temperature - C", + "length": undefined, + "mapping": undefined, + "name": "engine3ITT", + "permission": "r", + "type": 6, + "value": 2592, + }, + "engine3MP": Offset { + "category": "engine", + "convert": "{VAL} / 1024", + "description": "engine3 manifold pressure - inHg", + "length": undefined, + "mapping": undefined, + "name": "engine3MP", + "permission": "r", + "type": 5, + "value": 2544, + }, + "engine3MixtureLever": Offset { + "category": "engine", + "convert": "{VAL} / 16384 * 100", + "description": "engine 3 prop lever - percent", + "length": undefined, + "mapping": undefined, + "name": "engine3MixtureLever", + "permission": "rw", + "type": 5, + "value": 2496, + }, + "engine3N1": Offset { + "category": "engine", + "convert": "{VAL} / 16384 * 100", + "description": "engine 3 N1 - also helo RPM %", + "length": undefined, + "mapping": undefined, + "name": "engine3N1", + "permission": "rw", + "type": 2, + "value": 2504, + }, + "engine3N2": Offset { + "category": "engine", + "convert": "{VAL} / 16384 * 100", + "description": "engine 3 N2 - also helo RPM %", + "length": undefined, + "mapping": undefined, + "name": "engine3N2", + "permission": "rw", + "type": 5, + "value": 2502, + }, + "engine3OilPres": Offset { + "category": "engine", + "convert": "Math.round({VAL} * 55 / 16384)", + "description": "engine3 oil pressure - PSI", + "length": undefined, + "mapping": undefined, + "name": "engine3OilPres", + "permission": "r", + "type": 5, + "value": 2538, + }, + "engine3OilQuantity": Offset { + "category": "engine", + "convert": "Math.round({VAL} / 16384 * 100)", + "description": "engine3 oil quantity - percent", + "length": undefined, + "mapping": undefined, + "name": "engine3OilQuantity", + "permission": "r", + "type": 6, + "value": 2560, + }, + "engine3OilTemp": Offset { + "category": "engine", + "convert": "Math.round({VAL} * 140 / 16384)", + "description": "engine3 oil temp - celsius", + "length": undefined, + "mapping": undefined, + "name": "engine3OilTemp", + "permission": "r", + "type": 5, + "value": 2536, + }, + "engine3PressureRatio": Offset { + "category": "engine", + "convert": "{VAL} * 1.6 / 16384", + "description": "engine3 pressure ratio", + "length": undefined, + "mapping": undefined, + "name": "engine3PressureRatio", + "permission": "r", + "type": 5, + "value": 2540, + }, + "engine3PropLever": Offset { + "category": "engine", + "convert": "Math.round({VAL} < 0 ? {VAL} / 4096 * 100 : {VAL} / 16384 * 100)", + "description": "engine 3 prop lever - percent - negative = reverse", + "length": undefined, + "mapping": undefined, + "name": "engine3PropLever", + "permission": "rw", + "type": 2, + "value": 2494, + }, + "engine3PropRPM": Offset { + "category": "engine", + "convert": "{VAL} / 16384 / 65536", + "description": "derive RPM by multiplying by - negative = counter-rotating propeller", + "length": undefined, + "mapping": undefined, + "name": "engine3PropRPM", + "permission": "rw", + "type": 2, + "value": 2504, + }, + "engine3RPMScaler": Offset { + "category": "engine", + "convert": undefined, + "description": "engine3 RPM Scaler - props: used to calculate RPM", + "length": undefined, + "mapping": undefined, + "name": "engine3RPMScaler", + "permission": "r", + "type": 5, + "value": 2552, + }, + "engine3StarterSwitchPosition": Offset { + "category": "engine", + "convert": undefined, + "description": "engine3 start switch position - JET: 0=off 1=start 2=gen/alt - PROP: 0=off 1=right 2=left 3=both 4=start", + "length": undefined, + "mapping": undefined, + "name": "engine3StarterSwitchPosition", + "permission": "rw", + "type": 5, + "value": 2498, + }, + "engine3ThrottleLever": Offset { + "category": "engine", + "convert": "Math.round({VAL} < 0 ? {VAL} / 4096 * 100 : {VAL} / 16384 * 100)", + "description": "engine 3 throttle lever - percent - negative = reverse", + "length": undefined, + "mapping": undefined, + "name": "engine3ThrottleLever", + "permission": "r", + "type": 2, + "value": 2492, + }, + "engine3ThrottleLeverControl": Offset { + "category": "engine", + "convert": undefined, + "description": "engine3 throttle lever control - -4096 to +16384", + "length": undefined, + "mapping": undefined, + "name": "engine3ThrottleLeverControl", + "permission": "rw", + "type": 2, + "value": 2506, + }, + "engine3Torque": Offset { + "category": "engine", + "convert": "{VAL} / 16384 * 100", + "description": "engine3 torque - trust only for helo - percent", + "length": undefined, + "mapping": undefined, + "name": "engine3Torque", + "permission": "r", + "type": 6, + "value": 2596, + }, + "engine3TorqueFtLb": Offset { + "category": "engine", + "convert": undefined, + "description": "engine3 fuel elapsed time - ft lb", + "length": undefined, + "mapping": undefined, + "name": "engine3TorqueFtLb", + "permission": "r", + "type": 9, + "value": 2640, + }, + "engine3Vibration": Offset { + "category": "engine", + "convert": "Math.round({VAL} * 5 / 16384)", + "description": "engine3 vibration", + "length": undefined, + "mapping": undefined, + "name": "engine3Vibration", + "permission": "r", + "type": 6, + "value": 2564, + }, +} +`; diff --git a/tests/offsets/plane/engines/__snapshots__/engine4.spec.ts.snap b/tests/offsets/plane/engines/__snapshots__/engine4.spec.ts.snap new file mode 100644 index 0000000..f776249 --- /dev/null +++ b/tests/offsets/plane/engines/__snapshots__/engine4.spec.ts.snap @@ -0,0 +1,325 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`offset - plane/engines/engine4 offsets list should have required properties 1`] = ` +Object { + "engine4AntiIce": Offset { + "category": "engine", + "convert": "!!{VAL}", + "description": "engine4 anti-ice/carb heat active", + "length": undefined, + "mapping": undefined, + "name": "engine4AntiIce", + "permission": "r", + "type": 5, + "value": 2682, + }, + "engine4CHT": Offset { + "category": "engine", + "convert": undefined, + "description": "engine4 cylinder head temperature - F", + "length": undefined, + "mapping": undefined, + "name": "engine4CHT", + "permission": "r", + "type": 8, + "value": 2736, + }, + "engine4EGT": Offset { + "category": "engine", + "convert": "Math.round({VAL} * 860 / 16384)", + "description": "engine4 exhaust gas temperature - Trust only on jet engine - celsius", + "length": undefined, + "mapping": undefined, + "name": "engine4EGT", + "permission": "r", + "type": 5, + "value": 2694, + }, + "engine4Firing": Offset { + "category": "engine", + "convert": "!!{VAL}", + "description": "engine 4 combustion", + "length": undefined, + "mapping": undefined, + "name": "engine4Firing", + "permission": "r", + "type": 5, + "value": 2652, + }, + "engine4FuelElapsedTime": Offset { + "category": "engine", + "convert": undefined, + "description": "engine4 fuel elapsed time - h", + "length": undefined, + "mapping": undefined, + "name": "engine4FuelElapsedTime", + "permission": "r", + "type": 9, + "value": 2776, + }, + "engine4FuelFlowLbHour": Offset { + "category": "engine", + "convert": undefined, + "description": "engine4 fuel elapsed time - lb/h", + "length": undefined, + "mapping": undefined, + "name": "engine4FuelFlowLbHour", + "permission": "r", + "type": 8, + "value": 2784, + }, + "engine4FuelFlowLbHourSSL": Offset { + "category": "engine", + "convert": "{VAL} / 128", + "description": "engine4 fuel flow (lb per hour, sea level)", + "length": undefined, + "mapping": undefined, + "name": "engine4FuelFlowLbHourSSL", + "permission": "r", + "type": 5, + "value": 2664, + }, + "engine4FuelPres": Offset { + "category": "engine", + "convert": "{VAL} / 144", + "description": "engine4 fuel pressure - PSI", + "length": undefined, + "mapping": undefined, + "name": "engine4FuelPres", + "permission": "r", + "type": 6, + "value": 2752, + }, + "engine4FuelUsedSinceStart": Offset { + "category": "engine", + "convert": undefined, + "description": "engine4 used fuel since start - lb", + "length": undefined, + "mapping": undefined, + "name": "engine4FuelUsedSinceStart", + "permission": "r", + "type": 9, + "value": 2772, + }, + "engine4HydPres": Offset { + "category": "engine", + "convert": "{VAL} / 4", + "description": "engine4 hydraulic pressure - PSI", + "length": undefined, + "mapping": undefined, + "name": "engine4HydPres", + "permission": "r", + "type": 6, + "value": 2720, + }, + "engine4HydQuantity": Offset { + "category": "engine", + "convert": "{VAL} / 16384 * 100", + "description": "engine4 hydraulic quantity - percent", + "length": undefined, + "mapping": undefined, + "name": "engine4HydQuantity", + "permission": "r", + "type": 6, + "value": 2724, + }, + "engine4ITT": Offset { + "category": "engine", + "convert": "{VAL} / 16384", + "description": "engine4 turbine temperature - C", + "length": undefined, + "mapping": undefined, + "name": "engine4ITT", + "permission": "r", + "type": 6, + "value": 2744, + }, + "engine4MP": Offset { + "category": "engine", + "convert": "{VAL} / 1024", + "description": "engine4 manifold pressure - inHg", + "length": undefined, + "mapping": undefined, + "name": "engine4MP", + "permission": "r", + "type": 5, + "value": 2696, + }, + "engine4MixtureLever": Offset { + "category": "engine", + "convert": "{VAL} / 16384 * 100", + "description": "engine 4 prop lever - percent", + "length": undefined, + "mapping": undefined, + "name": "engine4MixtureLever", + "permission": "rw", + "type": 5, + "value": 2648, + }, + "engine4N1": Offset { + "category": "engine", + "convert": "{VAL} / 16384 * 100", + "description": "engine 4 N1 - also helo RPM %", + "length": undefined, + "mapping": undefined, + "name": "engine4N1", + "permission": "rw", + "type": 2, + "value": 2656, + }, + "engine4N2": Offset { + "category": "engine", + "convert": "{VAL} / 16384 * 100", + "description": "engine 4 N2 - also helo RPM %", + "length": undefined, + "mapping": undefined, + "name": "engine4N2", + "permission": "rw", + "type": 5, + "value": 2654, + }, + "engine4OilPres": Offset { + "category": "engine", + "convert": "Math.round({VAL} * 55 / 16384)", + "description": "engine4 oil pressure - PSI", + "length": undefined, + "mapping": undefined, + "name": "engine4OilPres", + "permission": "r", + "type": 5, + "value": 2690, + }, + "engine4OilQuantity": Offset { + "category": "engine", + "convert": "Math.round({VAL} / 16384 * 100)", + "description": "engine4 oil quantity - percent", + "length": undefined, + "mapping": undefined, + "name": "engine4OilQuantity", + "permission": "r", + "type": 6, + "value": 2712, + }, + "engine4OilTemp": Offset { + "category": "engine", + "convert": "Math.round({VAL} * 140 / 16384)", + "description": "engine4 oil temp - celsius", + "length": undefined, + "mapping": undefined, + "name": "engine4OilTemp", + "permission": "r", + "type": 5, + "value": 2688, + }, + "engine4PressureRatio": Offset { + "category": "engine", + "convert": "{VAL} * 1.6 / 16384", + "description": "engine4 pressure ratio", + "length": undefined, + "mapping": undefined, + "name": "engine4PressureRatio", + "permission": "r", + "type": 5, + "value": 2692, + }, + "engine4PropLever": Offset { + "category": "engine", + "convert": "Math.round({VAL} < 0 ? {VAL} / 4096 * 100 : {VAL} / 16384 * 100)", + "description": "engine 4 prop lever - percent - negative = reverse", + "length": undefined, + "mapping": undefined, + "name": "engine4PropLever", + "permission": "rw", + "type": 2, + "value": 2646, + }, + "engine4PropRPM": Offset { + "category": "engine", + "convert": "{VAL} / 16384 / 65536", + "description": "derive RPM by multiplying by - negative = counter-rotating propeller", + "length": undefined, + "mapping": undefined, + "name": "engine4PropRPM", + "permission": "rw", + "type": 2, + "value": 2656, + }, + "engine4RPMScaler": Offset { + "category": "engine", + "convert": undefined, + "description": "engine4 RPM Scaler - props: used to calculate RPM", + "length": undefined, + "mapping": undefined, + "name": "engine4RPMScaler", + "permission": "r", + "type": 5, + "value": 2704, + }, + "engine4StarterSwitchPosition": Offset { + "category": "engine", + "convert": undefined, + "description": "engine4 start switch position - JET: 0=off 1=start 2=gen/alt - PROP: 0=off 1=right 2=left 3=both 4=start", + "length": undefined, + "mapping": undefined, + "name": "engine4StarterSwitchPosition", + "permission": "rw", + "type": 5, + "value": 2650, + }, + "engine4ThrottleLever": Offset { + "category": "engine", + "convert": "Math.round({VAL} < 0 ? {VAL} / 4096 * 100 : {VAL} / 16384 * 100)", + "description": "engine 4 throttle lever - percent - negative = reverse", + "length": undefined, + "mapping": undefined, + "name": "engine4ThrottleLever", + "permission": "r", + "type": 2, + "value": 2644, + }, + "engine4ThrottleLeverControl": Offset { + "category": "engine", + "convert": undefined, + "description": "engine4 throttle lever control - -4096 to +16384", + "length": undefined, + "mapping": undefined, + "name": "engine4ThrottleLeverControl", + "permission": "rw", + "type": 2, + "value": 2658, + }, + "engine4Torque": Offset { + "category": "engine", + "convert": "{VAL} / 16384 * 100", + "description": "engine4 torque - trust only for helo - percent", + "length": undefined, + "mapping": undefined, + "name": "engine4Torque", + "permission": "r", + "type": 6, + "value": 2748, + }, + "engine4TorqueFtLb": Offset { + "category": "engine", + "convert": undefined, + "description": "engine4 fuel elapsed time - ft lb", + "length": undefined, + "mapping": undefined, + "name": "engine4TorqueFtLb", + "permission": "r", + "type": 9, + "value": 2792, + }, + "engine4Vibration": Offset { + "category": "engine", + "convert": "Math.round({VAL} * 5 / 16384)", + "description": "engine4 vibration", + "length": undefined, + "mapping": undefined, + "name": "engine4Vibration", + "permission": "r", + "type": 6, + "value": 2716, + }, +} +`; diff --git a/tests/offsets/plane/engines/engine1.spec.ts b/tests/offsets/plane/engines/engine1.spec.ts new file mode 100644 index 0000000..5563ec1 --- /dev/null +++ b/tests/offsets/plane/engines/engine1.spec.ts @@ -0,0 +1,54 @@ +import { engine1 as offsets } from '@offsets/plane/engines/engine1'; + +describe('offset - plane/engines/engine1', () => { + const offsetsTestCases = [ + { name: 'engine1ThrottleLever', value: -2048, expectedResult: -50 }, + { name: 'engine1ThrottleLever', value: 0, expectedResult: 0 }, + { name: 'engine1ThrottleLever', value: 8192, expectedResult: 50 }, + { name: 'engine1PropLever', value: -2048, expectedResult: -50 }, + { name: 'engine1PropLever', value: 0, expectedResult: 0 }, + { name: 'engine1PropLever', value: 8192, expectedResult: 50 }, + { name: 'engine1MixtureLever', value: 8192, expectedResult: 50 }, + { name: 'engine1Firing', value: 0, expectedResult: false }, + { name: 'engine1Firing', value: 1, expectedResult: true }, + { name: 'engine1N2', value: 8192, expectedResult: 50 }, + { name: 'engine1N1', value: 8192, expectedResult: 50 }, + { name: 'engine1PropRPM', value: 107374182400, expectedResult: 100 }, + { name: 'engine1FuelFlowLbHourSSL', value: 256, expectedResult: 2 }, + { name: 'engine1AntiIce', value: 0, expectedResult: false }, + { name: 'engine1AntiIce', value: 1, expectedResult: true }, + { name: 'engine1OilTemp', value: 10532, expectedResult: 90 }, + { name: 'engine1OilPres', value: 22342, expectedResult: 75 }, + { name: 'engine1PressureRatio', value: 20480, expectedResult: 2 }, + { name: 'engine1EGT', value: 14281, expectedResult: 750 }, + { name: 'engine1MP', value: 20480, expectedResult: 20 }, + { name: 'engine1OilQuantity', value: 8167, expectedResult: 50 }, + { name: 'engine1Vibration', value: 6553, expectedResult: 2 }, + { name: 'engine1HydPres', value: 64, expectedResult: 16 }, + { name: 'engine1HydQuantity', value: 8192, expectedResult: 50 }, + { name: 'engine1ITT', value: 3276800, expectedResult: 200 }, + { name: 'engine1Torque', value: 8192, expectedResult: 50 }, + { name: 'engine1FuelPres', value: 288, expectedResult: 2 }, + { name: 'engine1ElectricalLoad', value: 8192, expectedResult: 50 }, + { name: 'engine1TransmOilPres', value: 3276800, expectedResult: 200 }, + { name: 'engine1TransmOilTemp', value: 3276800, expectedResult: 200 }, + { name: 'engine1RotorRPM', value: 8192, expectedResult: 50 }, + ]; + + describe('offsets list', () => { + it('should have required properties', () => { + expect(offsets).toMatchSnapshot(); + }); + }); + + offsetsTestCases.forEach(testedOffset => { + describe(testedOffset.name, () => { + it('should convert data properly', () => { + const convertExpression = offsets[testedOffset.name].convert.replace(new RegExp(/{VAL}/g), testedOffset.value.toString()); + + // tslint:disable-next-line:no-eval + expect(eval(convertExpression)).toEqual(testedOffset.expectedResult); + }); + }); + }); +}); diff --git a/tests/offsets/plane/engines/engine2.spec.ts b/tests/offsets/plane/engines/engine2.spec.ts new file mode 100644 index 0000000..e891906 --- /dev/null +++ b/tests/offsets/plane/engines/engine2.spec.ts @@ -0,0 +1,50 @@ +import { engine2 as offsets } from '@offsets/plane/engines/engine2'; + +describe('offset - plane/engines/engine2', () => { + const offsetsTestCases = [ + { name: 'engine2ThrottleLever', value: -2048, expectedResult: -50 }, + { name: 'engine2ThrottleLever', value: 0, expectedResult: 0 }, + { name: 'engine2ThrottleLever', value: 8192, expectedResult: 50 }, + { name: 'engine2PropLever', value: -2048, expectedResult: -50 }, + { name: 'engine2PropLever', value: 0, expectedResult: 0 }, + { name: 'engine2PropLever', value: 8192, expectedResult: 50 }, + { name: 'engine2MixtureLever', value: 8192, expectedResult: 50 }, + { name: 'engine2Firing', value: 0, expectedResult: false }, + { name: 'engine2Firing', value: 1, expectedResult: true }, + { name: 'engine2N2', value: 8192, expectedResult: 50 }, + { name: 'engine2N1', value: 8192, expectedResult: 50 }, + { name: 'engine2PropRPM', value: 107374182400, expectedResult: 100 }, + { name: 'engine2FuelFlowLbHourSSL', value: 256, expectedResult: 2 }, + { name: 'engine2AntiIce', value: 0, expectedResult: false }, + { name: 'engine2AntiIce', value: 1, expectedResult: true }, + { name: 'engine2OilTemp', value: 10532, expectedResult: 90 }, + { name: 'engine2OilPres', value: 22342, expectedResult: 75 }, + { name: 'engine2PressureRatio', value: 20480, expectedResult: 2 }, + { name: 'engine2EGT', value: 14281, expectedResult: 750 }, + { name: 'engine2MP', value: 20480, expectedResult: 20 }, + { name: 'engine2OilQuantity', value: 8167, expectedResult: 50 }, + { name: 'engine2Vibration', value: 6553, expectedResult: 2 }, + { name: 'engine2HydPres', value: 64, expectedResult: 16 }, + { name: 'engine2HydQuantity', value: 8192, expectedResult: 50 }, + { name: 'engine2ITT', value: 3276800, expectedResult: 200 }, + { name: 'engine2Torque', value: 8192, expectedResult: 50 }, + { name: 'engine2FuelPres', value: 288, expectedResult: 2 }, + ]; + + describe('offsets list', () => { + it('should have required properties', () => { + expect(offsets).toMatchSnapshot(); + }); + }); + + offsetsTestCases.forEach(testedOffset => { + describe(testedOffset.name, () => { + it('should convert data properly', () => { + const convertExpression = offsets[testedOffset.name].convert.replace(new RegExp(/{VAL}/g), testedOffset.value.toString()); + + // tslint:disable-next-line:no-eval + expect(eval(convertExpression)).toEqual(testedOffset.expectedResult); + }); + }); + }); +}); diff --git a/tests/offsets/plane/engines/engine3.spec.ts b/tests/offsets/plane/engines/engine3.spec.ts new file mode 100644 index 0000000..04d8ba7 --- /dev/null +++ b/tests/offsets/plane/engines/engine3.spec.ts @@ -0,0 +1,50 @@ +import { engine3 as offsets } from '@offsets/plane/engines/engine3'; + +describe('offset - plane/engines/engine3', () => { + const offsetsTestCases = [ + { name: 'engine3ThrottleLever', value: -2048, expectedResult: -50 }, + { name: 'engine3ThrottleLever', value: 0, expectedResult: 0 }, + { name: 'engine3ThrottleLever', value: 8192, expectedResult: 50 }, + { name: 'engine3PropLever', value: -2048, expectedResult: -50 }, + { name: 'engine3PropLever', value: 0, expectedResult: 0 }, + { name: 'engine3PropLever', value: 8192, expectedResult: 50 }, + { name: 'engine3MixtureLever', value: 8192, expectedResult: 50 }, + { name: 'engine3Firing', value: 0, expectedResult: false }, + { name: 'engine3Firing', value: 1, expectedResult: true }, + { name: 'engine3N2', value: 8192, expectedResult: 50 }, + { name: 'engine3N1', value: 8192, expectedResult: 50 }, + { name: 'engine3PropRPM', value: 107374182400, expectedResult: 100 }, + { name: 'engine3FuelFlowLbHourSSL', value: 256, expectedResult: 2 }, + { name: 'engine3AntiIce', value: 0, expectedResult: false }, + { name: 'engine3AntiIce', value: 1, expectedResult: true }, + { name: 'engine3OilTemp', value: 10532, expectedResult: 90 }, + { name: 'engine3OilPres', value: 22342, expectedResult: 75 }, + { name: 'engine3PressureRatio', value: 20480, expectedResult: 2 }, + { name: 'engine3EGT', value: 14281, expectedResult: 750 }, + { name: 'engine3MP', value: 20480, expectedResult: 20 }, + { name: 'engine3OilQuantity', value: 8167, expectedResult: 50 }, + { name: 'engine3Vibration', value: 6553, expectedResult: 2 }, + { name: 'engine3HydPres', value: 64, expectedResult: 16 }, + { name: 'engine3HydQuantity', value: 8192, expectedResult: 50 }, + { name: 'engine3ITT', value: 3276800, expectedResult: 200 }, + { name: 'engine3Torque', value: 8192, expectedResult: 50 }, + { name: 'engine3FuelPres', value: 288, expectedResult: 2 }, + ]; + + describe('offsets list', () => { + it('should have required properties', () => { + expect(offsets).toMatchSnapshot(); + }); + }); + + offsetsTestCases.forEach(testedOffset => { + describe(testedOffset.name, () => { + it('should convert data properly', () => { + const convertExpression = offsets[testedOffset.name].convert.replace(new RegExp(/{VAL}/g), testedOffset.value.toString()); + + // tslint:disable-next-line:no-eval + expect(eval(convertExpression)).toEqual(testedOffset.expectedResult); + }); + }); + }); +}); diff --git a/tests/offsets/plane/engines/engine4.spec.ts b/tests/offsets/plane/engines/engine4.spec.ts new file mode 100644 index 0000000..5e903ec --- /dev/null +++ b/tests/offsets/plane/engines/engine4.spec.ts @@ -0,0 +1,50 @@ +import { engine4 as offsets } from '@offsets/plane/engines/engine4'; + +describe('offset - plane/engines/engine4', () => { + const offsetsTestCases = [ + { name: 'engine4ThrottleLever', value: -2048, expectedResult: -50 }, + { name: 'engine4ThrottleLever', value: 0, expectedResult: 0 }, + { name: 'engine4ThrottleLever', value: 8192, expectedResult: 50 }, + { name: 'engine4PropLever', value: -2048, expectedResult: -50 }, + { name: 'engine4PropLever', value: 0, expectedResult: 0 }, + { name: 'engine4PropLever', value: 8192, expectedResult: 50 }, + { name: 'engine4MixtureLever', value: 8192, expectedResult: 50 }, + { name: 'engine4Firing', value: 0, expectedResult: false }, + { name: 'engine4Firing', value: 1, expectedResult: true }, + { name: 'engine4N2', value: 8192, expectedResult: 50 }, + { name: 'engine4N1', value: 8192, expectedResult: 50 }, + { name: 'engine4PropRPM', value: 107374182400, expectedResult: 100 }, + { name: 'engine4FuelFlowLbHourSSL', value: 256, expectedResult: 2 }, + { name: 'engine4AntiIce', value: 0, expectedResult: false }, + { name: 'engine4AntiIce', value: 1, expectedResult: true }, + { name: 'engine4OilTemp', value: 10532, expectedResult: 90 }, + { name: 'engine4OilPres', value: 22342, expectedResult: 75 }, + { name: 'engine4PressureRatio', value: 20480, expectedResult: 2 }, + { name: 'engine4EGT', value: 14281, expectedResult: 750 }, + { name: 'engine4MP', value: 20480, expectedResult: 20 }, + { name: 'engine4OilQuantity', value: 8167, expectedResult: 50 }, + { name: 'engine4Vibration', value: 6553, expectedResult: 2 }, + { name: 'engine4HydPres', value: 64, expectedResult: 16 }, + { name: 'engine4HydQuantity', value: 8192, expectedResult: 50 }, + { name: 'engine4ITT', value: 3276800, expectedResult: 200 }, + { name: 'engine4Torque', value: 8192, expectedResult: 50 }, + { name: 'engine4FuelPres', value: 288, expectedResult: 2 }, + ]; + + describe('offsets list', () => { + it('should have required properties', () => { + expect(offsets).toMatchSnapshot(); + }); + }); + + offsetsTestCases.forEach(testedOffset => { + describe(testedOffset.name, () => { + it('should convert data properly', () => { + const convertExpression = offsets[testedOffset.name].convert.replace(new RegExp(/{VAL}/g), testedOffset.value.toString()); + + // tslint:disable-next-line:no-eval + expect(eval(convertExpression)).toEqual(testedOffset.expectedResult); + }); + }); + }); +}); From 088d0595d4f52644324779b014730abf52ac276b Mon Sep 17 00:00:00 2001 From: blackholegalaxy Date: Wed, 22 Jan 2020 08:39:06 -0500 Subject: [PATCH 6/7] refact: move helicopter specific engine data to proper offset --- src/lib/offsets/plane/engines/engine1.ts | 36 --------------- src/lib/offsets/plane/helicopter.ts | 29 +++++++++++- .../offsets/__snapshots__/offset.spec.ts.snap | 44 ------------------- .../plane/__snapshots__/engines.spec.ts.snap | 44 ------------------- .../__snapshots__/helicopter.spec.ts.snap | 35 ++++++++++++++- .../__snapshots__/engine1.spec.ts.snap | 44 ------------------- tests/offsets/plane/engines/engine1.spec.ts | 4 -- tests/offsets/plane/helicopter.spec.ts | 3 ++ 8 files changed, 65 insertions(+), 174 deletions(-) diff --git a/src/lib/offsets/plane/engines/engine1.ts b/src/lib/offsets/plane/engines/engine1.ts index 9e99505..6a925cb 100644 --- a/src/lib/offsets/plane/engines/engine1.ts +++ b/src/lib/offsets/plane/engines/engine1.ts @@ -226,42 +226,6 @@ export const engine1: OffsetList = { type: Type.UInt32, permission: 'r', }), - engine1ElectricalLoad: new Offset({ - value: 0x8FC, - name: 'engine1ElectricalLoad', - category: OffsetCategory.ENGINE, - description: 'engine1 electrical load - trust only for helo - percent', - convert: '{VAL} / 16384 * 100', - type: Type.UInt32, - permission: 'r', - }), - engine1TransmOilPres: new Offset({ - value: 0x900, - name: 'engine1TransmOilPres', - category: OffsetCategory.ENGINE, - description: 'engine1 transmission oil pressure - trust only for helo - PSI', - convert: '{VAL} / 16384', - type: Type.UInt32, - permission: 'r', - }), - engine1TransmOilTemp: new Offset({ - value: 0x904, - name: 'engine1TransmOilTemp', - category: OffsetCategory.ENGINE, - description: 'engine1 transmission oil temperature - trust only for helo - C', - convert: '{VAL} / 16384', - type: Type.UInt32, - permission: 'r', - }), - engine1RotorRPM: new Offset({ - value: 0x908, - name: 'engine1RotorRPM', - category: OffsetCategory.ENGINE, - description: 'engine1 rotor RPM - trust only for helo - percent', - convert: '{VAL} / 16384 * 100', - type: Type.UInt32, - permission: 'r', - }), engine1FuelUsedSinceStart: new Offset({ value: 0x90C, name: 'engine1FuelUsedSinceStart', diff --git a/src/lib/offsets/plane/helicopter.ts b/src/lib/offsets/plane/helicopter.ts index 4fba9bc..97dc0dd 100644 --- a/src/lib/offsets/plane/helicopter.ts +++ b/src/lib/offsets/plane/helicopter.ts @@ -85,13 +85,40 @@ export const helicopter: OffsetList = { permission: 'rw', }), helicopterEngine1RPMUnscaled: new Offset({ - value: 0x896, + value: 0x898, name: 'helicopterEngine1RPMUnscaled', category: OffsetCategory.ENGINE, description: 'engine 1 RPM unscalled - multiply by engineRPMScaler to obtain derivated RPM', type: Type.UInt16, permission: 'rw', }), + helicopterEngine1ElectricalLoad: new Offset({ + value: 0x8FC, + name: 'helicopterEngine1ElectricalLoad', + category: OffsetCategory.ENGINE, + description: 'engine1 electrical load - trust only for helo - percent', + convert: '{VAL} / 16384 * 100', + type: Type.UInt32, + permission: 'r', + }), + helicopterEngine1TransmOilPres: new Offset({ + value: 0x900, + name: 'helicopterEngine1TransmOilPres', + category: OffsetCategory.ENGINE, + description: 'engine1 transmission oil pressure - trust only for helo - PSI', + convert: '{VAL} / 16384', + type: Type.UInt32, + permission: 'r', + }), + helicopterEngine1TransmOilTemp: new Offset({ + value: 0x904, + name: 'helicopterEngine1TransmOilTemp', + category: OffsetCategory.ENGINE, + description: 'engine1 transmission oil temperature - trust only for helo - C', + convert: '{VAL} / 16384', + type: Type.UInt32, + permission: 'r', + }), helicopterEngine1RotorRPM: new Offset({ value: 0x908, name: 'helicopterEngine1RotorRPM', diff --git a/tests/offsets/__snapshots__/offset.spec.ts.snap b/tests/offsets/__snapshots__/offset.spec.ts.snap index 78261e3..65351e6 100644 --- a/tests/offsets/__snapshots__/offset.spec.ts.snap +++ b/tests/offsets/__snapshots__/offset.spec.ts.snap @@ -717,17 +717,6 @@ Object { "type": 5, "value": 2238, }, - "engine1ElectricalLoad": Offset { - "category": "engine", - "convert": "{VAL} / 16384 * 100", - "description": "engine1 electrical load - trust only for helo - percent", - "length": undefined, - "mapping": undefined, - "name": "engine1ElectricalLoad", - "permission": "r", - "type": 6, - "value": 2300, - }, "engine1Firing": Offset { "category": "engine", "convert": "!!{VAL}", @@ -948,17 +937,6 @@ Object { "type": 5, "value": 2248, }, - "engine1RotorRPM": Offset { - "category": "engine", - "convert": "{VAL} / 16384 * 100", - "description": "engine1 rotor RPM - trust only for helo - percent", - "length": undefined, - "mapping": undefined, - "name": "engine1RotorRPM", - "permission": "r", - "type": 6, - "value": 2312, - }, "engine1StarterSwitchPosition": Offset { "category": "engine", "convert": undefined, @@ -1014,28 +992,6 @@ Object { "type": 9, "value": 2336, }, - "engine1TransmOilPres": Offset { - "category": "engine", - "convert": "{VAL} / 16384", - "description": "engine1 transmission oil pressure - trust only for helo - PSI", - "length": undefined, - "mapping": undefined, - "name": "engine1TransmOilPres", - "permission": "r", - "type": 6, - "value": 2304, - }, - "engine1TransmOilTemp": Offset { - "category": "engine", - "convert": "{VAL} / 16384", - "description": "engine1 transmission oil temperature - trust only for helo - C", - "length": undefined, - "mapping": undefined, - "name": "engine1TransmOilTemp", - "permission": "r", - "type": 6, - "value": 2308, - }, "engine1Vibration": Offset { "category": "engine", "convert": "Math.round({VAL} * 5 / 16384)", diff --git a/tests/offsets/plane/__snapshots__/engines.spec.ts.snap b/tests/offsets/plane/__snapshots__/engines.spec.ts.snap index 828dac5..6d4de9c 100644 --- a/tests/offsets/plane/__snapshots__/engines.spec.ts.snap +++ b/tests/offsets/plane/__snapshots__/engines.spec.ts.snap @@ -46,17 +46,6 @@ Object { "type": 5, "value": 2238, }, - "engine1ElectricalLoad": Offset { - "category": "engine", - "convert": "{VAL} / 16384 * 100", - "description": "engine1 electrical load - trust only for helo - percent", - "length": undefined, - "mapping": undefined, - "name": "engine1ElectricalLoad", - "permission": "r", - "type": 6, - "value": 2300, - }, "engine1Firing": Offset { "category": "engine", "convert": "!!{VAL}", @@ -277,17 +266,6 @@ Object { "type": 5, "value": 2248, }, - "engine1RotorRPM": Offset { - "category": "engine", - "convert": "{VAL} / 16384 * 100", - "description": "engine1 rotor RPM - trust only for helo - percent", - "length": undefined, - "mapping": undefined, - "name": "engine1RotorRPM", - "permission": "r", - "type": 6, - "value": 2312, - }, "engine1StarterSwitchPosition": Offset { "category": "engine", "convert": undefined, @@ -343,28 +321,6 @@ Object { "type": 9, "value": 2336, }, - "engine1TransmOilPres": Offset { - "category": "engine", - "convert": "{VAL} / 16384", - "description": "engine1 transmission oil pressure - trust only for helo - PSI", - "length": undefined, - "mapping": undefined, - "name": "engine1TransmOilPres", - "permission": "r", - "type": 6, - "value": 2304, - }, - "engine1TransmOilTemp": Offset { - "category": "engine", - "convert": "{VAL} / 16384", - "description": "engine1 transmission oil temperature - trust only for helo - C", - "length": undefined, - "mapping": undefined, - "name": "engine1TransmOilTemp", - "permission": "r", - "type": 6, - "value": 2308, - }, "engine1Vibration": Offset { "category": "engine", "convert": "Math.round({VAL} * 5 / 16384)", diff --git a/tests/offsets/plane/__snapshots__/helicopter.spec.ts.snap b/tests/offsets/plane/__snapshots__/helicopter.spec.ts.snap index acfc6bc..18d7863 100644 --- a/tests/offsets/plane/__snapshots__/helicopter.spec.ts.snap +++ b/tests/offsets/plane/__snapshots__/helicopter.spec.ts.snap @@ -13,6 +13,17 @@ Object { "type": 0, "value": 2086, }, + "helicopterEngine1ElectricalLoad": Offset { + "category": "engine", + "convert": "{VAL} / 16384 * 100", + "description": "engine1 electrical load - trust only for helo - percent", + "length": undefined, + "mapping": undefined, + "name": "helicopterEngine1ElectricalLoad", + "permission": "r", + "type": 6, + "value": 2300, + }, "helicopterEngine1RPM": Offset { "category": "engine", "convert": undefined, @@ -33,7 +44,7 @@ Object { "name": "helicopterEngine1RPMUnscaled", "permission": "rw", "type": 5, - "value": 2198, + "value": 2200, }, "helicopterEngine1RotorRPM": Offset { "category": "engine", @@ -46,6 +57,28 @@ Object { "type": 6, "value": 2312, }, + "helicopterEngine1TransmOilPres": Offset { + "category": "engine", + "convert": "{VAL} / 16384", + "description": "engine1 transmission oil pressure - trust only for helo - PSI", + "length": undefined, + "mapping": undefined, + "name": "helicopterEngine1TransmOilPres", + "permission": "r", + "type": 6, + "value": 2304, + }, + "helicopterEngine1TransmOilTemp": Offset { + "category": "engine", + "convert": "{VAL} / 16384", + "description": "engine1 transmission oil temperature - trust only for helo - C", + "length": undefined, + "mapping": undefined, + "name": "helicopterEngine1TransmOilTemp", + "permission": "r", + "type": 6, + "value": 2308, + }, "rotorBreakApplication": Offset { "category": "helicopter", "convert": "Math.round({VAL} / 16384 * 100)", diff --git a/tests/offsets/plane/engines/__snapshots__/engine1.spec.ts.snap b/tests/offsets/plane/engines/__snapshots__/engine1.spec.ts.snap index ac8b5e2..b311681 100644 --- a/tests/offsets/plane/engines/__snapshots__/engine1.spec.ts.snap +++ b/tests/offsets/plane/engines/__snapshots__/engine1.spec.ts.snap @@ -35,17 +35,6 @@ Object { "type": 5, "value": 2238, }, - "engine1ElectricalLoad": Offset { - "category": "engine", - "convert": "{VAL} / 16384 * 100", - "description": "engine1 electrical load - trust only for helo - percent", - "length": undefined, - "mapping": undefined, - "name": "engine1ElectricalLoad", - "permission": "r", - "type": 6, - "value": 2300, - }, "engine1Firing": Offset { "category": "engine", "convert": "!!{VAL}", @@ -266,17 +255,6 @@ Object { "type": 5, "value": 2248, }, - "engine1RotorRPM": Offset { - "category": "engine", - "convert": "{VAL} / 16384 * 100", - "description": "engine1 rotor RPM - trust only for helo - percent", - "length": undefined, - "mapping": undefined, - "name": "engine1RotorRPM", - "permission": "r", - "type": 6, - "value": 2312, - }, "engine1StarterSwitchPosition": Offset { "category": "engine", "convert": undefined, @@ -332,28 +310,6 @@ Object { "type": 9, "value": 2336, }, - "engine1TransmOilPres": Offset { - "category": "engine", - "convert": "{VAL} / 16384", - "description": "engine1 transmission oil pressure - trust only for helo - PSI", - "length": undefined, - "mapping": undefined, - "name": "engine1TransmOilPres", - "permission": "r", - "type": 6, - "value": 2304, - }, - "engine1TransmOilTemp": Offset { - "category": "engine", - "convert": "{VAL} / 16384", - "description": "engine1 transmission oil temperature - trust only for helo - C", - "length": undefined, - "mapping": undefined, - "name": "engine1TransmOilTemp", - "permission": "r", - "type": 6, - "value": 2308, - }, "engine1Vibration": Offset { "category": "engine", "convert": "Math.round({VAL} * 5 / 16384)", diff --git a/tests/offsets/plane/engines/engine1.spec.ts b/tests/offsets/plane/engines/engine1.spec.ts index 5563ec1..c786284 100644 --- a/tests/offsets/plane/engines/engine1.spec.ts +++ b/tests/offsets/plane/engines/engine1.spec.ts @@ -29,10 +29,6 @@ describe('offset - plane/engines/engine1', () => { { name: 'engine1ITT', value: 3276800, expectedResult: 200 }, { name: 'engine1Torque', value: 8192, expectedResult: 50 }, { name: 'engine1FuelPres', value: 288, expectedResult: 2 }, - { name: 'engine1ElectricalLoad', value: 8192, expectedResult: 50 }, - { name: 'engine1TransmOilPres', value: 3276800, expectedResult: 200 }, - { name: 'engine1TransmOilTemp', value: 3276800, expectedResult: 200 }, - { name: 'engine1RotorRPM', value: 8192, expectedResult: 50 }, ]; describe('offsets list', () => { diff --git a/tests/offsets/plane/helicopter.spec.ts b/tests/offsets/plane/helicopter.spec.ts index a819b35..7823f46 100644 --- a/tests/offsets/plane/helicopter.spec.ts +++ b/tests/offsets/plane/helicopter.spec.ts @@ -6,6 +6,9 @@ describe('offset - plane/helicopter', () => { { name: 'rotorLateralTrim', value: 13107, expectedResult: 80 }, { name: 'governorSwitch', value: 0, expectedResult: false }, { name: 'governorSwitch', value: 1, expectedResult: true }, + { name: 'helicopterEngine1ElectricalLoad', value: 8192, expectedResult: 50 }, + { name: 'helicopterEngine1TransmOilPres', value: 3276800, expectedResult: 200 }, + { name: 'helicopterEngine1TransmOilTemp', value: 3276800, expectedResult: 200 }, { name: 'helicopterEngine1RotorRPM', value: 8192, expectedResult: 50 }, ]; From 9a4673776f3dc5106fdd3f8f13745291e48d060e Mon Sep 17 00:00:00 2001 From: blackholegalaxy Date: Wed, 22 Jan 2020 08:40:50 -0500 Subject: [PATCH 7/7] feat: bump to 0.2.0 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 70339e6..69ac369 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@fsuipc/api", - "version": "0.1.0", + "version": "0.2.0", "author": { "name": "FSUIPC-Node Opensource Team", "url": "https://github.com/fsuipc-node"