From 3dfdff1cb7b8b9fbb73812625b6218c43d75a57f Mon Sep 17 00:00:00 2001 From: blackholegalaxy Date: Sun, 26 Jan 2020 16:33:15 -0500 Subject: [PATCH 01/20] feat: add weather at aicraft offsets --- package.json | 18 +- src/lib/convert/mappings/cloud-type.ts | 14 + src/lib/convert/mappings/index.ts | 2 + src/lib/offsets/environment/weather.ts | 504 +++++ src/shared/weather/cloud-type.ts | 6 + .../__snapshots__/mappings.spec.ts.snap | 1 + tests/convert/mappings/cloud-type.spec.ts | 17 + .../offsets/__snapshots__/offset.spec.ts.snap | 627 ++++++ .../__snapshots__/weather.spec.ts.snap | 627 ++++++ tests/offsets/environment/weather.spec.ts | 49 + yarn.lock | 1924 ++++++++++------- 11 files changed, 3011 insertions(+), 778 deletions(-) create mode 100644 src/lib/convert/mappings/cloud-type.ts create mode 100644 src/shared/weather/cloud-type.ts create mode 100644 tests/convert/mappings/cloud-type.spec.ts diff --git a/package.json b/package.json index fbc6a1b..3ac3eb1 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@fsuipc/api", - "version": "0.3.0", + "version": "0.4.0", "author": { "name": "FSUIPC-Node Opensource Team", "url": "https://github.com/fsuipc-node" @@ -39,16 +39,16 @@ }, "devDependencies": { "@exalif/tscpaths": "0.1.3", - "@types/jest": "24.0.25", - "@types/node": "13.1.6", + "@types/jest": "24.9.1", + "@types/node": "13.5.0", "conventional-changelog-cli": "2.0.31", - "cross-env": "6.0.3", - "jest": "24.9.0", + "cross-env": "7.0.0", + "jest": "25.1.0", "nodemon": "2.0.2", - "ts-jest": "24.3.0", - "ts-node": "8.6.1", + "ts-jest": "25.0.0", + "ts-node": "8.6.2", "tsconfig-paths": "3.9.0", - "tslint": "5.20.1", - "typescript": "3.7.4" + "tslint": "6.0.0", + "typescript": "3.7.5" } } diff --git a/src/lib/convert/mappings/cloud-type.ts b/src/lib/convert/mappings/cloud-type.ts new file mode 100644 index 0000000..d97bbcd --- /dev/null +++ b/src/lib/convert/mappings/cloud-type.ts @@ -0,0 +1,14 @@ +import { CloudType } from '@shared/weather/cloud-type'; + +export const cloudType = (value: number): CloudType => { + switch (value) { + case 1: + return CloudType.CIRRUS; + case 8: + return CloudType.STRATUS; + case 9: + return CloudType.CUMULUS; + default: + return CloudType.USER; + } +}; diff --git a/src/lib/convert/mappings/index.ts b/src/lib/convert/mappings/index.ts index bd5e911..85691f7 100644 --- a/src/lib/convert/mappings/index.ts +++ b/src/lib/convert/mappings/index.ts @@ -1,6 +1,7 @@ import { lightsMapping } from './lights'; import { runwaySurfaceCondition } from './runway-surface-condition'; import { precipitationType } from './precipitation-type'; +import { cloudType } from './cloud-type'; import { seasons } from './seasons'; import { ftsecToKt, ktToFtsec } from './units'; import { engineType } from './engine-type'; @@ -18,6 +19,7 @@ export const MAPPINGS: { [key: string]: (_: any) => any } = { // weather precipitationType, seasons, + cloudType, // units ftsecToKt, diff --git a/src/lib/offsets/environment/weather.ts b/src/lib/offsets/environment/weather.ts index dd6f13f..9083934 100644 --- a/src/lib/offsets/environment/weather.ts +++ b/src/lib/offsets/environment/weather.ts @@ -237,4 +237,508 @@ export const weather: OffsetList = { type: Type.UInt16, permission: 'r', }), + windGust: new Offset({ + value: 0xE94, + name: 'windGust', + category: OffsetCategory.WEATHER, + description: 'wind gust at aircraft - kt', + type: Type.UInt16, + permission: 'r', + }), + windDirectionalVariation: new Offset({ + value: 0xE96, + name: 'windDirectionalVariation', + category: OffsetCategory.WEATHER, + description: 'wind directional variation at aircraft - TRUE degrees', + convert: '+({VAL} * 360 / 65536).toFixed(2)', + type: Type.UInt16, + permission: 'r', + }), + windTurbulence: new Offset({ + value: 0xE98, + name: 'windTurbulence', + category: OffsetCategory.WEATHER, + description: 'wind turbulence at aircraft atltitude - 0-255', + type: Type.UInt16, + permission: 'r', + }), + upperCloudCeiling: new Offset({ + value: 0xE9A, + name: 'upperCloudCeiling', + category: OffsetCategory.WEATHER, + description: 'upper cloud layer ceiling - ft', + convert: '+({VAL} * 3.28084).toFixed(2)', + type: Type.UInt16, + permission: 'r', + }), + upperCloudBase: new Offset({ + value: 0xE9C, + name: 'upperCloudBase', + category: OffsetCategory.WEATHER, + description: 'upper cloud layer base - ft', + convert: '+({VAL} * 3.28084).toFixed(2)', + type: Type.UInt16, + permission: 'r', + }), + upperCloudCoverage: new Offset({ + value: 0xE9E, + name: 'upperCloudCoverage', + category: OffsetCategory.WEATHER, + description: 'upper cloud layer coverage - oktas', + convert: 'Math.round(({VAL} + 1) / 8192)', + type: Type.UInt16, + permission: 'r', + }), + upperCloudVariation: new Offset({ + value: 0xEA0, + name: 'upperCloudVariation', + category: OffsetCategory.WEATHER, + description: 'upper cloud layer variation - ft', + convert: '+({VAL} * 3.28084).toFixed(2)', + type: Type.UInt16, + permission: 'r', + }), + lowerCloudCeiling: new Offset({ + value: 0xEA2, + name: 'lowerCloudCeiling', + category: OffsetCategory.WEATHER, + description: 'lower cloud layer ceiling - ft', + convert: '+({VAL} * 3.28084).toFixed(2)', + type: Type.UInt16, + permission: 'r', + }), + lowerCloudBase: new Offset({ + value: 0xEA4, + name: 'lowerCloudBase', + category: OffsetCategory.WEATHER, + description: 'lower cloud layer base - ft', + convert: '+({VAL} * 3.28084).toFixed(2)', + type: Type.UInt16, + permission: 'r', + }), + lowerCloudCoverage: new Offset({ + value: 0xEA6, + name: 'lowerCloudCoverage', + category: OffsetCategory.WEATHER, + description: 'lower cloud layer coverage - oktas', + convert: 'Math.round(({VAL} + 1) / 8192)', + type: Type.UInt16, + permission: 'r', + }), + lowerCloudVariation: new Offset({ + value: 0xEA8, + name: 'lowerCloudVariation', + category: OffsetCategory.WEATHER, + description: 'lower cloud layer variation - ft', + convert: '+({VAL} * 3.28084).toFixed(2)', + type: Type.UInt16, + permission: 'r', + }), + stormCloudCeiling: new Offset({ + value: 0xEAA, + name: 'stormCloudCeiling', + category: OffsetCategory.WEATHER, + description: 'storm cloud layer ceiling - ft', + convert: '+({VAL} * 3.28084).toFixed(2)', + type: Type.UInt16, + permission: 'r', + }), + stormCloudBase: new Offset({ + value: 0xEAC, + name: 'stormCloudBase', + category: OffsetCategory.WEATHER, + description: 'storm cloud layer base - ft', + convert: '+({VAL} * 3.28084).toFixed(2)', + type: Type.UInt16, + permission: 'r', + }), + stormCloudCoverage: new Offset({ + value: 0xEAE, + name: 'stormCloudCoverage', + category: OffsetCategory.WEATHER, + description: 'storm cloud layer coverage - oktas', + convert: 'Math.round(({VAL} + 1) / 8192)', + type: Type.UInt16, + permission: 'r', + }), + stormCloudVariation: new Offset({ + value: 0xEB0, + name: 'stormCloudVariation', + category: OffsetCategory.WEATHER, + description: 'storm cloud layer variation - ft', + convert: '+({VAL} * 3.28084).toFixed(2)', + type: Type.UInt16, + permission: 'r', + }), + upperTemperatureLevel: new Offset({ + value: 0xEB2, + name: 'upperTemperatureLevel', + category: OffsetCategory.WEATHER, + description: 'upper temperature level - ft', + convert: '+({VAL} * 3.28084).toFixed(2)', + type: Type.UInt16, + permission: 'r', + }), + upperTemperature: new Offset({ + value: 0xEB4, + name: 'upperTemperature', + category: OffsetCategory.WEATHER, + description: 'upper temperature - degrees C', + convert: 'Math.round({VAL} / 256)', + type: Type.Int16, + permission: 'r', + }), + middleTemperatureLevel: new Offset({ + value: 0xEB6, + name: 'middleTemperatureLevel', + category: OffsetCategory.WEATHER, + description: 'middle temperature level - ft', + convert: '+({VAL} * 3.28084).toFixed(2)', + type: Type.UInt16, + permission: 'r', + }), + middleTemperature: new Offset({ + value: 0xEB8, + name: 'middleTemperature', + category: OffsetCategory.WEATHER, + description: 'middle temperature - degrees C', + convert: 'Math.round({VAL} / 256)', + type: Type.Int16, + permission: 'r', + }), + lowerTemperatureLevel: new Offset({ + value: 0xEBA, + name: 'lowerTemperatureLevel', + category: OffsetCategory.WEATHER, + description: 'lower temperature level - ft', + convert: '+({VAL} * 3.28084).toFixed(2)', + type: Type.UInt16, + permission: 'r', + }), + lowerTemperature: new Offset({ + value: 0xEBC, + name: 'lowerTemperature', + category: OffsetCategory.WEATHER, + description: 'lower temperature - degrees C', + convert: 'Math.round({VAL} / 256)', + type: Type.Int16, + permission: 'r', + }), + surfaceTemperatureLevel: new Offset({ + value: 0xEBE, + name: 'surfaceTemperatureLevel', + category: OffsetCategory.WEATHER, + description: 'surface temperature level - ground elevation - ft', + convert: '+({VAL} * 3.28084).toFixed(2)', + type: Type.UInt16, + permission: 'r', + }), + surfaceTemperature: new Offset({ + value: 0xEC0, + name: 'surfaceTemperature', + category: OffsetCategory.WEATHER, + description: 'surface temperature - degrees C', + convert: 'Math.round({VAL} / 256)', + type: Type.Int16, + permission: 'r', + }), + temperatureDrift: new Offset({ + value: 0xEC2, + name: 'temperatureDrift', + category: OffsetCategory.WEATHER, + description: 'temperature drift - degrees C', + convert: 'Math.round({VAL} / 256)', + type: Type.Int16, + permission: 'r', + }), + temperatureDayNightVariation: new Offset({ + value: 0xEC4, + name: 'temperatureDayNightVariation', + category: OffsetCategory.WEATHER, + description: 'temperature day night variation - degrees C', + convert: 'Math.round({VAL} / 256)', + type: Type.Int16, + permission: 'r', + }), + pressureQNH: new Offset({ + value: 0xEC6, + name: 'pressureQNH', + category: OffsetCategory.WEATHER, + description: 'pressure QNH - mb', + convert: 'Math.round({VAL} / 16)', + type: Type.UInt16, + permission: 'r', + }), + pressureDrift: new Offset({ + value: 0xEC8, + name: 'pressureDrift', + category: OffsetCategory.WEATHER, + description: 'pressure drift - mb', + convert: 'Math.round({VAL} / 16)', + type: Type.Int16, + permission: 'r', + }), + upperWindCeiling: new Offset({ + value: 0xECA, + name: 'upperWindCeiling', + category: OffsetCategory.WEATHER, + description: 'upper wind ceiling - ft', + convert: '+({VAL} * 3.28084).toFixed(2)', + type: Type.UInt16, + permission: 'r', + }), + upperWindBase: new Offset({ + value: 0xECC, + name: 'upperWindBase', + category: OffsetCategory.WEATHER, + description: 'upper wind ceiling - ft', + convert: '+({VAL} * 3.28084).toFixed(2)', + type: Type.UInt16, + permission: 'r', + }), + upperWindSpeed: new Offset({ + value: 0xECE, + name: 'upperWindSpeed', + category: OffsetCategory.WEATHER, + description: 'upper wind ceiling - kt', + type: Type.UInt16, + permission: 'r', + }), + upperWindDirection: new Offset({ + value: 0xED0, + name: 'upperWindDirection', + category: OffsetCategory.WEATHER, + description: 'upper wind ceiling - TRUE degrees', + convert: '+({VAL} * 360 / 65536).toFixed(2)', + type: Type.UInt16, + permission: 'r', + }), + upperWindTurbulence: new Offset({ + value: 0xED2, + name: 'upperWindTurbulence', + category: OffsetCategory.WEATHER, + description: 'upper wind turbulence - 0-255', + type: Type.UInt16, + permission: 'r', + }), + upperWindGustEnabled: new Offset({ + value: 0xED4, + name: 'upperWindGustEnabled', + category: OffsetCategory.WEATHER, + description: 'upper wind gust enabled', + convert: '!!{VAL}', + type: Type.UInt16, + permission: 'r', + }), + middleWindCeiling: new Offset({ + value: 0xED6, + name: 'middleWindCeiling', + category: OffsetCategory.WEATHER, + description: 'middle wind ceiling - ft', + convert: '+({VAL} * 3.28084).toFixed(2)', + type: Type.UInt16, + permission: 'r', + }), + middleWindBase: new Offset({ + value: 0xED8, + name: 'middleWindBase', + category: OffsetCategory.WEATHER, + description: 'middle wind ceiling - ft', + convert: '+({VAL} * 3.28084).toFixed(2)', + type: Type.UInt16, + permission: 'r', + }), + middleWindSpeed: new Offset({ + value: 0xEDA, + name: 'middleWindSpeed', + category: OffsetCategory.WEATHER, + description: 'middle wind ceiling - kt', + type: Type.UInt16, + permission: 'r', + }), + middleWindDirection: new Offset({ + value: 0xEDC, + name: 'middleWindDirection', + category: OffsetCategory.WEATHER, + description: 'middle wind ceiling - TRUE degrees', + convert: '+({VAL} * 360 / 65536).toFixed(2)', + type: Type.UInt16, + permission: 'r', + }), + middleWindTurbulence: new Offset({ + value: 0xEDE, + name: 'middleWindTurbulence', + category: OffsetCategory.WEATHER, + description: 'middle wind turbulence - 0-255', + type: Type.UInt16, + permission: 'r', + }), + middleWindGustEnabled: new Offset({ + value: 0xEE0, + name: 'middleWindGustEnabled', + category: OffsetCategory.WEATHER, + description: 'middle wind gust enabled', + convert: '!!{VAL}', + type: Type.UInt16, + permission: 'r', + }), + lowerWindCeiling: new Offset({ + value: 0xEE2, + name: 'lowerWindCeiling', + category: OffsetCategory.WEATHER, + description: 'lower wind ceiling - ft', + convert: '+({VAL} * 3.28084).toFixed(2)', + type: Type.UInt16, + permission: 'r', + }), + lowerWindBase: new Offset({ + value: 0xEE4, + name: 'lowerWindBase', + category: OffsetCategory.WEATHER, + description: 'lower wind ceiling - ft', + convert: '+({VAL} * 3.28084).toFixed(2)', + type: Type.UInt16, + permission: 'r', + }), + lowerWindSpeed: new Offset({ + value: 0xEE6, + name: 'lowerWindSpeed', + category: OffsetCategory.WEATHER, + description: 'lower wind ceiling - kt', + type: Type.UInt16, + permission: 'r', + }), + lowerWindDirection: new Offset({ + value: 0xEE8, + name: 'lowerWindDirection', + category: OffsetCategory.WEATHER, + description: 'lower wind ceiling - TRUE degrees', + convert: '+({VAL} * 360 / 65536).toFixed(2)', + type: Type.UInt16, + permission: 'r', + }), + lowerWindTurbulence: new Offset({ + value: 0xEEA, + name: 'lowerWindTurbulence', + category: OffsetCategory.WEATHER, + description: 'lower wind turbulence - 0-255', + type: Type.UInt16, + permission: 'r', + }), + lowerWindGustEnabled: new Offset({ + value: 0xEEC, + name: 'lowerWindGustEnabled', + category: OffsetCategory.WEATHER, + description: 'lower wind gust enabled', + convert: '!!{VAL}', + type: Type.Int16, + permission: 'r', + }), + surfaceWindCeiling: new Offset({ + value: 0xEEE, + name: 'surfaceWindCeiling', + category: OffsetCategory.WEATHER, + description: 'surface wind ceiling - ft', + convert: '+({VAL} * 3.28084).toFixed(2)', + type: Type.UInt16, + permission: 'r', + }), + surfaceWindTurbulence: new Offset({ + value: 0xEF4, + name: 'surfaceWindTurbulence', + category: OffsetCategory.WEATHER, + description: 'surface wind turbulence - 0-255', + type: Type.UInt16, + permission: 'r', + }), + surfaceWindGustEnabled: new Offset({ + value: 0xEF6, + name: 'surfaceWindGustEnabled', + category: OffsetCategory.WEATHER, + description: 'surface wind gust enabled', + convert: '!!{VAL}', + type: Type.UInt16, + permission: 'r', + }), + upperCloudType: new Offset({ + value: 0xEF8, + name: 'upperCloudType', + category: OffsetCategory.WEATHER, + description: 'upper cloud type', + convert: 'cloudType', + mapping: true, + type: Type.UInt16, + permission: 'r', + }), + upperCloudIcing: new Offset({ + value: 0xEFA, + name: 'upperCloudIcing', + category: OffsetCategory.WEATHER, + description: 'upper cloud icing', + convert: '!!{VAL}', + type: Type.UInt16, + permission: 'r', + }), + upperCloudTurbulence: new Offset({ + value: 0xEFC, + name: 'upperCloudTurbulence', + category: OffsetCategory.WEATHER, + description: 'upper cloud turbulence - 0-255', + type: Type.UInt16, + permission: 'r', + }), + lowerCloudType: new Offset({ + value: 0xEFE, + name: 'lowerCloudType', + category: OffsetCategory.WEATHER, + description: 'lower cloud type', + convert: 'cloudType', + mapping: true, + type: Type.UInt16, + permission: 'r', + }), + lowerCloudIcing: new Offset({ + value: 0xF00, + name: 'lowerCloudIcing', + category: OffsetCategory.WEATHER, + description: 'lower cloud icing', + convert: '!!{VAL}', + type: Type.UInt16, + permission: 'r', + }), + lowerCloudTurbulence: new Offset({ + value: 0xF02, + name: 'lowerCloudTurbulence', + category: OffsetCategory.WEATHER, + description: 'lower cloud turbulence - 0-255', + type: Type.UInt16, + permission: 'r', + }), + stormCloudType: new Offset({ + value: 0xF04, + name: 'stormCloudType', + category: OffsetCategory.WEATHER, + description: 'storm cloud type', + convert: 'cloudType', + mapping: true, + type: Type.UInt16, + permission: 'r', + }), + stormCloudIcing: new Offset({ + value: 0xF06, + name: 'stormCloudIcing', + category: OffsetCategory.WEATHER, + description: 'storm cloud icing', + convert: '!!{VAL}', + type: Type.UInt16, + permission: 'r', + }), + stormCloudTurbulence: new Offset({ + value: 0xF08, + name: 'stormCloudTurbulence', + category: OffsetCategory.WEATHER, + description: 'storm cloud turbulence - 0-255', + type: Type.UInt16, + permission: 'r', + }), }; diff --git a/src/shared/weather/cloud-type.ts b/src/shared/weather/cloud-type.ts new file mode 100644 index 0000000..9fddf4d --- /dev/null +++ b/src/shared/weather/cloud-type.ts @@ -0,0 +1,6 @@ +export enum CloudType { + USER = 'user', + CIRRUS = 'cirrus', + STRATUS = 'stratus', + CUMULUS = 'cumulus', +} diff --git a/tests/convert/mappings/__snapshots__/mappings.spec.ts.snap b/tests/convert/mappings/__snapshots__/mappings.spec.ts.snap index d11d407..67366c8 100644 --- a/tests/convert/mappings/__snapshots__/mappings.spec.ts.snap +++ b/tests/convert/mappings/__snapshots__/mappings.spec.ts.snap @@ -3,6 +3,7 @@ exports[`mappings list should import all mappings 1`] = ` Object { "appliedBrakes": [Function], + "cloudType": [Function], "engineType": [Function], "ftsecToKt": [Function], "ktToFtsec": [Function], diff --git a/tests/convert/mappings/cloud-type.spec.ts b/tests/convert/mappings/cloud-type.spec.ts new file mode 100644 index 0000000..032fd8d --- /dev/null +++ b/tests/convert/mappings/cloud-type.spec.ts @@ -0,0 +1,17 @@ +import { cloudType } from '@mappings/cloud-type'; +import { CloudType } from '@shared/weather/cloud-type'; + +const TESTS = [ + { value: 0, result: CloudType.USER }, + { value: 1, result: CloudType.CIRRUS }, + { value: 8, result: CloudType.STRATUS }, + { value: 9, result: CloudType.CUMULUS }, +]; + +describe('cloud type mapping', () => { + TESTS.forEach(test => { + it(`should map value ${test.value} to cloud type ${test.result}`, () => { + expect(cloudType(test.value)).toEqual(test.result); + }); + }); +}); diff --git a/tests/offsets/__snapshots__/offset.spec.ts.snap b/tests/offsets/__snapshots__/offset.spec.ts.snap index 8764feb..dc9f3f4 100644 --- a/tests/offsets/__snapshots__/offset.spec.ts.snap +++ b/tests/offsets/__snapshots__/offset.spec.ts.snap @@ -3357,6 +3357,171 @@ Object { "type": 4, "value": 1384, }, + "lowerCloudBase": Offset { + "category": "weather", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "lower cloud layer base - ft", + "length": undefined, + "mapping": undefined, + "name": "lowerCloudBase", + "permission": "r", + "type": 5, + "value": 3748, + }, + "lowerCloudCeiling": Offset { + "category": "weather", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "lower cloud layer ceiling - ft", + "length": undefined, + "mapping": undefined, + "name": "lowerCloudCeiling", + "permission": "r", + "type": 5, + "value": 3746, + }, + "lowerCloudCoverage": Offset { + "category": "weather", + "convert": "Math.round(({VAL} + 1) / 8192)", + "description": "lower cloud layer coverage - oktas", + "length": undefined, + "mapping": undefined, + "name": "lowerCloudCoverage", + "permission": "r", + "type": 5, + "value": 3750, + }, + "lowerCloudIcing": Offset { + "category": "weather", + "convert": "!!{VAL}", + "description": "lower cloud icing", + "length": undefined, + "mapping": undefined, + "name": "lowerCloudIcing", + "permission": "r", + "type": 5, + "value": 3840, + }, + "lowerCloudTurbulence": Offset { + "category": "weather", + "convert": undefined, + "description": "lower cloud turbulence - 0-255", + "length": undefined, + "mapping": undefined, + "name": "lowerCloudTurbulence", + "permission": "r", + "type": 5, + "value": 3842, + }, + "lowerCloudType": Offset { + "category": "weather", + "convert": "cloudType", + "description": "lower cloud type", + "length": undefined, + "mapping": true, + "name": "lowerCloudType", + "permission": "r", + "type": 5, + "value": 3838, + }, + "lowerCloudVariation": Offset { + "category": "weather", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "lower cloud layer variation - ft", + "length": undefined, + "mapping": undefined, + "name": "lowerCloudVariation", + "permission": "r", + "type": 5, + "value": 3752, + }, + "lowerTemperature": Offset { + "category": "weather", + "convert": "Math.round({VAL} / 256)", + "description": "lower temperature - degrees C", + "length": undefined, + "mapping": undefined, + "name": "lowerTemperature", + "permission": "r", + "type": 2, + "value": 3772, + }, + "lowerTemperatureLevel": Offset { + "category": "weather", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "lower temperature level - ft", + "length": undefined, + "mapping": undefined, + "name": "lowerTemperatureLevel", + "permission": "r", + "type": 5, + "value": 3770, + }, + "lowerWindBase": Offset { + "category": "weather", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "lower wind ceiling - ft", + "length": undefined, + "mapping": undefined, + "name": "lowerWindBase", + "permission": "r", + "type": 5, + "value": 3812, + }, + "lowerWindCeiling": Offset { + "category": "weather", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "lower wind ceiling - ft", + "length": undefined, + "mapping": undefined, + "name": "lowerWindCeiling", + "permission": "r", + "type": 5, + "value": 3810, + }, + "lowerWindDirection": Offset { + "category": "weather", + "convert": "+({VAL} * 360 / 65536).toFixed(2)", + "description": "lower wind ceiling - TRUE degrees", + "length": undefined, + "mapping": undefined, + "name": "lowerWindDirection", + "permission": "r", + "type": 5, + "value": 3816, + }, + "lowerWindGustEnabled": Offset { + "category": "weather", + "convert": "!!{VAL}", + "description": "lower wind gust enabled", + "length": undefined, + "mapping": undefined, + "name": "lowerWindGustEnabled", + "permission": "r", + "type": 2, + "value": 3820, + }, + "lowerWindSpeed": Offset { + "category": "weather", + "convert": undefined, + "description": "lower wind ceiling - kt", + "length": undefined, + "mapping": undefined, + "name": "lowerWindSpeed", + "permission": "r", + "type": 5, + "value": 3814, + }, + "lowerWindTurbulence": Offset { + "category": "weather", + "convert": undefined, + "description": "lower wind turbulence - 0-255", + "length": undefined, + "mapping": undefined, + "name": "lowerWindTurbulence", + "permission": "r", + "type": 5, + "value": 3818, + }, "macroOrLuaParameters": Offset { "category": "simulation", "convert": undefined, @@ -3489,6 +3654,94 @@ Object { "type": 2, "value": 2990, }, + "middleTemperature": Offset { + "category": "weather", + "convert": "Math.round({VAL} / 256)", + "description": "middle temperature - degrees C", + "length": undefined, + "mapping": undefined, + "name": "middleTemperature", + "permission": "r", + "type": 2, + "value": 3768, + }, + "middleTemperatureLevel": Offset { + "category": "weather", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "middle temperature level - ft", + "length": undefined, + "mapping": undefined, + "name": "middleTemperatureLevel", + "permission": "r", + "type": 5, + "value": 3766, + }, + "middleWindBase": Offset { + "category": "weather", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "middle wind ceiling - ft", + "length": undefined, + "mapping": undefined, + "name": "middleWindBase", + "permission": "r", + "type": 5, + "value": 3800, + }, + "middleWindCeiling": Offset { + "category": "weather", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "middle wind ceiling - ft", + "length": undefined, + "mapping": undefined, + "name": "middleWindCeiling", + "permission": "r", + "type": 5, + "value": 3798, + }, + "middleWindDirection": Offset { + "category": "weather", + "convert": "+({VAL} * 360 / 65536).toFixed(2)", + "description": "middle wind ceiling - TRUE degrees", + "length": undefined, + "mapping": undefined, + "name": "middleWindDirection", + "permission": "r", + "type": 5, + "value": 3804, + }, + "middleWindGustEnabled": Offset { + "category": "weather", + "convert": "!!{VAL}", + "description": "middle wind gust enabled", + "length": undefined, + "mapping": undefined, + "name": "middleWindGustEnabled", + "permission": "r", + "type": 5, + "value": 3808, + }, + "middleWindSpeed": Offset { + "category": "weather", + "convert": undefined, + "description": "middle wind ceiling - kt", + "length": undefined, + "mapping": undefined, + "name": "middleWindSpeed", + "permission": "r", + "type": 5, + "value": 3802, + }, + "middleWindTurbulence": Offset { + "category": "weather", + "convert": undefined, + "description": "middle wind turbulence - 0-255", + "length": undefined, + "mapping": undefined, + "name": "middleWindTurbulence", + "permission": "r", + "type": 5, + "value": 3806, + }, "nav12Select": Offset { "category": "radios", "convert": undefined, @@ -4105,6 +4358,28 @@ Object { "type": 6, "value": 808, }, + "pressureDrift": Offset { + "category": "weather", + "convert": "Math.round({VAL} / 16)", + "description": "pressure drift - mb", + "length": undefined, + "mapping": undefined, + "name": "pressureDrift", + "permission": "r", + "type": 2, + "value": 3784, + }, + "pressureQNH": Offset { + "category": "weather", + "convert": "Math.round({VAL} / 16)", + "description": "pressure QNH - mb", + "length": undefined, + "mapping": undefined, + "name": "pressureQNH", + "permission": "r", + "type": 5, + "value": 3782, + }, "propellerPitchControl": Offset { "category": "controls", "convert": undefined, @@ -4655,6 +4930,83 @@ Object { "type": 2, "value": 3080, }, + "stormCloudBase": Offset { + "category": "weather", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "storm cloud layer base - ft", + "length": undefined, + "mapping": undefined, + "name": "stormCloudBase", + "permission": "r", + "type": 5, + "value": 3756, + }, + "stormCloudCeiling": Offset { + "category": "weather", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "storm cloud layer ceiling - ft", + "length": undefined, + "mapping": undefined, + "name": "stormCloudCeiling", + "permission": "r", + "type": 5, + "value": 3754, + }, + "stormCloudCoverage": Offset { + "category": "weather", + "convert": "Math.round(({VAL} + 1) / 8192)", + "description": "storm cloud layer coverage - oktas", + "length": undefined, + "mapping": undefined, + "name": "stormCloudCoverage", + "permission": "r", + "type": 5, + "value": 3758, + }, + "stormCloudIcing": Offset { + "category": "weather", + "convert": "!!{VAL}", + "description": "storm cloud icing", + "length": undefined, + "mapping": undefined, + "name": "stormCloudIcing", + "permission": "r", + "type": 5, + "value": 3846, + }, + "stormCloudTurbulence": Offset { + "category": "weather", + "convert": undefined, + "description": "storm cloud turbulence - 0-255", + "length": undefined, + "mapping": undefined, + "name": "stormCloudTurbulence", + "permission": "r", + "type": 5, + "value": 3848, + }, + "stormCloudType": Offset { + "category": "weather", + "convert": "cloudType", + "description": "storm cloud type", + "length": undefined, + "mapping": true, + "name": "stormCloudType", + "permission": "r", + "type": 5, + "value": 3844, + }, + "stormCloudVariation": Offset { + "category": "weather", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "storm cloud layer variation - ft", + "length": undefined, + "mapping": undefined, + "name": "stormCloudVariation", + "permission": "r", + "type": 5, + "value": 3760, + }, "strobeLights": Offset { "category": "cockpit", "convert": "!!{VAL}", @@ -4688,6 +5040,39 @@ Object { "type": 8, "value": 2840, }, + "surfaceTemperature": Offset { + "category": "weather", + "convert": "Math.round({VAL} / 256)", + "description": "surface temperature - degrees C", + "length": undefined, + "mapping": undefined, + "name": "surfaceTemperature", + "permission": "r", + "type": 2, + "value": 3776, + }, + "surfaceTemperatureLevel": Offset { + "category": "weather", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "surface temperature level - ground elevation - ft", + "length": undefined, + "mapping": undefined, + "name": "surfaceTemperatureLevel", + "permission": "r", + "type": 5, + "value": 3774, + }, + "surfaceWindCeiling": Offset { + "category": "weather", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "surface wind ceiling - ft", + "length": undefined, + "mapping": undefined, + "name": "surfaceWindCeiling", + "permission": "r", + "type": 5, + "value": 3822, + }, "surfaceWindDirection": Offset { "category": "weather", "convert": "+({VAL} * 360 / 65536).toFixed(2)", @@ -4699,6 +5084,17 @@ Object { "type": 5, "value": 1242, }, + "surfaceWindGustEnabled": Offset { + "category": "weather", + "convert": "!!{VAL}", + "description": "surface wind gust enabled", + "length": undefined, + "mapping": undefined, + "name": "surfaceWindGustEnabled", + "permission": "r", + "type": 5, + "value": 3830, + }, "surfaceWindSpeed": Offset { "category": "weather", "convert": undefined, @@ -4710,6 +5106,17 @@ Object { "type": 5, "value": 1240, }, + "surfaceWindTurbulence": Offset { + "category": "weather", + "convert": undefined, + "description": "surface wind turbulence - 0-255", + "length": undefined, + "mapping": undefined, + "name": "surfaceWindTurbulence", + "permission": "r", + "type": 5, + "value": 3828, + }, "tas": Offset { "category": "position_attitude", "convert": "Math.floor({VAL} / 128)", @@ -4721,6 +5128,28 @@ Object { "type": 3, "value": 696, }, + "temperatureDayNightVariation": Offset { + "category": "weather", + "convert": "Math.round({VAL} / 256)", + "description": "temperature day night variation - degrees C", + "length": undefined, + "mapping": undefined, + "name": "temperatureDayNightVariation", + "permission": "r", + "type": 2, + "value": 3780, + }, + "temperatureDrift": Offset { + "category": "weather", + "convert": "Math.round({VAL} / 256)", + "description": "temperature drift - degrees C", + "length": undefined, + "mapping": undefined, + "name": "temperatureDrift", + "permission": "r", + "type": 2, + "value": 3778, + }, "textureQuality": Offset { "category": "simulation", "convert": undefined, @@ -4897,6 +5326,171 @@ Object { "type": 3, "value": 3064, }, + "upperCloudBase": Offset { + "category": "weather", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "upper cloud layer base - ft", + "length": undefined, + "mapping": undefined, + "name": "upperCloudBase", + "permission": "r", + "type": 5, + "value": 3740, + }, + "upperCloudCeiling": Offset { + "category": "weather", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "upper cloud layer ceiling - ft", + "length": undefined, + "mapping": undefined, + "name": "upperCloudCeiling", + "permission": "r", + "type": 5, + "value": 3738, + }, + "upperCloudCoverage": Offset { + "category": "weather", + "convert": "Math.round(({VAL} + 1) / 8192)", + "description": "upper cloud layer coverage - oktas", + "length": undefined, + "mapping": undefined, + "name": "upperCloudCoverage", + "permission": "r", + "type": 5, + "value": 3742, + }, + "upperCloudIcing": Offset { + "category": "weather", + "convert": "!!{VAL}", + "description": "upper cloud icing", + "length": undefined, + "mapping": undefined, + "name": "upperCloudIcing", + "permission": "r", + "type": 5, + "value": 3834, + }, + "upperCloudTurbulence": Offset { + "category": "weather", + "convert": undefined, + "description": "upper cloud turbulence - 0-255", + "length": undefined, + "mapping": undefined, + "name": "upperCloudTurbulence", + "permission": "r", + "type": 5, + "value": 3836, + }, + "upperCloudType": Offset { + "category": "weather", + "convert": "cloudType", + "description": "upper cloud type", + "length": undefined, + "mapping": true, + "name": "upperCloudType", + "permission": "r", + "type": 5, + "value": 3832, + }, + "upperCloudVariation": Offset { + "category": "weather", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "upper cloud layer variation - ft", + "length": undefined, + "mapping": undefined, + "name": "upperCloudVariation", + "permission": "r", + "type": 5, + "value": 3744, + }, + "upperTemperature": Offset { + "category": "weather", + "convert": "Math.round({VAL} / 256)", + "description": "upper temperature - degrees C", + "length": undefined, + "mapping": undefined, + "name": "upperTemperature", + "permission": "r", + "type": 2, + "value": 3764, + }, + "upperTemperatureLevel": Offset { + "category": "weather", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "upper temperature level - ft", + "length": undefined, + "mapping": undefined, + "name": "upperTemperatureLevel", + "permission": "r", + "type": 5, + "value": 3762, + }, + "upperWindBase": Offset { + "category": "weather", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "upper wind ceiling - ft", + "length": undefined, + "mapping": undefined, + "name": "upperWindBase", + "permission": "r", + "type": 5, + "value": 3788, + }, + "upperWindCeiling": Offset { + "category": "weather", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "upper wind ceiling - ft", + "length": undefined, + "mapping": undefined, + "name": "upperWindCeiling", + "permission": "r", + "type": 5, + "value": 3786, + }, + "upperWindDirection": Offset { + "category": "weather", + "convert": "+({VAL} * 360 / 65536).toFixed(2)", + "description": "upper wind ceiling - TRUE degrees", + "length": undefined, + "mapping": undefined, + "name": "upperWindDirection", + "permission": "r", + "type": 5, + "value": 3792, + }, + "upperWindGustEnabled": Offset { + "category": "weather", + "convert": "!!{VAL}", + "description": "upper wind gust enabled", + "length": undefined, + "mapping": undefined, + "name": "upperWindGustEnabled", + "permission": "r", + "type": 5, + "value": 3796, + }, + "upperWindSpeed": Offset { + "category": "weather", + "convert": undefined, + "description": "upper wind ceiling - kt", + "length": undefined, + "mapping": undefined, + "name": "upperWindSpeed", + "permission": "r", + "type": 5, + "value": 3790, + }, + "upperWindTurbulence": Offset { + "category": "weather", + "convert": undefined, + "description": "upper wind turbulence - 0-255", + "length": undefined, + "mapping": undefined, + "name": "upperWindTurbulence", + "permission": "r", + "type": 5, + "value": 3794, + }, "vacuumFailure": Offset { "category": "failure", "convert": "typeof {VAL} === \`boolean\` ? {VAL} ? 1 : 0 : !!{VAL}", @@ -5403,6 +5997,28 @@ Object { "type": 5, "value": 3730, }, + "windDirectionalVariation": Offset { + "category": "weather", + "convert": "+({VAL} * 360 / 65536).toFixed(2)", + "description": "wind directional variation at aircraft - TRUE degrees", + "length": undefined, + "mapping": undefined, + "name": "windDirectionalVariation", + "permission": "r", + "type": 5, + "value": 3734, + }, + "windGust": Offset { + "category": "weather", + "convert": undefined, + "description": "wind gust at aircraft - kt", + "length": undefined, + "mapping": undefined, + "name": "windGust", + "permission": "r", + "type": 5, + "value": 3732, + }, "windSpeed": Offset { "category": "weather", "convert": undefined, @@ -5425,6 +6041,17 @@ Object { "type": 5, "value": 1210, }, + "windTurbulence": Offset { + "category": "weather", + "convert": undefined, + "description": "wind turbulence at aircraft atltitude - 0-255", + "length": undefined, + "mapping": undefined, + "name": "windTurbulence", + "permission": "r", + "type": 5, + "value": 3736, + }, "zoomfactor": Offset { "category": "simulation", "convert": "Math.floor({VAL}/64)", diff --git a/tests/offsets/environment/__snapshots__/weather.spec.ts.snap b/tests/offsets/environment/__snapshots__/weather.spec.ts.snap index 4fc2252..8a92a5f 100644 --- a/tests/offsets/environment/__snapshots__/weather.spec.ts.snap +++ b/tests/offsets/environment/__snapshots__/weather.spec.ts.snap @@ -123,6 +123,171 @@ Object { "type": 2, "value": 3726, }, + "lowerCloudBase": Offset { + "category": "weather", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "lower cloud layer base - ft", + "length": undefined, + "mapping": undefined, + "name": "lowerCloudBase", + "permission": "r", + "type": 5, + "value": 3748, + }, + "lowerCloudCeiling": Offset { + "category": "weather", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "lower cloud layer ceiling - ft", + "length": undefined, + "mapping": undefined, + "name": "lowerCloudCeiling", + "permission": "r", + "type": 5, + "value": 3746, + }, + "lowerCloudCoverage": Offset { + "category": "weather", + "convert": "Math.round(({VAL} + 1) / 8192)", + "description": "lower cloud layer coverage - oktas", + "length": undefined, + "mapping": undefined, + "name": "lowerCloudCoverage", + "permission": "r", + "type": 5, + "value": 3750, + }, + "lowerCloudIcing": Offset { + "category": "weather", + "convert": "!!{VAL}", + "description": "lower cloud icing", + "length": undefined, + "mapping": undefined, + "name": "lowerCloudIcing", + "permission": "r", + "type": 5, + "value": 3840, + }, + "lowerCloudTurbulence": Offset { + "category": "weather", + "convert": undefined, + "description": "lower cloud turbulence - 0-255", + "length": undefined, + "mapping": undefined, + "name": "lowerCloudTurbulence", + "permission": "r", + "type": 5, + "value": 3842, + }, + "lowerCloudType": Offset { + "category": "weather", + "convert": "cloudType", + "description": "lower cloud type", + "length": undefined, + "mapping": true, + "name": "lowerCloudType", + "permission": "r", + "type": 5, + "value": 3838, + }, + "lowerCloudVariation": Offset { + "category": "weather", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "lower cloud layer variation - ft", + "length": undefined, + "mapping": undefined, + "name": "lowerCloudVariation", + "permission": "r", + "type": 5, + "value": 3752, + }, + "lowerTemperature": Offset { + "category": "weather", + "convert": "Math.round({VAL} / 256)", + "description": "lower temperature - degrees C", + "length": undefined, + "mapping": undefined, + "name": "lowerTemperature", + "permission": "r", + "type": 2, + "value": 3772, + }, + "lowerTemperatureLevel": Offset { + "category": "weather", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "lower temperature level - ft", + "length": undefined, + "mapping": undefined, + "name": "lowerTemperatureLevel", + "permission": "r", + "type": 5, + "value": 3770, + }, + "lowerWindBase": Offset { + "category": "weather", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "lower wind ceiling - ft", + "length": undefined, + "mapping": undefined, + "name": "lowerWindBase", + "permission": "r", + "type": 5, + "value": 3812, + }, + "lowerWindCeiling": Offset { + "category": "weather", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "lower wind ceiling - ft", + "length": undefined, + "mapping": undefined, + "name": "lowerWindCeiling", + "permission": "r", + "type": 5, + "value": 3810, + }, + "lowerWindDirection": Offset { + "category": "weather", + "convert": "+({VAL} * 360 / 65536).toFixed(2)", + "description": "lower wind ceiling - TRUE degrees", + "length": undefined, + "mapping": undefined, + "name": "lowerWindDirection", + "permission": "r", + "type": 5, + "value": 3816, + }, + "lowerWindGustEnabled": Offset { + "category": "weather", + "convert": "!!{VAL}", + "description": "lower wind gust enabled", + "length": undefined, + "mapping": undefined, + "name": "lowerWindGustEnabled", + "permission": "r", + "type": 2, + "value": 3820, + }, + "lowerWindSpeed": Offset { + "category": "weather", + "convert": undefined, + "description": "lower wind ceiling - kt", + "length": undefined, + "mapping": undefined, + "name": "lowerWindSpeed", + "permission": "r", + "type": 5, + "value": 3814, + }, + "lowerWindTurbulence": Offset { + "category": "weather", + "convert": undefined, + "description": "lower wind turbulence - 0-255", + "length": undefined, + "mapping": undefined, + "name": "lowerWindTurbulence", + "permission": "r", + "type": 5, + "value": 3818, + }, "metarBarometricDrift": Offset { "category": "weather", "convert": "{VAL} / 16", @@ -189,6 +354,94 @@ Object { "type": 5, "value": 1216, }, + "middleTemperature": Offset { + "category": "weather", + "convert": "Math.round({VAL} / 256)", + "description": "middle temperature - degrees C", + "length": undefined, + "mapping": undefined, + "name": "middleTemperature", + "permission": "r", + "type": 2, + "value": 3768, + }, + "middleTemperatureLevel": Offset { + "category": "weather", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "middle temperature level - ft", + "length": undefined, + "mapping": undefined, + "name": "middleTemperatureLevel", + "permission": "r", + "type": 5, + "value": 3766, + }, + "middleWindBase": Offset { + "category": "weather", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "middle wind ceiling - ft", + "length": undefined, + "mapping": undefined, + "name": "middleWindBase", + "permission": "r", + "type": 5, + "value": 3800, + }, + "middleWindCeiling": Offset { + "category": "weather", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "middle wind ceiling - ft", + "length": undefined, + "mapping": undefined, + "name": "middleWindCeiling", + "permission": "r", + "type": 5, + "value": 3798, + }, + "middleWindDirection": Offset { + "category": "weather", + "convert": "+({VAL} * 360 / 65536).toFixed(2)", + "description": "middle wind ceiling - TRUE degrees", + "length": undefined, + "mapping": undefined, + "name": "middleWindDirection", + "permission": "r", + "type": 5, + "value": 3804, + }, + "middleWindGustEnabled": Offset { + "category": "weather", + "convert": "!!{VAL}", + "description": "middle wind gust enabled", + "length": undefined, + "mapping": undefined, + "name": "middleWindGustEnabled", + "permission": "r", + "type": 5, + "value": 3808, + }, + "middleWindSpeed": Offset { + "category": "weather", + "convert": undefined, + "description": "middle wind ceiling - kt", + "length": undefined, + "mapping": undefined, + "name": "middleWindSpeed", + "permission": "r", + "type": 5, + "value": 3802, + }, + "middleWindTurbulence": Offset { + "category": "weather", + "convert": undefined, + "description": "middle wind turbulence - 0-255", + "length": undefined, + "mapping": undefined, + "name": "middleWindTurbulence", + "permission": "r", + "type": 5, + "value": 3806, + }, "precipitationControl": Offset { "category": "weather", "convert": undefined, @@ -222,6 +475,138 @@ Object { "type": 0, "value": 1228, }, + "pressureDrift": Offset { + "category": "weather", + "convert": "Math.round({VAL} / 16)", + "description": "pressure drift - mb", + "length": undefined, + "mapping": undefined, + "name": "pressureDrift", + "permission": "r", + "type": 2, + "value": 3784, + }, + "pressureQNH": Offset { + "category": "weather", + "convert": "Math.round({VAL} / 16)", + "description": "pressure QNH - mb", + "length": undefined, + "mapping": undefined, + "name": "pressureQNH", + "permission": "r", + "type": 5, + "value": 3782, + }, + "stormCloudBase": Offset { + "category": "weather", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "storm cloud layer base - ft", + "length": undefined, + "mapping": undefined, + "name": "stormCloudBase", + "permission": "r", + "type": 5, + "value": 3756, + }, + "stormCloudCeiling": Offset { + "category": "weather", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "storm cloud layer ceiling - ft", + "length": undefined, + "mapping": undefined, + "name": "stormCloudCeiling", + "permission": "r", + "type": 5, + "value": 3754, + }, + "stormCloudCoverage": Offset { + "category": "weather", + "convert": "Math.round(({VAL} + 1) / 8192)", + "description": "storm cloud layer coverage - oktas", + "length": undefined, + "mapping": undefined, + "name": "stormCloudCoverage", + "permission": "r", + "type": 5, + "value": 3758, + }, + "stormCloudIcing": Offset { + "category": "weather", + "convert": "!!{VAL}", + "description": "storm cloud icing", + "length": undefined, + "mapping": undefined, + "name": "stormCloudIcing", + "permission": "r", + "type": 5, + "value": 3846, + }, + "stormCloudTurbulence": Offset { + "category": "weather", + "convert": undefined, + "description": "storm cloud turbulence - 0-255", + "length": undefined, + "mapping": undefined, + "name": "stormCloudTurbulence", + "permission": "r", + "type": 5, + "value": 3848, + }, + "stormCloudType": Offset { + "category": "weather", + "convert": "cloudType", + "description": "storm cloud type", + "length": undefined, + "mapping": true, + "name": "stormCloudType", + "permission": "r", + "type": 5, + "value": 3844, + }, + "stormCloudVariation": Offset { + "category": "weather", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "storm cloud layer variation - ft", + "length": undefined, + "mapping": undefined, + "name": "stormCloudVariation", + "permission": "r", + "type": 5, + "value": 3760, + }, + "surfaceTemperature": Offset { + "category": "weather", + "convert": "Math.round({VAL} / 256)", + "description": "surface temperature - degrees C", + "length": undefined, + "mapping": undefined, + "name": "surfaceTemperature", + "permission": "r", + "type": 2, + "value": 3776, + }, + "surfaceTemperatureLevel": Offset { + "category": "weather", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "surface temperature level - ground elevation - ft", + "length": undefined, + "mapping": undefined, + "name": "surfaceTemperatureLevel", + "permission": "r", + "type": 5, + "value": 3774, + }, + "surfaceWindCeiling": Offset { + "category": "weather", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "surface wind ceiling - ft", + "length": undefined, + "mapping": undefined, + "name": "surfaceWindCeiling", + "permission": "r", + "type": 5, + "value": 3822, + }, "surfaceWindDirection": Offset { "category": "weather", "convert": "+({VAL} * 360 / 65536).toFixed(2)", @@ -233,6 +618,17 @@ Object { "type": 5, "value": 1242, }, + "surfaceWindGustEnabled": Offset { + "category": "weather", + "convert": "!!{VAL}", + "description": "surface wind gust enabled", + "length": undefined, + "mapping": undefined, + "name": "surfaceWindGustEnabled", + "permission": "r", + "type": 5, + "value": 3830, + }, "surfaceWindSpeed": Offset { "category": "weather", "convert": undefined, @@ -244,6 +640,39 @@ Object { "type": 5, "value": 1240, }, + "surfaceWindTurbulence": Offset { + "category": "weather", + "convert": undefined, + "description": "surface wind turbulence - 0-255", + "length": undefined, + "mapping": undefined, + "name": "surfaceWindTurbulence", + "permission": "r", + "type": 5, + "value": 3828, + }, + "temperatureDayNightVariation": Offset { + "category": "weather", + "convert": "Math.round({VAL} / 256)", + "description": "temperature day night variation - degrees C", + "length": undefined, + "mapping": undefined, + "name": "temperatureDayNightVariation", + "permission": "r", + "type": 2, + "value": 3780, + }, + "temperatureDrift": Offset { + "category": "weather", + "convert": "Math.round({VAL} / 256)", + "description": "temperature drift - degrees C", + "length": undefined, + "mapping": undefined, + "name": "temperatureDrift", + "permission": "r", + "type": 2, + "value": 3778, + }, "unlimitedVisibility": Offset { "category": "weather", "convert": "+({VAL} / 1600).toFixed(2)", @@ -255,6 +684,171 @@ Object { "type": 3, "value": 3064, }, + "upperCloudBase": Offset { + "category": "weather", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "upper cloud layer base - ft", + "length": undefined, + "mapping": undefined, + "name": "upperCloudBase", + "permission": "r", + "type": 5, + "value": 3740, + }, + "upperCloudCeiling": Offset { + "category": "weather", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "upper cloud layer ceiling - ft", + "length": undefined, + "mapping": undefined, + "name": "upperCloudCeiling", + "permission": "r", + "type": 5, + "value": 3738, + }, + "upperCloudCoverage": Offset { + "category": "weather", + "convert": "Math.round(({VAL} + 1) / 8192)", + "description": "upper cloud layer coverage - oktas", + "length": undefined, + "mapping": undefined, + "name": "upperCloudCoverage", + "permission": "r", + "type": 5, + "value": 3742, + }, + "upperCloudIcing": Offset { + "category": "weather", + "convert": "!!{VAL}", + "description": "upper cloud icing", + "length": undefined, + "mapping": undefined, + "name": "upperCloudIcing", + "permission": "r", + "type": 5, + "value": 3834, + }, + "upperCloudTurbulence": Offset { + "category": "weather", + "convert": undefined, + "description": "upper cloud turbulence - 0-255", + "length": undefined, + "mapping": undefined, + "name": "upperCloudTurbulence", + "permission": "r", + "type": 5, + "value": 3836, + }, + "upperCloudType": Offset { + "category": "weather", + "convert": "cloudType", + "description": "upper cloud type", + "length": undefined, + "mapping": true, + "name": "upperCloudType", + "permission": "r", + "type": 5, + "value": 3832, + }, + "upperCloudVariation": Offset { + "category": "weather", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "upper cloud layer variation - ft", + "length": undefined, + "mapping": undefined, + "name": "upperCloudVariation", + "permission": "r", + "type": 5, + "value": 3744, + }, + "upperTemperature": Offset { + "category": "weather", + "convert": "Math.round({VAL} / 256)", + "description": "upper temperature - degrees C", + "length": undefined, + "mapping": undefined, + "name": "upperTemperature", + "permission": "r", + "type": 2, + "value": 3764, + }, + "upperTemperatureLevel": Offset { + "category": "weather", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "upper temperature level - ft", + "length": undefined, + "mapping": undefined, + "name": "upperTemperatureLevel", + "permission": "r", + "type": 5, + "value": 3762, + }, + "upperWindBase": Offset { + "category": "weather", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "upper wind ceiling - ft", + "length": undefined, + "mapping": undefined, + "name": "upperWindBase", + "permission": "r", + "type": 5, + "value": 3788, + }, + "upperWindCeiling": Offset { + "category": "weather", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "upper wind ceiling - ft", + "length": undefined, + "mapping": undefined, + "name": "upperWindCeiling", + "permission": "r", + "type": 5, + "value": 3786, + }, + "upperWindDirection": Offset { + "category": "weather", + "convert": "+({VAL} * 360 / 65536).toFixed(2)", + "description": "upper wind ceiling - TRUE degrees", + "length": undefined, + "mapping": undefined, + "name": "upperWindDirection", + "permission": "r", + "type": 5, + "value": 3792, + }, + "upperWindGustEnabled": Offset { + "category": "weather", + "convert": "!!{VAL}", + "description": "upper wind gust enabled", + "length": undefined, + "mapping": undefined, + "name": "upperWindGustEnabled", + "permission": "r", + "type": 5, + "value": 3796, + }, + "upperWindSpeed": Offset { + "category": "weather", + "convert": undefined, + "description": "upper wind ceiling - kt", + "length": undefined, + "mapping": undefined, + "name": "upperWindSpeed", + "permission": "r", + "type": 5, + "value": 3790, + }, + "upperWindTurbulence": Offset { + "category": "weather", + "convert": undefined, + "description": "upper wind turbulence - 0-255", + "length": undefined, + "mapping": undefined, + "name": "upperWindTurbulence", + "permission": "r", + "type": 5, + "value": 3794, + }, "visibility": Offset { "category": "weather", "convert": "+({VAL} / 100).toFixed(2)", @@ -277,6 +871,28 @@ Object { "type": 5, "value": 3730, }, + "windDirectionalVariation": Offset { + "category": "weather", + "convert": "+({VAL} * 360 / 65536).toFixed(2)", + "description": "wind directional variation at aircraft - TRUE degrees", + "length": undefined, + "mapping": undefined, + "name": "windDirectionalVariation", + "permission": "r", + "type": 5, + "value": 3734, + }, + "windGust": Offset { + "category": "weather", + "convert": undefined, + "description": "wind gust at aircraft - kt", + "length": undefined, + "mapping": undefined, + "name": "windGust", + "permission": "r", + "type": 5, + "value": 3732, + }, "windSpeed": Offset { "category": "weather", "convert": undefined, @@ -299,5 +915,16 @@ Object { "type": 5, "value": 1210, }, + "windTurbulence": Offset { + "category": "weather", + "convert": undefined, + "description": "wind turbulence at aircraft atltitude - 0-255", + "length": undefined, + "mapping": undefined, + "name": "windTurbulence", + "permission": "r", + "type": 5, + "value": 3736, + }, } `; diff --git a/tests/offsets/environment/weather.spec.ts b/tests/offsets/environment/weather.spec.ts index 668cb33..eb516a4 100644 --- a/tests/offsets/environment/weather.spec.ts +++ b/tests/offsets/environment/weather.spec.ts @@ -16,6 +16,55 @@ describe('offset - environment/weather', () => { { name: 'OAT', value: 512, expectedResult: 2 }, { name: 'interpolatedDewPoint', value: 512, expectedResult: 2 }, { name: 'windDirection', value: 32768, expectedResult: 180 }, + { name: 'windDirectionalVariation', value: 32768, expectedResult: 180 }, + { name: 'upperCloudCeiling', value: 914, expectedResult: 2998.69 }, + { name: 'upperCloudBase', value: 914, expectedResult: 2998.69 }, + { name: 'upperCloudCoverage', value: 32768 , expectedResult: 4 }, + { name: 'upperCloudVariation', value: 914, expectedResult: 2998.69 }, + { name: 'lowerCloudCeiling', value: 914, expectedResult: 2998.69 }, + { name: 'lowerCloudBase', value: 914, expectedResult: 2998.69 }, + { name: 'lowerCloudCoverage', value: 32768 , expectedResult: 4 }, + { name: 'lowerCloudVariation', value: 914, expectedResult: 2998.69 }, + { name: 'stormCloudCeiling', value: 914, expectedResult: 2998.69 }, + { name: 'stormCloudBase', value: 914, expectedResult: 2998.69 }, + { name: 'stormCloudCoverage', value: 32768 , expectedResult: 4 }, + { name: 'stormCloudVariation', value: 914, expectedResult: 2998.69 }, + { name: 'upperTemperatureLevel', value: 914, expectedResult: 2998.69 }, + { name: 'upperTemperature', value: 512, expectedResult: 2 }, + { name: 'middleTemperatureLevel', value: 914, expectedResult: 2998.69 }, + { name: 'middleTemperature', value: 512, expectedResult: 2 }, + { name: 'lowerTemperatureLevel', value: 914, expectedResult: 2998.69 }, + { name: 'lowerTemperature', value: 512, expectedResult: 2 }, + { name: 'surfaceTemperatureLevel', value: 914, expectedResult: 2998.69 }, + { name: 'surfaceTemperature', value: 512, expectedResult: 2 }, + { name: 'temperatureDrift', value: 512, expectedResult: 2 }, + { name: 'temperatureDayNightVariation', value: 512, expectedResult: 2 }, + { name: 'pressureQNH', value: 32, expectedResult: 2 }, + { name: 'pressureDrift', value: 32, expectedResult: 2 }, + { name: 'upperWindCeiling', value: 914, expectedResult: 2998.69 }, + { name: 'upperWindBase', value: 914, expectedResult: 2998.69 }, + { name: 'upperWindDirection', value: 32768, expectedResult: 180 }, + { name: 'upperWindGustEnabled', value: 1, expectedResult: true }, + { name: 'upperWindGustEnabled', value: 0, expectedResult: false }, + { name: 'middleWindCeiling', value: 914, expectedResult: 2998.69 }, + { name: 'middleWindBase', value: 914, expectedResult: 2998.69 }, + { name: 'middleWindDirection', value: 32768, expectedResult: 180 }, + { name: 'middleWindGustEnabled', value: 1, expectedResult: true }, + { name: 'middleWindGustEnabled', value: 0, expectedResult: false }, + { name: 'lowerWindCeiling', value: 914, expectedResult: 2998.69 }, + { name: 'lowerWindBase', value: 914, expectedResult: 2998.69 }, + { name: 'lowerWindDirection', value: 32768, expectedResult: 180 }, + { name: 'lowerWindGustEnabled', value: 1, expectedResult: true }, + { name: 'lowerWindGustEnabled', value: 0, expectedResult: false }, + { name: 'surfaceWindCeiling', value: 914, expectedResult: 2998.69 }, + { name: 'surfaceWindGustEnabled', value: 1, expectedResult: true }, + { name: 'surfaceWindGustEnabled', value: 0, expectedResult: false }, + { name: 'upperCloudIcing', value: 1, expectedResult: true }, + { name: 'upperCloudIcing', value: 0, expectedResult: false }, + { name: 'lowerCloudIcing', value: 1, expectedResult: true }, + { name: 'lowerCloudIcing', value: 0, expectedResult: false }, + { name: 'stormCloudIcing', value: 1, expectedResult: true }, + { name: 'stormCloudIcing', value: 0, expectedResult: false }, ]; describe('offsets list', () => { diff --git a/yarn.lock b/yarn.lock index f064539..fd26a07 100644 --- a/yarn.lock +++ b/yarn.lock @@ -9,6 +9,13 @@ dependencies: "@babel/highlight" "^7.8.0" +"@babel/code-frame@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.8.3.tgz#33e25903d7481181534e12ec0a25f16b6fcf419e" + integrity sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g== + dependencies: + "@babel/highlight" "^7.8.3" + "@babel/core@^7.1.0": version "7.8.0" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.8.0.tgz#fd273d4faf69cc20ee3ccfd32d42df916bb4a15c" @@ -30,7 +37,28 @@ semver "^5.4.1" source-map "^0.5.0" -"@babel/generator@^7.4.0", "@babel/generator@^7.8.0": +"@babel/core@^7.7.5": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.8.3.tgz#30b0ebb4dd1585de6923a0b4d179e0b9f5d82941" + integrity sha512-4XFkf8AwyrEG7Ziu3L2L0Cv+WyY47Tcsp70JFmpftbAA1K7YL/sgE9jh9HyNj08Y/U50ItUchpN0w6HxAoX1rA== + dependencies: + "@babel/code-frame" "^7.8.3" + "@babel/generator" "^7.8.3" + "@babel/helpers" "^7.8.3" + "@babel/parser" "^7.8.3" + "@babel/template" "^7.8.3" + "@babel/traverse" "^7.8.3" + "@babel/types" "^7.8.3" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.1" + json5 "^2.1.0" + lodash "^4.17.13" + resolve "^1.3.2" + semver "^5.4.1" + source-map "^0.5.0" + +"@babel/generator@^7.8.0": version "7.8.0" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.8.0.tgz#40a1244677be58ffdc5cd01e22634cd1d5b29edf" integrity sha512-2Lp2e02CV2C7j/H4n4D9YvsvdhPVVg9GDIamr6Tu4tU35mL3mzOrzl1lZ8ZJtysfZXh+y+AGORc2rPS7yHxBUg== @@ -40,6 +68,16 @@ lodash "^4.17.13" source-map "^0.5.0" +"@babel/generator@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.8.3.tgz#0e22c005b0a94c1c74eafe19ef78ce53a4d45c03" + integrity sha512-WjoPk8hRpDRqqzRpvaR8/gDUPkrnOOeuT2m8cNICJtZH6mwaCo3v0OKMI7Y6SM1pBtyijnLtAL0HDi41pf41ug== + dependencies: + "@babel/types" "^7.8.3" + jsesc "^2.5.1" + lodash "^4.17.13" + source-map "^0.5.0" + "@babel/helper-function-name@^7.8.0": version "7.8.0" resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.8.0.tgz#dde5cf0d6b15c21817a67dd66fe7350348e023bf" @@ -49,6 +87,15 @@ "@babel/template" "^7.8.0" "@babel/types" "^7.8.0" +"@babel/helper-function-name@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.8.3.tgz#eeeb665a01b1f11068e9fb86ad56a1cb1a824cca" + integrity sha512-BCxgX1BC2hD/oBlIFUgOCQDOPV8nSINxCwM3o93xP4P9Fq6aV5sgv2cOOITDMtCfQ+3PvHp3l689XZvAM9QyOA== + dependencies: + "@babel/helper-get-function-arity" "^7.8.3" + "@babel/template" "^7.8.3" + "@babel/types" "^7.8.3" + "@babel/helper-get-function-arity@^7.8.0": version "7.8.0" resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.0.tgz#90977f61d76d2225d1ae0208def7df22ea92792e" @@ -56,6 +103,13 @@ dependencies: "@babel/types" "^7.8.0" +"@babel/helper-get-function-arity@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz#b894b947bd004381ce63ea1db9f08547e920abd5" + integrity sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA== + dependencies: + "@babel/types" "^7.8.3" + "@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.8.0": version "7.8.0" resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.0.tgz#59ec882d43c21c544ccb51decaecb306b34a8231" @@ -68,6 +122,13 @@ dependencies: "@babel/types" "^7.8.0" +"@babel/helper-split-export-declaration@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz#31a9f30070f91368a7182cf05f831781065fc7a9" + integrity sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA== + dependencies: + "@babel/types" "^7.8.3" + "@babel/helpers@^7.8.0": version "7.8.0" resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.8.0.tgz#3d3e6e08febf5edbbf63b1cf64395525aa3ece37" @@ -77,6 +138,15 @@ "@babel/traverse" "^7.8.0" "@babel/types" "^7.8.0" +"@babel/helpers@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.8.3.tgz#382fbb0382ce7c4ce905945ab9641d688336ce85" + integrity sha512-LmU3q9Pah/XyZU89QvBgGt+BCsTPoQa+73RxAQh8fb8qkDyIfeQnmgs+hvzhTCKTzqOyk7JTkS3MS1S8Mq5yrQ== + dependencies: + "@babel/template" "^7.8.3" + "@babel/traverse" "^7.8.3" + "@babel/types" "^7.8.3" + "@babel/highlight@^7.8.0": version "7.8.0" resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.8.0.tgz#4cc003dc10359919e2e3a1d9459150942913dd1a" @@ -86,11 +156,32 @@ esutils "^2.0.2" js-tokens "^4.0.0" -"@babel/parser@^7.1.0", "@babel/parser@^7.4.3", "@babel/parser@^7.8.0": +"@babel/highlight@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.8.3.tgz#28f173d04223eaaa59bc1d439a3836e6d1265797" + integrity sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg== + dependencies: + chalk "^2.0.0" + esutils "^2.0.2" + js-tokens "^4.0.0" + +"@babel/parser@^7.1.0", "@babel/parser@^7.8.0": version "7.8.0" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.8.0.tgz#54682775f1fb25dd29a93a02315aab29a6a292bb" integrity sha512-VVtsnUYbd1+2A2vOVhm4P2qNXQE8L/W859GpUHfUcdhX8d3pEKThZuIr6fztocWx9HbK+00/CR0tXnhAggJ4CA== +"@babel/parser@^7.7.5", "@babel/parser@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.8.3.tgz#790874091d2001c9be6ec426c2eed47bc7679081" + integrity sha512-/V72F4Yp/qmHaTALizEm9Gf2eQHV3QyTL3K0cNfijwnMnb1L+LDlAubb/ZnSdGAVzVSWakujHYs1I26x66sMeQ== + +"@babel/plugin-syntax-bigint@^7.0.0": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz#4c9a6f669f5d0cdf1b90a1671e9a146be5300cea" + integrity sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + "@babel/plugin-syntax-object-rest-spread@^7.0.0": version "7.8.0" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.0.tgz#9b37d580d459682364d8602494c69145b394fd4c" @@ -98,7 +189,16 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/template@^7.4.0", "@babel/template@^7.8.0": +"@babel/template@^7.7.4", "@babel/template@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.8.3.tgz#e02ad04fe262a657809327f578056ca15fd4d1b8" + integrity sha512-04m87AcQgAFdvuoyiQ2kgELr2tV8B4fP/xJAVUL3Yb3bkNdMedD3d0rlSQr3PegP0cms3eHjl1F7PWlvWbU8FQ== + dependencies: + "@babel/code-frame" "^7.8.3" + "@babel/parser" "^7.8.3" + "@babel/types" "^7.8.3" + +"@babel/template@^7.8.0": version "7.8.0" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.8.0.tgz#a32f57ad3be89c0fa69ae87b53b4826844dc6330" integrity sha512-0NNMDsY2t3ltAVVK1WHNiaePo3tXPUeJpCX4I3xSKFoEl852wJHG8mrgHVADf8Lz1y+8al9cF7cSSfzSnFSYiw== @@ -107,7 +207,7 @@ "@babel/parser" "^7.8.0" "@babel/types" "^7.8.0" -"@babel/traverse@^7.1.0", "@babel/traverse@^7.4.3", "@babel/traverse@^7.8.0": +"@babel/traverse@^7.1.0", "@babel/traverse@^7.8.0": version "7.8.0" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.8.0.tgz#d85266fdcff553c10e57b672604b36383a127c1f" integrity sha512-d/6sPXFLGlJHZO/zWDtgFaKyalCOHLedzxpVJn6el1cw+f2TZa7xZEszeXdOw6EUemqRFBAn106BWBvtSck9Qw== @@ -122,7 +222,22 @@ globals "^11.1.0" lodash "^4.17.13" -"@babel/types@^7.0.0", "@babel/types@^7.3.0", "@babel/types@^7.4.0", "@babel/types@^7.8.0": +"@babel/traverse@^7.7.4", "@babel/traverse@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.8.3.tgz#a826215b011c9b4f73f3a893afbc05151358bf9a" + integrity sha512-we+a2lti+eEImHmEXp7bM9cTxGzxPmBiVJlLVD+FuuQMeeO7RaDbutbgeheDkw+Xe3mCfJHnGOWLswT74m2IPg== + dependencies: + "@babel/code-frame" "^7.8.3" + "@babel/generator" "^7.8.3" + "@babel/helper-function-name" "^7.8.3" + "@babel/helper-split-export-declaration" "^7.8.3" + "@babel/parser" "^7.8.3" + "@babel/types" "^7.8.3" + debug "^4.1.0" + globals "^11.1.0" + lodash "^4.17.13" + +"@babel/types@^7.0.0", "@babel/types@^7.3.0", "@babel/types@^7.8.0": version "7.8.0" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.8.0.tgz#1a2039a028057a2c888b668d94c98e61ea906e7f" integrity sha512-1RF84ehyx9HH09dMMwGWl3UTWlVoCPtqqJPjGuC4JzMe1ZIVDJ2DT8mv3cPv/A7veLD6sgR7vi95lJqm+ZayIg== @@ -131,6 +246,20 @@ lodash "^4.17.13" to-fast-properties "^2.0.0" +"@babel/types@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.8.3.tgz#5a383dffa5416db1b73dedffd311ffd0788fb31c" + integrity sha512-jBD+G8+LWpMBBWvVcdr4QysjUE4mU/syrhN17o1u3gx0/WzJB1kwiVZAXRtWbsIPOwW8pF/YJV5+nmetPzepXg== + dependencies: + esutils "^2.0.2" + lodash "^4.17.13" + to-fast-properties "^2.0.0" + +"@bcoe/v8-coverage@^0.2.3": + version "0.2.3" + resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" + integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== + "@cnakazawa/watch@^1.0.3": version "1.0.3" resolved "https://registry.yarnpkg.com/@cnakazawa/watch/-/watch-1.0.3.tgz#099139eaec7ebf07a27c1786a3ff64f39464d2ef" @@ -147,144 +276,169 @@ commander "^2.20.0" globby "^9.2.0" -"@jest/console@^24.7.1", "@jest/console@^24.9.0": - version "24.9.0" - resolved "https://registry.yarnpkg.com/@jest/console/-/console-24.9.0.tgz#79b1bc06fb74a8cfb01cbdedf945584b1b9707f0" - integrity sha512-Zuj6b8TnKXi3q4ymac8EQfc3ea/uhLeCGThFqXeC8H9/raaH8ARPUTdId+XyGd03Z4In0/VjD2OYFcBF09fNLQ== +"@istanbuljs/load-nyc-config@^1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.0.0.tgz#10602de5570baea82f8afbfa2630b24e7a8cfe5b" + integrity sha512-ZR0rq/f/E4f4XcgnDvtMWXCUJpi8eO0rssVhmztsZqLIEFA9UUP9zmpE0VxlM+kv/E1ul2I876Fwil2ayptDVg== dependencies: - "@jest/source-map" "^24.9.0" - chalk "^2.0.1" - slash "^2.0.0" + camelcase "^5.3.1" + find-up "^4.1.0" + js-yaml "^3.13.1" + resolve-from "^5.0.0" -"@jest/core@^24.9.0": - version "24.9.0" - resolved "https://registry.yarnpkg.com/@jest/core/-/core-24.9.0.tgz#2ceccd0b93181f9c4850e74f2a9ad43d351369c4" - integrity sha512-Fogg3s4wlAr1VX7q+rhV9RVnUv5tD7VuWfYy1+whMiWUrvl7U3QJSJyWcDio9Lq2prqYsZaeTv2Rz24pWGkJ2A== - dependencies: - "@jest/console" "^24.7.1" - "@jest/reporters" "^24.9.0" - "@jest/test-result" "^24.9.0" - "@jest/transform" "^24.9.0" - "@jest/types" "^24.9.0" - ansi-escapes "^3.0.0" - chalk "^2.0.1" +"@istanbuljs/schema@^0.1.2": + version "0.1.2" + resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.2.tgz#26520bf09abe4a5644cd5414e37125a8954241dd" + integrity sha512-tsAQNx32a8CoFhjhijUIhI4kccIAgmGhy8LZMZgGfmXcpMbPRUqn5LWmgRttILi6yeGmBJd2xsPkFMs0PzgPCw== + +"@jest/console@^25.1.0": + version "25.1.0" + resolved "https://registry.yarnpkg.com/@jest/console/-/console-25.1.0.tgz#1fc765d44a1e11aec5029c08e798246bd37075ab" + integrity sha512-3P1DpqAMK/L07ag/Y9/Jup5iDEG9P4pRAuZiMQnU0JB3UOvCyYCjCoxr7sIA80SeyUCUKrr24fKAxVpmBgQonA== + dependencies: + "@jest/source-map" "^25.1.0" + chalk "^3.0.0" + jest-util "^25.1.0" + slash "^3.0.0" + +"@jest/core@^25.1.0": + version "25.1.0" + resolved "https://registry.yarnpkg.com/@jest/core/-/core-25.1.0.tgz#3d4634fc3348bb2d7532915d67781cdac0869e47" + integrity sha512-iz05+NmwCmZRzMXvMo6KFipW7nzhbpEawrKrkkdJzgytavPse0biEnCNr2wRlyCsp3SmKaEY+SGv7YWYQnIdig== + dependencies: + "@jest/console" "^25.1.0" + "@jest/reporters" "^25.1.0" + "@jest/test-result" "^25.1.0" + "@jest/transform" "^25.1.0" + "@jest/types" "^25.1.0" + ansi-escapes "^4.2.1" + chalk "^3.0.0" exit "^0.1.2" - graceful-fs "^4.1.15" - jest-changed-files "^24.9.0" - jest-config "^24.9.0" - jest-haste-map "^24.9.0" - jest-message-util "^24.9.0" - jest-regex-util "^24.3.0" - jest-resolve "^24.9.0" - jest-resolve-dependencies "^24.9.0" - jest-runner "^24.9.0" - jest-runtime "^24.9.0" - jest-snapshot "^24.9.0" - jest-util "^24.9.0" - jest-validate "^24.9.0" - jest-watcher "^24.9.0" - micromatch "^3.1.10" - p-each-series "^1.0.0" + graceful-fs "^4.2.3" + jest-changed-files "^25.1.0" + jest-config "^25.1.0" + jest-haste-map "^25.1.0" + jest-message-util "^25.1.0" + jest-regex-util "^25.1.0" + jest-resolve "^25.1.0" + jest-resolve-dependencies "^25.1.0" + jest-runner "^25.1.0" + jest-runtime "^25.1.0" + jest-snapshot "^25.1.0" + jest-util "^25.1.0" + jest-validate "^25.1.0" + jest-watcher "^25.1.0" + micromatch "^4.0.2" + p-each-series "^2.1.0" realpath-native "^1.1.0" - rimraf "^2.5.4" - slash "^2.0.0" - strip-ansi "^5.0.0" - -"@jest/environment@^24.9.0": - version "24.9.0" - resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-24.9.0.tgz#21e3afa2d65c0586cbd6cbefe208bafade44ab18" - integrity sha512-5A1QluTPhvdIPFYnO3sZC3smkNeXPVELz7ikPbhUj0bQjB07EoE9qtLrem14ZUYWdVayYbsjVwIiL4WBIMV4aQ== - dependencies: - "@jest/fake-timers" "^24.9.0" - "@jest/transform" "^24.9.0" - "@jest/types" "^24.9.0" - jest-mock "^24.9.0" - -"@jest/fake-timers@^24.9.0": - version "24.9.0" - resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-24.9.0.tgz#ba3e6bf0eecd09a636049896434d306636540c93" - integrity sha512-eWQcNa2YSwzXWIMC5KufBh3oWRIijrQFROsIqt6v/NS9Io/gknw1jsAC9c+ih/RQX4A3O7SeWAhQeN0goKhT9A== - dependencies: - "@jest/types" "^24.9.0" - jest-message-util "^24.9.0" - jest-mock "^24.9.0" - -"@jest/reporters@^24.9.0": - version "24.9.0" - resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-24.9.0.tgz#86660eff8e2b9661d042a8e98a028b8d631a5b43" - integrity sha512-mu4X0yjaHrffOsWmVLzitKmmmWSQ3GGuefgNscUSWNiUNcEOSEQk9k3pERKEQVBb0Cnn88+UESIsZEMH3o88Gw== - dependencies: - "@jest/environment" "^24.9.0" - "@jest/test-result" "^24.9.0" - "@jest/transform" "^24.9.0" - "@jest/types" "^24.9.0" - chalk "^2.0.1" + rimraf "^3.0.0" + slash "^3.0.0" + strip-ansi "^6.0.0" + +"@jest/environment@^25.1.0": + version "25.1.0" + resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-25.1.0.tgz#4a97f64770c9d075f5d2b662b5169207f0a3f787" + integrity sha512-cTpUtsjU4cum53VqBDlcW0E4KbQF03Cn0jckGPW/5rrE9tb+porD3+hhLtHAwhthsqfyF+bizyodTlsRA++sHg== + dependencies: + "@jest/fake-timers" "^25.1.0" + "@jest/types" "^25.1.0" + jest-mock "^25.1.0" + +"@jest/fake-timers@^25.1.0": + version "25.1.0" + resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-25.1.0.tgz#a1e0eff51ffdbb13ee81f35b52e0c1c11a350ce8" + integrity sha512-Eu3dysBzSAO1lD7cylZd/CVKdZZ1/43SF35iYBNV1Lvvn2Undp3Grwsv8PrzvbLhqwRzDd4zxrY4gsiHc+wygQ== + dependencies: + "@jest/types" "^25.1.0" + jest-message-util "^25.1.0" + jest-mock "^25.1.0" + jest-util "^25.1.0" + lolex "^5.0.0" + +"@jest/reporters@^25.1.0": + version "25.1.0" + resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-25.1.0.tgz#9178ecf136c48f125674ac328f82ddea46e482b0" + integrity sha512-ORLT7hq2acJQa8N+NKfs68ZtHFnJPxsGqmofxW7v7urVhzJvpKZG9M7FAcgh9Ee1ZbCteMrirHA3m5JfBtAaDg== + dependencies: + "@bcoe/v8-coverage" "^0.2.3" + "@jest/console" "^25.1.0" + "@jest/environment" "^25.1.0" + "@jest/test-result" "^25.1.0" + "@jest/transform" "^25.1.0" + "@jest/types" "^25.1.0" + chalk "^3.0.0" + collect-v8-coverage "^1.0.0" exit "^0.1.2" glob "^7.1.2" - istanbul-lib-coverage "^2.0.2" - istanbul-lib-instrument "^3.0.1" - istanbul-lib-report "^2.0.4" - istanbul-lib-source-maps "^3.0.1" - istanbul-reports "^2.2.6" - jest-haste-map "^24.9.0" - jest-resolve "^24.9.0" - jest-runtime "^24.9.0" - jest-util "^24.9.0" - jest-worker "^24.6.0" - node-notifier "^5.4.2" - slash "^2.0.0" + istanbul-lib-coverage "^3.0.0" + istanbul-lib-instrument "^4.0.0" + istanbul-lib-report "^3.0.0" + istanbul-lib-source-maps "^4.0.0" + istanbul-reports "^3.0.0" + jest-haste-map "^25.1.0" + jest-resolve "^25.1.0" + jest-runtime "^25.1.0" + jest-util "^25.1.0" + jest-worker "^25.1.0" + slash "^3.0.0" source-map "^0.6.0" - string-length "^2.0.0" + string-length "^3.1.0" + terminal-link "^2.0.0" + v8-to-istanbul "^4.0.1" + optionalDependencies: + node-notifier "^6.0.0" -"@jest/source-map@^24.3.0", "@jest/source-map@^24.9.0": - version "24.9.0" - resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-24.9.0.tgz#0e263a94430be4b41da683ccc1e6bffe2a191714" - integrity sha512-/Xw7xGlsZb4MJzNDgB7PW5crou5JqWiBQaz6xyPd3ArOg2nfn/PunV8+olXbbEZzNl591o5rWKE9BRDaFAuIBg== +"@jest/source-map@^25.1.0": + version "25.1.0" + resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-25.1.0.tgz#b012e6c469ccdbc379413f5c1b1ffb7ba7034fb0" + integrity sha512-ohf2iKT0xnLWcIUhL6U6QN+CwFWf9XnrM2a6ybL9NXxJjgYijjLSitkYHIdzkd8wFliH73qj/+epIpTiWjRtAA== dependencies: callsites "^3.0.0" - graceful-fs "^4.1.15" + graceful-fs "^4.2.3" source-map "^0.6.0" -"@jest/test-result@^24.9.0": - version "24.9.0" - resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-24.9.0.tgz#11796e8aa9dbf88ea025757b3152595ad06ba0ca" - integrity sha512-XEFrHbBonBJ8dGp2JmF8kP/nQI/ImPpygKHwQ/SY+es59Z3L5PI4Qb9TQQMAEeYsThG1xF0k6tmG0tIKATNiiA== +"@jest/test-result@^25.1.0": + version "25.1.0" + resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-25.1.0.tgz#847af2972c1df9822a8200457e64be4ff62821f7" + integrity sha512-FZzSo36h++U93vNWZ0KgvlNuZ9pnDnztvaM7P/UcTx87aPDotG18bXifkf1Ji44B7k/eIatmMzkBapnAzjkJkg== dependencies: - "@jest/console" "^24.9.0" - "@jest/types" "^24.9.0" + "@jest/console" "^25.1.0" + "@jest/transform" "^25.1.0" + "@jest/types" "^25.1.0" "@types/istanbul-lib-coverage" "^2.0.0" + collect-v8-coverage "^1.0.0" -"@jest/test-sequencer@^24.9.0": - version "24.9.0" - resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-24.9.0.tgz#f8f334f35b625a4f2f355f2fe7e6036dad2e6b31" - integrity sha512-6qqsU4o0kW1dvA95qfNog8v8gkRN9ph6Lz7r96IvZpHdNipP2cBcb07J1Z45mz/VIS01OHJ3pY8T5fUY38tg4A== +"@jest/test-sequencer@^25.1.0": + version "25.1.0" + resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-25.1.0.tgz#4df47208542f0065f356fcdb80026e3c042851ab" + integrity sha512-WgZLRgVr2b4l/7ED1J1RJQBOharxS11EFhmwDqknpknE0Pm87HLZVS2Asuuw+HQdfQvm2aXL2FvvBLxOD1D0iw== dependencies: - "@jest/test-result" "^24.9.0" - jest-haste-map "^24.9.0" - jest-runner "^24.9.0" - jest-runtime "^24.9.0" + "@jest/test-result" "^25.1.0" + jest-haste-map "^25.1.0" + jest-runner "^25.1.0" + jest-runtime "^25.1.0" -"@jest/transform@^24.9.0": - version "24.9.0" - resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-24.9.0.tgz#4ae2768b296553fadab09e9ec119543c90b16c56" - integrity sha512-TcQUmyNRxV94S0QpMOnZl0++6RMiqpbH/ZMccFB/amku6Uwvyb1cjYX7xkp5nGNkbX4QPH/FcB6q1HBTHynLmQ== +"@jest/transform@^25.1.0": + version "25.1.0" + resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-25.1.0.tgz#221f354f512b4628d88ce776d5b9e601028ea9da" + integrity sha512-4ktrQ2TPREVeM+KxB4zskAT84SnmG1vaz4S+51aTefyqn3zocZUnliLLm5Fsl85I3p/kFPN4CRp1RElIfXGegQ== dependencies: "@babel/core" "^7.1.0" - "@jest/types" "^24.9.0" - babel-plugin-istanbul "^5.1.0" - chalk "^2.0.1" + "@jest/types" "^25.1.0" + babel-plugin-istanbul "^6.0.0" + chalk "^3.0.0" convert-source-map "^1.4.0" fast-json-stable-stringify "^2.0.0" - graceful-fs "^4.1.15" - jest-haste-map "^24.9.0" - jest-regex-util "^24.9.0" - jest-util "^24.9.0" - micromatch "^3.1.10" + graceful-fs "^4.2.3" + jest-haste-map "^25.1.0" + jest-regex-util "^25.1.0" + jest-util "^25.1.0" + micromatch "^4.0.2" pirates "^4.0.1" realpath-native "^1.1.0" - slash "^2.0.0" + slash "^3.0.0" source-map "^0.6.1" - write-file-atomic "2.4.1" + write-file-atomic "^3.0.0" "@jest/types@^24.9.0": version "24.9.0" @@ -295,6 +449,16 @@ "@types/istanbul-reports" "^1.1.1" "@types/yargs" "^13.0.0" +"@jest/types@^25.1.0": + version "25.1.0" + resolved "https://registry.yarnpkg.com/@jest/types/-/types-25.1.0.tgz#b26831916f0d7c381e11dbb5e103a72aed1b4395" + integrity sha512-VpOtt7tCrgvamWZh1reVsGADujKigBUFTi19mlRjqEGsE8qH4r3s+skY33dNdXOwyZIvuftZ5tqdF1IgsMejMA== + dependencies: + "@types/istanbul-lib-coverage" "^2.0.0" + "@types/istanbul-reports" "^1.1.1" + "@types/yargs" "^15.0.0" + chalk "^3.0.0" + "@mrmlnc/readdir-enhanced@^2.2.1": version "2.2.1" resolved "https://registry.yarnpkg.com/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz#524af240d1a360527b730475ecfa1344aa540dde" @@ -308,6 +472,13 @@ resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz#2b5a3ab3f918cca48a8c754c08168e3f03eba61b" integrity sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw== +"@sinonjs/commons@^1.7.0": + version "1.7.0" + resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.7.0.tgz#f90ffc52a2e519f018b13b6c4da03cbff36ebed6" + integrity sha512-qbk9AP+cZUsKdW1GJsBpxPKFmCJ0T8swwzVje3qFd+AkQb74Q/tiuzrdfFg8AD2g5HH/XbE/I8Uc1KYHVYWfhg== + dependencies: + type-detect "4.0.8" + "@types/babel__core@^7.1.0": version "7.1.3" resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.3.tgz#e441ea7df63cd080dfcd02ab199e6d16a735fc30" @@ -341,6 +512,11 @@ dependencies: "@babel/types" "^7.3.0" +"@types/color-name@^1.1.1": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@types/color-name/-/color-name-1.1.1.tgz#1c1261bbeaa10a8055bbc5d8ab84b7b2afc846a0" + integrity sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ== + "@types/events@*": version "3.0.0" resolved "https://registry.yarnpkg.com/@types/events/-/events-3.0.0.tgz#2862f3f58a9a7f7c3e78d79f130dd4d71c25c2a7" @@ -355,7 +531,7 @@ "@types/minimatch" "*" "@types/node" "*" -"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0": +"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": version "2.0.1" resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.1.tgz#42995b446db9a48a11a07ec083499a860e9138ff" integrity sha512-hRJD2ahnnpLgsj6KWMYSrmXkM3rm2Dl1qkx6IOFD5FnuNPXJIG5L0dhgKXCYTRMGzU4n0wImQ/xfmRc4POUFlg== @@ -375,10 +551,10 @@ "@types/istanbul-lib-coverage" "*" "@types/istanbul-lib-report" "*" -"@types/jest@24.0.25": - version "24.0.25" - resolved "https://registry.yarnpkg.com/@types/jest/-/jest-24.0.25.tgz#2aba377824ce040114aa906ad2cac2c85351360f" - integrity sha512-hnP1WpjN4KbGEK4dLayul6lgtys6FPz0UfxMeMQCv0M+sTnzN3ConfiO72jHgLxl119guHgI8gLqDOrRLsyp2g== +"@types/jest@24.9.1": + version "24.9.1" + resolved "https://registry.yarnpkg.com/@types/jest/-/jest-24.9.1.tgz#02baf9573c78f1b9974a5f36778b366aa77bd534" + integrity sha512-Fb38HkXSVA4L8fGKEZ6le5bB8r6MRWlOCZbVuWZcmOMSCd2wCYOwN1ibj8daIoV9naq7aaOZjrLCoCMptKU/4Q== dependencies: jest-diff "^24.3.0" @@ -392,11 +568,16 @@ resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.3.tgz#3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d" integrity sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA== -"@types/node@*", "@types/node@13.1.6": +"@types/node@*": version "13.1.6" resolved "https://registry.yarnpkg.com/@types/node/-/node-13.1.6.tgz#076028d0b0400be8105b89a0a55550c86684ffec" integrity sha512-Jg1F+bmxcpENHP23sVKkNuU3uaxPnsBMW0cLjleiikFKomJQbsn0Cqk2yDvQArqzZN6ABfBkZ0To7pQ8sLdWDg== +"@types/node@13.5.0": + version "13.5.0" + resolved "https://registry.yarnpkg.com/@types/node/-/node-13.5.0.tgz#4e498dbf355795a611a87ae5ef811a8660d42662" + integrity sha512-Onhn+z72D2O2Pb2ql2xukJ55rglumsVo1H6Fmyi8mlU9SvKdBk/pUSUAiBY/d9bAOF7VVWajX3sths/+g6ZiAQ== + "@types/stack-utils@^1.0.1": version "1.0.1" resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-1.0.1.tgz#0a851d3bd96498fa25c33ab7278ed3bd65f06c3e" @@ -414,6 +595,13 @@ dependencies: "@types/yargs-parser" "*" +"@types/yargs@^15.0.0": + version "15.0.1" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-15.0.1.tgz#9266a9d7be68cfcc982568211085a49a277f7c96" + integrity sha512-sYlwNU7zYi6eZbMzFvG6eHD7VsEvFdoDtlD7eI1JTg7YNnuguzmiGsc6MPSq5l8n+h21AsNof0je+9sgOe4+dg== + dependencies: + "@types/yargs-parser" "*" + JSONStream@^1.0.4: version "1.3.5" resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.5.tgz#3208c1f08d3a4d99261ab64f92302bc15e111ca0" @@ -432,7 +620,7 @@ abbrev@1: resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== -acorn-globals@^4.1.0: +acorn-globals@^4.3.2: version "4.3.4" resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-4.3.4.tgz#9fa1926addc11c97308c4e66d7add0d40c3272e7" integrity sha512-clfQEh21R+D0leSbUdWf3OcfqyaCSAQ8Ryq00bofSekfr9W8u1jyYZo6ir0xu9Gtcf7BjcHJpnbZH7JOCpP60A== @@ -445,16 +633,16 @@ acorn-walk@^6.0.1: resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-6.2.0.tgz#123cb8f3b84c2171f1f7fb252615b1c78a6b1a8c" integrity sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA== -acorn@^5.5.3: - version "5.7.3" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.3.tgz#67aa231bf8812974b85235a96771eb6bd07ea279" - integrity sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw== - acorn@^6.0.1: version "6.4.0" resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.0.tgz#b659d2ffbafa24baf5db1cdbb2c94a983ecd2784" integrity sha512-gac8OEcQ2Li1dxIEWGZzsp2BitJxwkwcOm0zHAJLcPJaVvm58FRnk6RkuLRpU1EujipU2ZFODv2P9DLMfnV8mw== +acorn@^7.1.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.1.0.tgz#949d36f2c292535da602283586c2477c57eb2d6c" + integrity sha512-kL5CuoXA/dgxlBbVrflsflzQ3PAas7RYZB52NOm/6839iVYJgKMJ3cQJD+t2i5+qFa8h3MDpEOJiS64E8JLnSQ== + add-stream@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/add-stream/-/add-stream-1.0.0.tgz#6a7990437ca736d5e1288db92bd3266d5f5cb2aa" @@ -477,10 +665,12 @@ ansi-align@^2.0.0: dependencies: string-width "^2.0.0" -ansi-escapes@^3.0.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b" - integrity sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ== +ansi-escapes@^4.2.1: + version "4.3.0" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.0.tgz#a4ce2b33d6b214b7950d8595c212f12ac9cc569d" + integrity sha512-EiYhwo0v255HUL6eDyuLrXEkTi7WwVCLAw+SeOQ7M7qdun1z1pum4DEm/nuqIVbPvi9RPPc9k9LbyBv6H0DwVg== + dependencies: + type-fest "^0.8.1" ansi-regex@^3.0.0: version "3.0.0" @@ -492,6 +682,11 @@ ansi-regex@^4.0.0, ansi-regex@^4.1.0: resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997" integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg== +ansi-regex@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75" + integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg== + ansi-styles@^3.2.0, ansi-styles@^3.2.1: version "3.2.1" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" @@ -499,6 +694,14 @@ ansi-styles@^3.2.0, ansi-styles@^3.2.1: dependencies: color-convert "^1.9.0" +ansi-styles@^4.0.0, ansi-styles@^4.1.0: + version "4.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.2.1.tgz#90ae75c424d008d2624c5bf29ead3177ebfcf359" + integrity sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA== + dependencies: + "@types/color-name" "^1.1.1" + color-convert "^2.0.1" + anymatch@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" @@ -507,7 +710,7 @@ anymatch@^2.0.0: micromatch "^3.1.4" normalize-path "^2.1.1" -anymatch@~3.1.1: +anymatch@^3.0.3, anymatch@~3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.1.tgz#c55ecf02185e2469259399310c173ce31233b142" integrity sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg== @@ -601,11 +804,6 @@ astral-regex@^1.0.0: resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9" integrity sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg== -async-limiter@~1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.1.tgz#dd379e94f0db8310b08291f9d64c3209766617fd" - integrity sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ== - asynckit@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" @@ -626,43 +824,45 @@ aws4@^1.8.0: resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.9.0.tgz#24390e6ad61386b0a747265754d2a17219de862c" integrity sha512-Uvq6hVe90D0B2WEnUqtdgY1bATGz3mw33nH9Y+dmA+w5DHvUmBgkr5rM/KCHpCsiFNRUfokW/szpPPgMK2hm4A== -babel-jest@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-24.9.0.tgz#3fc327cb8467b89d14d7bc70e315104a783ccd54" - integrity sha512-ntuddfyiN+EhMw58PTNL1ph4C9rECiQXjI4nMMBKBaNjXvqLdkXpPRcMSr4iyBrJg/+wz9brFUD6RhOAT6r4Iw== +babel-jest@^25.1.0: + version "25.1.0" + resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-25.1.0.tgz#206093ac380a4b78c4404a05b3277391278f80fb" + integrity sha512-tz0VxUhhOE2y+g8R2oFrO/2VtVjA1lkJeavlhExuRBg3LdNJY9gwQ+Vcvqt9+cqy71MCTJhewvTB7Qtnnr9SWg== dependencies: - "@jest/transform" "^24.9.0" - "@jest/types" "^24.9.0" + "@jest/transform" "^25.1.0" + "@jest/types" "^25.1.0" "@types/babel__core" "^7.1.0" - babel-plugin-istanbul "^5.1.0" - babel-preset-jest "^24.9.0" - chalk "^2.4.2" - slash "^2.0.0" + babel-plugin-istanbul "^6.0.0" + babel-preset-jest "^25.1.0" + chalk "^3.0.0" + slash "^3.0.0" -babel-plugin-istanbul@^5.1.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-5.2.0.tgz#df4ade83d897a92df069c4d9a25cf2671293c854" - integrity sha512-5LphC0USA8t4i1zCtjbbNb6jJj/9+X6P37Qfirc/70EQ34xKlMW+a1RHGwxGI+SwWpNwZ27HqvzAobeqaXwiZw== +babel-plugin-istanbul@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.0.0.tgz#e159ccdc9af95e0b570c75b4573b7c34d671d765" + integrity sha512-AF55rZXpe7trmEylbaE1Gv54wn6rwU03aptvRoVIGP8YykoSxqdVLV1TfwflBCE/QtHmqtP8SWlTENqbK8GCSQ== dependencies: "@babel/helper-plugin-utils" "^7.0.0" - find-up "^3.0.0" - istanbul-lib-instrument "^3.3.0" - test-exclude "^5.2.3" + "@istanbuljs/load-nyc-config" "^1.0.0" + "@istanbuljs/schema" "^0.1.2" + istanbul-lib-instrument "^4.0.0" + test-exclude "^6.0.0" -babel-plugin-jest-hoist@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-24.9.0.tgz#4f837091eb407e01447c8843cbec546d0002d756" - integrity sha512-2EMA2P8Vp7lG0RAzr4HXqtYwacfMErOuv1U3wrvxHX6rD1sV6xS3WXG3r8TRQ2r6w8OhvSdWt+z41hQNwNm3Xw== +babel-plugin-jest-hoist@^25.1.0: + version "25.1.0" + resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-25.1.0.tgz#fb62d7b3b53eb36c97d1bc7fec2072f9bd115981" + integrity sha512-oIsopO41vW4YFZ9yNYoLQATnnN46lp+MZ6H4VvPKFkcc2/fkl3CfE/NZZSmnEIEsJRmJAgkVEK0R7Zbl50CpTw== dependencies: "@types/babel__traverse" "^7.0.6" -babel-preset-jest@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-24.9.0.tgz#192b521e2217fb1d1f67cf73f70c336650ad3cdc" - integrity sha512-izTUuhE4TMfTRPF92fFwD2QfdXaZW08qvWTFCI51V8rW5x00UuPgc3ajRoWofXOuxjfcOM5zzSYsQS3H8KGCAg== +babel-preset-jest@^25.1.0: + version "25.1.0" + resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-25.1.0.tgz#d0aebfebb2177a21cde710996fce8486d34f1d33" + integrity sha512-eCGn64olaqwUMaugXsTtGAM2I0QTahjEtnRu0ql8Ie+gDWAc1N6wqN0k2NilnyTunM69Pad7gJY7LOtwLimoFQ== dependencies: + "@babel/plugin-syntax-bigint" "^7.0.0" "@babel/plugin-syntax-object-rest-spread" "^7.0.0" - babel-plugin-jest-hoist "^24.9.0" + babel-plugin-jest-hoist "^25.1.0" balanced-match@^1.0.0: version "1.0.0" @@ -694,7 +894,7 @@ binary-extensions@^2.0.0: resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.0.0.tgz#23c0df14f6a88077f5f986c0d167ec03c3d5537c" integrity sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow== -bindings@^1.3.0, bindings@^1.5.0: +bindings@^1.3.0: version "1.5.0" resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df" integrity sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ== @@ -738,7 +938,7 @@ braces@^2.3.1: split-string "^3.0.2" to-regex "^3.0.1" -braces@~3.0.2: +braces@^3.0.1, braces@~3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== @@ -855,7 +1055,7 @@ caseless@~0.12.0: resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= -chalk@^2.0.0, chalk@^2.0.1, chalk@^2.3.0, chalk@^2.4.2: +chalk@^2.0.0, chalk@^2.0.1, chalk@^2.3.0: version "2.4.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== @@ -864,6 +1064,14 @@ chalk@^2.0.0, chalk@^2.0.1, chalk@^2.3.0, chalk@^2.4.2: escape-string-regexp "^1.0.5" supports-color "^5.3.0" +chalk@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4" + integrity sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + chokidar@^3.2.2: version "3.3.1" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.3.1.tgz#c84e5b3d18d9a4d77558fef466b1bf16bbeb3450" @@ -904,20 +1112,25 @@ cli-boxes@^1.0.0: resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-1.0.0.tgz#4fa917c3e59c94a004cd61f8ee509da651687143" integrity sha1-T6kXw+WclKAEzWH47lCdplFocUM= -cliui@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5" - integrity sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA== +cliui@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-6.0.0.tgz#511d702c0c4e41ca156d7d0e96021f23e13225b1" + integrity sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ== dependencies: - string-width "^3.1.0" - strip-ansi "^5.2.0" - wrap-ansi "^5.1.0" + string-width "^4.2.0" + strip-ansi "^6.0.0" + wrap-ansi "^6.2.0" co@^4.6.0: version "4.6.0" resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" integrity sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ= +collect-v8-coverage@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.0.tgz#150ee634ac3650b71d9c985eb7f608942334feb1" + integrity sha512-VKIhJgvk8E1W28m5avZ2Gv2Ruv5YiF56ug2oclvaG9md69BuZImMG2sk9g7QNKLUbtYAKQjXjYxbYZVUlMMKmQ== + collection-visit@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" @@ -933,11 +1146,23 @@ color-convert@^1.9.0: dependencies: color-name "1.1.3" +color-convert@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" + integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== + dependencies: + color-name "~1.1.4" + color-name@1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= +color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + combined-stream@^1.0.6, combined-stream@~1.0.6: version "1.0.8" resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" @@ -1137,7 +1362,7 @@ conventional-commits-parser@^3.0.8: through2 "^3.0.0" trim-off-newlines "^1.0.0" -convert-source-map@^1.4.0, convert-source-map@^1.7.0: +convert-source-map@^1.4.0, convert-source-map@^1.6.0, convert-source-map@^1.7.0: version "1.7.0" resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.7.0.tgz#17a2cb882d7f77d3490585e2ce6c524424a3a442" integrity sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA== @@ -1161,12 +1386,12 @@ create-error-class@^3.0.0: dependencies: capture-stack-trace "^1.0.0" -cross-env@6.0.3: - version "6.0.3" - resolved "https://registry.yarnpkg.com/cross-env/-/cross-env-6.0.3.tgz#4256b71e49b3a40637a0ce70768a6ef5c72ae941" - integrity sha512-+KqxF6LCvfhWvADcDPqo64yVIB31gv/jQulX2NGzKS/g3GEVz6/pt4wjHFtFWsHMddebWD/sDthJemzM4MaAag== +cross-env@7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/cross-env/-/cross-env-7.0.0.tgz#5a3b2ddce51ec713ea58f2fb79ce22e65b4f5479" + integrity sha512-rV6M9ldNgmwP7bx5u6rZsTbYidzwvrwIYZnT08hSGLcQCcggofgFW+sNe7IhA1SRauPS0QuLbbX+wdNtpqE5CQ== dependencies: - cross-spawn "^7.0.0" + cross-spawn "^7.0.1" cross-spawn@^5.0.1: version "5.1.0" @@ -1188,7 +1413,7 @@ cross-spawn@^6.0.0: shebang-command "^1.2.0" which "^1.2.9" -cross-spawn@^7.0.0: +cross-spawn@^7.0.0, cross-spawn@^7.0.1: version "7.0.1" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.1.tgz#0ab56286e0f7c24e153d04cc2aa027e43a9a5d14" integrity sha512-u7v4o84SwFpD32Z8IIcPZ6z1/ie24O6RU3RbtL5Y316l3KuHVPx9ItBgWQ6VlfAFnRnTtMUrsQ9MUUTuEZjogg== @@ -1202,17 +1427,22 @@ crypto-random-string@^1.0.0: resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-1.0.0.tgz#a230f64f568310e1498009940790ec99545bca7e" integrity sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4= -cssom@0.3.x, "cssom@>= 0.3.2 < 0.4.0": +cssom@^0.4.1: + version "0.4.4" + resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.4.4.tgz#5a66cf93d2d0b661d80bf6a44fb65f5c2e4e0a10" + integrity sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw== + +cssom@~0.3.6: version "0.3.8" resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.8.tgz#9f1276f5b2b463f2114d3f2c75250af8c1a36f4a" integrity sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg== -cssstyle@^1.0.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-1.4.0.tgz#9d31328229d3c565c61e586b02041a28fccdccf1" - integrity sha512-GBrLZYZ4X4x6/QEoBnIrqb8B/f5l4+8me2dkom/j1Gtbxy0kBv6OGzKuAsGM75bkGwGAFkt56Iwg28S3XTZgSA== +cssstyle@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-2.2.0.tgz#e4c44debccd6b7911ed617a4395e5754bba59992" + integrity sha512-sEb3XFPx3jNnCAMtqrXPDeSgQr+jojtCeNf8cvMNMh1cG970+lljssvQDzPq6lmmJu2Vhqood/gtEomBiHOGnA== dependencies: - cssom "0.3.x" + cssom "~0.3.6" currently-unhandled@^0.4.1: version "0.4.1" @@ -1235,7 +1465,7 @@ dashdash@^1.12.0: dependencies: assert-plus "^1.0.0" -data-urls@^1.0.0: +data-urls@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-1.1.0.tgz#15ee0582baa5e22bb59c77140da8f9c76963bbfe" integrity sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ== @@ -1332,16 +1562,21 @@ delayed-stream@~1.0.0: resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= -detect-newline@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-2.1.0.tgz#f41f1c10be4b00e87b5f13da680759f2c5bfd3e2" - integrity sha1-9B8cEL5LAOh7XxPaaAdZ8sW/0+I= +detect-newline@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" + integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA== diff-sequences@^24.9.0: version "24.9.0" resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-24.9.0.tgz#5715d6244e2aa65f48bba0bc972db0b0b11e95b5" integrity sha512-Dj6Wk3tWyTE+Fo1rW8v0Xhwk80um6yFYKbuAxc9c3EZxIHFDYwbi34Uk42u1CdnIiVorvt4RmlSDjIPyzGC2ew== +diff-sequences@^25.1.0: + version "25.1.0" + resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-25.1.0.tgz#fd29a46f1c913fd66c22645dc75bffbe43051f32" + integrity sha512-nFIfVk5B/NStCsJ+zaPO4vYuLjlzQ6uFvPxzYyHlejNZ/UGa7G/n7peOXVrVNvRuyfstt+mZQYGpjxg9Z6N8Kw== + diff@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.1.tgz#0c667cb467ebbb5cea7f14f135cc2dba7780a8ff" @@ -1388,10 +1623,10 @@ ecc-jsbn@~0.1.1: jsbn "~0.1.0" safer-buffer "^2.1.0" -emoji-regex@^7.0.1: - version "7.0.3" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" - integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA== +emoji-regex@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" + integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== end-of-stream@^1.1.0: version "1.4.4" @@ -1438,24 +1673,19 @@ escape-string-regexp@^1.0.5: resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= -escodegen@^1.9.1: - version "1.12.1" - resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.12.1.tgz#08770602a74ac34c7a90ca9229e7d51e379abc76" - integrity sha512-Q8t2YZ+0e0pc7NRVj3B4tSQ9rim1oi4Fh46k2xhJ2qOiEwhQfdjyEQddWdj7ZFaKmU+5104vn1qrcjEPWq+bgQ== +escodegen@^1.11.1: + version "1.13.0" + resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.13.0.tgz#c7adf9bd3f3cc675bb752f202f79a720189cab29" + integrity sha512-eYk2dCkxR07DsHA/X2hRBj0CFAZeri/LyDMc0C8JT1Hqi6JnVpMhJ7XFITbb0+yZS3lVkaPL2oCkZ3AVmeVbMw== dependencies: - esprima "^3.1.3" + esprima "^4.0.1" estraverse "^4.2.0" esutils "^2.0.2" optionator "^0.8.1" optionalDependencies: source-map "~0.6.1" -esprima@^3.1.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633" - integrity sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM= - -esprima@^4.0.0: +esprima@^4.0.0, esprima@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== @@ -1501,6 +1731,22 @@ execa@^1.0.0: signal-exit "^3.0.0" strip-eof "^1.0.0" +execa@^3.2.0: + version "3.4.0" + resolved "https://registry.yarnpkg.com/execa/-/execa-3.4.0.tgz#c08ed4550ef65d858fac269ffc8572446f37eb89" + integrity sha512-r9vdGQk4bmCuK1yKQu1KTwcT2zwfWdbdaXfCtAh+5nU/4fSX+JAb7vZGvI5naJrQlvONrEB20jeruESI69530g== + dependencies: + cross-spawn "^7.0.0" + get-stream "^5.0.0" + human-signals "^1.1.1" + is-stream "^2.0.0" + merge-stream "^2.0.0" + npm-run-path "^4.0.0" + onetime "^5.1.0" + p-finally "^2.0.0" + signal-exit "^3.0.2" + strip-final-newline "^2.0.0" + exit@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" @@ -1519,17 +1765,17 @@ expand-brackets@^2.1.4: snapdragon "^0.8.1" to-regex "^3.0.1" -expect@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/expect/-/expect-24.9.0.tgz#b75165b4817074fa4a157794f46fe9f1ba15b6ca" - integrity sha512-wvVAx8XIol3Z5m9zvZXiyZOQ+sRJqNTIm6sGjdWlaZIeupQGO3WbYI+15D/AmEwZywL6wtJkbAbJtzkOfBuR0Q== +expect@^25.1.0: + version "25.1.0" + resolved "https://registry.yarnpkg.com/expect/-/expect-25.1.0.tgz#7e8d7b06a53f7d66ec927278db3304254ee683ee" + integrity sha512-wqHzuoapQkhc3OKPlrpetsfueuEiMf3iWh0R8+duCu9PIjXoP7HgD5aeypwTnXUAjC8aMsiVDaWwlbJ1RlQ38g== dependencies: - "@jest/types" "^24.9.0" - ansi-styles "^3.2.0" - jest-get-type "^24.9.0" - jest-matcher-utils "^24.9.0" - jest-message-util "^24.9.0" - jest-regex-util "^24.9.0" + "@jest/types" "^25.1.0" + ansi-styles "^4.0.0" + jest-get-type "^25.1.0" + jest-matcher-utils "^25.1.0" + jest-message-util "^25.1.0" + jest-regex-util "^25.1.0" extend-shallow@^2.0.1: version "2.0.1" @@ -1646,12 +1892,13 @@ find-up@^2.0.0: dependencies: locate-path "^2.0.0" -find-up@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" - integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== +find-up@^4.0.0, find-up@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" + integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== dependencies: - locate-path "^3.0.0" + locate-path "^5.0.0" + path-exists "^4.0.0" for-in@^1.0.2: version "1.0.2" @@ -1684,15 +1931,7 @@ fs.realpath@^1.0.0: resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= -fsevents@^1.2.7: - version "1.2.11" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.11.tgz#67bf57f4758f02ede88fb2a1712fef4d15358be3" - integrity sha512-+ux3lx6peh0BpvY0JebGyZoiR4D+oYzdPZMKJwkZ+sFkNJzpL7tXc/wehS49gUAxg3tmMHPHZkA8JU2rhhgDHw== - dependencies: - bindings "^1.5.0" - nan "^2.12.1" - -fsevents@~2.1.2: +fsevents@^2.1.2, fsevents@~2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.1.2.tgz#4c0a1fb34bc68e543b4b82a9ec392bfbda840805" integrity sha512-R4wDiBwZ0KzpgOWetKDug1FZcYhqYnUYKtfZYt4mD5SBz76q0KR4Q9o7GIPamsVPGmW3EYPPJ0dOOjvx32ldZA== @@ -1748,6 +1987,13 @@ get-stream@^4.0.0: dependencies: pump "^3.0.0" +get-stream@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.1.0.tgz#01203cdc92597f9b909067c3e656cc1f4d3c4dc9" + integrity sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw== + dependencies: + pump "^3.0.0" + get-value@^2.0.3, get-value@^2.0.6: version "2.0.6" resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" @@ -1814,7 +2060,7 @@ glob-to-regexp@^0.3.0: resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz#8c5a1494d2066c570cc3bfe4496175acc4d502ab" integrity sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs= -glob@^7.1.1, glob@^7.1.2, glob@^7.1.3: +glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4: version "7.1.6" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== @@ -1869,7 +2115,7 @@ got@^6.7.1: unzip-response "^2.0.1" url-parse-lax "^1.0.0" -graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2: +graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.2.3: version "4.2.3" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.3.tgz#4a12ff1b60376ef09862c2093edd908328be8423" integrity sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ== @@ -1908,6 +2154,11 @@ has-flag@^3.0.0: resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= +has-flag@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" + integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== + has-symbols@^1.0.0, has-symbols@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.1.tgz#9f5214758a44196c406d9bd76cebf81ec2dd31e8" @@ -1977,6 +2228,11 @@ http-signature@~1.2.0: jsprim "^1.2.2" sshpk "^1.7.0" +human-signals@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-1.1.1.tgz#c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3" + integrity sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw== + iconv-lite@0.4.24: version "0.4.24" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" @@ -1999,13 +2255,13 @@ import-lazy@^2.1.0: resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-2.1.0.tgz#05698e3d45c88e8d7e9d92cb0584e77f096f3e43" integrity sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM= -import-local@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/import-local/-/import-local-2.0.0.tgz#55070be38a5993cf18ef6db7e961f5bee5c5a09d" - integrity sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ== +import-local@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.0.2.tgz#a8cfd0431d1de4a2199703d003e3e62364fa6db6" + integrity sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA== dependencies: - pkg-dir "^3.0.0" - resolve-cwd "^2.0.0" + pkg-dir "^4.2.0" + resolve-cwd "^3.0.0" imurmurhash@^0.1.4: version "0.1.4" @@ -2042,12 +2298,10 @@ ini@^1.3.2, ini@^1.3.4, ini@~1.3.0: resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" integrity sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw== -invariant@^2.2.4: - version "2.2.4" - resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" - integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA== - dependencies: - loose-envify "^1.0.0" +ip-regex@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-2.1.0.tgz#fa78bf5d2e6913c911ce9f819ee5146bb6d844e9" + integrity sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk= is-accessor-descriptor@^0.1.6: version "0.1.6" @@ -2165,6 +2419,11 @@ is-fullwidth-code-point@^2.0.0: resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= +is-fullwidth-code-point@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" + integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== + is-generator-fn@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz#7d140adc389aaf3011a8f2a2a4cfa6faadffb118" @@ -2255,6 +2514,11 @@ is-stream@^1.0.0, is-stream@^1.1.0: resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= +is-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.0.tgz#bde9c32680d6fae04129d6ac9d921ce7815f78e3" + integrity sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw== + is-symbol@^1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.3.tgz#38e1014b9e6329be0de9d24a414fd7441ec61937" @@ -2269,7 +2533,7 @@ is-text-path@^1.0.1: dependencies: text-extensions "^1.0.0" -is-typedarray@~1.0.0: +is-typedarray@^1.0.0, is-typedarray@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= @@ -2284,10 +2548,10 @@ is-windows@^1.0.2: resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== -is-wsl@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d" - integrity sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0= +is-wsl@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.1.1.tgz#4a1c152d429df3d441669498e2486d3596ebaf1d" + integrity sha512-umZHcSrwlDHo2TGMXv0DZ8dIUGunZ2Iv68YZnrmCiBPkZ4aaOhtv7pXJKeki9k3qJ3RJr0cDyitcl5wEH3AYog== isarray@1.0.0, isarray@~1.0.0: version "1.0.0" @@ -2316,103 +2580,102 @@ isstream@~0.1.2: resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= -istanbul-lib-coverage@^2.0.2, istanbul-lib-coverage@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz#675f0ab69503fad4b1d849f736baaca803344f49" - integrity sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA== - -istanbul-lib-instrument@^3.0.1, istanbul-lib-instrument@^3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-3.3.0.tgz#a5f63d91f0bbc0c3e479ef4c5de027335ec6d630" - integrity sha512-5nnIN4vo5xQZHdXno/YDXJ0G+I3dAm4XgzfSVTPLQpj/zAV2dV6Juy0yaf10/zrJOJeHoN3fraFe+XRq2bFVZA== - dependencies: - "@babel/generator" "^7.4.0" - "@babel/parser" "^7.4.3" - "@babel/template" "^7.4.0" - "@babel/traverse" "^7.4.3" - "@babel/types" "^7.4.0" - istanbul-lib-coverage "^2.0.5" - semver "^6.0.0" +istanbul-lib-coverage@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz#f5944a37c70b550b02a78a5c3b2055b280cec8ec" + integrity sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg== -istanbul-lib-report@^2.0.4: - version "2.0.8" - resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-2.0.8.tgz#5a8113cd746d43c4889eba36ab10e7d50c9b4f33" - integrity sha512-fHBeG573EIihhAblwgxrSenp0Dby6tJMFR/HvlerBsrCTD5bkUuoNtn3gVh29ZCS824cGGBPn7Sg7cNk+2xUsQ== +istanbul-lib-instrument@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.0.tgz#53321a7970f076262fd3292c8f9b2e4ac544aae1" + integrity sha512-Nm4wVHdo7ZXSG30KjZ2Wl5SU/Bw7bDx1PdaiIFzEStdjs0H12mOTncn1GVYuqQSaZxpg87VGBRsVRPGD2cD1AQ== + dependencies: + "@babel/core" "^7.7.5" + "@babel/parser" "^7.7.5" + "@babel/template" "^7.7.4" + "@babel/traverse" "^7.7.4" + "@istanbuljs/schema" "^0.1.2" + istanbul-lib-coverage "^3.0.0" + semver "^6.3.0" + +istanbul-lib-report@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#7518fe52ea44de372f460a76b5ecda9ffb73d8a6" + integrity sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw== dependencies: - istanbul-lib-coverage "^2.0.5" - make-dir "^2.1.0" - supports-color "^6.1.0" + istanbul-lib-coverage "^3.0.0" + make-dir "^3.0.0" + supports-color "^7.1.0" -istanbul-lib-source-maps@^3.0.1: - version "3.0.6" - resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.6.tgz#284997c48211752ec486253da97e3879defba8c8" - integrity sha512-R47KzMtDJH6X4/YW9XTx+jrLnZnscW4VpNN+1PViSYTejLVPWv7oov+Duf8YQSPyVRUvueQqz1TcsC6mooZTXw== +istanbul-lib-source-maps@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz#75743ce6d96bb86dc7ee4352cf6366a23f0b1ad9" + integrity sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg== dependencies: debug "^4.1.1" - istanbul-lib-coverage "^2.0.5" - make-dir "^2.1.0" - rimraf "^2.6.3" + istanbul-lib-coverage "^3.0.0" source-map "^0.6.1" -istanbul-reports@^2.2.6: - version "2.2.7" - resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-2.2.7.tgz#5d939f6237d7b48393cc0959eab40cd4fd056931" - integrity sha512-uu1F/L1o5Y6LzPVSVZXNOoD/KXpJue9aeLRd0sM9uMXfZvzomB0WxVamWb5ue8kA2vVWEmW7EG+A5n3f1kqHKg== +istanbul-reports@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.0.0.tgz#d4d16d035db99581b6194e119bbf36c963c5eb70" + integrity sha512-2osTcC8zcOSUkImzN2EWQta3Vdi4WjjKw99P2yWx5mLnigAM0Rd5uYFn1cf2i/Ois45GkNjaoTqc5CxgMSX80A== dependencies: html-escaper "^2.0.0" - -jest-changed-files@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-24.9.0.tgz#08d8c15eb79a7fa3fc98269bc14b451ee82f8039" - integrity sha512-6aTWpe2mHF0DhL28WjdkO8LyGjs3zItPET4bMSeXU6T3ub4FPMw+mcOcbdGXQOAfmLcxofD23/5Bl9Z4AkFwqg== - dependencies: - "@jest/types" "^24.9.0" - execa "^1.0.0" - throat "^4.0.0" - -jest-cli@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-24.9.0.tgz#ad2de62d07472d419c6abc301fc432b98b10d2af" - integrity sha512-+VLRKyitT3BWoMeSUIHRxV/2g8y9gw91Jh5z2UmXZzkZKpbC08CSehVxgHUwTpy+HwGcns/tqafQDJW7imYvGg== - dependencies: - "@jest/core" "^24.9.0" - "@jest/test-result" "^24.9.0" - "@jest/types" "^24.9.0" - chalk "^2.0.1" + istanbul-lib-report "^3.0.0" + +jest-changed-files@^25.1.0: + version "25.1.0" + resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-25.1.0.tgz#73dae9a7d9949fdfa5c278438ce8f2ff3ec78131" + integrity sha512-bdL1aHjIVy3HaBO3eEQeemGttsq1BDlHgWcOjEOIAcga7OOEGWHD2WSu8HhL7I1F0mFFyci8VKU4tRNk+qtwDA== + dependencies: + "@jest/types" "^25.1.0" + execa "^3.2.0" + throat "^5.0.0" + +jest-cli@^25.1.0: + version "25.1.0" + resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-25.1.0.tgz#75f0b09cf6c4f39360906bf78d580be1048e4372" + integrity sha512-p+aOfczzzKdo3AsLJlhs8J5EW6ffVidfSZZxXedJ0mHPBOln1DccqFmGCoO8JWd4xRycfmwy1eoQkMsF8oekPg== + dependencies: + "@jest/core" "^25.1.0" + "@jest/test-result" "^25.1.0" + "@jest/types" "^25.1.0" + chalk "^3.0.0" exit "^0.1.2" - import-local "^2.0.0" + import-local "^3.0.2" is-ci "^2.0.0" - jest-config "^24.9.0" - jest-util "^24.9.0" - jest-validate "^24.9.0" + jest-config "^25.1.0" + jest-util "^25.1.0" + jest-validate "^25.1.0" prompts "^2.0.1" realpath-native "^1.1.0" - yargs "^13.3.0" + yargs "^15.0.0" -jest-config@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-24.9.0.tgz#fb1bbc60c73a46af03590719efa4825e6e4dd1b5" - integrity sha512-RATtQJtVYQrp7fvWg6f5y3pEFj9I+H8sWw4aKxnDZ96mob5i5SD6ZEGWgMLXQ4LE8UurrjbdlLWdUeo+28QpfQ== +jest-config@^25.1.0: + version "25.1.0" + resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-25.1.0.tgz#d114e4778c045d3ef239452213b7ad3ec1cbea90" + integrity sha512-tLmsg4SZ5H7tuhBC5bOja0HEblM0coS3Wy5LTCb2C8ZV6eWLewHyK+3qSq9Bi29zmWQ7ojdCd3pxpx4l4d2uGw== dependencies: "@babel/core" "^7.1.0" - "@jest/test-sequencer" "^24.9.0" - "@jest/types" "^24.9.0" - babel-jest "^24.9.0" - chalk "^2.0.1" + "@jest/test-sequencer" "^25.1.0" + "@jest/types" "^25.1.0" + babel-jest "^25.1.0" + chalk "^3.0.0" glob "^7.1.1" - jest-environment-jsdom "^24.9.0" - jest-environment-node "^24.9.0" - jest-get-type "^24.9.0" - jest-jasmine2 "^24.9.0" - jest-regex-util "^24.3.0" - jest-resolve "^24.9.0" - jest-util "^24.9.0" - jest-validate "^24.9.0" - micromatch "^3.1.10" - pretty-format "^24.9.0" + jest-environment-jsdom "^25.1.0" + jest-environment-node "^25.1.0" + jest-get-type "^25.1.0" + jest-jasmine2 "^25.1.0" + jest-regex-util "^25.1.0" + jest-resolve "^25.1.0" + jest-util "^25.1.0" + jest-validate "^25.1.0" + micromatch "^4.0.2" + pretty-format "^25.1.0" realpath-native "^1.1.0" -jest-diff@^24.3.0, jest-diff@^24.9.0: +jest-diff@^24.3.0: version "24.9.0" resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-24.9.0.tgz#931b7d0d5778a1baf7452cb816e325e3724055da" integrity sha512-qMfrTs8AdJE2iqrTp0hzh7kTd2PQWrsFyj9tORoKmu32xjPjeE4NyjVRDz8ybYwqS2ik8N4hsIpiVTyFeo2lBQ== @@ -2422,300 +2685,309 @@ jest-diff@^24.3.0, jest-diff@^24.9.0: jest-get-type "^24.9.0" pretty-format "^24.9.0" -jest-docblock@^24.3.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-24.9.0.tgz#7970201802ba560e1c4092cc25cbedf5af5a8ce2" - integrity sha512-F1DjdpDMJMA1cN6He0FNYNZlo3yYmOtRUnktrT9Q37njYzC5WEaDdmbynIgy0L/IvXvvgsG8OsqhLPXTpfmZAA== - dependencies: - detect-newline "^2.1.0" - -jest-each@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-24.9.0.tgz#eb2da602e2a610898dbc5f1f6df3ba86b55f8b05" - integrity sha512-ONi0R4BvW45cw8s2Lrx8YgbeXL1oCQ/wIDwmsM3CqM/nlblNCPmnC3IPQlMbRFZu3wKdQ2U8BqM6lh3LJ5Bsog== - dependencies: - "@jest/types" "^24.9.0" - chalk "^2.0.1" - jest-get-type "^24.9.0" - jest-util "^24.9.0" - pretty-format "^24.9.0" - -jest-environment-jsdom@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-24.9.0.tgz#4b0806c7fc94f95edb369a69cc2778eec2b7375b" - integrity sha512-Zv9FV9NBRzLuALXjvRijO2351DRQeLYXtpD4xNvfoVFw21IOKNhZAEUKcbiEtjTkm2GsJ3boMVgkaR7rN8qetA== - dependencies: - "@jest/environment" "^24.9.0" - "@jest/fake-timers" "^24.9.0" - "@jest/types" "^24.9.0" - jest-mock "^24.9.0" - jest-util "^24.9.0" - jsdom "^11.5.1" - -jest-environment-node@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-24.9.0.tgz#333d2d2796f9687f2aeebf0742b519f33c1cbfd3" - integrity sha512-6d4V2f4nxzIzwendo27Tr0aFm+IXWa0XEUnaH6nU0FMaozxovt+sfRvh4J47wL1OvF83I3SSTu0XK+i4Bqe7uA== - dependencies: - "@jest/environment" "^24.9.0" - "@jest/fake-timers" "^24.9.0" - "@jest/types" "^24.9.0" - jest-mock "^24.9.0" - jest-util "^24.9.0" +jest-diff@^25.1.0: + version "25.1.0" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-25.1.0.tgz#58b827e63edea1bc80c1de952b80cec9ac50e1ad" + integrity sha512-nepXgajT+h017APJTreSieh4zCqnSHEJ1iT8HDlewu630lSJ4Kjjr9KNzm+kzGwwcpsDE6Snx1GJGzzsefaEHw== + dependencies: + chalk "^3.0.0" + diff-sequences "^25.1.0" + jest-get-type "^25.1.0" + pretty-format "^25.1.0" + +jest-docblock@^25.1.0: + version "25.1.0" + resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-25.1.0.tgz#0f44bea3d6ca6dfc38373d465b347c8818eccb64" + integrity sha512-370P/mh1wzoef6hUKiaMcsPtIapY25suP6JqM70V9RJvdKLrV4GaGbfUseUVk4FZJw4oTZ1qSCJNdrClKt5JQA== + dependencies: + detect-newline "^3.0.0" + +jest-each@^25.1.0: + version "25.1.0" + resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-25.1.0.tgz#a6b260992bdf451c2d64a0ccbb3ac25e9b44c26a" + integrity sha512-R9EL8xWzoPySJ5wa0DXFTj7NrzKpRD40Jy+zQDp3Qr/2QmevJgkN9GqioCGtAJ2bW9P/MQRznQHQQhoeAyra7A== + dependencies: + "@jest/types" "^25.1.0" + chalk "^3.0.0" + jest-get-type "^25.1.0" + jest-util "^25.1.0" + pretty-format "^25.1.0" + +jest-environment-jsdom@^25.1.0: + version "25.1.0" + resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-25.1.0.tgz#6777ab8b3e90fd076801efd3bff8e98694ab43c3" + integrity sha512-ILb4wdrwPAOHX6W82GGDUiaXSSOE274ciuov0lztOIymTChKFtC02ddyicRRCdZlB5YSrv3vzr1Z5xjpEe1OHQ== + dependencies: + "@jest/environment" "^25.1.0" + "@jest/fake-timers" "^25.1.0" + "@jest/types" "^25.1.0" + jest-mock "^25.1.0" + jest-util "^25.1.0" + jsdom "^15.1.1" + +jest-environment-node@^25.1.0: + version "25.1.0" + resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-25.1.0.tgz#797bd89b378cf0bd794dc8e3dca6ef21126776db" + integrity sha512-U9kFWTtAPvhgYY5upnH9rq8qZkj6mYLup5l1caAjjx9uNnkLHN2xgZy5mo4SyLdmrh/EtB9UPpKFShvfQHD0Iw== + dependencies: + "@jest/environment" "^25.1.0" + "@jest/fake-timers" "^25.1.0" + "@jest/types" "^25.1.0" + jest-mock "^25.1.0" + jest-util "^25.1.0" jest-get-type@^24.9.0: version "24.9.0" resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-24.9.0.tgz#1684a0c8a50f2e4901b6644ae861f579eed2ef0e" integrity sha512-lUseMzAley4LhIcpSP9Jf+fTrQ4a1yHQwLNeeVa2cEmbCGeoZAtYPOIv8JaxLD/sUpKxetKGP+gsHl8f8TSj8Q== -jest-haste-map@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-24.9.0.tgz#b38a5d64274934e21fa417ae9a9fbeb77ceaac7d" - integrity sha512-kfVFmsuWui2Sj1Rp1AJ4D9HqJwE4uwTlS/vO+eRUaMmd54BFpli2XhMQnPC2k4cHFVbB2Q2C+jtI1AGLgEnCjQ== +jest-get-type@^25.1.0: + version "25.1.0" + resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-25.1.0.tgz#1cfe5fc34f148dc3a8a3b7275f6b9ce9e2e8a876" + integrity sha512-yWkBnT+5tMr8ANB6V+OjmrIJufHtCAqI5ic2H40v+tRqxDmE0PGnIiTyvRWFOMtmVHYpwRqyazDbTnhpjsGvLw== + +jest-haste-map@^25.1.0: + version "25.1.0" + resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-25.1.0.tgz#ae12163d284f19906260aa51fd405b5b2e5a4ad3" + integrity sha512-/2oYINIdnQZAqyWSn1GTku571aAfs8NxzSErGek65Iu5o8JYb+113bZysRMcC/pjE5v9w0Yz+ldbj9NxrFyPyw== dependencies: - "@jest/types" "^24.9.0" - anymatch "^2.0.0" + "@jest/types" "^25.1.0" + anymatch "^3.0.3" fb-watchman "^2.0.0" - graceful-fs "^4.1.15" - invariant "^2.2.4" - jest-serializer "^24.9.0" - jest-util "^24.9.0" - jest-worker "^24.9.0" - micromatch "^3.1.10" + graceful-fs "^4.2.3" + jest-serializer "^25.1.0" + jest-util "^25.1.0" + jest-worker "^25.1.0" + micromatch "^4.0.2" sane "^4.0.3" walker "^1.0.7" optionalDependencies: - fsevents "^1.2.7" + fsevents "^2.1.2" -jest-jasmine2@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-24.9.0.tgz#1f7b1bd3242c1774e62acabb3646d96afc3be6a0" - integrity sha512-Cq7vkAgaYKp+PsX+2/JbTarrk0DmNhsEtqBXNwUHkdlbrTBLtMJINADf2mf5FkowNsq8evbPc07/qFO0AdKTzw== +jest-jasmine2@^25.1.0: + version "25.1.0" + resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-25.1.0.tgz#681b59158a430f08d5d0c1cce4f01353e4b48137" + integrity sha512-GdncRq7jJ7sNIQ+dnXvpKO2MyP6j3naNK41DTTjEAhLEdpImaDA9zSAZwDhijjSF/D7cf4O5fdyUApGBZleaEg== dependencies: "@babel/traverse" "^7.1.0" - "@jest/environment" "^24.9.0" - "@jest/test-result" "^24.9.0" - "@jest/types" "^24.9.0" - chalk "^2.0.1" + "@jest/environment" "^25.1.0" + "@jest/source-map" "^25.1.0" + "@jest/test-result" "^25.1.0" + "@jest/types" "^25.1.0" + chalk "^3.0.0" co "^4.6.0" - expect "^24.9.0" + expect "^25.1.0" is-generator-fn "^2.0.0" - jest-each "^24.9.0" - jest-matcher-utils "^24.9.0" - jest-message-util "^24.9.0" - jest-runtime "^24.9.0" - jest-snapshot "^24.9.0" - jest-util "^24.9.0" - pretty-format "^24.9.0" - throat "^4.0.0" - -jest-leak-detector@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-24.9.0.tgz#b665dea7c77100c5c4f7dfcb153b65cf07dcf96a" - integrity sha512-tYkFIDsiKTGwb2FG1w8hX9V0aUb2ot8zY/2nFg087dUageonw1zrLMP4W6zsRO59dPkTSKie+D4rhMuP9nRmrA== - dependencies: - jest-get-type "^24.9.0" - pretty-format "^24.9.0" - -jest-matcher-utils@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-24.9.0.tgz#f5b3661d5e628dffe6dd65251dfdae0e87c3a073" - integrity sha512-OZz2IXsu6eaiMAwe67c1T+5tUAtQyQx27/EMEkbFAGiw52tB9em+uGbzpcgYVpA8wl0hlxKPZxrly4CXU/GjHA== - dependencies: - chalk "^2.0.1" - jest-diff "^24.9.0" - jest-get-type "^24.9.0" - pretty-format "^24.9.0" - -jest-message-util@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-24.9.0.tgz#527f54a1e380f5e202a8d1149b0ec872f43119e3" - integrity sha512-oCj8FiZ3U0hTP4aSui87P4L4jC37BtQwUMqk+zk/b11FR19BJDeZsZAvIHutWnmtw7r85UmR3CEWZ0HWU2mAlw== + jest-each "^25.1.0" + jest-matcher-utils "^25.1.0" + jest-message-util "^25.1.0" + jest-runtime "^25.1.0" + jest-snapshot "^25.1.0" + jest-util "^25.1.0" + pretty-format "^25.1.0" + throat "^5.0.0" + +jest-leak-detector@^25.1.0: + version "25.1.0" + resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-25.1.0.tgz#ed6872d15aa1c72c0732d01bd073dacc7c38b5c6" + integrity sha512-3xRI264dnhGaMHRvkFyEKpDeaRzcEBhyNrOG5oT8xPxOyUAblIAQnpiR3QXu4wDor47MDTiHbiFcbypdLcLW5w== + dependencies: + jest-get-type "^25.1.0" + pretty-format "^25.1.0" + +jest-matcher-utils@^25.1.0: + version "25.1.0" + resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-25.1.0.tgz#fa5996c45c7193a3c24e73066fc14acdee020220" + integrity sha512-KGOAFcSFbclXIFE7bS4C53iYobKI20ZWleAdAFun4W1Wz1Kkej8Ng6RRbhL8leaEvIOjGXhGf/a1JjO8bkxIWQ== + dependencies: + chalk "^3.0.0" + jest-diff "^25.1.0" + jest-get-type "^25.1.0" + pretty-format "^25.1.0" + +jest-message-util@^25.1.0: + version "25.1.0" + resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-25.1.0.tgz#702a9a5cb05c144b9aa73f06e17faa219389845e" + integrity sha512-Nr/Iwar2COfN22aCqX0kCVbXgn8IBm9nWf4xwGr5Olv/KZh0CZ32RKgZWMVDXGdOahicM10/fgjdimGNX/ttCQ== dependencies: "@babel/code-frame" "^7.0.0" - "@jest/test-result" "^24.9.0" - "@jest/types" "^24.9.0" + "@jest/test-result" "^25.1.0" + "@jest/types" "^25.1.0" "@types/stack-utils" "^1.0.1" - chalk "^2.0.1" - micromatch "^3.1.10" - slash "^2.0.0" + chalk "^3.0.0" + micromatch "^4.0.2" + slash "^3.0.0" stack-utils "^1.0.1" -jest-mock@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-24.9.0.tgz#c22835541ee379b908673ad51087a2185c13f1c6" - integrity sha512-3BEYN5WbSq9wd+SyLDES7AHnjH9A/ROBwmz7l2y+ol+NtSFO8DYiEBzoO1CeFc9a8DYy10EO4dDFVv/wN3zl1w== +jest-mock@^25.1.0: + version "25.1.0" + resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-25.1.0.tgz#411d549e1b326b7350b2e97303a64715c28615fd" + integrity sha512-28/u0sqS+42vIfcd1mlcg4ZVDmSUYuNvImP4X2lX5hRMLW+CN0BeiKVD4p+ujKKbSPKd3rg/zuhCF+QBLJ4vag== dependencies: - "@jest/types" "^24.9.0" + "@jest/types" "^25.1.0" jest-pnp-resolver@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.1.tgz#ecdae604c077a7fbc70defb6d517c3c1c898923a" integrity sha512-pgFw2tm54fzgYvc/OHrnysABEObZCUNFnhjoRjaVOCN8NYc032/gVjPaHD4Aq6ApkSieWtfKAFQtmDKAmhupnQ== -jest-regex-util@^24.3.0, jest-regex-util@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-24.9.0.tgz#c13fb3380bde22bf6575432c493ea8fe37965636" - integrity sha512-05Cmb6CuxaA+Ys6fjr3PhvV3bGQmO+2p2La4hFbU+W5uOc479f7FdLXUWXw4pYMAhhSZIuKHwSXSu6CsSBAXQA== +jest-regex-util@^25.1.0: + version "25.1.0" + resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-25.1.0.tgz#efaf75914267741838e01de24da07b2192d16d87" + integrity sha512-9lShaDmDpqwg+xAd73zHydKrBbbrIi08Kk9YryBEBybQFg/lBWR/2BDjjiSE7KIppM9C5+c03XiDaZ+m4Pgs1w== -jest-resolve-dependencies@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-24.9.0.tgz#ad055198959c4cfba8a4f066c673a3f0786507ab" - integrity sha512-Fm7b6AlWnYhT0BXy4hXpactHIqER7erNgIsIozDXWl5dVm+k8XdGVe1oTg1JyaFnOxarMEbax3wyRJqGP2Pq+g== +jest-resolve-dependencies@^25.1.0: + version "25.1.0" + resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-25.1.0.tgz#8a1789ec64eb6aaa77fd579a1066a783437e70d2" + integrity sha512-Cu/Je38GSsccNy4I2vL12ZnBlD170x2Oh1devzuM9TLH5rrnLW1x51lN8kpZLYTvzx9j+77Y5pqBaTqfdzVzrw== dependencies: - "@jest/types" "^24.9.0" - jest-regex-util "^24.3.0" - jest-snapshot "^24.9.0" + "@jest/types" "^25.1.0" + jest-regex-util "^25.1.0" + jest-snapshot "^25.1.0" -jest-resolve@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-24.9.0.tgz#dff04c7687af34c4dd7e524892d9cf77e5d17321" - integrity sha512-TaLeLVL1l08YFZAt3zaPtjiVvyy4oSA6CRe+0AFPPVX3Q/VI0giIWWoAvoS5L96vj9Dqxj4fB5p2qrHCmTU/MQ== +jest-resolve@^25.1.0: + version "25.1.0" + resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-25.1.0.tgz#23d8b6a4892362baf2662877c66aa241fa2eaea3" + integrity sha512-XkBQaU1SRCHj2Evz2Lu4Czs+uIgJXWypfO57L7JYccmAXv4slXA6hzNblmcRmf7P3cQ1mE7fL3ABV6jAwk4foQ== dependencies: - "@jest/types" "^24.9.0" + "@jest/types" "^25.1.0" browser-resolve "^1.11.3" - chalk "^2.0.1" + chalk "^3.0.0" jest-pnp-resolver "^1.2.1" realpath-native "^1.1.0" -jest-runner@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-24.9.0.tgz#574fafdbd54455c2b34b4bdf4365a23857fcdf42" - integrity sha512-KksJQyI3/0mhcfspnxxEOBueGrd5E4vV7ADQLT9ESaCzz02WnbdbKWIf5Mkaucoaj7obQckYPVX6JJhgUcoWWg== +jest-runner@^25.1.0: + version "25.1.0" + resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-25.1.0.tgz#fef433a4d42c89ab0a6b6b268e4a4fbe6b26e812" + integrity sha512-su3O5fy0ehwgt+e8Wy7A8CaxxAOCMzL4gUBftSs0Ip32S0epxyZPDov9Znvkl1nhVOJNf4UwAsnqfc3plfQH9w== dependencies: - "@jest/console" "^24.7.1" - "@jest/environment" "^24.9.0" - "@jest/test-result" "^24.9.0" - "@jest/types" "^24.9.0" - chalk "^2.4.2" + "@jest/console" "^25.1.0" + "@jest/environment" "^25.1.0" + "@jest/test-result" "^25.1.0" + "@jest/types" "^25.1.0" + chalk "^3.0.0" exit "^0.1.2" - graceful-fs "^4.1.15" - jest-config "^24.9.0" - jest-docblock "^24.3.0" - jest-haste-map "^24.9.0" - jest-jasmine2 "^24.9.0" - jest-leak-detector "^24.9.0" - jest-message-util "^24.9.0" - jest-resolve "^24.9.0" - jest-runtime "^24.9.0" - jest-util "^24.9.0" - jest-worker "^24.6.0" + graceful-fs "^4.2.3" + jest-config "^25.1.0" + jest-docblock "^25.1.0" + jest-haste-map "^25.1.0" + jest-jasmine2 "^25.1.0" + jest-leak-detector "^25.1.0" + jest-message-util "^25.1.0" + jest-resolve "^25.1.0" + jest-runtime "^25.1.0" + jest-util "^25.1.0" + jest-worker "^25.1.0" source-map-support "^0.5.6" - throat "^4.0.0" - -jest-runtime@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-24.9.0.tgz#9f14583af6a4f7314a6a9d9f0226e1a781c8e4ac" - integrity sha512-8oNqgnmF3v2J6PVRM2Jfuj8oX3syKmaynlDMMKQ4iyzbQzIG6th5ub/lM2bCMTmoTKM3ykcUYI2Pw9xwNtjMnw== - dependencies: - "@jest/console" "^24.7.1" - "@jest/environment" "^24.9.0" - "@jest/source-map" "^24.3.0" - "@jest/transform" "^24.9.0" - "@jest/types" "^24.9.0" - "@types/yargs" "^13.0.0" - chalk "^2.0.1" + throat "^5.0.0" + +jest-runtime@^25.1.0: + version "25.1.0" + resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-25.1.0.tgz#02683218f2f95aad0f2ec1c9cdb28c1dc0ec0314" + integrity sha512-mpPYYEdbExKBIBB16ryF6FLZTc1Rbk9Nx0ryIpIMiDDkOeGa0jQOKVI/QeGvVGlunKKm62ywcioeFVzIbK03bA== + dependencies: + "@jest/console" "^25.1.0" + "@jest/environment" "^25.1.0" + "@jest/source-map" "^25.1.0" + "@jest/test-result" "^25.1.0" + "@jest/transform" "^25.1.0" + "@jest/types" "^25.1.0" + "@types/yargs" "^15.0.0" + chalk "^3.0.0" + collect-v8-coverage "^1.0.0" exit "^0.1.2" glob "^7.1.3" - graceful-fs "^4.1.15" - jest-config "^24.9.0" - jest-haste-map "^24.9.0" - jest-message-util "^24.9.0" - jest-mock "^24.9.0" - jest-regex-util "^24.3.0" - jest-resolve "^24.9.0" - jest-snapshot "^24.9.0" - jest-util "^24.9.0" - jest-validate "^24.9.0" + graceful-fs "^4.2.3" + jest-config "^25.1.0" + jest-haste-map "^25.1.0" + jest-message-util "^25.1.0" + jest-mock "^25.1.0" + jest-regex-util "^25.1.0" + jest-resolve "^25.1.0" + jest-snapshot "^25.1.0" + jest-util "^25.1.0" + jest-validate "^25.1.0" realpath-native "^1.1.0" - slash "^2.0.0" - strip-bom "^3.0.0" - yargs "^13.3.0" + slash "^3.0.0" + strip-bom "^4.0.0" + yargs "^15.0.0" -jest-serializer@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-24.9.0.tgz#e6d7d7ef96d31e8b9079a714754c5d5c58288e73" - integrity sha512-DxYipDr8OvfrKH3Kel6NdED3OXxjvxXZ1uIY2I9OFbGg+vUkkg7AGvi65qbhbWNPvDckXmzMPbK3u3HaDO49bQ== +jest-serializer@^25.1.0: + version "25.1.0" + resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-25.1.0.tgz#73096ba90e07d19dec4a0c1dd89c355e2f129e5d" + integrity sha512-20Wkq5j7o84kssBwvyuJ7Xhn7hdPeTXndnwIblKDR2/sy1SUm6rWWiG9kSCgJPIfkDScJCIsTtOKdlzfIHOfKA== -jest-snapshot@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-24.9.0.tgz#ec8e9ca4f2ec0c5c87ae8f925cf97497b0e951ba" - integrity sha512-uI/rszGSs73xCM0l+up7O7a40o90cnrk429LOiK3aeTvfC0HHmldbd81/B7Ix81KSFe1lwkbl7GnBGG4UfuDew== +jest-snapshot@^25.1.0: + version "25.1.0" + resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-25.1.0.tgz#d5880bd4b31faea100454608e15f8d77b9d221d9" + integrity sha512-xZ73dFYN8b/+X2hKLXz4VpBZGIAn7muD/DAg+pXtDzDGw3iIV10jM7WiHqhCcpDZfGiKEj7/2HXAEPtHTj0P2A== dependencies: "@babel/types" "^7.0.0" - "@jest/types" "^24.9.0" - chalk "^2.0.1" - expect "^24.9.0" - jest-diff "^24.9.0" - jest-get-type "^24.9.0" - jest-matcher-utils "^24.9.0" - jest-message-util "^24.9.0" - jest-resolve "^24.9.0" + "@jest/types" "^25.1.0" + chalk "^3.0.0" + expect "^25.1.0" + jest-diff "^25.1.0" + jest-get-type "^25.1.0" + jest-matcher-utils "^25.1.0" + jest-message-util "^25.1.0" + jest-resolve "^25.1.0" mkdirp "^0.5.1" natural-compare "^1.4.0" - pretty-format "^24.9.0" - semver "^6.2.0" + pretty-format "^25.1.0" + semver "^7.1.1" -jest-util@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-24.9.0.tgz#7396814e48536d2e85a37de3e4c431d7cb140162" - integrity sha512-x+cZU8VRmOJxbA1K5oDBdxQmdq0OIdADarLxk0Mq+3XS4jgvhG/oKGWcIDCtPG0HgjxOYvF+ilPJQsAyXfbNOg== +jest-util@^25.1.0: + version "25.1.0" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-25.1.0.tgz#7bc56f7b2abd534910e9fa252692f50624c897d9" + integrity sha512-7did6pLQ++87Qsj26Fs/TIwZMUFBXQ+4XXSodRNy3luch2DnRXsSnmpVtxxQ0Yd6WTipGpbhh2IFP1mq6/fQGw== dependencies: - "@jest/console" "^24.9.0" - "@jest/fake-timers" "^24.9.0" - "@jest/source-map" "^24.9.0" - "@jest/test-result" "^24.9.0" - "@jest/types" "^24.9.0" - callsites "^3.0.0" - chalk "^2.0.1" - graceful-fs "^4.1.15" + "@jest/types" "^25.1.0" + chalk "^3.0.0" is-ci "^2.0.0" mkdirp "^0.5.1" - slash "^2.0.0" - source-map "^0.6.0" -jest-validate@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-24.9.0.tgz#0775c55360d173cd854e40180756d4ff52def8ab" - integrity sha512-HPIt6C5ACwiqSiwi+OfSSHbK8sG7akG8eATl+IPKaeIjtPOeBUd/g3J7DghugzxrGjI93qS/+RPKe1H6PqvhRQ== +jest-validate@^25.1.0: + version "25.1.0" + resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-25.1.0.tgz#1469fa19f627bb0a9a98e289f3e9ab6a668c732a" + integrity sha512-kGbZq1f02/zVO2+t1KQGSVoCTERc5XeObLwITqC6BTRH3Adv7NZdYqCpKIZLUgpLXf2yISzQ465qOZpul8abXA== dependencies: - "@jest/types" "^24.9.0" + "@jest/types" "^25.1.0" camelcase "^5.3.1" - chalk "^2.0.1" - jest-get-type "^24.9.0" + chalk "^3.0.0" + jest-get-type "^25.1.0" leven "^3.1.0" - pretty-format "^24.9.0" + pretty-format "^25.1.0" -jest-watcher@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-24.9.0.tgz#4b56e5d1ceff005f5b88e528dc9afc8dd4ed2b3b" - integrity sha512-+/fLOfKPXXYJDYlks62/4R4GoT+GU1tYZed99JSCOsmzkkF7727RqKrjNAxtfO4YpGv11wybgRvCjR73lK2GZw== +jest-watcher@^25.1.0: + version "25.1.0" + resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-25.1.0.tgz#97cb4a937f676f64c9fad2d07b824c56808e9806" + integrity sha512-Q9eZ7pyaIr6xfU24OeTg4z1fUqBF/4MP6J801lyQfg7CsnZ/TCzAPvCfckKdL5dlBBEKBeHV0AdyjFZ5eWj4ig== dependencies: - "@jest/test-result" "^24.9.0" - "@jest/types" "^24.9.0" - "@types/yargs" "^13.0.0" - ansi-escapes "^3.0.0" - chalk "^2.0.1" - jest-util "^24.9.0" - string-length "^2.0.0" + "@jest/test-result" "^25.1.0" + "@jest/types" "^25.1.0" + ansi-escapes "^4.2.1" + chalk "^3.0.0" + jest-util "^25.1.0" + string-length "^3.1.0" -jest-worker@^24.6.0, jest-worker@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-24.9.0.tgz#5dbfdb5b2d322e98567898238a9697bcce67b3e5" - integrity sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw== +jest-worker@^25.1.0: + version "25.1.0" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-25.1.0.tgz#75d038bad6fdf58eba0d2ec1835856c497e3907a" + integrity sha512-ZHhHtlxOWSxCoNOKHGbiLzXnl42ga9CxDr27H36Qn+15pQZd3R/F24jrmjDelw9j/iHUIWMWs08/u2QN50HHOg== dependencies: merge-stream "^2.0.0" - supports-color "^6.1.0" + supports-color "^7.0.0" -jest@24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest/-/jest-24.9.0.tgz#987d290c05a08b52c56188c1002e368edb007171" - integrity sha512-YvkBL1Zm7d2B1+h5fHEOdyjCG+sGMz4f8D86/0HiqJ6MB4MnDc8FgP5vdWsGnemOQro7lnYo8UakZ3+5A0jxGw== +jest@25.1.0: + version "25.1.0" + resolved "https://registry.yarnpkg.com/jest/-/jest-25.1.0.tgz#b85ef1ddba2fdb00d295deebbd13567106d35be9" + integrity sha512-FV6jEruneBhokkt9MQk0WUFoNTwnF76CLXtwNMfsc0um0TlB/LG2yxUd0KqaFjEJ9laQmVWQWS0sG/t2GsuI0w== dependencies: - import-local "^2.0.0" - jest-cli "^24.9.0" + "@jest/core" "^25.1.0" + import-local "^3.0.2" + jest-cli "^25.1.0" -"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: +js-tokens@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== @@ -2733,36 +3005,36 @@ jsbn@~0.1.0: resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= -jsdom@^11.5.1: - version "11.12.0" - resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-11.12.0.tgz#1a80d40ddd378a1de59656e9e6dc5a3ba8657bc8" - integrity sha512-y8Px43oyiBM13Zc1z780FrfNLJCXTL40EWlty/LXUtcjykRBNgLlCjWXpfSPBl2iv+N7koQN+dvqszHZgT/Fjw== +jsdom@^15.1.1: + version "15.2.1" + resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-15.2.1.tgz#d2feb1aef7183f86be521b8c6833ff5296d07ec5" + integrity sha512-fAl1W0/7T2G5vURSyxBzrJ1LSdQn6Tr5UX/xD4PXDx/PDgwygedfW6El/KIj3xJ7FU61TTYnc/l/B7P49Eqt6g== dependencies: abab "^2.0.0" - acorn "^5.5.3" - acorn-globals "^4.1.0" + acorn "^7.1.0" + acorn-globals "^4.3.2" array-equal "^1.0.0" - cssom ">= 0.3.2 < 0.4.0" - cssstyle "^1.0.0" - data-urls "^1.0.0" + cssom "^0.4.1" + cssstyle "^2.0.0" + data-urls "^1.1.0" domexception "^1.0.1" - escodegen "^1.9.1" + escodegen "^1.11.1" html-encoding-sniffer "^1.0.2" - left-pad "^1.3.0" - nwsapi "^2.0.7" - parse5 "4.0.0" + nwsapi "^2.2.0" + parse5 "5.1.0" pn "^1.1.0" - request "^2.87.0" - request-promise-native "^1.0.5" - sax "^1.2.4" + request "^2.88.0" + request-promise-native "^1.0.7" + saxes "^3.1.9" symbol-tree "^3.2.2" - tough-cookie "^2.3.4" + tough-cookie "^3.0.1" w3c-hr-time "^1.0.1" + w3c-xmlserializer "^1.1.2" webidl-conversions "^4.0.2" - whatwg-encoding "^1.0.3" - whatwg-mimetype "^2.1.0" - whatwg-url "^6.4.1" - ws "^5.2.0" + whatwg-encoding "^1.0.5" + whatwg-mimetype "^2.3.0" + whatwg-url "^7.0.0" + ws "^7.0.0" xml-name-validator "^3.0.0" jsesc@^2.5.1: @@ -2855,11 +3127,6 @@ latest-version@^3.0.0: dependencies: package-json "^4.0.0" -left-pad@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/left-pad/-/left-pad-1.3.0.tgz#5b8a3a7765dfe001261dde915589e782f8c94d1e" - integrity sha512-XI5MPzVNApjAyhQzphX8BkmKsKUxD4LdyK24iZeQGinBN9yTQT3bFlCBy/aVx2HrNcqQGsdot8ghrjyrvMCoEA== - leven@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" @@ -2902,13 +3169,12 @@ locate-path@^2.0.0: p-locate "^2.0.0" path-exists "^3.0.0" -locate-path@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" - integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== +locate-path@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" + integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== dependencies: - p-locate "^3.0.0" - path-exists "^3.0.0" + p-locate "^4.1.0" lodash._reinterpolate@^3.0.0: version "3.0.0" @@ -2950,12 +3216,12 @@ lodash@^4.17.13, lodash@^4.17.15: resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548" integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A== -loose-envify@^1.0.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" - integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== +lolex@^5.0.0: + version "5.1.2" + resolved "https://registry.yarnpkg.com/lolex/-/lolex-5.1.2.tgz#953694d098ce7c07bc5ed6d0e42bc6c0c6d5a367" + integrity sha512-h4hmjAvHTmd+25JSwrtTIuwbKdwg5NzZVRMLn9saij4SZaepCrTCxPr35H/3bjwfMJtN+t3CX8672UIkglz28A== dependencies: - js-tokens "^3.0.0 || ^4.0.0" + "@sinonjs/commons" "^1.7.0" loud-rejection@^1.0.0: version "1.6.0" @@ -2985,13 +3251,12 @@ make-dir@^1.0.0: dependencies: pify "^3.0.0" -make-dir@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" - integrity sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA== +make-dir@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.0.0.tgz#1b5f39f6b9270ed33f9f054c5c0f84304989f801" + integrity sha512-grNJDhb8b1Jm1qeqW5R/O63wUo4UXo2v2HMic6YT9i/HBlF93S8jkMgH7yugvY9ABDShH4VZMn8I+U8+fCNegw== dependencies: - pify "^4.0.1" - semver "^5.6.0" + semver "^6.0.0" make-error@1.x, make-error@^1.1.1: version "1.3.5" @@ -3102,6 +3367,14 @@ micromatch@^3.1.10, micromatch@^3.1.4: snapdragon "^0.8.1" to-regex "^3.0.2" +micromatch@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.2.tgz#4fcb0999bf9fbc2fcbdd212f6d629b9a56c39259" + integrity sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q== + dependencies: + braces "^3.0.1" + picomatch "^2.0.5" + mime-db@1.43.0: version "1.43.0" resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.43.0.tgz#0a12e0502650e473d735535050e7c8f4eb4fae58" @@ -3114,6 +3387,11 @@ mime-types@^2.1.12, mime-types@~2.1.19: dependencies: mime-db "1.43.0" +mimic-fn@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" + integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== + minimatch@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" @@ -3174,7 +3452,7 @@ ms@^2.1.1: resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== -nan@^2.12.1, nan@^2.8.0: +nan@^2.8.0: version "2.14.0" resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.0.tgz#7818f722027b2459a86f0295d434d1fc2336c52c" integrity sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg== @@ -3221,16 +3499,16 @@ node-modules-regexp@^1.0.0: resolved "https://registry.yarnpkg.com/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz#8d9dbe28964a4ac5712e9131642107c71e90ec40" integrity sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA= -node-notifier@^5.4.2: - version "5.4.3" - resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-5.4.3.tgz#cb72daf94c93904098e28b9c590fd866e464bd50" - integrity sha512-M4UBGcs4jeOK9CjTsYwkvH6/MzuUmGCyTW+kCY7uO+1ZVr0+FHGdPdIf5CCLqAaxnRrWidyoQlNkMIIVwbKB8Q== +node-notifier@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-6.0.0.tgz#cea319e06baa16deec8ce5cd7f133c4a46b68e12" + integrity sha512-SVfQ/wMw+DesunOm5cKqr6yDcvUTDl/yc97ybGHMrteNEY6oekXpNpS3lZwgLlwz0FLgHoiW28ZpmBHUDg37cw== dependencies: growly "^1.3.0" - is-wsl "^1.1.0" - semver "^5.5.0" + is-wsl "^2.1.1" + semver "^6.3.0" shellwords "^0.1.1" - which "^1.3.0" + which "^1.3.1" nodemon@2.0.2: version "2.0.2" @@ -3284,12 +3562,19 @@ npm-run-path@^2.0.0: dependencies: path-key "^2.0.0" +npm-run-path@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" + integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== + dependencies: + path-key "^3.0.0" + number-is-nan@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0= -nwsapi@^2.0.7: +nwsapi@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.0.tgz#204879a9e3d068ff2a55139c2c772780681a38b7" integrity sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ== @@ -3362,6 +3647,13 @@ once@^1.3.0, once@^1.3.1, once@^1.4.0: dependencies: wrappy "1" +onetime@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.0.tgz#fff0f3c91617fe62bb50189636e99ac8a6df7be5" + integrity sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q== + dependencies: + mimic-fn "^2.1.0" + optimist@^0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686" @@ -3382,18 +3674,21 @@ optionator@^0.8.1: type-check "~0.3.2" word-wrap "~1.2.3" -p-each-series@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-each-series/-/p-each-series-1.0.0.tgz#930f3d12dd1f50e7434457a22cd6f04ac6ad7f71" - integrity sha1-kw89Et0fUOdDRFeiLNbwSsatf3E= - dependencies: - p-reduce "^1.0.0" +p-each-series@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/p-each-series/-/p-each-series-2.1.0.tgz#961c8dd3f195ea96c747e636b262b800a6b1af48" + integrity sha512-ZuRs1miPT4HrjFa+9fRfOFXxGJfORgelKV9f9nNOWw2gl6gVsRaVDOQP0+MI0G0wGKns1Yacsu0GjOFbTK0JFQ== p-finally@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= +p-finally@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-2.0.1.tgz#bd6fcaa9c559a096b680806f4d657b3f0f240561" + integrity sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw== + p-limit@^1.1.0: version "1.3.0" resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" @@ -3401,7 +3696,7 @@ p-limit@^1.1.0: dependencies: p-try "^1.0.0" -p-limit@^2.0.0: +p-limit@^2.2.0: version "2.2.2" resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.2.2.tgz#61279b67721f5287aa1c13a9a7fbbc48c9291b1e" integrity sha512-WGR+xHecKTr7EbUEhyLSh5Dube9JtdiG78ufaeLxTgpudf/20KqyMioIUZJAezlTIi6evxuoUs9YXc11cU+yzQ== @@ -3415,17 +3710,12 @@ p-locate@^2.0.0: dependencies: p-limit "^1.1.0" -p-locate@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" - integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== +p-locate@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" + integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== dependencies: - p-limit "^2.0.0" - -p-reduce@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-reduce/-/p-reduce-1.0.0.tgz#18c2b0dd936a4690a529f8231f58a0fdb6a47dfa" - integrity sha1-GMKw3ZNqRpClKfgjH1ig/bakffo= + p-limit "^2.2.0" p-try@^1.0.0: version "1.0.0" @@ -3467,10 +3757,10 @@ parse-json@^4.0.0: error-ex "^1.3.1" json-parse-better-errors "^1.0.1" -parse5@4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/parse5/-/parse5-4.0.0.tgz#6d78656e3da8d78b4ec0b906f7c08ef1dfe3f608" - integrity sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA== +parse5@5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/parse5/-/parse5-5.1.0.tgz#c59341c9723f414c452975564c7c00a68d58acd2" + integrity sha512-fxNG2sQjHvlVAYmzBZS9YlDp6PTSSDwa98vkD4QgVDDCAo84z5X1t5XyJQ62ImdLXx5NdIIfihey6xpum9/gRQ== pascalcase@^0.1.1: version "0.1.1" @@ -3494,6 +3784,11 @@ path-exists@^3.0.0: resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= +path-exists@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" + integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== + path-is-absolute@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" @@ -3509,7 +3804,7 @@ path-key@^2.0.0, path-key@^2.0.1: resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= -path-key@^3.1.0: +path-key@^3.0.0, path-key@^3.1.0: version "3.1.1" resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== @@ -3540,7 +3835,7 @@ performance-now@^2.1.0: resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= -picomatch@^2.0.4, picomatch@^2.0.7: +picomatch@^2.0.4, picomatch@^2.0.5, picomatch@^2.0.7: version "2.2.1" resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.1.tgz#21bac888b6ed8601f831ce7816e335bc779f0a4a" integrity sha512-ISBaA8xQNmwELC7eOjqFKMESB2VIqt4PPDD0nsS95b/9dZXvVKOlz9keMSnoGGKcOHXfTvDD6WMaRoSc9UuhRA== @@ -3579,12 +3874,12 @@ pirates@^4.0.1: dependencies: node-modules-regexp "^1.0.0" -pkg-dir@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-3.0.0.tgz#2749020f239ed990881b1f71210d51eb6523bea3" - integrity sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw== +pkg-dir@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" + integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== dependencies: - find-up "^3.0.0" + find-up "^4.0.0" pn@^1.1.0: version "1.1.0" @@ -3616,6 +3911,16 @@ pretty-format@^24.9.0: ansi-styles "^3.2.0" react-is "^16.8.4" +pretty-format@^25.1.0: + version "25.1.0" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-25.1.0.tgz#ed869bdaec1356fc5ae45de045e2c8ec7b07b0c8" + integrity sha512-46zLRSGLd02Rp+Lhad9zzuNZ+swunitn8zIpfD2B4OPCRLXbM87RJT2aBLBWYOznNUML/2l/ReMyWNC80PJBUQ== + dependencies: + "@jest/types" "^25.1.0" + ansi-regex "^5.0.0" + ansi-styles "^4.0.0" + react-is "^16.12.0" + process-nextick-args@~2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" @@ -3687,7 +3992,7 @@ rc@^1.0.1, rc@^1.1.6: minimist "^1.2.0" strip-json-comments "~2.0.1" -react-is@^16.8.4: +react-is@^16.12.0, react-is@^16.8.4: version "16.12.0" resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.12.0.tgz#2cc0fe0fba742d97fd527c42a13bec4eeb06241c" integrity sha512-rPCkf/mWBtKc97aLL9/txD8DZdemK0vkA3JMLShjlJB3Pj3s+lpf1KaBzMfQrAmhMQB0n1cU/SUGgKKBCe837Q== @@ -3708,14 +4013,6 @@ read-pkg-up@^3.0.0: find-up "^2.0.0" read-pkg "^3.0.0" -read-pkg-up@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-4.0.0.tgz#1b221c6088ba7799601c808f91161c66e58f8978" - integrity sha512-6etQSH7nJGsK0RbG/2TeDzZFa8shjQ1um+SwQQ5cwKy0dhSXdOncEhb1CPpvQG4h7FyOV6EB6YlV0yJvZQNAkA== - dependencies: - find-up "^3.0.0" - read-pkg "^3.0.0" - read-pkg@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28" @@ -3838,7 +4135,7 @@ request-promise-core@1.1.3: dependencies: lodash "^4.17.15" -request-promise-native@^1.0.5: +request-promise-native@^1.0.7: version "1.0.8" resolved "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.8.tgz#a455b960b826e44e2bf8999af64dff2bfe58cb36" integrity sha512-dapwLGqkHtwL5AEbfenuzjTYg35Jd6KPytsC2/TLkVMz8rm+tNt72MGUWT1RP/aYawMpN6HqbNGBQaRcBtjQMQ== @@ -3847,7 +4144,7 @@ request-promise-native@^1.0.5: stealthy-require "^1.1.1" tough-cookie "^2.3.3" -request@^2.87.0: +request@^2.88.0: version "2.88.0" resolved "https://registry.yarnpkg.com/request/-/request-2.88.0.tgz#9c2fca4f7d35b592efe57c7f0a55e81052124fef" integrity sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg== @@ -3883,17 +4180,17 @@ require-main-filename@^2.0.0: resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== -resolve-cwd@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-2.0.0.tgz#00a9f7387556e27038eae232caa372a6a59b665a" - integrity sha1-AKn3OHVW4nA46uIyyqNypqWbZlo= +resolve-cwd@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d" + integrity sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg== dependencies: - resolve-from "^3.0.0" + resolve-from "^5.0.0" -resolve-from@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748" - integrity sha1-six699nWiBvItuZTM17rywoYh0g= +resolve-from@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" + integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== resolve-url@^0.2.1: version "0.2.1" @@ -3917,10 +4214,10 @@ ret@~0.1.10: resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== -rimraf@^2.5.4, rimraf@^2.6.3: - version "2.7.1" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" - integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== +rimraf@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.0.tgz#614176d4b3010b75e5c390eb0ee96f6dc0cebb9b" + integrity sha512-NDGVxTsjqfunkds7CqsOiEnxln4Bo7Nddl3XhS4pXg5OzwkLqJ971ZVAAnB+DDLnF76N+VnDEiBHaVV8I06SUg== dependencies: glob "^7.1.3" @@ -3973,10 +4270,12 @@ sane@^4.0.3: minimist "^1.1.1" walker "~1.0.5" -sax@^1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" - integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== +saxes@^3.1.9: + version "3.1.11" + resolved "https://registry.yarnpkg.com/saxes/-/saxes-3.1.11.tgz#d59d1fd332ec92ad98a2e0b2ee644702384b1c5b" + integrity sha512-Ydydq3zC+WYDJK1+gRxRapLIED9PWeSuuS41wqyoRmzvhhh9nc+QQrVMKJYzJFULazeGhzSV0QleN2wD3boh2g== + dependencies: + xmlchars "^2.1.1" semver-diff@^2.0.0: version "2.1.0" @@ -3985,16 +4284,21 @@ semver-diff@^2.0.0: dependencies: semver "^5.0.3" -"semver@2 || 3 || 4 || 5", semver@^5.0.3, semver@^5.1.0, semver@^5.3.0, semver@^5.4.1, semver@^5.5, semver@^5.5.0, semver@^5.6.0, semver@^5.7.1: +"semver@2 || 3 || 4 || 5", semver@^5.0.3, semver@^5.1.0, semver@^5.3.0, semver@^5.4.1, semver@^5.5, semver@^5.5.0, semver@^5.7.1: version "5.7.1" resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== -semver@^6.0.0, semver@^6.2.0: +semver@^6.0.0, semver@^6.3.0: version "6.3.0" resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== +semver@^7.1.1: + version "7.1.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.1.1.tgz#29104598a197d6cbe4733eeecbe968f7b43a9667" + integrity sha512-WfuG+fl6eh3eZ2qAf6goB7nhiCd7NPXhmyFxigB/TOkQyeLP8w8GsVehvtGNtnNmyboz4TgeK40B1Kbql/8c5A== + set-blocking@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" @@ -4054,6 +4358,11 @@ slash@^2.0.0: resolved "https://registry.yarnpkg.com/slash/-/slash-2.0.0.tgz#de552851a1759df3a8f206535442f5ec4ddeab44" integrity sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A== +slash@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" + integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== + snapdragon-node@^2.0.1: version "2.1.1" resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" @@ -4118,6 +4427,11 @@ source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.1: resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== +source-map@^0.7.3: + version "0.7.3" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" + integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== + spdx-correct@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.0.tgz#fb83e504445268f154b074e218c87c003cd31df4" @@ -4203,13 +4517,13 @@ stealthy-require@^1.1.1: resolved "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b" integrity sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks= -string-length@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/string-length/-/string-length-2.0.0.tgz#d40dbb686a3ace960c1cffca562bf2c45f8363ed" - integrity sha1-1A27aGo6zpYMHP/KVivyxF+DY+0= +string-length@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/string-length/-/string-length-3.1.0.tgz#107ef8c23456e187a8abd4a61162ff4ac6e25837" + integrity sha512-Ttp5YvkGm5v9Ijagtaz1BnN+k9ObpvS0eIBblPMp2YWL8FBmi9qblQ9fexc2k/CXFgrTIteU3jAw3payCnwSTA== dependencies: astral-regex "^1.0.0" - strip-ansi "^4.0.0" + strip-ansi "^5.2.0" string-width@^2.0.0, string-width@^2.1.1: version "2.1.1" @@ -4219,14 +4533,14 @@ string-width@^2.0.0, string-width@^2.1.1: is-fullwidth-code-point "^2.0.0" strip-ansi "^4.0.0" -string-width@^3.0.0, string-width@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961" - integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w== +string-width@^4.1.0, string-width@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.0.tgz#952182c46cc7b2c313d1596e623992bd163b72b5" + integrity sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg== dependencies: - emoji-regex "^7.0.1" - is-fullwidth-code-point "^2.0.0" - strip-ansi "^5.1.0" + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.0" string.prototype.trimleft@^2.1.1: version "2.1.1" @@ -4265,13 +4579,20 @@ strip-ansi@^4.0.0: dependencies: ansi-regex "^3.0.0" -strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0: +strip-ansi@^5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== dependencies: ansi-regex "^4.1.0" +strip-ansi@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532" + integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w== + dependencies: + ansi-regex "^5.0.0" + strip-bom@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e" @@ -4284,11 +4605,21 @@ strip-bom@^3.0.0: resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= +strip-bom@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878" + integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w== + strip-eof@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= +strip-final-newline@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" + integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== + strip-indent@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-1.0.1.tgz#0c7962a6adefa7bbd4ac366460a638552ae1a0a2" @@ -4313,12 +4644,20 @@ supports-color@^5.3.0, supports-color@^5.5.0: dependencies: has-flag "^3.0.0" -supports-color@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-6.1.0.tgz#0764abc69c63d5ac842dd4867e8d025e880df8f3" - integrity sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ== +supports-color@^7.0.0, supports-color@^7.1.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.1.0.tgz#68e32591df73e25ad1c4b49108a2ec507962bfd1" + integrity sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g== dependencies: - has-flag "^3.0.0" + has-flag "^4.0.0" + +supports-hyperlinks@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.0.0.tgz#b1b94a159e9df00b0a554b2d5f0e0a89690334b0" + integrity sha512-bFhn0MQ8qefLyJ3K7PpHiPUTuTVPWw6RXfaMeV6xgJLXtBbszyboz1bvGTVv4R0YpQm2DqlXXn0fFHhxUHVE5w== + dependencies: + has-flag "^4.0.0" + supports-color "^7.0.0" symbol-tree@^3.2.2: version "3.2.4" @@ -4345,25 +4684,32 @@ term-size@^1.2.0: dependencies: execa "^0.7.0" -test-exclude@^5.2.3: - version "5.2.3" - resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-5.2.3.tgz#c3d3e1e311eb7ee405e092dac10aefd09091eac0" - integrity sha512-M+oxtseCFO3EDtAaGH7iiej3CBkzXqFMbzqYAACdzKui4eZA+pq3tZEwChvOdNfa7xxy8BfbmgJSIr43cC/+2g== +terminal-link@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/terminal-link/-/terminal-link-2.1.1.tgz#14a64a27ab3c0df933ea546fba55f2d078edc994" + integrity sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ== dependencies: - glob "^7.1.3" + ansi-escapes "^4.2.1" + supports-hyperlinks "^2.0.0" + +test-exclude@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e" + integrity sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w== + dependencies: + "@istanbuljs/schema" "^0.1.2" + glob "^7.1.4" minimatch "^3.0.4" - read-pkg-up "^4.0.0" - require-main-filename "^2.0.0" text-extensions@^1.0.0: version "1.9.0" resolved "https://registry.yarnpkg.com/text-extensions/-/text-extensions-1.9.0.tgz#1853e45fee39c945ce6f6c36b2d659b5aabc2a26" integrity sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ== -throat@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/throat/-/throat-4.1.0.tgz#89037cbc92c56ab18926e6ba4cbb200e15672a6a" - integrity sha1-iQN8vJLFarGJJua6TLsgDhVnKmo= +throat@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/throat/-/throat-5.0.0.tgz#c5199235803aad18754a667d659b5e72ce16764b" + integrity sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA== through2@^2.0.0, through2@^2.0.2: version "2.0.5" @@ -4439,7 +4785,7 @@ touch@^3.1.0: dependencies: nopt "~1.0.10" -tough-cookie@^2.3.3, tough-cookie@^2.3.4: +tough-cookie@^2.3.3: version "2.5.0" resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g== @@ -4447,6 +4793,15 @@ tough-cookie@^2.3.3, tough-cookie@^2.3.4: psl "^1.1.28" punycode "^2.1.1" +tough-cookie@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-3.0.1.tgz#9df4f57e739c26930a018184887f4adb7dca73b2" + integrity sha512-yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg== + dependencies: + ip-regex "^2.1.0" + psl "^1.1.28" + punycode "^2.1.1" + tough-cookie@~2.4.3: version "2.4.3" resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.4.3.tgz#53f36da3f47783b0925afa06ff9f3b165280f781" @@ -4477,10 +4832,10 @@ trim-off-newlines@^1.0.0: resolved "https://registry.yarnpkg.com/trim-off-newlines/-/trim-off-newlines-1.0.1.tgz#9f9ba9d9efa8764c387698bcbfeb2c848f11adb3" integrity sha1-n5up2e+odkw4dpi8v+sshI8RrbM= -ts-jest@24.3.0: - version "24.3.0" - resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-24.3.0.tgz#b97814e3eab359ea840a1ac112deae68aa440869" - integrity sha512-Hb94C/+QRIgjVZlJyiWwouYUF+siNJHJHknyspaOcZ+OQAIdFG/UrdQVXw/0B8Z3No34xkUXZJpOTy9alOWdVQ== +ts-jest@25.0.0: + version "25.0.0" + resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-25.0.0.tgz#d83b266e6ffda0c458a129951b3fe3567f8ce8df" + integrity sha512-F+hZg3j7XYOFpXJteXb4lnqy7vQzTmpTmX7AJT6pvSGeZejyXj1Lk0ArpnrEPOpv6Zu/NugHc5W7FINngC9WZQ== dependencies: bs-logger "0.x" buffer-from "1.x" @@ -4493,16 +4848,16 @@ ts-jest@24.3.0: semver "^5.5" yargs-parser "10.x" -ts-node@8.6.1: - version "8.6.1" - resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-8.6.1.tgz#a31838d93cb67bbe2c56026848ab6c9224564c4e" - integrity sha512-KqPbO7/UuOPE4ANAOV9geZjk6tet6rK2K+DFeEJq6kIXUi0nLkrOMksozGkIlFopOorkStlwar3DdWYrdl7zCw== +ts-node@8.6.2: + version "8.6.2" + resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-8.6.2.tgz#7419a01391a818fbafa6f826a33c1a13e9464e35" + integrity sha512-4mZEbofxGqLL2RImpe3zMJukvEvcO1XP8bj8ozBPySdCUXEcU5cIRwR0aM3R+VoZq7iXc8N86NC0FspGRqP4gg== dependencies: arg "^4.1.0" diff "^4.0.1" make-error "^1.1.1" source-map-support "^0.5.6" - yn "^4.0.0" + yn "3.1.1" tsconfig-paths@3.9.0: version "3.9.0" @@ -4514,15 +4869,15 @@ tsconfig-paths@3.9.0: minimist "^1.2.0" strip-bom "^3.0.0" -tslib@^1.8.0, tslib@^1.8.1, tslib@^1.9.0: +tslib@^1.10.0, tslib@^1.8.1, tslib@^1.9.0: version "1.10.0" resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.10.0.tgz#c3c19f95973fb0a62973fb09d90d961ee43e5c8a" integrity sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ== -tslint@5.20.1: - version "5.20.1" - resolved "https://registry.yarnpkg.com/tslint/-/tslint-5.20.1.tgz#e401e8aeda0152bc44dd07e614034f3f80c67b7d" - integrity sha512-EcMxhzCFt8k+/UP5r8waCf/lzmeSyVlqxqMEDQE7rWYiQky8KpIBz1JAoYXfROHrPZ1XXd43q8yQnULOLiBRQg== +tslint@6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/tslint/-/tslint-6.0.0.tgz#1c0148beac4779924216302f192cdaa153618310" + integrity sha512-9nLya8GBtlFmmFMW7oXXwoXS1NkrccqTqAtwXzdPV9e2mqSEvCki6iHL/Fbzi5oqbugshzgGPk7KBb2qNP1DSA== dependencies: "@babel/code-frame" "^7.0.0" builtin-modules "^1.1.1" @@ -4535,7 +4890,7 @@ tslint@5.20.1: mkdirp "^0.5.1" resolve "^1.3.2" semver "^5.3.0" - tslib "^1.8.0" + tslib "^1.10.0" tsutils "^2.29.0" tsutils@^2.29.0: @@ -4564,10 +4919,27 @@ type-check@~0.3.2: dependencies: prelude-ls "~1.1.2" -typescript@3.7.4: - version "3.7.4" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.7.4.tgz#1743a5ec5fef6a1fa9f3e4708e33c81c73876c19" - integrity sha512-A25xv5XCtarLwXpcDNZzCGvW2D1S3/bACratYBx2sax8PefsFhlYmkQicKHvpYflFS8if4zne5zT5kpJ7pzuvw== +type-detect@4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" + integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== + +type-fest@^0.8.1: + version "0.8.1" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" + integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== + +typedarray-to-buffer@^3.1.5: + version "3.1.5" + resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" + integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== + dependencies: + is-typedarray "^1.0.0" + +typescript@3.7.5: + version "3.7.5" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.7.5.tgz#0692e21f65fd4108b9330238aac11dd2e177a1ae" + integrity sha512-/P5lkRXkWHNAbcJIiHPfRoKqyd7bsyCma1hZNUGfn20qm64T6ZBlrzprymeu918H+mB/0rIg2gGK/BXkhhYgBw== uglify-js@^3.1.4: version "3.7.5" @@ -4672,6 +5044,15 @@ uuid@^3.3.2: resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.3.tgz#4568f0216e78760ee1dbf3a4d2cf53e224112866" integrity sha512-pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ== +v8-to-istanbul@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-4.0.1.tgz#d6a2a3823b8ff49bdf2167ff2a45d82dff81d02f" + integrity sha512-x0yZvZAkjJwdD3fPiJzYP37aod0ati4LlmD2RmpKjqewjKAov/u/ytZ8ViIZb07cN4cePKzl9ijiUi7C1LQ8hQ== + dependencies: + "@types/istanbul-lib-coverage" "^2.0.1" + convert-source-map "^1.6.0" + source-map "^0.7.3" + validate-npm-package-license@^3.0.1: version "3.0.4" resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" @@ -4701,6 +5082,15 @@ w3c-hr-time@^1.0.1: dependencies: browser-process-hrtime "^0.1.2" +w3c-xmlserializer@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-1.1.2.tgz#30485ca7d70a6fd052420a3d12fd90e6339ce794" + integrity sha512-p10l/ayESzrBMYWRID6xbuCKh2Fp77+sA0doRuGn4tTIMrrZVeqfpKjXHY+oDh3K4nLdPgNwMTVP6Vp4pvqbNg== + dependencies: + domexception "^1.0.1" + webidl-conversions "^4.0.2" + xml-name-validator "^3.0.0" + walker@^1.0.7, walker@~1.0.5: version "1.0.7" resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.7.tgz#2f7f9b8fd10d677262b18a884e28d19618e028fb" @@ -4713,27 +5103,18 @@ webidl-conversions@^4.0.2: resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad" integrity sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg== -whatwg-encoding@^1.0.1, whatwg-encoding@^1.0.3: +whatwg-encoding@^1.0.1, whatwg-encoding@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0" integrity sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw== dependencies: iconv-lite "0.4.24" -whatwg-mimetype@^2.1.0, whatwg-mimetype@^2.2.0: +whatwg-mimetype@^2.2.0, whatwg-mimetype@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf" integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g== -whatwg-url@^6.4.1: - version "6.5.0" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-6.5.0.tgz#f2df02bff176fd65070df74ad5ccbb5a199965a8" - integrity sha512-rhRZRqx/TLJQWUpQ6bmrt2UV4f0HCQ463yQuONJqC6fO2VoEb1pTYddbe59SkYq87aoM5A3bdhMZiUiVws+fzQ== - dependencies: - lodash.sortby "^4.7.0" - tr46 "^1.0.1" - webidl-conversions "^4.0.2" - whatwg-url@^7.0.0: version "7.1.0" resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-7.1.0.tgz#c2c492f1eca612988efd3d2266be1b9fc6170d06" @@ -4748,7 +5129,7 @@ which-module@^2.0.0: resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= -which@^1.2.9, which@^1.3.0: +which@^1.2.9, which@^1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== @@ -4779,29 +5160,20 @@ wordwrap@~0.0.2: resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107" integrity sha1-o9XabNXAvAAI03I0u68b7WMFkQc= -wrap-ansi@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-5.1.0.tgz#1fd1f67235d5b6d0fee781056001bfb694c03b09" - integrity sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q== +wrap-ansi@^6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" + integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== dependencies: - ansi-styles "^3.2.0" - string-width "^3.0.0" - strip-ansi "^5.0.0" + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" wrappy@1: version "1.0.2" resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= -write-file-atomic@2.4.1: - version "2.4.1" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.4.1.tgz#d0b05463c188ae804396fd5ab2a370062af87529" - integrity sha512-TGHFeZEZMnv+gBFRfjAcxL5bPHrsGKtnb4qsFAws7/vlh+QfwAaySIw4AXP9ZskTTh5GWu3FLuJhsWVdiJPGvg== - dependencies: - graceful-fs "^4.1.11" - imurmurhash "^0.1.4" - signal-exit "^3.0.2" - write-file-atomic@^2.0.0: version "2.4.3" resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.4.3.tgz#1fd2e9ae1df3e75b8d8c367443c692d4ca81f481" @@ -4811,12 +5183,20 @@ write-file-atomic@^2.0.0: imurmurhash "^0.1.4" signal-exit "^3.0.2" -ws@^5.2.0: - version "5.2.2" - resolved "https://registry.yarnpkg.com/ws/-/ws-5.2.2.tgz#dffef14866b8e8dc9133582514d1befaf96e980f" - integrity sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA== +write-file-atomic@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.1.tgz#558328352e673b5bb192cf86500d60b230667d4b" + integrity sha512-JPStrIyyVJ6oCSz/691fAjFtefZ6q+fP6tm+OS4Qw6o+TGQxNp1ziY2PgS+X/m0V8OWhZiO/m4xSj+Pr4RrZvw== dependencies: - async-limiter "~1.0.0" + imurmurhash "^0.1.4" + is-typedarray "^1.0.0" + signal-exit "^3.0.2" + typedarray-to-buffer "^3.1.5" + +ws@^7.0.0: + version "7.2.1" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.2.1.tgz#03ed52423cd744084b2cf42ed197c8b65a936b8e" + integrity sha512-sucePNSafamSKoOqoNfBd8V0StlkzJKL2ZAhGQinCfNQ+oacw+Pk7lcdAElecBF2VkLNZRiIb5Oi1Q5lVUVt2A== xdg-basedir@^3.0.0: version "3.0.0" @@ -4828,6 +5208,11 @@ xml-name-validator@^3.0.0: resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a" integrity sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw== +xmlchars@^2.1.1: + version "2.2.0" + resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb" + integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== + xtend@~4.0.1: version "4.0.2" resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" @@ -4850,31 +5235,32 @@ yargs-parser@10.x, yargs-parser@^10.0.0: dependencies: camelcase "^4.1.0" -yargs-parser@^13.1.1: - version "13.1.1" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.1.tgz#d26058532aa06d365fe091f6a1fc06b2f7e5eca0" - integrity sha512-oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ== +yargs-parser@^16.1.0: + version "16.1.0" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-16.1.0.tgz#73747d53ae187e7b8dbe333f95714c76ea00ecf1" + integrity sha512-H/V41UNZQPkUMIT5h5hiwg4QKIY1RPvoBV4XcjUbRM8Bk2oKqqyZ0DIEbTFZB0XjbtSPG8SAa/0DxCQmiRgzKg== dependencies: camelcase "^5.0.0" decamelize "^1.2.0" -yargs@^13.3.0: - version "13.3.0" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.3.0.tgz#4c657a55e07e5f2cf947f8a366567c04a0dedc83" - integrity sha512-2eehun/8ALW8TLoIl7MVaRUrg+yCnenu8B4kBlRxj3GJGDKU1Og7sMXPNm1BYyM1DOJmTZ4YeN/Nwxv+8XJsUA== +yargs@^15.0.0: + version "15.1.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.1.0.tgz#e111381f5830e863a89550bd4b136bb6a5f37219" + integrity sha512-T39FNN1b6hCW4SOIk1XyTOWxtXdcen0t+XYrysQmChzSipvhBO8Bj0nK1ozAasdk24dNWuMZvr4k24nz+8HHLg== dependencies: - cliui "^5.0.0" - find-up "^3.0.0" + cliui "^6.0.0" + decamelize "^1.2.0" + find-up "^4.1.0" get-caller-file "^2.0.1" require-directory "^2.1.1" require-main-filename "^2.0.0" set-blocking "^2.0.0" - string-width "^3.0.0" + string-width "^4.2.0" which-module "^2.0.0" y18n "^4.0.0" - yargs-parser "^13.1.1" + yargs-parser "^16.1.0" -yn@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/yn/-/yn-4.0.0.tgz#611480051ea43b510da1dfdbe177ed159f00a979" - integrity sha512-huWiiCS4TxKc4SfgmTwW1K7JmXPPAmuXWYy4j9qjQo4+27Kni8mGhAAi1cloRWmBe2EqcLgt3IGqQoRL/MtPgg== +yn@3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" + integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== From de3b28afcaacec8ac263710d6883c8c8994cf03f Mon Sep 17 00:00:00 2001 From: blackholegalaxy Date: Sun, 26 Jan 2020 16:35:21 -0500 Subject: [PATCH 02/20] add case for nav capabilities --- tests/convert/mappings/nav-capabilities.spec.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/convert/mappings/nav-capabilities.spec.ts b/tests/convert/mappings/nav-capabilities.spec.ts index f9e57ea..0219a6a 100644 --- a/tests/convert/mappings/nav-capabilities.spec.ts +++ b/tests/convert/mappings/nav-capabilities.spec.ts @@ -1,6 +1,6 @@ import { navCapabilities } from '@mappings/nav-capabilities'; -const VALUES = [0, 1, 1, 0, 0, 0, 1, 1]; +const VALUES = [0, 1, 1, 0, 0, 0, 1, 1, 1, 1]; const EXPECTED_RESULT = { dme: false, tacan: true, From 45c92377c1ba68a4c81ba905e378aa9d9321bdfe Mon Sep 17 00:00:00 2001 From: blackholegalaxy Date: Sun, 26 Jan 2020 17:01:22 -0500 Subject: [PATCH 03/20] add weather settings offsets --- src/lib/offsets/environment/weather.ts | 483 +------------ .../environment/weather/at-aircraft.ts | 487 ++++++++++++++ .../offsets/environment/weather/settings.ts | 513 ++++++++++++++ .../offsets/__snapshots__/offset.spec.ts.snap | 627 +++++++++++++++++ .../__snapshots__/weather.spec.ts.snap | 627 +++++++++++++++++ .../__snapshots__/at-aircraft.spec.ts.snap | 600 +++++++++++++++++ .../__snapshots__/settings.spec.ts.snap | 633 ++++++++++++++++++ .../environment/weather/at-aircraft.spec.ts | 72 ++ .../environment/weather/settings.spec.ts | 74 ++ 9 files changed, 3637 insertions(+), 479 deletions(-) create mode 100644 src/lib/offsets/environment/weather/at-aircraft.ts create mode 100644 src/lib/offsets/environment/weather/settings.ts create mode 100644 tests/offsets/environment/weather/__snapshots__/at-aircraft.spec.ts.snap create mode 100644 tests/offsets/environment/weather/__snapshots__/settings.spec.ts.snap create mode 100644 tests/offsets/environment/weather/at-aircraft.spec.ts create mode 100644 tests/offsets/environment/weather/settings.spec.ts diff --git a/src/lib/offsets/environment/weather.ts b/src/lib/offsets/environment/weather.ts index 9083934..2539a92 100644 --- a/src/lib/offsets/environment/weather.ts +++ b/src/lib/offsets/environment/weather.ts @@ -3,6 +3,8 @@ import { Type } from 'fsuipc'; import { OffsetCategory } from '@shared/offset-category'; import { OffsetList } from '@shared/offset-list'; import { Offset } from '@shared/offset'; +import { weatherAtAircraft } from './weather/at-aircraft'; +import { weatherSettings } from './weather/settings'; export const weather: OffsetList = { metarStationAltitude: new Offset({ @@ -262,483 +264,6 @@ export const weather: OffsetList = { type: Type.UInt16, permission: 'r', }), - upperCloudCeiling: new Offset({ - value: 0xE9A, - name: 'upperCloudCeiling', - category: OffsetCategory.WEATHER, - description: 'upper cloud layer ceiling - ft', - convert: '+({VAL} * 3.28084).toFixed(2)', - type: Type.UInt16, - permission: 'r', - }), - upperCloudBase: new Offset({ - value: 0xE9C, - name: 'upperCloudBase', - category: OffsetCategory.WEATHER, - description: 'upper cloud layer base - ft', - convert: '+({VAL} * 3.28084).toFixed(2)', - type: Type.UInt16, - permission: 'r', - }), - upperCloudCoverage: new Offset({ - value: 0xE9E, - name: 'upperCloudCoverage', - category: OffsetCategory.WEATHER, - description: 'upper cloud layer coverage - oktas', - convert: 'Math.round(({VAL} + 1) / 8192)', - type: Type.UInt16, - permission: 'r', - }), - upperCloudVariation: new Offset({ - value: 0xEA0, - name: 'upperCloudVariation', - category: OffsetCategory.WEATHER, - description: 'upper cloud layer variation - ft', - convert: '+({VAL} * 3.28084).toFixed(2)', - type: Type.UInt16, - permission: 'r', - }), - lowerCloudCeiling: new Offset({ - value: 0xEA2, - name: 'lowerCloudCeiling', - category: OffsetCategory.WEATHER, - description: 'lower cloud layer ceiling - ft', - convert: '+({VAL} * 3.28084).toFixed(2)', - type: Type.UInt16, - permission: 'r', - }), - lowerCloudBase: new Offset({ - value: 0xEA4, - name: 'lowerCloudBase', - category: OffsetCategory.WEATHER, - description: 'lower cloud layer base - ft', - convert: '+({VAL} * 3.28084).toFixed(2)', - type: Type.UInt16, - permission: 'r', - }), - lowerCloudCoverage: new Offset({ - value: 0xEA6, - name: 'lowerCloudCoverage', - category: OffsetCategory.WEATHER, - description: 'lower cloud layer coverage - oktas', - convert: 'Math.round(({VAL} + 1) / 8192)', - type: Type.UInt16, - permission: 'r', - }), - lowerCloudVariation: new Offset({ - value: 0xEA8, - name: 'lowerCloudVariation', - category: OffsetCategory.WEATHER, - description: 'lower cloud layer variation - ft', - convert: '+({VAL} * 3.28084).toFixed(2)', - type: Type.UInt16, - permission: 'r', - }), - stormCloudCeiling: new Offset({ - value: 0xEAA, - name: 'stormCloudCeiling', - category: OffsetCategory.WEATHER, - description: 'storm cloud layer ceiling - ft', - convert: '+({VAL} * 3.28084).toFixed(2)', - type: Type.UInt16, - permission: 'r', - }), - stormCloudBase: new Offset({ - value: 0xEAC, - name: 'stormCloudBase', - category: OffsetCategory.WEATHER, - description: 'storm cloud layer base - ft', - convert: '+({VAL} * 3.28084).toFixed(2)', - type: Type.UInt16, - permission: 'r', - }), - stormCloudCoverage: new Offset({ - value: 0xEAE, - name: 'stormCloudCoverage', - category: OffsetCategory.WEATHER, - description: 'storm cloud layer coverage - oktas', - convert: 'Math.round(({VAL} + 1) / 8192)', - type: Type.UInt16, - permission: 'r', - }), - stormCloudVariation: new Offset({ - value: 0xEB0, - name: 'stormCloudVariation', - category: OffsetCategory.WEATHER, - description: 'storm cloud layer variation - ft', - convert: '+({VAL} * 3.28084).toFixed(2)', - type: Type.UInt16, - permission: 'r', - }), - upperTemperatureLevel: new Offset({ - value: 0xEB2, - name: 'upperTemperatureLevel', - category: OffsetCategory.WEATHER, - description: 'upper temperature level - ft', - convert: '+({VAL} * 3.28084).toFixed(2)', - type: Type.UInt16, - permission: 'r', - }), - upperTemperature: new Offset({ - value: 0xEB4, - name: 'upperTemperature', - category: OffsetCategory.WEATHER, - description: 'upper temperature - degrees C', - convert: 'Math.round({VAL} / 256)', - type: Type.Int16, - permission: 'r', - }), - middleTemperatureLevel: new Offset({ - value: 0xEB6, - name: 'middleTemperatureLevel', - category: OffsetCategory.WEATHER, - description: 'middle temperature level - ft', - convert: '+({VAL} * 3.28084).toFixed(2)', - type: Type.UInt16, - permission: 'r', - }), - middleTemperature: new Offset({ - value: 0xEB8, - name: 'middleTemperature', - category: OffsetCategory.WEATHER, - description: 'middle temperature - degrees C', - convert: 'Math.round({VAL} / 256)', - type: Type.Int16, - permission: 'r', - }), - lowerTemperatureLevel: new Offset({ - value: 0xEBA, - name: 'lowerTemperatureLevel', - category: OffsetCategory.WEATHER, - description: 'lower temperature level - ft', - convert: '+({VAL} * 3.28084).toFixed(2)', - type: Type.UInt16, - permission: 'r', - }), - lowerTemperature: new Offset({ - value: 0xEBC, - name: 'lowerTemperature', - category: OffsetCategory.WEATHER, - description: 'lower temperature - degrees C', - convert: 'Math.round({VAL} / 256)', - type: Type.Int16, - permission: 'r', - }), - surfaceTemperatureLevel: new Offset({ - value: 0xEBE, - name: 'surfaceTemperatureLevel', - category: OffsetCategory.WEATHER, - description: 'surface temperature level - ground elevation - ft', - convert: '+({VAL} * 3.28084).toFixed(2)', - type: Type.UInt16, - permission: 'r', - }), - surfaceTemperature: new Offset({ - value: 0xEC0, - name: 'surfaceTemperature', - category: OffsetCategory.WEATHER, - description: 'surface temperature - degrees C', - convert: 'Math.round({VAL} / 256)', - type: Type.Int16, - permission: 'r', - }), - temperatureDrift: new Offset({ - value: 0xEC2, - name: 'temperatureDrift', - category: OffsetCategory.WEATHER, - description: 'temperature drift - degrees C', - convert: 'Math.round({VAL} / 256)', - type: Type.Int16, - permission: 'r', - }), - temperatureDayNightVariation: new Offset({ - value: 0xEC4, - name: 'temperatureDayNightVariation', - category: OffsetCategory.WEATHER, - description: 'temperature day night variation - degrees C', - convert: 'Math.round({VAL} / 256)', - type: Type.Int16, - permission: 'r', - }), - pressureQNH: new Offset({ - value: 0xEC6, - name: 'pressureQNH', - category: OffsetCategory.WEATHER, - description: 'pressure QNH - mb', - convert: 'Math.round({VAL} / 16)', - type: Type.UInt16, - permission: 'r', - }), - pressureDrift: new Offset({ - value: 0xEC8, - name: 'pressureDrift', - category: OffsetCategory.WEATHER, - description: 'pressure drift - mb', - convert: 'Math.round({VAL} / 16)', - type: Type.Int16, - permission: 'r', - }), - upperWindCeiling: new Offset({ - value: 0xECA, - name: 'upperWindCeiling', - category: OffsetCategory.WEATHER, - description: 'upper wind ceiling - ft', - convert: '+({VAL} * 3.28084).toFixed(2)', - type: Type.UInt16, - permission: 'r', - }), - upperWindBase: new Offset({ - value: 0xECC, - name: 'upperWindBase', - category: OffsetCategory.WEATHER, - description: 'upper wind ceiling - ft', - convert: '+({VAL} * 3.28084).toFixed(2)', - type: Type.UInt16, - permission: 'r', - }), - upperWindSpeed: new Offset({ - value: 0xECE, - name: 'upperWindSpeed', - category: OffsetCategory.WEATHER, - description: 'upper wind ceiling - kt', - type: Type.UInt16, - permission: 'r', - }), - upperWindDirection: new Offset({ - value: 0xED0, - name: 'upperWindDirection', - category: OffsetCategory.WEATHER, - description: 'upper wind ceiling - TRUE degrees', - convert: '+({VAL} * 360 / 65536).toFixed(2)', - type: Type.UInt16, - permission: 'r', - }), - upperWindTurbulence: new Offset({ - value: 0xED2, - name: 'upperWindTurbulence', - category: OffsetCategory.WEATHER, - description: 'upper wind turbulence - 0-255', - type: Type.UInt16, - permission: 'r', - }), - upperWindGustEnabled: new Offset({ - value: 0xED4, - name: 'upperWindGustEnabled', - category: OffsetCategory.WEATHER, - description: 'upper wind gust enabled', - convert: '!!{VAL}', - type: Type.UInt16, - permission: 'r', - }), - middleWindCeiling: new Offset({ - value: 0xED6, - name: 'middleWindCeiling', - category: OffsetCategory.WEATHER, - description: 'middle wind ceiling - ft', - convert: '+({VAL} * 3.28084).toFixed(2)', - type: Type.UInt16, - permission: 'r', - }), - middleWindBase: new Offset({ - value: 0xED8, - name: 'middleWindBase', - category: OffsetCategory.WEATHER, - description: 'middle wind ceiling - ft', - convert: '+({VAL} * 3.28084).toFixed(2)', - type: Type.UInt16, - permission: 'r', - }), - middleWindSpeed: new Offset({ - value: 0xEDA, - name: 'middleWindSpeed', - category: OffsetCategory.WEATHER, - description: 'middle wind ceiling - kt', - type: Type.UInt16, - permission: 'r', - }), - middleWindDirection: new Offset({ - value: 0xEDC, - name: 'middleWindDirection', - category: OffsetCategory.WEATHER, - description: 'middle wind ceiling - TRUE degrees', - convert: '+({VAL} * 360 / 65536).toFixed(2)', - type: Type.UInt16, - permission: 'r', - }), - middleWindTurbulence: new Offset({ - value: 0xEDE, - name: 'middleWindTurbulence', - category: OffsetCategory.WEATHER, - description: 'middle wind turbulence - 0-255', - type: Type.UInt16, - permission: 'r', - }), - middleWindGustEnabled: new Offset({ - value: 0xEE0, - name: 'middleWindGustEnabled', - category: OffsetCategory.WEATHER, - description: 'middle wind gust enabled', - convert: '!!{VAL}', - type: Type.UInt16, - permission: 'r', - }), - lowerWindCeiling: new Offset({ - value: 0xEE2, - name: 'lowerWindCeiling', - category: OffsetCategory.WEATHER, - description: 'lower wind ceiling - ft', - convert: '+({VAL} * 3.28084).toFixed(2)', - type: Type.UInt16, - permission: 'r', - }), - lowerWindBase: new Offset({ - value: 0xEE4, - name: 'lowerWindBase', - category: OffsetCategory.WEATHER, - description: 'lower wind ceiling - ft', - convert: '+({VAL} * 3.28084).toFixed(2)', - type: Type.UInt16, - permission: 'r', - }), - lowerWindSpeed: new Offset({ - value: 0xEE6, - name: 'lowerWindSpeed', - category: OffsetCategory.WEATHER, - description: 'lower wind ceiling - kt', - type: Type.UInt16, - permission: 'r', - }), - lowerWindDirection: new Offset({ - value: 0xEE8, - name: 'lowerWindDirection', - category: OffsetCategory.WEATHER, - description: 'lower wind ceiling - TRUE degrees', - convert: '+({VAL} * 360 / 65536).toFixed(2)', - type: Type.UInt16, - permission: 'r', - }), - lowerWindTurbulence: new Offset({ - value: 0xEEA, - name: 'lowerWindTurbulence', - category: OffsetCategory.WEATHER, - description: 'lower wind turbulence - 0-255', - type: Type.UInt16, - permission: 'r', - }), - lowerWindGustEnabled: new Offset({ - value: 0xEEC, - name: 'lowerWindGustEnabled', - category: OffsetCategory.WEATHER, - description: 'lower wind gust enabled', - convert: '!!{VAL}', - type: Type.Int16, - permission: 'r', - }), - surfaceWindCeiling: new Offset({ - value: 0xEEE, - name: 'surfaceWindCeiling', - category: OffsetCategory.WEATHER, - description: 'surface wind ceiling - ft', - convert: '+({VAL} * 3.28084).toFixed(2)', - type: Type.UInt16, - permission: 'r', - }), - surfaceWindTurbulence: new Offset({ - value: 0xEF4, - name: 'surfaceWindTurbulence', - category: OffsetCategory.WEATHER, - description: 'surface wind turbulence - 0-255', - type: Type.UInt16, - permission: 'r', - }), - surfaceWindGustEnabled: new Offset({ - value: 0xEF6, - name: 'surfaceWindGustEnabled', - category: OffsetCategory.WEATHER, - description: 'surface wind gust enabled', - convert: '!!{VAL}', - type: Type.UInt16, - permission: 'r', - }), - upperCloudType: new Offset({ - value: 0xEF8, - name: 'upperCloudType', - category: OffsetCategory.WEATHER, - description: 'upper cloud type', - convert: 'cloudType', - mapping: true, - type: Type.UInt16, - permission: 'r', - }), - upperCloudIcing: new Offset({ - value: 0xEFA, - name: 'upperCloudIcing', - category: OffsetCategory.WEATHER, - description: 'upper cloud icing', - convert: '!!{VAL}', - type: Type.UInt16, - permission: 'r', - }), - upperCloudTurbulence: new Offset({ - value: 0xEFC, - name: 'upperCloudTurbulence', - category: OffsetCategory.WEATHER, - description: 'upper cloud turbulence - 0-255', - type: Type.UInt16, - permission: 'r', - }), - lowerCloudType: new Offset({ - value: 0xEFE, - name: 'lowerCloudType', - category: OffsetCategory.WEATHER, - description: 'lower cloud type', - convert: 'cloudType', - mapping: true, - type: Type.UInt16, - permission: 'r', - }), - lowerCloudIcing: new Offset({ - value: 0xF00, - name: 'lowerCloudIcing', - category: OffsetCategory.WEATHER, - description: 'lower cloud icing', - convert: '!!{VAL}', - type: Type.UInt16, - permission: 'r', - }), - lowerCloudTurbulence: new Offset({ - value: 0xF02, - name: 'lowerCloudTurbulence', - category: OffsetCategory.WEATHER, - description: 'lower cloud turbulence - 0-255', - type: Type.UInt16, - permission: 'r', - }), - stormCloudType: new Offset({ - value: 0xF04, - name: 'stormCloudType', - category: OffsetCategory.WEATHER, - description: 'storm cloud type', - convert: 'cloudType', - mapping: true, - type: Type.UInt16, - permission: 'r', - }), - stormCloudIcing: new Offset({ - value: 0xF06, - name: 'stormCloudIcing', - category: OffsetCategory.WEATHER, - description: 'storm cloud icing', - convert: '!!{VAL}', - type: Type.UInt16, - permission: 'r', - }), - stormCloudTurbulence: new Offset({ - value: 0xF08, - name: 'stormCloudTurbulence', - category: OffsetCategory.WEATHER, - description: 'storm cloud turbulence - 0-255', - type: Type.UInt16, - permission: 'r', - }), + ...weatherAtAircraft, + ...weatherSettings, }; diff --git a/src/lib/offsets/environment/weather/at-aircraft.ts b/src/lib/offsets/environment/weather/at-aircraft.ts new file mode 100644 index 0000000..c2ef6bb --- /dev/null +++ b/src/lib/offsets/environment/weather/at-aircraft.ts @@ -0,0 +1,487 @@ +import { Type } from 'fsuipc'; + +import { OffsetList } from '@shared/offset-list'; +import { Offset } from '@shared/offset'; +import { OffsetCategory } from '@shared/offset-category'; + +export const weatherAtAircraft: OffsetList = { + upperCloudCeiling: new Offset({ + value: 0xE9A, + name: 'upperCloudCeiling', + category: OffsetCategory.WEATHER, + description: 'upper cloud layer ceiling - ft', + convert: '+({VAL} * 3.28084).toFixed(2)', + type: Type.UInt16, + permission: 'r', + }), + upperCloudBase: new Offset({ + value: 0xE9C, + name: 'upperCloudBase', + category: OffsetCategory.WEATHER, + description: 'upper cloud layer base - ft', + convert: '+({VAL} * 3.28084).toFixed(2)', + type: Type.UInt16, + permission: 'r', + }), + upperCloudCoverage: new Offset({ + value: 0xE9E, + name: 'upperCloudCoverage', + category: OffsetCategory.WEATHER, + description: 'upper cloud layer coverage - oktas', + convert: 'Math.round(({VAL} + 1) / 8192)', + type: Type.UInt16, + permission: 'r', + }), + upperCloudVariation: new Offset({ + value: 0xEA0, + name: 'upperCloudVariation', + category: OffsetCategory.WEATHER, + description: 'upper cloud layer variation - ft', + convert: '+({VAL} * 3.28084).toFixed(2)', + type: Type.UInt16, + permission: 'r', + }), + lowerCloudCeiling: new Offset({ + value: 0xEA2, + name: 'lowerCloudCeiling', + category: OffsetCategory.WEATHER, + description: 'lower cloud layer ceiling - ft', + convert: '+({VAL} * 3.28084).toFixed(2)', + type: Type.UInt16, + permission: 'r', + }), + lowerCloudBase: new Offset({ + value: 0xEA4, + name: 'lowerCloudBase', + category: OffsetCategory.WEATHER, + description: 'lower cloud layer base - ft', + convert: '+({VAL} * 3.28084).toFixed(2)', + type: Type.UInt16, + permission: 'r', + }), + lowerCloudCoverage: new Offset({ + value: 0xEA6, + name: 'lowerCloudCoverage', + category: OffsetCategory.WEATHER, + description: 'lower cloud layer coverage - oktas', + convert: 'Math.round(({VAL} + 1) / 8192)', + type: Type.UInt16, + permission: 'r', + }), + lowerCloudVariation: new Offset({ + value: 0xEA8, + name: 'lowerCloudVariation', + category: OffsetCategory.WEATHER, + description: 'lower cloud layer variation - ft', + convert: '+({VAL} * 3.28084).toFixed(2)', + type: Type.UInt16, + permission: 'r', + }), + stormCloudCeiling: new Offset({ + value: 0xEAA, + name: 'stormCloudCeiling', + category: OffsetCategory.WEATHER, + description: 'storm cloud layer ceiling - ft', + convert: '+({VAL} * 3.28084).toFixed(2)', + type: Type.UInt16, + permission: 'r', + }), + stormCloudBase: new Offset({ + value: 0xEAC, + name: 'stormCloudBase', + category: OffsetCategory.WEATHER, + description: 'storm cloud layer base - ft', + convert: '+({VAL} * 3.28084).toFixed(2)', + type: Type.UInt16, + permission: 'r', + }), + stormCloudCoverage: new Offset({ + value: 0xEAE, + name: 'stormCloudCoverage', + category: OffsetCategory.WEATHER, + description: 'storm cloud layer coverage - oktas', + convert: 'Math.round(({VAL} + 1) / 8192)', + type: Type.UInt16, + permission: 'r', + }), + stormCloudVariation: new Offset({ + value: 0xEB0, + name: 'stormCloudVariation', + category: OffsetCategory.WEATHER, + description: 'storm cloud layer variation - ft', + convert: '+({VAL} * 3.28084).toFixed(2)', + type: Type.UInt16, + permission: 'r', + }), + upperTemperatureLevel: new Offset({ + value: 0xEB2, + name: 'upperTemperatureLevel', + category: OffsetCategory.WEATHER, + description: 'upper temperature level - ft', + convert: '+({VAL} * 3.28084).toFixed(2)', + type: Type.UInt16, + permission: 'r', + }), + upperTemperature: new Offset({ + value: 0xEB4, + name: 'upperTemperature', + category: OffsetCategory.WEATHER, + description: 'upper temperature - degrees C', + convert: 'Math.round({VAL} / 256)', + type: Type.Int16, + permission: 'r', + }), + middleTemperatureLevel: new Offset({ + value: 0xEB6, + name: 'middleTemperatureLevel', + category: OffsetCategory.WEATHER, + description: 'middle temperature level - ft', + convert: '+({VAL} * 3.28084).toFixed(2)', + type: Type.UInt16, + permission: 'r', + }), + middleTemperature: new Offset({ + value: 0xEB8, + name: 'middleTemperature', + category: OffsetCategory.WEATHER, + description: 'middle temperature - degrees C', + convert: 'Math.round({VAL} / 256)', + type: Type.Int16, + permission: 'r', + }), + lowerTemperatureLevel: new Offset({ + value: 0xEBA, + name: 'lowerTemperatureLevel', + category: OffsetCategory.WEATHER, + description: 'lower temperature level - ft', + convert: '+({VAL} * 3.28084).toFixed(2)', + type: Type.UInt16, + permission: 'r', + }), + lowerTemperature: new Offset({ + value: 0xEBC, + name: 'lowerTemperature', + category: OffsetCategory.WEATHER, + description: 'lower temperature - degrees C', + convert: 'Math.round({VAL} / 256)', + type: Type.Int16, + permission: 'r', + }), + surfaceTemperatureLevel: new Offset({ + value: 0xEBE, + name: 'surfaceTemperatureLevel', + category: OffsetCategory.WEATHER, + description: 'surface temperature level - ground elevation - ft', + convert: '+({VAL} * 3.28084).toFixed(2)', + type: Type.UInt16, + permission: 'r', + }), + surfaceTemperature: new Offset({ + value: 0xEC0, + name: 'surfaceTemperature', + category: OffsetCategory.WEATHER, + description: 'surface temperature - degrees C', + convert: 'Math.round({VAL} / 256)', + type: Type.Int16, + permission: 'r', + }), + temperatureDrift: new Offset({ + value: 0xEC2, + name: 'temperatureDrift', + category: OffsetCategory.WEATHER, + description: 'temperature drift - degrees C', + convert: 'Math.round({VAL} / 256)', + type: Type.Int16, + permission: 'r', + }), + temperatureDayNightVariation: new Offset({ + value: 0xEC4, + name: 'temperatureDayNightVariation', + category: OffsetCategory.WEATHER, + description: 'temperature day night variation - degrees C', + convert: 'Math.round({VAL} / 256)', + type: Type.Int16, + permission: 'r', + }), + pressureQNH: new Offset({ + value: 0xEC6, + name: 'pressureQNH', + category: OffsetCategory.WEATHER, + description: 'pressure QNH - mb', + convert: 'Math.round({VAL} / 16)', + type: Type.UInt16, + permission: 'r', + }), + pressureDrift: new Offset({ + value: 0xEC8, + name: 'pressureDrift', + category: OffsetCategory.WEATHER, + description: 'pressure drift - mb', + convert: 'Math.round({VAL} / 16)', + type: Type.Int16, + permission: 'r', + }), + upperWindCeiling: new Offset({ + value: 0xECA, + name: 'upperWindCeiling', + category: OffsetCategory.WEATHER, + description: 'upper wind ceiling - ft', + convert: '+({VAL} * 3.28084).toFixed(2)', + type: Type.UInt16, + permission: 'r', + }), + upperWindBase: new Offset({ + value: 0xECC, + name: 'upperWindBase', + category: OffsetCategory.WEATHER, + description: 'upper wind ceiling - ft', + convert: '+({VAL} * 3.28084).toFixed(2)', + type: Type.UInt16, + permission: 'r', + }), + upperWindSpeed: new Offset({ + value: 0xECE, + name: 'upperWindSpeed', + category: OffsetCategory.WEATHER, + description: 'upper wind ceiling - kt', + type: Type.UInt16, + permission: 'r', + }), + upperWindDirection: new Offset({ + value: 0xED0, + name: 'upperWindDirection', + category: OffsetCategory.WEATHER, + description: 'upper wind ceiling - TRUE degrees', + convert: '+({VAL} * 360 / 65536).toFixed(2)', + type: Type.UInt16, + permission: 'r', + }), + upperWindTurbulence: new Offset({ + value: 0xED2, + name: 'upperWindTurbulence', + category: OffsetCategory.WEATHER, + description: 'upper wind turbulence - 0-255', + type: Type.UInt16, + permission: 'r', + }), + upperWindGustEnabled: new Offset({ + value: 0xED4, + name: 'upperWindGustEnabled', + category: OffsetCategory.WEATHER, + description: 'upper wind gust enabled', + convert: '!!{VAL}', + type: Type.UInt16, + permission: 'r', + }), + middleWindCeiling: new Offset({ + value: 0xED6, + name: 'middleWindCeiling', + category: OffsetCategory.WEATHER, + description: 'middle wind ceiling - ft', + convert: '+({VAL} * 3.28084).toFixed(2)', + type: Type.UInt16, + permission: 'r', + }), + middleWindBase: new Offset({ + value: 0xED8, + name: 'middleWindBase', + category: OffsetCategory.WEATHER, + description: 'middle wind ceiling - ft', + convert: '+({VAL} * 3.28084).toFixed(2)', + type: Type.UInt16, + permission: 'r', + }), + middleWindSpeed: new Offset({ + value: 0xEDA, + name: 'middleWindSpeed', + category: OffsetCategory.WEATHER, + description: 'middle wind ceiling - kt', + type: Type.UInt16, + permission: 'r', + }), + middleWindDirection: new Offset({ + value: 0xEDC, + name: 'middleWindDirection', + category: OffsetCategory.WEATHER, + description: 'middle wind ceiling - TRUE degrees', + convert: '+({VAL} * 360 / 65536).toFixed(2)', + type: Type.UInt16, + permission: 'r', + }), + middleWindTurbulence: new Offset({ + value: 0xEDE, + name: 'middleWindTurbulence', + category: OffsetCategory.WEATHER, + description: 'middle wind turbulence - 0-255', + type: Type.UInt16, + permission: 'r', + }), + middleWindGustEnabled: new Offset({ + value: 0xEE0, + name: 'middleWindGustEnabled', + category: OffsetCategory.WEATHER, + description: 'middle wind gust enabled', + convert: '!!{VAL}', + type: Type.UInt16, + permission: 'r', + }), + lowerWindCeiling: new Offset({ + value: 0xEE2, + name: 'lowerWindCeiling', + category: OffsetCategory.WEATHER, + description: 'lower wind ceiling - ft', + convert: '+({VAL} * 3.28084).toFixed(2)', + type: Type.UInt16, + permission: 'r', + }), + lowerWindBase: new Offset({ + value: 0xEE4, + name: 'lowerWindBase', + category: OffsetCategory.WEATHER, + description: 'lower wind ceiling - ft', + convert: '+({VAL} * 3.28084).toFixed(2)', + type: Type.UInt16, + permission: 'r', + }), + lowerWindSpeed: new Offset({ + value: 0xEE6, + name: 'lowerWindSpeed', + category: OffsetCategory.WEATHER, + description: 'lower wind ceiling - kt', + type: Type.UInt16, + permission: 'r', + }), + lowerWindDirection: new Offset({ + value: 0xEE8, + name: 'lowerWindDirection', + category: OffsetCategory.WEATHER, + description: 'lower wind ceiling - TRUE degrees', + convert: '+({VAL} * 360 / 65536).toFixed(2)', + type: Type.UInt16, + permission: 'r', + }), + lowerWindTurbulence: new Offset({ + value: 0xEEA, + name: 'lowerWindTurbulence', + category: OffsetCategory.WEATHER, + description: 'lower wind turbulence - 0-255', + type: Type.UInt16, + permission: 'r', + }), + lowerWindGustEnabled: new Offset({ + value: 0xEEC, + name: 'lowerWindGustEnabled', + category: OffsetCategory.WEATHER, + description: 'lower wind gust enabled', + convert: '!!{VAL}', + type: Type.Int16, + permission: 'r', + }), + surfaceWindCeiling: new Offset({ + value: 0xEEE, + name: 'surfaceWindCeiling', + category: OffsetCategory.WEATHER, + description: 'surface wind ceiling - ft', + convert: '+({VAL} * 3.28084).toFixed(2)', + type: Type.UInt16, + permission: 'r', + }), + surfaceWindTurbulence: new Offset({ + value: 0xEF4, + name: 'surfaceWindTurbulence', + category: OffsetCategory.WEATHER, + description: 'surface wind turbulence - 0-255', + type: Type.UInt16, + permission: 'r', + }), + surfaceWindGustEnabled: new Offset({ + value: 0xEF6, + name: 'surfaceWindGustEnabled', + category: OffsetCategory.WEATHER, + description: 'surface wind gust enabled', + convert: '!!{VAL}', + type: Type.UInt16, + permission: 'r', + }), + upperCloudType: new Offset({ + value: 0xEF8, + name: 'upperCloudType', + category: OffsetCategory.WEATHER, + description: 'upper cloud type', + convert: 'cloudType', + mapping: true, + type: Type.UInt16, + permission: 'r', + }), + upperCloudIcing: new Offset({ + value: 0xEFA, + name: 'upperCloudIcing', + category: OffsetCategory.WEATHER, + description: 'upper cloud icing', + convert: '!!{VAL}', + type: Type.UInt16, + permission: 'r', + }), + upperCloudTurbulence: new Offset({ + value: 0xEFC, + name: 'upperCloudTurbulence', + category: OffsetCategory.WEATHER, + description: 'upper cloud turbulence - 0-255', + type: Type.UInt16, + permission: 'r', + }), + lowerCloudType: new Offset({ + value: 0xEFE, + name: 'lowerCloudType', + category: OffsetCategory.WEATHER, + description: 'lower cloud type', + convert: 'cloudType', + mapping: true, + type: Type.UInt16, + permission: 'r', + }), + lowerCloudIcing: new Offset({ + value: 0xF00, + name: 'lowerCloudIcing', + category: OffsetCategory.WEATHER, + description: 'lower cloud icing', + convert: '!!{VAL}', + type: Type.UInt16, + permission: 'r', + }), + lowerCloudTurbulence: new Offset({ + value: 0xF02, + name: 'lowerCloudTurbulence', + category: OffsetCategory.WEATHER, + description: 'lower cloud turbulence - 0-255', + type: Type.UInt16, + permission: 'r', + }), + stormCloudType: new Offset({ + value: 0xF04, + name: 'stormCloudType', + category: OffsetCategory.WEATHER, + description: 'storm cloud type', + convert: 'cloudType', + mapping: true, + type: Type.UInt16, + permission: 'r', + }), + stormCloudIcing: new Offset({ + value: 0xF06, + name: 'stormCloudIcing', + category: OffsetCategory.WEATHER, + description: 'storm cloud icing', + convert: '!!{VAL}', + type: Type.UInt16, + permission: 'r', + }), + stormCloudTurbulence: new Offset({ + value: 0xF08, + name: 'stormCloudTurbulence', + category: OffsetCategory.WEATHER, + description: 'storm cloud turbulence - 0-255', + type: Type.UInt16, + permission: 'r', + }), +} diff --git a/src/lib/offsets/environment/weather/settings.ts b/src/lib/offsets/environment/weather/settings.ts new file mode 100644 index 0000000..6adb0ad --- /dev/null +++ b/src/lib/offsets/environment/weather/settings.ts @@ -0,0 +1,513 @@ +import { Type } from 'fsuipc'; + +import { OffsetList } from '@shared/offset-list'; +import { Offset } from '@shared/offset'; +import { OffsetCategory } from '@shared/offset-category'; + +export const weatherSettings: OffsetList = { + upperCloudCeilingSetting: new Offset({ + value: 0xF1C, + name: 'upperCloudCeilingSetting', + category: OffsetCategory.WEATHER, + description: 'upper cloud layer ceiling - ft - setting', + convert: '+({VAL} * 3.28084).toFixed(2)', + type: Type.UInt16, + permission: 'rw', + }), + upperCloudBaseSetting: new Offset({ + value: 0xF1E, + name: 'upperCloudBaseSetting', + category: OffsetCategory.WEATHER, + description: 'upper cloud layer base - ft - setting', + convert: '+({VAL} * 3.28084).toFixed(2)', + type: Type.UInt16, + permission: 'rw', + }), + upperCloudCoverageSetting: new Offset({ + value: 0xF20, + name: 'upperCloudCoverageSetting', + category: OffsetCategory.WEATHER, + description: 'upper cloud layer coverage - oktas - setting', + convert: 'Math.round(({VAL} + 1) / 8192)', + type: Type.UInt16, + permission: 'rw', + }), + upperCloudVariationSetting: new Offset({ + value: 0xF22, + name: 'upperCloudVariationSetting', + category: OffsetCategory.WEATHER, + description: 'upper cloud layer variation - ft - setting', + convert: '+({VAL} * 3.28084).toFixed(2)', + type: Type.UInt16, + permission: 'rw', + }), + lowerCloudCeilingSetting: new Offset({ + value: 0xF24, + name: 'lowerCloudCeilingSetting', + category: OffsetCategory.WEATHER, + description: 'lower cloud layer ceiling - ft - setting', + convert: '+({VAL} * 3.28084).toFixed(2)', + type: Type.UInt16, + permission: 'rw', + }), + lowerCloudBaseSetting: new Offset({ + value: 0xF26, + name: 'lowerCloudBaseSetting', + category: OffsetCategory.WEATHER, + description: 'lower cloud layer base - ft - setting', + convert: '+({VAL} * 3.28084).toFixed(2)', + type: Type.UInt16, + permission: 'rw', + }), + lowerCloudCoverageSetting: new Offset({ + value: 0xF28, + name: 'lowerCloudCoverageSetting', + category: OffsetCategory.WEATHER, + description: 'lower cloud layer coverage - oktas - setting', + convert: 'Math.round(({VAL} + 1) / 8192)', + type: Type.UInt16, + permission: 'rw', + }), + lowerCloudVariationSetting: new Offset({ + value: 0xF2A, + name: 'lowerCloudVariationSetting', + category: OffsetCategory.WEATHER, + description: 'lower cloud layer variation - ft - setting', + convert: '+({VAL} * 3.28084).toFixed(2)', + type: Type.UInt16, + permission: 'rw', + }), + stormCloudCeilingSetting: new Offset({ + value: 0xF2C, + name: 'stormCloudCeilingSetting', + category: OffsetCategory.WEATHER, + description: 'storm cloud layer ceiling - ft - setting', + convert: '+({VAL} * 3.28084).toFixed(2)', + type: Type.UInt16, + permission: 'rw', + }), + stormCloudBaseSetting: new Offset({ + value: 0xF2E, + name: 'stormCloudBaseSetting', + category: OffsetCategory.WEATHER, + description: 'storm cloud layer base - ft - setting', + convert: '+({VAL} * 3.28084).toFixed(2)', + type: Type.UInt16, + permission: 'rw', + }), + stormCloudCoverageSetting: new Offset({ + value: 0xF30, + name: 'stormCloudCoverageSetting', + category: OffsetCategory.WEATHER, + description: 'storm cloud layer coverage - oktas - setting', + convert: 'Math.round(({VAL} + 1) / 8192)', + type: Type.UInt16, + permission: 'rw', + }), + stormCloudVariationSetting: new Offset({ + value: 0xF32, + name: 'stormCloudVariationSetting', + category: OffsetCategory.WEATHER, + description: 'storm cloud layer variation - ft - setting', + convert: '+({VAL} * 3.28084).toFixed(2)', + type: Type.UInt16, + permission: 'rw', + }), + upperTemperatureLevelSetting: new Offset({ + value: 0xF34, + name: 'upperTemperatureLevelSetting', + category: OffsetCategory.WEATHER, + description: 'upper temperature level - ft - setting', + convert: '+({VAL} * 3.28084).toFixed(2)', + type: Type.UInt16, + permission: 'rw', + }), + upperTemperatureSetting: new Offset({ + value: 0xF36, + name: 'upperTemperatureSetting', + category: OffsetCategory.WEATHER, + description: 'upper temperature - degrees C - setting', + convert: 'Math.round({VAL} / 256)', + type: Type.Int16, + permission: 'rw', + }), + middleTemperatureLevelSetting: new Offset({ + value: 0xF38, + name: 'middleTemperatureLevelSetting', + category: OffsetCategory.WEATHER, + description: 'middle temperature level - ft - setting', + convert: '+({VAL} * 3.28084).toFixed(2)', + type: Type.UInt16, + permission: 'rw', + }), + middleTemperatureSetting: new Offset({ + value: 0xF3A, + name: 'middleTemperatureSetting', + category: OffsetCategory.WEATHER, + description: 'middle temperature - degrees C - setting', + convert: 'Math.round({VAL} / 256)', + type: Type.Int16, + permission: 'rw', + }), + lowerTemperatureLevelSetting: new Offset({ + value: 0xF3C, + name: 'lowerTemperatureLevelSetting', + category: OffsetCategory.WEATHER, + description: 'lower temperature level - ft - setting', + convert: '+({VAL} * 3.28084).toFixed(2)', + type: Type.UInt16, + permission: 'rw', + }), + lowerTemperatureSetting: new Offset({ + value: 0xF3E, + name: 'lowerTemperatureSetting', + category: OffsetCategory.WEATHER, + description: 'lower temperature - degrees C - setting', + convert: 'Math.round({VAL} / 256)', + type: Type.Int16, + permission: 'rw', + }), + surfaceTemperatureLevelSetting: new Offset({ + value: 0xF40, + name: 'surfaceTemperatureLevelSetting', + category: OffsetCategory.WEATHER, + description: 'surface temperature level - ground elevation - setting- ft', + convert: '+({VAL} * 3.28084).toFixed(2)', + type: Type.UInt16, + permission: 'rw', + }), + surfaceTemperatureSetting: new Offset({ + value: 0xF42, + name: 'surfaceTemperatureSetting', + category: OffsetCategory.WEATHER, + description: 'surface temperature - degrees C - setting', + convert: 'Math.round({VAL} / 256)', + type: Type.Int16, + permission: 'rw', + }), + temperatureDriftSetting: new Offset({ + value: 0xF44, + name: 'temperatureDriftSetting', + category: OffsetCategory.WEATHER, + description: 'temperature drift - degrees C - setting', + convert: 'Math.round({VAL} / 256)', + type: Type.Int16, + permission: 'rw', + }), + temperatureDayNightVariationSetting: new Offset({ + value: 0xF46, + name: 'temperatureDayNightVariationSetting', + category: OffsetCategory.WEATHER, + description: 'temperature day night variation - degrees C - setting', + convert: 'Math.round({VAL} / 256)', + type: Type.Int16, + permission: 'rw', + }), + pressureQNHSetting: new Offset({ + value: 0xF48, + name: 'pressureQNHSetting', + category: OffsetCategory.WEATHER, + description: 'pressure QNH - mb - setting', + convert: 'Math.round({VAL} / 16)', + type: Type.UInt16, + permission: 'rw', + }), + pressureDriftSetting: new Offset({ + value: 0xF4A, + name: 'pressureDriftSetting', + category: OffsetCategory.WEATHER, + description: 'pressure drift - mb - setting', + convert: 'Math.round({VAL} / 16)', + type: Type.Int16, + permission: 'rw', + }), + upperWindCeilingSetting: new Offset({ + value: 0xF4C, + name: 'upperWindCeilingSetting', + category: OffsetCategory.WEATHER, + description: 'upper wind ceiling - ft - setting', + convert: '+({VAL} * 3.28084).toFixed(2)', + type: Type.UInt16, + permission: 'rw', + }), + upperWindBaseSetting: new Offset({ + value: 0xF4E, + name: 'upperWindBaseSetting', + category: OffsetCategory.WEATHER, + description: 'upper wind ceiling - ft - setting', + convert: '+({VAL} * 3.28084).toFixed(2)', + type: Type.UInt16, + permission: 'rw', + }), + upperWindSpeedSetting: new Offset({ + value: 0xF50, + name: 'upperWindSpeedSetting', + category: OffsetCategory.WEATHER, + description: 'upper wind ceiling - kt - setting', + type: Type.UInt16, + permission: 'rw', + }), + upperWindDirectionSetting: new Offset({ + value: 0xF52, + name: 'upperWindDirectionSetting', + category: OffsetCategory.WEATHER, + description: 'upper wind ceiling - TRUE degrees - setting', + convert: '+({VAL} * 360 / 65536).toFixed(2)', + type: Type.UInt16, + permission: 'rw', + }), + upperWindTurbulenceSetting: new Offset({ + value: 0xF54, + name: 'upperWindTurbulenceSetting', + category: OffsetCategory.WEATHER, + description: 'upper wind turbulence - 0-255 - setting', + type: Type.UInt16, + permission: 'rw', + }), + upperWindGustEnabledSetting: new Offset({ + value: 0xF56, + name: 'upperWindGustEnabledSetting', + category: OffsetCategory.WEATHER, + description: 'upper wind gust enabled - setting', + convert: '!!{VAL}', + type: Type.UInt16, + permission: 'rw', + }), + middleWindCeilingSetting: new Offset({ + value: 0xF58, + name: 'middleWindCeilingSetting', + category: OffsetCategory.WEATHER, + description: 'middle wind ceiling - ft - setting', + convert: '+({VAL} * 3.28084).toFixed(2)', + type: Type.UInt16, + permission: 'rw', + }), + middleWindBaseSetting: new Offset({ + value: 0xF5A, + name: 'middleWindBaseSetting', + category: OffsetCategory.WEATHER, + description: 'middle wind ceiling - ft - setting', + convert: '+({VAL} * 3.28084).toFixed(2)', + type: Type.UInt16, + permission: 'rw', + }), + middleWindSpeedSetting: new Offset({ + value: 0xF5C, + name: 'middleWindSpeedSetting', + category: OffsetCategory.WEATHER, + description: 'middle wind ceiling - kt - setting', + type: Type.UInt16, + permission: 'rw', + }), + middleWindDirectionSetting: new Offset({ + value: 0xF5E, + name: 'middleWindDirectionSetting', + category: OffsetCategory.WEATHER, + description: 'middle wind ceiling - TRUE degrees - setting', + convert: '+({VAL} * 360 / 65536).toFixed(2)', + type: Type.UInt16, + permission: 'rw', + }), + middleWindTurbulenceSetting: new Offset({ + value: 0xF60, + name: 'middleWindTurbulenceSetting', + category: OffsetCategory.WEATHER, + description: 'middle wind turbulence - 0-255 - setting', + type: Type.UInt16, + permission: 'rw', + }), + middleWindGustEnabledSetting: new Offset({ + value: 0xF62, + name: 'middleWindGustEnabledSetting', + category: OffsetCategory.WEATHER, + description: 'middle wind gust enabled - setting', + convert: '!!{VAL}', + type: Type.UInt16, + permission: 'rw', + }), + lowerWindCeilingSetting: new Offset({ + value: 0xF64, + name: 'lowerWindCeilingSetting', + category: OffsetCategory.WEATHER, + description: 'lower wind ceiling - ft - setting', + convert: '+({VAL} * 3.28084).toFixed(2)', + type: Type.UInt16, + permission: 'rw', + }), + lowerWindBaseSetting: new Offset({ + value: 0xF66, + name: 'lowerWindBaseSetting', + category: OffsetCategory.WEATHER, + description: 'lower wind ceiling - ft - setting', + convert: '+({VAL} * 3.28084).toFixed(2)', + type: Type.UInt16, + permission: 'rw', + }), + lowerWindSpeedSetting: new Offset({ + value: 0xF68, + name: 'lowerWindSpeedSetting', + category: OffsetCategory.WEATHER, + description: 'lower wind ceiling - kt - setting', + type: Type.UInt16, + permission: 'rw', + }), + lowerWindDirectionSetting: new Offset({ + value: 0xF6A, + name: 'lowerWindDirectionSetting', + category: OffsetCategory.WEATHER, + description: 'lower wind ceiling - TRUE degrees - setting', + convert: '+({VAL} * 360 / 65536).toFixed(2)', + type: Type.UInt16, + permission: 'rw', + }), + lowerWindTurbulenceSetting: new Offset({ + value: 0xF6C, + name: 'lowerWindTurbulenceSetting', + category: OffsetCategory.WEATHER, + description: 'lower wind turbulence - 0-255 - setting', + type: Type.UInt16, + permission: 'rw', + }), + lowerWindGustEnabledSetting: new Offset({ + value: 0xF6E, + name: 'lowerWindGustEnabledSetting', + category: OffsetCategory.WEATHER, + description: 'lower wind gust enabled - setting', + convert: '!!{VAL}', + type: Type.Int16, + permission: 'rw', + }), + surfaceWindCeilingSetting: new Offset({ + value: 0xF70, + name: 'surfaceWindCeilingSetting', + category: OffsetCategory.WEATHER, + description: 'surface wind ceiling - ft - setting', + convert: '+({VAL} * 3.28084).toFixed(2)', + type: Type.UInt16, + permission: 'rw', + }), + surfaceWindSpeedSetting: new Offset({ + value: 0xF72, + name: 'surfaceWindSpeedSetting', + category: OffsetCategory.WEATHER, + description: 'surface wind speed - kt - settings', + type: Type.UInt16, + permission: 'rw', + }), + surfaceWindDirectionSetting: new Offset({ + value: 0xF74, + name: 'surfaceWindSpeedSetting', + category: OffsetCategory.WEATHER, + description: 'surface wind direction - MAG degrees - settings', + convert: '+({VAL} * 360 / 65536).toFixed(2)', + type: Type.UInt16, + permission: 'rw', + }), + surfaceWindTurbulenceSetting: new Offset({ + value: 0xF76, + name: 'surfaceWindTurbulenceSetting', + category: OffsetCategory.WEATHER, + description: 'surface wind turbulence - 0-255 - setting', + type: Type.UInt16, + permission: 'rw', + }), + surfaceWindGustEnabledSetting: new Offset({ + value: 0xF78, + name: 'surfaceWindGustEnabledSetting', + category: OffsetCategory.WEATHER, + description: 'surface wind gust enabled - setting', + convert: '!!{VAL}', + type: Type.UInt16, + permission: 'rw', + }), + upperCloudTypeSetting: new Offset({ + value: 0xF7A, + name: 'upperCloudTypeSetting', + category: OffsetCategory.WEATHER, + description: 'upper cloud type - setting', + convert: 'cloudType', + mapping: true, + type: Type.UInt16, + permission: 'rw', + }), + upperCloudIcingSetting: new Offset({ + value: 0xF7C, + name: 'upperCloudIcingSetting', + category: OffsetCategory.WEATHER, + description: 'upper cloud icing - setting', + convert: '!!{VAL}', + type: Type.UInt16, + permission: 'rw', + }), + upperCloudTurbulenceSetting: new Offset({ + value: 0xF7E, + name: 'upperCloudTurbulenceSetting', + category: OffsetCategory.WEATHER, + description: 'upper cloud turbulence - 0-255 - setting', + type: Type.UInt16, + permission: 'rw', + }), + lowerCloudTypeSetting: new Offset({ + value: 0xF80, + name: 'lowerCloudTypeSetting', + category: OffsetCategory.WEATHER, + description: 'lower cloud type - setting', + convert: 'cloudType', + mapping: true, + type: Type.UInt16, + permission: 'rw', + }), + lowerCloudIcingSetting: new Offset({ + value: 0xF82, + name: 'lowerCloudIcingSetting', + category: OffsetCategory.WEATHER, + description: 'lower cloud icing - setting', + convert: '!!{VAL}', + type: Type.UInt16, + permission: 'rw', + }), + lowerCloudTurbulenceSetting: new Offset({ + value: 0xF84, + name: 'lowerCloudTurbulenceSetting', + category: OffsetCategory.WEATHER, + description: 'lower cloud turbulence - 0-255 - setting', + type: Type.UInt16, + permission: 'rw', + }), + stormCloudTypeSetting: new Offset({ + value: 0xF86, + name: 'stormCloudTypeSetting', + category: OffsetCategory.WEATHER, + description: 'storm cloud type - setting', + convert: 'cloudType', + mapping: true, + type: Type.UInt16, + permission: 'rw', + }), + stormCloudIcingSetting: new Offset({ + value: 0xF88, + name: 'stormCloudIcingSetting', + category: OffsetCategory.WEATHER, + description: 'storm cloud icing - setting', + convert: '!!{VAL}', + type: Type.UInt16, + permission: 'rw', + }), + stormCloudTurbulenceSetting: new Offset({ + value: 0xF8A, + name: 'stormCloudTurbulenceSetting', + category: OffsetCategory.WEATHER, + description: 'storm cloud turbulence - 0-255 - setting', + type: Type.UInt16, + permission: 'rw', + }), + visibilitySetting: new Offset({ + value: 0xF8C, + name: 'visibilitySetting', + category: OffsetCategory.WEATHER, + description: 'visibility setting - sm', + convert: '{VAL} / 100', + type: Type.UInt16, + permission: 'rw', + }), +} diff --git a/tests/offsets/__snapshots__/offset.spec.ts.snap b/tests/offsets/__snapshots__/offset.spec.ts.snap index dc9f3f4..ba3149a 100644 --- a/tests/offsets/__snapshots__/offset.spec.ts.snap +++ b/tests/offsets/__snapshots__/offset.spec.ts.snap @@ -3368,6 +3368,17 @@ Object { "type": 5, "value": 3748, }, + "lowerCloudBaseSetting": Offset { + "category": "weather", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "lower cloud layer base - ft - setting", + "length": undefined, + "mapping": undefined, + "name": "lowerCloudBaseSetting", + "permission": "rw", + "type": 5, + "value": 3878, + }, "lowerCloudCeiling": Offset { "category": "weather", "convert": "+({VAL} * 3.28084).toFixed(2)", @@ -3379,6 +3390,17 @@ Object { "type": 5, "value": 3746, }, + "lowerCloudCeilingSetting": Offset { + "category": "weather", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "lower cloud layer ceiling - ft - setting", + "length": undefined, + "mapping": undefined, + "name": "lowerCloudCeilingSetting", + "permission": "rw", + "type": 5, + "value": 3876, + }, "lowerCloudCoverage": Offset { "category": "weather", "convert": "Math.round(({VAL} + 1) / 8192)", @@ -3390,6 +3412,17 @@ Object { "type": 5, "value": 3750, }, + "lowerCloudCoverageSetting": Offset { + "category": "weather", + "convert": "Math.round(({VAL} + 1) / 8192)", + "description": "lower cloud layer coverage - oktas - setting", + "length": undefined, + "mapping": undefined, + "name": "lowerCloudCoverageSetting", + "permission": "rw", + "type": 5, + "value": 3880, + }, "lowerCloudIcing": Offset { "category": "weather", "convert": "!!{VAL}", @@ -3401,6 +3434,17 @@ Object { "type": 5, "value": 3840, }, + "lowerCloudIcingSetting": Offset { + "category": "weather", + "convert": "!!{VAL}", + "description": "lower cloud icing - setting", + "length": undefined, + "mapping": undefined, + "name": "lowerCloudIcingSetting", + "permission": "rw", + "type": 5, + "value": 3970, + }, "lowerCloudTurbulence": Offset { "category": "weather", "convert": undefined, @@ -3412,6 +3456,17 @@ Object { "type": 5, "value": 3842, }, + "lowerCloudTurbulenceSetting": Offset { + "category": "weather", + "convert": undefined, + "description": "lower cloud turbulence - 0-255 - setting", + "length": undefined, + "mapping": undefined, + "name": "lowerCloudTurbulenceSetting", + "permission": "rw", + "type": 5, + "value": 3972, + }, "lowerCloudType": Offset { "category": "weather", "convert": "cloudType", @@ -3423,6 +3478,17 @@ Object { "type": 5, "value": 3838, }, + "lowerCloudTypeSetting": Offset { + "category": "weather", + "convert": "cloudType", + "description": "lower cloud type - setting", + "length": undefined, + "mapping": true, + "name": "lowerCloudTypeSetting", + "permission": "rw", + "type": 5, + "value": 3968, + }, "lowerCloudVariation": Offset { "category": "weather", "convert": "+({VAL} * 3.28084).toFixed(2)", @@ -3434,6 +3500,17 @@ Object { "type": 5, "value": 3752, }, + "lowerCloudVariationSetting": Offset { + "category": "weather", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "lower cloud layer variation - ft - setting", + "length": undefined, + "mapping": undefined, + "name": "lowerCloudVariationSetting", + "permission": "rw", + "type": 5, + "value": 3882, + }, "lowerTemperature": Offset { "category": "weather", "convert": "Math.round({VAL} / 256)", @@ -3456,6 +3533,28 @@ Object { "type": 5, "value": 3770, }, + "lowerTemperatureLevelSetting": Offset { + "category": "weather", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "lower temperature level - ft - setting", + "length": undefined, + "mapping": undefined, + "name": "lowerTemperatureLevelSetting", + "permission": "rw", + "type": 5, + "value": 3900, + }, + "lowerTemperatureSetting": Offset { + "category": "weather", + "convert": "Math.round({VAL} / 256)", + "description": "lower temperature - degrees C - setting", + "length": undefined, + "mapping": undefined, + "name": "lowerTemperatureSetting", + "permission": "rw", + "type": 2, + "value": 3902, + }, "lowerWindBase": Offset { "category": "weather", "convert": "+({VAL} * 3.28084).toFixed(2)", @@ -3467,6 +3566,17 @@ Object { "type": 5, "value": 3812, }, + "lowerWindBaseSetting": Offset { + "category": "weather", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "lower wind ceiling - ft - setting", + "length": undefined, + "mapping": undefined, + "name": "lowerWindBaseSetting", + "permission": "rw", + "type": 5, + "value": 3942, + }, "lowerWindCeiling": Offset { "category": "weather", "convert": "+({VAL} * 3.28084).toFixed(2)", @@ -3478,6 +3588,17 @@ Object { "type": 5, "value": 3810, }, + "lowerWindCeilingSetting": Offset { + "category": "weather", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "lower wind ceiling - ft - setting", + "length": undefined, + "mapping": undefined, + "name": "lowerWindCeilingSetting", + "permission": "rw", + "type": 5, + "value": 3940, + }, "lowerWindDirection": Offset { "category": "weather", "convert": "+({VAL} * 360 / 65536).toFixed(2)", @@ -3489,6 +3610,17 @@ Object { "type": 5, "value": 3816, }, + "lowerWindDirectionSetting": Offset { + "category": "weather", + "convert": "+({VAL} * 360 / 65536).toFixed(2)", + "description": "lower wind ceiling - TRUE degrees - setting", + "length": undefined, + "mapping": undefined, + "name": "lowerWindDirectionSetting", + "permission": "rw", + "type": 5, + "value": 3946, + }, "lowerWindGustEnabled": Offset { "category": "weather", "convert": "!!{VAL}", @@ -3500,6 +3632,17 @@ Object { "type": 2, "value": 3820, }, + "lowerWindGustEnabledSetting": Offset { + "category": "weather", + "convert": "!!{VAL}", + "description": "lower wind gust enabled - setting", + "length": undefined, + "mapping": undefined, + "name": "lowerWindGustEnabledSetting", + "permission": "rw", + "type": 2, + "value": 3950, + }, "lowerWindSpeed": Offset { "category": "weather", "convert": undefined, @@ -3511,6 +3654,17 @@ Object { "type": 5, "value": 3814, }, + "lowerWindSpeedSetting": Offset { + "category": "weather", + "convert": undefined, + "description": "lower wind ceiling - kt - setting", + "length": undefined, + "mapping": undefined, + "name": "lowerWindSpeedSetting", + "permission": "rw", + "type": 5, + "value": 3944, + }, "lowerWindTurbulence": Offset { "category": "weather", "convert": undefined, @@ -3522,6 +3676,17 @@ Object { "type": 5, "value": 3818, }, + "lowerWindTurbulenceSetting": Offset { + "category": "weather", + "convert": undefined, + "description": "lower wind turbulence - 0-255 - setting", + "length": undefined, + "mapping": undefined, + "name": "lowerWindTurbulenceSetting", + "permission": "rw", + "type": 5, + "value": 3948, + }, "macroOrLuaParameters": Offset { "category": "simulation", "convert": undefined, @@ -3676,6 +3841,28 @@ Object { "type": 5, "value": 3766, }, + "middleTemperatureLevelSetting": Offset { + "category": "weather", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "middle temperature level - ft - setting", + "length": undefined, + "mapping": undefined, + "name": "middleTemperatureLevelSetting", + "permission": "rw", + "type": 5, + "value": 3896, + }, + "middleTemperatureSetting": Offset { + "category": "weather", + "convert": "Math.round({VAL} / 256)", + "description": "middle temperature - degrees C - setting", + "length": undefined, + "mapping": undefined, + "name": "middleTemperatureSetting", + "permission": "rw", + "type": 2, + "value": 3898, + }, "middleWindBase": Offset { "category": "weather", "convert": "+({VAL} * 3.28084).toFixed(2)", @@ -3687,6 +3874,17 @@ Object { "type": 5, "value": 3800, }, + "middleWindBaseSetting": Offset { + "category": "weather", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "middle wind ceiling - ft - setting", + "length": undefined, + "mapping": undefined, + "name": "middleWindBaseSetting", + "permission": "rw", + "type": 5, + "value": 3930, + }, "middleWindCeiling": Offset { "category": "weather", "convert": "+({VAL} * 3.28084).toFixed(2)", @@ -3698,6 +3896,17 @@ Object { "type": 5, "value": 3798, }, + "middleWindCeilingSetting": Offset { + "category": "weather", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "middle wind ceiling - ft - setting", + "length": undefined, + "mapping": undefined, + "name": "middleWindCeilingSetting", + "permission": "rw", + "type": 5, + "value": 3928, + }, "middleWindDirection": Offset { "category": "weather", "convert": "+({VAL} * 360 / 65536).toFixed(2)", @@ -3709,6 +3918,17 @@ Object { "type": 5, "value": 3804, }, + "middleWindDirectionSetting": Offset { + "category": "weather", + "convert": "+({VAL} * 360 / 65536).toFixed(2)", + "description": "middle wind ceiling - TRUE degrees - setting", + "length": undefined, + "mapping": undefined, + "name": "middleWindDirectionSetting", + "permission": "rw", + "type": 5, + "value": 3934, + }, "middleWindGustEnabled": Offset { "category": "weather", "convert": "!!{VAL}", @@ -3720,6 +3940,17 @@ Object { "type": 5, "value": 3808, }, + "middleWindGustEnabledSetting": Offset { + "category": "weather", + "convert": "!!{VAL}", + "description": "middle wind gust enabled - setting", + "length": undefined, + "mapping": undefined, + "name": "middleWindGustEnabledSetting", + "permission": "rw", + "type": 5, + "value": 3938, + }, "middleWindSpeed": Offset { "category": "weather", "convert": undefined, @@ -3731,6 +3962,17 @@ Object { "type": 5, "value": 3802, }, + "middleWindSpeedSetting": Offset { + "category": "weather", + "convert": undefined, + "description": "middle wind ceiling - kt - setting", + "length": undefined, + "mapping": undefined, + "name": "middleWindSpeedSetting", + "permission": "rw", + "type": 5, + "value": 3932, + }, "middleWindTurbulence": Offset { "category": "weather", "convert": undefined, @@ -3742,6 +3984,17 @@ Object { "type": 5, "value": 3806, }, + "middleWindTurbulenceSetting": Offset { + "category": "weather", + "convert": undefined, + "description": "middle wind turbulence - 0-255 - setting", + "length": undefined, + "mapping": undefined, + "name": "middleWindTurbulenceSetting", + "permission": "rw", + "type": 5, + "value": 3936, + }, "nav12Select": Offset { "category": "radios", "convert": undefined, @@ -4369,6 +4622,17 @@ Object { "type": 2, "value": 3784, }, + "pressureDriftSetting": Offset { + "category": "weather", + "convert": "Math.round({VAL} / 16)", + "description": "pressure drift - mb - setting", + "length": undefined, + "mapping": undefined, + "name": "pressureDriftSetting", + "permission": "rw", + "type": 2, + "value": 3914, + }, "pressureQNH": Offset { "category": "weather", "convert": "Math.round({VAL} / 16)", @@ -4380,6 +4644,17 @@ Object { "type": 5, "value": 3782, }, + "pressureQNHSetting": Offset { + "category": "weather", + "convert": "Math.round({VAL} / 16)", + "description": "pressure QNH - mb - setting", + "length": undefined, + "mapping": undefined, + "name": "pressureQNHSetting", + "permission": "rw", + "type": 5, + "value": 3912, + }, "propellerPitchControl": Offset { "category": "controls", "convert": undefined, @@ -4941,6 +5216,17 @@ Object { "type": 5, "value": 3756, }, + "stormCloudBaseSetting": Offset { + "category": "weather", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "storm cloud layer base - ft - setting", + "length": undefined, + "mapping": undefined, + "name": "stormCloudBaseSetting", + "permission": "rw", + "type": 5, + "value": 3886, + }, "stormCloudCeiling": Offset { "category": "weather", "convert": "+({VAL} * 3.28084).toFixed(2)", @@ -4952,6 +5238,17 @@ Object { "type": 5, "value": 3754, }, + "stormCloudCeilingSetting": Offset { + "category": "weather", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "storm cloud layer ceiling - ft - setting", + "length": undefined, + "mapping": undefined, + "name": "stormCloudCeilingSetting", + "permission": "rw", + "type": 5, + "value": 3884, + }, "stormCloudCoverage": Offset { "category": "weather", "convert": "Math.round(({VAL} + 1) / 8192)", @@ -4963,6 +5260,17 @@ Object { "type": 5, "value": 3758, }, + "stormCloudCoverageSetting": Offset { + "category": "weather", + "convert": "Math.round(({VAL} + 1) / 8192)", + "description": "storm cloud layer coverage - oktas - setting", + "length": undefined, + "mapping": undefined, + "name": "stormCloudCoverageSetting", + "permission": "rw", + "type": 5, + "value": 3888, + }, "stormCloudIcing": Offset { "category": "weather", "convert": "!!{VAL}", @@ -4974,6 +5282,17 @@ Object { "type": 5, "value": 3846, }, + "stormCloudIcingSetting": Offset { + "category": "weather", + "convert": "!!{VAL}", + "description": "storm cloud icing - setting", + "length": undefined, + "mapping": undefined, + "name": "stormCloudIcingSetting", + "permission": "rw", + "type": 5, + "value": 3976, + }, "stormCloudTurbulence": Offset { "category": "weather", "convert": undefined, @@ -4985,6 +5304,17 @@ Object { "type": 5, "value": 3848, }, + "stormCloudTurbulenceSetting": Offset { + "category": "weather", + "convert": undefined, + "description": "storm cloud turbulence - 0-255 - setting", + "length": undefined, + "mapping": undefined, + "name": "stormCloudTurbulenceSetting", + "permission": "rw", + "type": 5, + "value": 3978, + }, "stormCloudType": Offset { "category": "weather", "convert": "cloudType", @@ -4996,6 +5326,17 @@ Object { "type": 5, "value": 3844, }, + "stormCloudTypeSetting": Offset { + "category": "weather", + "convert": "cloudType", + "description": "storm cloud type - setting", + "length": undefined, + "mapping": true, + "name": "stormCloudTypeSetting", + "permission": "rw", + "type": 5, + "value": 3974, + }, "stormCloudVariation": Offset { "category": "weather", "convert": "+({VAL} * 3.28084).toFixed(2)", @@ -5007,6 +5348,17 @@ Object { "type": 5, "value": 3760, }, + "stormCloudVariationSetting": Offset { + "category": "weather", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "storm cloud layer variation - ft - setting", + "length": undefined, + "mapping": undefined, + "name": "stormCloudVariationSetting", + "permission": "rw", + "type": 5, + "value": 3890, + }, "strobeLights": Offset { "category": "cockpit", "convert": "!!{VAL}", @@ -5062,6 +5414,28 @@ Object { "type": 5, "value": 3774, }, + "surfaceTemperatureLevelSetting": Offset { + "category": "weather", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "surface temperature level - ground elevation - setting- ft", + "length": undefined, + "mapping": undefined, + "name": "surfaceTemperatureLevelSetting", + "permission": "rw", + "type": 5, + "value": 3904, + }, + "surfaceTemperatureSetting": Offset { + "category": "weather", + "convert": "Math.round({VAL} / 256)", + "description": "surface temperature - degrees C - setting", + "length": undefined, + "mapping": undefined, + "name": "surfaceTemperatureSetting", + "permission": "rw", + "type": 2, + "value": 3906, + }, "surfaceWindCeiling": Offset { "category": "weather", "convert": "+({VAL} * 3.28084).toFixed(2)", @@ -5073,6 +5447,17 @@ Object { "type": 5, "value": 3822, }, + "surfaceWindCeilingSetting": Offset { + "category": "weather", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "surface wind ceiling - ft - setting", + "length": undefined, + "mapping": undefined, + "name": "surfaceWindCeilingSetting", + "permission": "rw", + "type": 5, + "value": 3952, + }, "surfaceWindDirection": Offset { "category": "weather", "convert": "+({VAL} * 360 / 65536).toFixed(2)", @@ -5084,6 +5469,17 @@ Object { "type": 5, "value": 1242, }, + "surfaceWindDirectionSetting": Offset { + "category": "weather", + "convert": "+({VAL} * 360 / 65536).toFixed(2)", + "description": "surface wind direction - MAG degrees - settings", + "length": undefined, + "mapping": undefined, + "name": "surfaceWindSpeedSetting", + "permission": "rw", + "type": 5, + "value": 3956, + }, "surfaceWindGustEnabled": Offset { "category": "weather", "convert": "!!{VAL}", @@ -5095,6 +5491,17 @@ Object { "type": 5, "value": 3830, }, + "surfaceWindGustEnabledSetting": Offset { + "category": "weather", + "convert": "!!{VAL}", + "description": "surface wind gust enabled - setting", + "length": undefined, + "mapping": undefined, + "name": "surfaceWindGustEnabledSetting", + "permission": "rw", + "type": 5, + "value": 3960, + }, "surfaceWindSpeed": Offset { "category": "weather", "convert": undefined, @@ -5106,6 +5513,17 @@ Object { "type": 5, "value": 1240, }, + "surfaceWindSpeedSetting": Offset { + "category": "weather", + "convert": undefined, + "description": "surface wind speed - kt - settings", + "length": undefined, + "mapping": undefined, + "name": "surfaceWindSpeedSetting", + "permission": "rw", + "type": 5, + "value": 3954, + }, "surfaceWindTurbulence": Offset { "category": "weather", "convert": undefined, @@ -5117,6 +5535,17 @@ Object { "type": 5, "value": 3828, }, + "surfaceWindTurbulenceSetting": Offset { + "category": "weather", + "convert": undefined, + "description": "surface wind turbulence - 0-255 - setting", + "length": undefined, + "mapping": undefined, + "name": "surfaceWindTurbulenceSetting", + "permission": "rw", + "type": 5, + "value": 3958, + }, "tas": Offset { "category": "position_attitude", "convert": "Math.floor({VAL} / 128)", @@ -5139,6 +5568,17 @@ Object { "type": 2, "value": 3780, }, + "temperatureDayNightVariationSetting": Offset { + "category": "weather", + "convert": "Math.round({VAL} / 256)", + "description": "temperature day night variation - degrees C - setting", + "length": undefined, + "mapping": undefined, + "name": "temperatureDayNightVariationSetting", + "permission": "rw", + "type": 2, + "value": 3910, + }, "temperatureDrift": Offset { "category": "weather", "convert": "Math.round({VAL} / 256)", @@ -5150,6 +5590,17 @@ Object { "type": 2, "value": 3778, }, + "temperatureDriftSetting": Offset { + "category": "weather", + "convert": "Math.round({VAL} / 256)", + "description": "temperature drift - degrees C - setting", + "length": undefined, + "mapping": undefined, + "name": "temperatureDriftSetting", + "permission": "rw", + "type": 2, + "value": 3908, + }, "textureQuality": Offset { "category": "simulation", "convert": undefined, @@ -5337,6 +5788,17 @@ Object { "type": 5, "value": 3740, }, + "upperCloudBaseSetting": Offset { + "category": "weather", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "upper cloud layer base - ft - setting", + "length": undefined, + "mapping": undefined, + "name": "upperCloudBaseSetting", + "permission": "rw", + "type": 5, + "value": 3870, + }, "upperCloudCeiling": Offset { "category": "weather", "convert": "+({VAL} * 3.28084).toFixed(2)", @@ -5348,6 +5810,17 @@ Object { "type": 5, "value": 3738, }, + "upperCloudCeilingSetting": Offset { + "category": "weather", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "upper cloud layer ceiling - ft - setting", + "length": undefined, + "mapping": undefined, + "name": "upperCloudCeilingSetting", + "permission": "rw", + "type": 5, + "value": 3868, + }, "upperCloudCoverage": Offset { "category": "weather", "convert": "Math.round(({VAL} + 1) / 8192)", @@ -5359,6 +5832,17 @@ Object { "type": 5, "value": 3742, }, + "upperCloudCoverageSetting": Offset { + "category": "weather", + "convert": "Math.round(({VAL} + 1) / 8192)", + "description": "upper cloud layer coverage - oktas - setting", + "length": undefined, + "mapping": undefined, + "name": "upperCloudCoverageSetting", + "permission": "rw", + "type": 5, + "value": 3872, + }, "upperCloudIcing": Offset { "category": "weather", "convert": "!!{VAL}", @@ -5370,6 +5854,17 @@ Object { "type": 5, "value": 3834, }, + "upperCloudIcingSetting": Offset { + "category": "weather", + "convert": "!!{VAL}", + "description": "upper cloud icing - setting", + "length": undefined, + "mapping": undefined, + "name": "upperCloudIcingSetting", + "permission": "rw", + "type": 5, + "value": 3964, + }, "upperCloudTurbulence": Offset { "category": "weather", "convert": undefined, @@ -5381,6 +5876,17 @@ Object { "type": 5, "value": 3836, }, + "upperCloudTurbulenceSetting": Offset { + "category": "weather", + "convert": undefined, + "description": "upper cloud turbulence - 0-255 - setting", + "length": undefined, + "mapping": undefined, + "name": "upperCloudTurbulenceSetting", + "permission": "rw", + "type": 5, + "value": 3966, + }, "upperCloudType": Offset { "category": "weather", "convert": "cloudType", @@ -5392,6 +5898,17 @@ Object { "type": 5, "value": 3832, }, + "upperCloudTypeSetting": Offset { + "category": "weather", + "convert": "cloudType", + "description": "upper cloud type - setting", + "length": undefined, + "mapping": true, + "name": "upperCloudTypeSetting", + "permission": "rw", + "type": 5, + "value": 3962, + }, "upperCloudVariation": Offset { "category": "weather", "convert": "+({VAL} * 3.28084).toFixed(2)", @@ -5403,6 +5920,17 @@ Object { "type": 5, "value": 3744, }, + "upperCloudVariationSetting": Offset { + "category": "weather", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "upper cloud layer variation - ft - setting", + "length": undefined, + "mapping": undefined, + "name": "upperCloudVariationSetting", + "permission": "rw", + "type": 5, + "value": 3874, + }, "upperTemperature": Offset { "category": "weather", "convert": "Math.round({VAL} / 256)", @@ -5425,6 +5953,28 @@ Object { "type": 5, "value": 3762, }, + "upperTemperatureLevelSetting": Offset { + "category": "weather", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "upper temperature level - ft - setting", + "length": undefined, + "mapping": undefined, + "name": "upperTemperatureLevelSetting", + "permission": "rw", + "type": 5, + "value": 3892, + }, + "upperTemperatureSetting": Offset { + "category": "weather", + "convert": "Math.round({VAL} / 256)", + "description": "upper temperature - degrees C - setting", + "length": undefined, + "mapping": undefined, + "name": "upperTemperatureSetting", + "permission": "rw", + "type": 2, + "value": 3894, + }, "upperWindBase": Offset { "category": "weather", "convert": "+({VAL} * 3.28084).toFixed(2)", @@ -5436,6 +5986,17 @@ Object { "type": 5, "value": 3788, }, + "upperWindBaseSetting": Offset { + "category": "weather", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "upper wind ceiling - ft - setting", + "length": undefined, + "mapping": undefined, + "name": "upperWindBaseSetting", + "permission": "rw", + "type": 5, + "value": 3918, + }, "upperWindCeiling": Offset { "category": "weather", "convert": "+({VAL} * 3.28084).toFixed(2)", @@ -5447,6 +6008,17 @@ Object { "type": 5, "value": 3786, }, + "upperWindCeilingSetting": Offset { + "category": "weather", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "upper wind ceiling - ft - setting", + "length": undefined, + "mapping": undefined, + "name": "upperWindCeilingSetting", + "permission": "rw", + "type": 5, + "value": 3916, + }, "upperWindDirection": Offset { "category": "weather", "convert": "+({VAL} * 360 / 65536).toFixed(2)", @@ -5458,6 +6030,17 @@ Object { "type": 5, "value": 3792, }, + "upperWindDirectionSetting": Offset { + "category": "weather", + "convert": "+({VAL} * 360 / 65536).toFixed(2)", + "description": "upper wind ceiling - TRUE degrees - setting", + "length": undefined, + "mapping": undefined, + "name": "upperWindDirectionSetting", + "permission": "rw", + "type": 5, + "value": 3922, + }, "upperWindGustEnabled": Offset { "category": "weather", "convert": "!!{VAL}", @@ -5469,6 +6052,17 @@ Object { "type": 5, "value": 3796, }, + "upperWindGustEnabledSetting": Offset { + "category": "weather", + "convert": "!!{VAL}", + "description": "upper wind gust enabled - setting", + "length": undefined, + "mapping": undefined, + "name": "upperWindGustEnabledSetting", + "permission": "rw", + "type": 5, + "value": 3926, + }, "upperWindSpeed": Offset { "category": "weather", "convert": undefined, @@ -5480,6 +6074,17 @@ Object { "type": 5, "value": 3790, }, + "upperWindSpeedSetting": Offset { + "category": "weather", + "convert": undefined, + "description": "upper wind ceiling - kt - setting", + "length": undefined, + "mapping": undefined, + "name": "upperWindSpeedSetting", + "permission": "rw", + "type": 5, + "value": 3920, + }, "upperWindTurbulence": Offset { "category": "weather", "convert": undefined, @@ -5491,6 +6096,17 @@ Object { "type": 5, "value": 3794, }, + "upperWindTurbulenceSetting": Offset { + "category": "weather", + "convert": undefined, + "description": "upper wind turbulence - 0-255 - setting", + "length": undefined, + "mapping": undefined, + "name": "upperWindTurbulenceSetting", + "permission": "rw", + "type": 5, + "value": 3924, + }, "vacuumFailure": Offset { "category": "failure", "convert": "typeof {VAL} === \`boolean\` ? {VAL} ? 1 : 0 : !!{VAL}", @@ -5612,6 +6228,17 @@ Object { "type": 2, "value": 3722, }, + "visibilitySetting": Offset { + "category": "weather", + "convert": "{VAL} / 100", + "description": "visibility setting - sm", + "length": undefined, + "mapping": undefined, + "name": "visibilitySetting", + "permission": "rw", + "type": 5, + "value": 3980, + }, "vmd": Offset { "category": "plane", "convert": "ftsecToKt", diff --git a/tests/offsets/environment/__snapshots__/weather.spec.ts.snap b/tests/offsets/environment/__snapshots__/weather.spec.ts.snap index 8a92a5f..88a9829 100644 --- a/tests/offsets/environment/__snapshots__/weather.spec.ts.snap +++ b/tests/offsets/environment/__snapshots__/weather.spec.ts.snap @@ -134,6 +134,17 @@ Object { "type": 5, "value": 3748, }, + "lowerCloudBaseSetting": Offset { + "category": "weather", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "lower cloud layer base - ft - setting", + "length": undefined, + "mapping": undefined, + "name": "lowerCloudBaseSetting", + "permission": "rw", + "type": 5, + "value": 3878, + }, "lowerCloudCeiling": Offset { "category": "weather", "convert": "+({VAL} * 3.28084).toFixed(2)", @@ -145,6 +156,17 @@ Object { "type": 5, "value": 3746, }, + "lowerCloudCeilingSetting": Offset { + "category": "weather", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "lower cloud layer ceiling - ft - setting", + "length": undefined, + "mapping": undefined, + "name": "lowerCloudCeilingSetting", + "permission": "rw", + "type": 5, + "value": 3876, + }, "lowerCloudCoverage": Offset { "category": "weather", "convert": "Math.round(({VAL} + 1) / 8192)", @@ -156,6 +178,17 @@ Object { "type": 5, "value": 3750, }, + "lowerCloudCoverageSetting": Offset { + "category": "weather", + "convert": "Math.round(({VAL} + 1) / 8192)", + "description": "lower cloud layer coverage - oktas - setting", + "length": undefined, + "mapping": undefined, + "name": "lowerCloudCoverageSetting", + "permission": "rw", + "type": 5, + "value": 3880, + }, "lowerCloudIcing": Offset { "category": "weather", "convert": "!!{VAL}", @@ -167,6 +200,17 @@ Object { "type": 5, "value": 3840, }, + "lowerCloudIcingSetting": Offset { + "category": "weather", + "convert": "!!{VAL}", + "description": "lower cloud icing - setting", + "length": undefined, + "mapping": undefined, + "name": "lowerCloudIcingSetting", + "permission": "rw", + "type": 5, + "value": 3970, + }, "lowerCloudTurbulence": Offset { "category": "weather", "convert": undefined, @@ -178,6 +222,17 @@ Object { "type": 5, "value": 3842, }, + "lowerCloudTurbulenceSetting": Offset { + "category": "weather", + "convert": undefined, + "description": "lower cloud turbulence - 0-255 - setting", + "length": undefined, + "mapping": undefined, + "name": "lowerCloudTurbulenceSetting", + "permission": "rw", + "type": 5, + "value": 3972, + }, "lowerCloudType": Offset { "category": "weather", "convert": "cloudType", @@ -189,6 +244,17 @@ Object { "type": 5, "value": 3838, }, + "lowerCloudTypeSetting": Offset { + "category": "weather", + "convert": "cloudType", + "description": "lower cloud type - setting", + "length": undefined, + "mapping": true, + "name": "lowerCloudTypeSetting", + "permission": "rw", + "type": 5, + "value": 3968, + }, "lowerCloudVariation": Offset { "category": "weather", "convert": "+({VAL} * 3.28084).toFixed(2)", @@ -200,6 +266,17 @@ Object { "type": 5, "value": 3752, }, + "lowerCloudVariationSetting": Offset { + "category": "weather", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "lower cloud layer variation - ft - setting", + "length": undefined, + "mapping": undefined, + "name": "lowerCloudVariationSetting", + "permission": "rw", + "type": 5, + "value": 3882, + }, "lowerTemperature": Offset { "category": "weather", "convert": "Math.round({VAL} / 256)", @@ -222,6 +299,28 @@ Object { "type": 5, "value": 3770, }, + "lowerTemperatureLevelSetting": Offset { + "category": "weather", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "lower temperature level - ft - setting", + "length": undefined, + "mapping": undefined, + "name": "lowerTemperatureLevelSetting", + "permission": "rw", + "type": 5, + "value": 3900, + }, + "lowerTemperatureSetting": Offset { + "category": "weather", + "convert": "Math.round({VAL} / 256)", + "description": "lower temperature - degrees C - setting", + "length": undefined, + "mapping": undefined, + "name": "lowerTemperatureSetting", + "permission": "rw", + "type": 2, + "value": 3902, + }, "lowerWindBase": Offset { "category": "weather", "convert": "+({VAL} * 3.28084).toFixed(2)", @@ -233,6 +332,17 @@ Object { "type": 5, "value": 3812, }, + "lowerWindBaseSetting": Offset { + "category": "weather", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "lower wind ceiling - ft - setting", + "length": undefined, + "mapping": undefined, + "name": "lowerWindBaseSetting", + "permission": "rw", + "type": 5, + "value": 3942, + }, "lowerWindCeiling": Offset { "category": "weather", "convert": "+({VAL} * 3.28084).toFixed(2)", @@ -244,6 +354,17 @@ Object { "type": 5, "value": 3810, }, + "lowerWindCeilingSetting": Offset { + "category": "weather", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "lower wind ceiling - ft - setting", + "length": undefined, + "mapping": undefined, + "name": "lowerWindCeilingSetting", + "permission": "rw", + "type": 5, + "value": 3940, + }, "lowerWindDirection": Offset { "category": "weather", "convert": "+({VAL} * 360 / 65536).toFixed(2)", @@ -255,6 +376,17 @@ Object { "type": 5, "value": 3816, }, + "lowerWindDirectionSetting": Offset { + "category": "weather", + "convert": "+({VAL} * 360 / 65536).toFixed(2)", + "description": "lower wind ceiling - TRUE degrees - setting", + "length": undefined, + "mapping": undefined, + "name": "lowerWindDirectionSetting", + "permission": "rw", + "type": 5, + "value": 3946, + }, "lowerWindGustEnabled": Offset { "category": "weather", "convert": "!!{VAL}", @@ -266,6 +398,17 @@ Object { "type": 2, "value": 3820, }, + "lowerWindGustEnabledSetting": Offset { + "category": "weather", + "convert": "!!{VAL}", + "description": "lower wind gust enabled - setting", + "length": undefined, + "mapping": undefined, + "name": "lowerWindGustEnabledSetting", + "permission": "rw", + "type": 2, + "value": 3950, + }, "lowerWindSpeed": Offset { "category": "weather", "convert": undefined, @@ -277,6 +420,17 @@ Object { "type": 5, "value": 3814, }, + "lowerWindSpeedSetting": Offset { + "category": "weather", + "convert": undefined, + "description": "lower wind ceiling - kt - setting", + "length": undefined, + "mapping": undefined, + "name": "lowerWindSpeedSetting", + "permission": "rw", + "type": 5, + "value": 3944, + }, "lowerWindTurbulence": Offset { "category": "weather", "convert": undefined, @@ -288,6 +442,17 @@ Object { "type": 5, "value": 3818, }, + "lowerWindTurbulenceSetting": Offset { + "category": "weather", + "convert": undefined, + "description": "lower wind turbulence - 0-255 - setting", + "length": undefined, + "mapping": undefined, + "name": "lowerWindTurbulenceSetting", + "permission": "rw", + "type": 5, + "value": 3948, + }, "metarBarometricDrift": Offset { "category": "weather", "convert": "{VAL} / 16", @@ -376,6 +541,28 @@ Object { "type": 5, "value": 3766, }, + "middleTemperatureLevelSetting": Offset { + "category": "weather", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "middle temperature level - ft - setting", + "length": undefined, + "mapping": undefined, + "name": "middleTemperatureLevelSetting", + "permission": "rw", + "type": 5, + "value": 3896, + }, + "middleTemperatureSetting": Offset { + "category": "weather", + "convert": "Math.round({VAL} / 256)", + "description": "middle temperature - degrees C - setting", + "length": undefined, + "mapping": undefined, + "name": "middleTemperatureSetting", + "permission": "rw", + "type": 2, + "value": 3898, + }, "middleWindBase": Offset { "category": "weather", "convert": "+({VAL} * 3.28084).toFixed(2)", @@ -387,6 +574,17 @@ Object { "type": 5, "value": 3800, }, + "middleWindBaseSetting": Offset { + "category": "weather", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "middle wind ceiling - ft - setting", + "length": undefined, + "mapping": undefined, + "name": "middleWindBaseSetting", + "permission": "rw", + "type": 5, + "value": 3930, + }, "middleWindCeiling": Offset { "category": "weather", "convert": "+({VAL} * 3.28084).toFixed(2)", @@ -398,6 +596,17 @@ Object { "type": 5, "value": 3798, }, + "middleWindCeilingSetting": Offset { + "category": "weather", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "middle wind ceiling - ft - setting", + "length": undefined, + "mapping": undefined, + "name": "middleWindCeilingSetting", + "permission": "rw", + "type": 5, + "value": 3928, + }, "middleWindDirection": Offset { "category": "weather", "convert": "+({VAL} * 360 / 65536).toFixed(2)", @@ -409,6 +618,17 @@ Object { "type": 5, "value": 3804, }, + "middleWindDirectionSetting": Offset { + "category": "weather", + "convert": "+({VAL} * 360 / 65536).toFixed(2)", + "description": "middle wind ceiling - TRUE degrees - setting", + "length": undefined, + "mapping": undefined, + "name": "middleWindDirectionSetting", + "permission": "rw", + "type": 5, + "value": 3934, + }, "middleWindGustEnabled": Offset { "category": "weather", "convert": "!!{VAL}", @@ -420,6 +640,17 @@ Object { "type": 5, "value": 3808, }, + "middleWindGustEnabledSetting": Offset { + "category": "weather", + "convert": "!!{VAL}", + "description": "middle wind gust enabled - setting", + "length": undefined, + "mapping": undefined, + "name": "middleWindGustEnabledSetting", + "permission": "rw", + "type": 5, + "value": 3938, + }, "middleWindSpeed": Offset { "category": "weather", "convert": undefined, @@ -431,6 +662,17 @@ Object { "type": 5, "value": 3802, }, + "middleWindSpeedSetting": Offset { + "category": "weather", + "convert": undefined, + "description": "middle wind ceiling - kt - setting", + "length": undefined, + "mapping": undefined, + "name": "middleWindSpeedSetting", + "permission": "rw", + "type": 5, + "value": 3932, + }, "middleWindTurbulence": Offset { "category": "weather", "convert": undefined, @@ -442,6 +684,17 @@ Object { "type": 5, "value": 3806, }, + "middleWindTurbulenceSetting": Offset { + "category": "weather", + "convert": undefined, + "description": "middle wind turbulence - 0-255 - setting", + "length": undefined, + "mapping": undefined, + "name": "middleWindTurbulenceSetting", + "permission": "rw", + "type": 5, + "value": 3936, + }, "precipitationControl": Offset { "category": "weather", "convert": undefined, @@ -486,6 +739,17 @@ Object { "type": 2, "value": 3784, }, + "pressureDriftSetting": Offset { + "category": "weather", + "convert": "Math.round({VAL} / 16)", + "description": "pressure drift - mb - setting", + "length": undefined, + "mapping": undefined, + "name": "pressureDriftSetting", + "permission": "rw", + "type": 2, + "value": 3914, + }, "pressureQNH": Offset { "category": "weather", "convert": "Math.round({VAL} / 16)", @@ -497,6 +761,17 @@ Object { "type": 5, "value": 3782, }, + "pressureQNHSetting": Offset { + "category": "weather", + "convert": "Math.round({VAL} / 16)", + "description": "pressure QNH - mb - setting", + "length": undefined, + "mapping": undefined, + "name": "pressureQNHSetting", + "permission": "rw", + "type": 5, + "value": 3912, + }, "stormCloudBase": Offset { "category": "weather", "convert": "+({VAL} * 3.28084).toFixed(2)", @@ -508,6 +783,17 @@ Object { "type": 5, "value": 3756, }, + "stormCloudBaseSetting": Offset { + "category": "weather", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "storm cloud layer base - ft - setting", + "length": undefined, + "mapping": undefined, + "name": "stormCloudBaseSetting", + "permission": "rw", + "type": 5, + "value": 3886, + }, "stormCloudCeiling": Offset { "category": "weather", "convert": "+({VAL} * 3.28084).toFixed(2)", @@ -519,6 +805,17 @@ Object { "type": 5, "value": 3754, }, + "stormCloudCeilingSetting": Offset { + "category": "weather", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "storm cloud layer ceiling - ft - setting", + "length": undefined, + "mapping": undefined, + "name": "stormCloudCeilingSetting", + "permission": "rw", + "type": 5, + "value": 3884, + }, "stormCloudCoverage": Offset { "category": "weather", "convert": "Math.round(({VAL} + 1) / 8192)", @@ -530,6 +827,17 @@ Object { "type": 5, "value": 3758, }, + "stormCloudCoverageSetting": Offset { + "category": "weather", + "convert": "Math.round(({VAL} + 1) / 8192)", + "description": "storm cloud layer coverage - oktas - setting", + "length": undefined, + "mapping": undefined, + "name": "stormCloudCoverageSetting", + "permission": "rw", + "type": 5, + "value": 3888, + }, "stormCloudIcing": Offset { "category": "weather", "convert": "!!{VAL}", @@ -541,6 +849,17 @@ Object { "type": 5, "value": 3846, }, + "stormCloudIcingSetting": Offset { + "category": "weather", + "convert": "!!{VAL}", + "description": "storm cloud icing - setting", + "length": undefined, + "mapping": undefined, + "name": "stormCloudIcingSetting", + "permission": "rw", + "type": 5, + "value": 3976, + }, "stormCloudTurbulence": Offset { "category": "weather", "convert": undefined, @@ -552,6 +871,17 @@ Object { "type": 5, "value": 3848, }, + "stormCloudTurbulenceSetting": Offset { + "category": "weather", + "convert": undefined, + "description": "storm cloud turbulence - 0-255 - setting", + "length": undefined, + "mapping": undefined, + "name": "stormCloudTurbulenceSetting", + "permission": "rw", + "type": 5, + "value": 3978, + }, "stormCloudType": Offset { "category": "weather", "convert": "cloudType", @@ -563,6 +893,17 @@ Object { "type": 5, "value": 3844, }, + "stormCloudTypeSetting": Offset { + "category": "weather", + "convert": "cloudType", + "description": "storm cloud type - setting", + "length": undefined, + "mapping": true, + "name": "stormCloudTypeSetting", + "permission": "rw", + "type": 5, + "value": 3974, + }, "stormCloudVariation": Offset { "category": "weather", "convert": "+({VAL} * 3.28084).toFixed(2)", @@ -574,6 +915,17 @@ Object { "type": 5, "value": 3760, }, + "stormCloudVariationSetting": Offset { + "category": "weather", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "storm cloud layer variation - ft - setting", + "length": undefined, + "mapping": undefined, + "name": "stormCloudVariationSetting", + "permission": "rw", + "type": 5, + "value": 3890, + }, "surfaceTemperature": Offset { "category": "weather", "convert": "Math.round({VAL} / 256)", @@ -596,6 +948,28 @@ Object { "type": 5, "value": 3774, }, + "surfaceTemperatureLevelSetting": Offset { + "category": "weather", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "surface temperature level - ground elevation - setting- ft", + "length": undefined, + "mapping": undefined, + "name": "surfaceTemperatureLevelSetting", + "permission": "rw", + "type": 5, + "value": 3904, + }, + "surfaceTemperatureSetting": Offset { + "category": "weather", + "convert": "Math.round({VAL} / 256)", + "description": "surface temperature - degrees C - setting", + "length": undefined, + "mapping": undefined, + "name": "surfaceTemperatureSetting", + "permission": "rw", + "type": 2, + "value": 3906, + }, "surfaceWindCeiling": Offset { "category": "weather", "convert": "+({VAL} * 3.28084).toFixed(2)", @@ -607,6 +981,17 @@ Object { "type": 5, "value": 3822, }, + "surfaceWindCeilingSetting": Offset { + "category": "weather", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "surface wind ceiling - ft - setting", + "length": undefined, + "mapping": undefined, + "name": "surfaceWindCeilingSetting", + "permission": "rw", + "type": 5, + "value": 3952, + }, "surfaceWindDirection": Offset { "category": "weather", "convert": "+({VAL} * 360 / 65536).toFixed(2)", @@ -618,6 +1003,17 @@ Object { "type": 5, "value": 1242, }, + "surfaceWindDirectionSetting": Offset { + "category": "weather", + "convert": "+({VAL} * 360 / 65536).toFixed(2)", + "description": "surface wind direction - MAG degrees - settings", + "length": undefined, + "mapping": undefined, + "name": "surfaceWindSpeedSetting", + "permission": "rw", + "type": 5, + "value": 3956, + }, "surfaceWindGustEnabled": Offset { "category": "weather", "convert": "!!{VAL}", @@ -629,6 +1025,17 @@ Object { "type": 5, "value": 3830, }, + "surfaceWindGustEnabledSetting": Offset { + "category": "weather", + "convert": "!!{VAL}", + "description": "surface wind gust enabled - setting", + "length": undefined, + "mapping": undefined, + "name": "surfaceWindGustEnabledSetting", + "permission": "rw", + "type": 5, + "value": 3960, + }, "surfaceWindSpeed": Offset { "category": "weather", "convert": undefined, @@ -640,6 +1047,17 @@ Object { "type": 5, "value": 1240, }, + "surfaceWindSpeedSetting": Offset { + "category": "weather", + "convert": undefined, + "description": "surface wind speed - kt - settings", + "length": undefined, + "mapping": undefined, + "name": "surfaceWindSpeedSetting", + "permission": "rw", + "type": 5, + "value": 3954, + }, "surfaceWindTurbulence": Offset { "category": "weather", "convert": undefined, @@ -651,6 +1069,17 @@ Object { "type": 5, "value": 3828, }, + "surfaceWindTurbulenceSetting": Offset { + "category": "weather", + "convert": undefined, + "description": "surface wind turbulence - 0-255 - setting", + "length": undefined, + "mapping": undefined, + "name": "surfaceWindTurbulenceSetting", + "permission": "rw", + "type": 5, + "value": 3958, + }, "temperatureDayNightVariation": Offset { "category": "weather", "convert": "Math.round({VAL} / 256)", @@ -662,6 +1091,17 @@ Object { "type": 2, "value": 3780, }, + "temperatureDayNightVariationSetting": Offset { + "category": "weather", + "convert": "Math.round({VAL} / 256)", + "description": "temperature day night variation - degrees C - setting", + "length": undefined, + "mapping": undefined, + "name": "temperatureDayNightVariationSetting", + "permission": "rw", + "type": 2, + "value": 3910, + }, "temperatureDrift": Offset { "category": "weather", "convert": "Math.round({VAL} / 256)", @@ -673,6 +1113,17 @@ Object { "type": 2, "value": 3778, }, + "temperatureDriftSetting": Offset { + "category": "weather", + "convert": "Math.round({VAL} / 256)", + "description": "temperature drift - degrees C - setting", + "length": undefined, + "mapping": undefined, + "name": "temperatureDriftSetting", + "permission": "rw", + "type": 2, + "value": 3908, + }, "unlimitedVisibility": Offset { "category": "weather", "convert": "+({VAL} / 1600).toFixed(2)", @@ -695,6 +1146,17 @@ Object { "type": 5, "value": 3740, }, + "upperCloudBaseSetting": Offset { + "category": "weather", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "upper cloud layer base - ft - setting", + "length": undefined, + "mapping": undefined, + "name": "upperCloudBaseSetting", + "permission": "rw", + "type": 5, + "value": 3870, + }, "upperCloudCeiling": Offset { "category": "weather", "convert": "+({VAL} * 3.28084).toFixed(2)", @@ -706,6 +1168,17 @@ Object { "type": 5, "value": 3738, }, + "upperCloudCeilingSetting": Offset { + "category": "weather", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "upper cloud layer ceiling - ft - setting", + "length": undefined, + "mapping": undefined, + "name": "upperCloudCeilingSetting", + "permission": "rw", + "type": 5, + "value": 3868, + }, "upperCloudCoverage": Offset { "category": "weather", "convert": "Math.round(({VAL} + 1) / 8192)", @@ -717,6 +1190,17 @@ Object { "type": 5, "value": 3742, }, + "upperCloudCoverageSetting": Offset { + "category": "weather", + "convert": "Math.round(({VAL} + 1) / 8192)", + "description": "upper cloud layer coverage - oktas - setting", + "length": undefined, + "mapping": undefined, + "name": "upperCloudCoverageSetting", + "permission": "rw", + "type": 5, + "value": 3872, + }, "upperCloudIcing": Offset { "category": "weather", "convert": "!!{VAL}", @@ -728,6 +1212,17 @@ Object { "type": 5, "value": 3834, }, + "upperCloudIcingSetting": Offset { + "category": "weather", + "convert": "!!{VAL}", + "description": "upper cloud icing - setting", + "length": undefined, + "mapping": undefined, + "name": "upperCloudIcingSetting", + "permission": "rw", + "type": 5, + "value": 3964, + }, "upperCloudTurbulence": Offset { "category": "weather", "convert": undefined, @@ -739,6 +1234,17 @@ Object { "type": 5, "value": 3836, }, + "upperCloudTurbulenceSetting": Offset { + "category": "weather", + "convert": undefined, + "description": "upper cloud turbulence - 0-255 - setting", + "length": undefined, + "mapping": undefined, + "name": "upperCloudTurbulenceSetting", + "permission": "rw", + "type": 5, + "value": 3966, + }, "upperCloudType": Offset { "category": "weather", "convert": "cloudType", @@ -750,6 +1256,17 @@ Object { "type": 5, "value": 3832, }, + "upperCloudTypeSetting": Offset { + "category": "weather", + "convert": "cloudType", + "description": "upper cloud type - setting", + "length": undefined, + "mapping": true, + "name": "upperCloudTypeSetting", + "permission": "rw", + "type": 5, + "value": 3962, + }, "upperCloudVariation": Offset { "category": "weather", "convert": "+({VAL} * 3.28084).toFixed(2)", @@ -761,6 +1278,17 @@ Object { "type": 5, "value": 3744, }, + "upperCloudVariationSetting": Offset { + "category": "weather", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "upper cloud layer variation - ft - setting", + "length": undefined, + "mapping": undefined, + "name": "upperCloudVariationSetting", + "permission": "rw", + "type": 5, + "value": 3874, + }, "upperTemperature": Offset { "category": "weather", "convert": "Math.round({VAL} / 256)", @@ -783,6 +1311,28 @@ Object { "type": 5, "value": 3762, }, + "upperTemperatureLevelSetting": Offset { + "category": "weather", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "upper temperature level - ft - setting", + "length": undefined, + "mapping": undefined, + "name": "upperTemperatureLevelSetting", + "permission": "rw", + "type": 5, + "value": 3892, + }, + "upperTemperatureSetting": Offset { + "category": "weather", + "convert": "Math.round({VAL} / 256)", + "description": "upper temperature - degrees C - setting", + "length": undefined, + "mapping": undefined, + "name": "upperTemperatureSetting", + "permission": "rw", + "type": 2, + "value": 3894, + }, "upperWindBase": Offset { "category": "weather", "convert": "+({VAL} * 3.28084).toFixed(2)", @@ -794,6 +1344,17 @@ Object { "type": 5, "value": 3788, }, + "upperWindBaseSetting": Offset { + "category": "weather", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "upper wind ceiling - ft - setting", + "length": undefined, + "mapping": undefined, + "name": "upperWindBaseSetting", + "permission": "rw", + "type": 5, + "value": 3918, + }, "upperWindCeiling": Offset { "category": "weather", "convert": "+({VAL} * 3.28084).toFixed(2)", @@ -805,6 +1366,17 @@ Object { "type": 5, "value": 3786, }, + "upperWindCeilingSetting": Offset { + "category": "weather", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "upper wind ceiling - ft - setting", + "length": undefined, + "mapping": undefined, + "name": "upperWindCeilingSetting", + "permission": "rw", + "type": 5, + "value": 3916, + }, "upperWindDirection": Offset { "category": "weather", "convert": "+({VAL} * 360 / 65536).toFixed(2)", @@ -816,6 +1388,17 @@ Object { "type": 5, "value": 3792, }, + "upperWindDirectionSetting": Offset { + "category": "weather", + "convert": "+({VAL} * 360 / 65536).toFixed(2)", + "description": "upper wind ceiling - TRUE degrees - setting", + "length": undefined, + "mapping": undefined, + "name": "upperWindDirectionSetting", + "permission": "rw", + "type": 5, + "value": 3922, + }, "upperWindGustEnabled": Offset { "category": "weather", "convert": "!!{VAL}", @@ -827,6 +1410,17 @@ Object { "type": 5, "value": 3796, }, + "upperWindGustEnabledSetting": Offset { + "category": "weather", + "convert": "!!{VAL}", + "description": "upper wind gust enabled - setting", + "length": undefined, + "mapping": undefined, + "name": "upperWindGustEnabledSetting", + "permission": "rw", + "type": 5, + "value": 3926, + }, "upperWindSpeed": Offset { "category": "weather", "convert": undefined, @@ -838,6 +1432,17 @@ Object { "type": 5, "value": 3790, }, + "upperWindSpeedSetting": Offset { + "category": "weather", + "convert": undefined, + "description": "upper wind ceiling - kt - setting", + "length": undefined, + "mapping": undefined, + "name": "upperWindSpeedSetting", + "permission": "rw", + "type": 5, + "value": 3920, + }, "upperWindTurbulence": Offset { "category": "weather", "convert": undefined, @@ -849,6 +1454,17 @@ Object { "type": 5, "value": 3794, }, + "upperWindTurbulenceSetting": Offset { + "category": "weather", + "convert": undefined, + "description": "upper wind turbulence - 0-255 - setting", + "length": undefined, + "mapping": undefined, + "name": "upperWindTurbulenceSetting", + "permission": "rw", + "type": 5, + "value": 3924, + }, "visibility": Offset { "category": "weather", "convert": "+({VAL} / 100).toFixed(2)", @@ -860,6 +1476,17 @@ Object { "type": 2, "value": 3722, }, + "visibilitySetting": Offset { + "category": "weather", + "convert": "{VAL} / 100", + "description": "visibility setting - sm", + "length": undefined, + "mapping": undefined, + "name": "visibilitySetting", + "permission": "rw", + "type": 5, + "value": 3980, + }, "windDirection": Offset { "category": "weather", "convert": "+({VAL} * 360 / 65536).toFixed(2)", diff --git a/tests/offsets/environment/weather/__snapshots__/at-aircraft.spec.ts.snap b/tests/offsets/environment/weather/__snapshots__/at-aircraft.spec.ts.snap new file mode 100644 index 0000000..3b75a8f --- /dev/null +++ b/tests/offsets/environment/weather/__snapshots__/at-aircraft.spec.ts.snap @@ -0,0 +1,600 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`offset - environment/weather/at-aircraft offsets list should have required properties 1`] = ` +Object { + "lowerCloudBase": Offset { + "category": "weather", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "lower cloud layer base - ft", + "length": undefined, + "mapping": undefined, + "name": "lowerCloudBase", + "permission": "r", + "type": 5, + "value": 3748, + }, + "lowerCloudCeiling": Offset { + "category": "weather", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "lower cloud layer ceiling - ft", + "length": undefined, + "mapping": undefined, + "name": "lowerCloudCeiling", + "permission": "r", + "type": 5, + "value": 3746, + }, + "lowerCloudCoverage": Offset { + "category": "weather", + "convert": "Math.round(({VAL} + 1) / 8192)", + "description": "lower cloud layer coverage - oktas", + "length": undefined, + "mapping": undefined, + "name": "lowerCloudCoverage", + "permission": "r", + "type": 5, + "value": 3750, + }, + "lowerCloudIcing": Offset { + "category": "weather", + "convert": "!!{VAL}", + "description": "lower cloud icing", + "length": undefined, + "mapping": undefined, + "name": "lowerCloudIcing", + "permission": "r", + "type": 5, + "value": 3840, + }, + "lowerCloudTurbulence": Offset { + "category": "weather", + "convert": undefined, + "description": "lower cloud turbulence - 0-255", + "length": undefined, + "mapping": undefined, + "name": "lowerCloudTurbulence", + "permission": "r", + "type": 5, + "value": 3842, + }, + "lowerCloudType": Offset { + "category": "weather", + "convert": "cloudType", + "description": "lower cloud type", + "length": undefined, + "mapping": true, + "name": "lowerCloudType", + "permission": "r", + "type": 5, + "value": 3838, + }, + "lowerCloudVariation": Offset { + "category": "weather", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "lower cloud layer variation - ft", + "length": undefined, + "mapping": undefined, + "name": "lowerCloudVariation", + "permission": "r", + "type": 5, + "value": 3752, + }, + "lowerTemperature": Offset { + "category": "weather", + "convert": "Math.round({VAL} / 256)", + "description": "lower temperature - degrees C", + "length": undefined, + "mapping": undefined, + "name": "lowerTemperature", + "permission": "r", + "type": 2, + "value": 3772, + }, + "lowerTemperatureLevel": Offset { + "category": "weather", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "lower temperature level - ft", + "length": undefined, + "mapping": undefined, + "name": "lowerTemperatureLevel", + "permission": "r", + "type": 5, + "value": 3770, + }, + "lowerWindBase": Offset { + "category": "weather", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "lower wind ceiling - ft", + "length": undefined, + "mapping": undefined, + "name": "lowerWindBase", + "permission": "r", + "type": 5, + "value": 3812, + }, + "lowerWindCeiling": Offset { + "category": "weather", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "lower wind ceiling - ft", + "length": undefined, + "mapping": undefined, + "name": "lowerWindCeiling", + "permission": "r", + "type": 5, + "value": 3810, + }, + "lowerWindDirection": Offset { + "category": "weather", + "convert": "+({VAL} * 360 / 65536).toFixed(2)", + "description": "lower wind ceiling - TRUE degrees", + "length": undefined, + "mapping": undefined, + "name": "lowerWindDirection", + "permission": "r", + "type": 5, + "value": 3816, + }, + "lowerWindGustEnabled": Offset { + "category": "weather", + "convert": "!!{VAL}", + "description": "lower wind gust enabled", + "length": undefined, + "mapping": undefined, + "name": "lowerWindGustEnabled", + "permission": "r", + "type": 2, + "value": 3820, + }, + "lowerWindSpeed": Offset { + "category": "weather", + "convert": undefined, + "description": "lower wind ceiling - kt", + "length": undefined, + "mapping": undefined, + "name": "lowerWindSpeed", + "permission": "r", + "type": 5, + "value": 3814, + }, + "lowerWindTurbulence": Offset { + "category": "weather", + "convert": undefined, + "description": "lower wind turbulence - 0-255", + "length": undefined, + "mapping": undefined, + "name": "lowerWindTurbulence", + "permission": "r", + "type": 5, + "value": 3818, + }, + "middleTemperature": Offset { + "category": "weather", + "convert": "Math.round({VAL} / 256)", + "description": "middle temperature - degrees C", + "length": undefined, + "mapping": undefined, + "name": "middleTemperature", + "permission": "r", + "type": 2, + "value": 3768, + }, + "middleTemperatureLevel": Offset { + "category": "weather", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "middle temperature level - ft", + "length": undefined, + "mapping": undefined, + "name": "middleTemperatureLevel", + "permission": "r", + "type": 5, + "value": 3766, + }, + "middleWindBase": Offset { + "category": "weather", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "middle wind ceiling - ft", + "length": undefined, + "mapping": undefined, + "name": "middleWindBase", + "permission": "r", + "type": 5, + "value": 3800, + }, + "middleWindCeiling": Offset { + "category": "weather", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "middle wind ceiling - ft", + "length": undefined, + "mapping": undefined, + "name": "middleWindCeiling", + "permission": "r", + "type": 5, + "value": 3798, + }, + "middleWindDirection": Offset { + "category": "weather", + "convert": "+({VAL} * 360 / 65536).toFixed(2)", + "description": "middle wind ceiling - TRUE degrees", + "length": undefined, + "mapping": undefined, + "name": "middleWindDirection", + "permission": "r", + "type": 5, + "value": 3804, + }, + "middleWindGustEnabled": Offset { + "category": "weather", + "convert": "!!{VAL}", + "description": "middle wind gust enabled", + "length": undefined, + "mapping": undefined, + "name": "middleWindGustEnabled", + "permission": "r", + "type": 5, + "value": 3808, + }, + "middleWindSpeed": Offset { + "category": "weather", + "convert": undefined, + "description": "middle wind ceiling - kt", + "length": undefined, + "mapping": undefined, + "name": "middleWindSpeed", + "permission": "r", + "type": 5, + "value": 3802, + }, + "middleWindTurbulence": Offset { + "category": "weather", + "convert": undefined, + "description": "middle wind turbulence - 0-255", + "length": undefined, + "mapping": undefined, + "name": "middleWindTurbulence", + "permission": "r", + "type": 5, + "value": 3806, + }, + "pressureDrift": Offset { + "category": "weather", + "convert": "Math.round({VAL} / 16)", + "description": "pressure drift - mb", + "length": undefined, + "mapping": undefined, + "name": "pressureDrift", + "permission": "r", + "type": 2, + "value": 3784, + }, + "pressureQNH": Offset { + "category": "weather", + "convert": "Math.round({VAL} / 16)", + "description": "pressure QNH - mb", + "length": undefined, + "mapping": undefined, + "name": "pressureQNH", + "permission": "r", + "type": 5, + "value": 3782, + }, + "stormCloudBase": Offset { + "category": "weather", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "storm cloud layer base - ft", + "length": undefined, + "mapping": undefined, + "name": "stormCloudBase", + "permission": "r", + "type": 5, + "value": 3756, + }, + "stormCloudCeiling": Offset { + "category": "weather", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "storm cloud layer ceiling - ft", + "length": undefined, + "mapping": undefined, + "name": "stormCloudCeiling", + "permission": "r", + "type": 5, + "value": 3754, + }, + "stormCloudCoverage": Offset { + "category": "weather", + "convert": "Math.round(({VAL} + 1) / 8192)", + "description": "storm cloud layer coverage - oktas", + "length": undefined, + "mapping": undefined, + "name": "stormCloudCoverage", + "permission": "r", + "type": 5, + "value": 3758, + }, + "stormCloudIcing": Offset { + "category": "weather", + "convert": "!!{VAL}", + "description": "storm cloud icing", + "length": undefined, + "mapping": undefined, + "name": "stormCloudIcing", + "permission": "r", + "type": 5, + "value": 3846, + }, + "stormCloudTurbulence": Offset { + "category": "weather", + "convert": undefined, + "description": "storm cloud turbulence - 0-255", + "length": undefined, + "mapping": undefined, + "name": "stormCloudTurbulence", + "permission": "r", + "type": 5, + "value": 3848, + }, + "stormCloudType": Offset { + "category": "weather", + "convert": "cloudType", + "description": "storm cloud type", + "length": undefined, + "mapping": true, + "name": "stormCloudType", + "permission": "r", + "type": 5, + "value": 3844, + }, + "stormCloudVariation": Offset { + "category": "weather", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "storm cloud layer variation - ft", + "length": undefined, + "mapping": undefined, + "name": "stormCloudVariation", + "permission": "r", + "type": 5, + "value": 3760, + }, + "surfaceTemperature": Offset { + "category": "weather", + "convert": "Math.round({VAL} / 256)", + "description": "surface temperature - degrees C", + "length": undefined, + "mapping": undefined, + "name": "surfaceTemperature", + "permission": "r", + "type": 2, + "value": 3776, + }, + "surfaceTemperatureLevel": Offset { + "category": "weather", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "surface temperature level - ground elevation - ft", + "length": undefined, + "mapping": undefined, + "name": "surfaceTemperatureLevel", + "permission": "r", + "type": 5, + "value": 3774, + }, + "surfaceWindCeiling": Offset { + "category": "weather", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "surface wind ceiling - ft", + "length": undefined, + "mapping": undefined, + "name": "surfaceWindCeiling", + "permission": "r", + "type": 5, + "value": 3822, + }, + "surfaceWindGustEnabled": Offset { + "category": "weather", + "convert": "!!{VAL}", + "description": "surface wind gust enabled", + "length": undefined, + "mapping": undefined, + "name": "surfaceWindGustEnabled", + "permission": "r", + "type": 5, + "value": 3830, + }, + "surfaceWindTurbulence": Offset { + "category": "weather", + "convert": undefined, + "description": "surface wind turbulence - 0-255", + "length": undefined, + "mapping": undefined, + "name": "surfaceWindTurbulence", + "permission": "r", + "type": 5, + "value": 3828, + }, + "temperatureDayNightVariation": Offset { + "category": "weather", + "convert": "Math.round({VAL} / 256)", + "description": "temperature day night variation - degrees C", + "length": undefined, + "mapping": undefined, + "name": "temperatureDayNightVariation", + "permission": "r", + "type": 2, + "value": 3780, + }, + "temperatureDrift": Offset { + "category": "weather", + "convert": "Math.round({VAL} / 256)", + "description": "temperature drift - degrees C", + "length": undefined, + "mapping": undefined, + "name": "temperatureDrift", + "permission": "r", + "type": 2, + "value": 3778, + }, + "upperCloudBase": Offset { + "category": "weather", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "upper cloud layer base - ft", + "length": undefined, + "mapping": undefined, + "name": "upperCloudBase", + "permission": "r", + "type": 5, + "value": 3740, + }, + "upperCloudCeiling": Offset { + "category": "weather", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "upper cloud layer ceiling - ft", + "length": undefined, + "mapping": undefined, + "name": "upperCloudCeiling", + "permission": "r", + "type": 5, + "value": 3738, + }, + "upperCloudCoverage": Offset { + "category": "weather", + "convert": "Math.round(({VAL} + 1) / 8192)", + "description": "upper cloud layer coverage - oktas", + "length": undefined, + "mapping": undefined, + "name": "upperCloudCoverage", + "permission": "r", + "type": 5, + "value": 3742, + }, + "upperCloudIcing": Offset { + "category": "weather", + "convert": "!!{VAL}", + "description": "upper cloud icing", + "length": undefined, + "mapping": undefined, + "name": "upperCloudIcing", + "permission": "r", + "type": 5, + "value": 3834, + }, + "upperCloudTurbulence": Offset { + "category": "weather", + "convert": undefined, + "description": "upper cloud turbulence - 0-255", + "length": undefined, + "mapping": undefined, + "name": "upperCloudTurbulence", + "permission": "r", + "type": 5, + "value": 3836, + }, + "upperCloudType": Offset { + "category": "weather", + "convert": "cloudType", + "description": "upper cloud type", + "length": undefined, + "mapping": true, + "name": "upperCloudType", + "permission": "r", + "type": 5, + "value": 3832, + }, + "upperCloudVariation": Offset { + "category": "weather", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "upper cloud layer variation - ft", + "length": undefined, + "mapping": undefined, + "name": "upperCloudVariation", + "permission": "r", + "type": 5, + "value": 3744, + }, + "upperTemperature": Offset { + "category": "weather", + "convert": "Math.round({VAL} / 256)", + "description": "upper temperature - degrees C", + "length": undefined, + "mapping": undefined, + "name": "upperTemperature", + "permission": "r", + "type": 2, + "value": 3764, + }, + "upperTemperatureLevel": Offset { + "category": "weather", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "upper temperature level - ft", + "length": undefined, + "mapping": undefined, + "name": "upperTemperatureLevel", + "permission": "r", + "type": 5, + "value": 3762, + }, + "upperWindBase": Offset { + "category": "weather", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "upper wind ceiling - ft", + "length": undefined, + "mapping": undefined, + "name": "upperWindBase", + "permission": "r", + "type": 5, + "value": 3788, + }, + "upperWindCeiling": Offset { + "category": "weather", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "upper wind ceiling - ft", + "length": undefined, + "mapping": undefined, + "name": "upperWindCeiling", + "permission": "r", + "type": 5, + "value": 3786, + }, + "upperWindDirection": Offset { + "category": "weather", + "convert": "+({VAL} * 360 / 65536).toFixed(2)", + "description": "upper wind ceiling - TRUE degrees", + "length": undefined, + "mapping": undefined, + "name": "upperWindDirection", + "permission": "r", + "type": 5, + "value": 3792, + }, + "upperWindGustEnabled": Offset { + "category": "weather", + "convert": "!!{VAL}", + "description": "upper wind gust enabled", + "length": undefined, + "mapping": undefined, + "name": "upperWindGustEnabled", + "permission": "r", + "type": 5, + "value": 3796, + }, + "upperWindSpeed": Offset { + "category": "weather", + "convert": undefined, + "description": "upper wind ceiling - kt", + "length": undefined, + "mapping": undefined, + "name": "upperWindSpeed", + "permission": "r", + "type": 5, + "value": 3790, + }, + "upperWindTurbulence": Offset { + "category": "weather", + "convert": undefined, + "description": "upper wind turbulence - 0-255", + "length": undefined, + "mapping": undefined, + "name": "upperWindTurbulence", + "permission": "r", + "type": 5, + "value": 3794, + }, +} +`; diff --git a/tests/offsets/environment/weather/__snapshots__/settings.spec.ts.snap b/tests/offsets/environment/weather/__snapshots__/settings.spec.ts.snap new file mode 100644 index 0000000..e4a97cb --- /dev/null +++ b/tests/offsets/environment/weather/__snapshots__/settings.spec.ts.snap @@ -0,0 +1,633 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`offset - environment/weather/settings offsets list should have required properties 1`] = ` +Object { + "lowerCloudBaseSetting": Offset { + "category": "weather", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "lower cloud layer base - ft - setting", + "length": undefined, + "mapping": undefined, + "name": "lowerCloudBaseSetting", + "permission": "rw", + "type": 5, + "value": 3878, + }, + "lowerCloudCeilingSetting": Offset { + "category": "weather", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "lower cloud layer ceiling - ft - setting", + "length": undefined, + "mapping": undefined, + "name": "lowerCloudCeilingSetting", + "permission": "rw", + "type": 5, + "value": 3876, + }, + "lowerCloudCoverageSetting": Offset { + "category": "weather", + "convert": "Math.round(({VAL} + 1) / 8192)", + "description": "lower cloud layer coverage - oktas - setting", + "length": undefined, + "mapping": undefined, + "name": "lowerCloudCoverageSetting", + "permission": "rw", + "type": 5, + "value": 3880, + }, + "lowerCloudIcingSetting": Offset { + "category": "weather", + "convert": "!!{VAL}", + "description": "lower cloud icing - setting", + "length": undefined, + "mapping": undefined, + "name": "lowerCloudIcingSetting", + "permission": "rw", + "type": 5, + "value": 3970, + }, + "lowerCloudTurbulenceSetting": Offset { + "category": "weather", + "convert": undefined, + "description": "lower cloud turbulence - 0-255 - setting", + "length": undefined, + "mapping": undefined, + "name": "lowerCloudTurbulenceSetting", + "permission": "rw", + "type": 5, + "value": 3972, + }, + "lowerCloudTypeSetting": Offset { + "category": "weather", + "convert": "cloudType", + "description": "lower cloud type - setting", + "length": undefined, + "mapping": true, + "name": "lowerCloudTypeSetting", + "permission": "rw", + "type": 5, + "value": 3968, + }, + "lowerCloudVariationSetting": Offset { + "category": "weather", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "lower cloud layer variation - ft - setting", + "length": undefined, + "mapping": undefined, + "name": "lowerCloudVariationSetting", + "permission": "rw", + "type": 5, + "value": 3882, + }, + "lowerTemperatureLevelSetting": Offset { + "category": "weather", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "lower temperature level - ft - setting", + "length": undefined, + "mapping": undefined, + "name": "lowerTemperatureLevelSetting", + "permission": "rw", + "type": 5, + "value": 3900, + }, + "lowerTemperatureSetting": Offset { + "category": "weather", + "convert": "Math.round({VAL} / 256)", + "description": "lower temperature - degrees C - setting", + "length": undefined, + "mapping": undefined, + "name": "lowerTemperatureSetting", + "permission": "rw", + "type": 2, + "value": 3902, + }, + "lowerWindBaseSetting": Offset { + "category": "weather", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "lower wind ceiling - ft - setting", + "length": undefined, + "mapping": undefined, + "name": "lowerWindBaseSetting", + "permission": "rw", + "type": 5, + "value": 3942, + }, + "lowerWindCeilingSetting": Offset { + "category": "weather", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "lower wind ceiling - ft - setting", + "length": undefined, + "mapping": undefined, + "name": "lowerWindCeilingSetting", + "permission": "rw", + "type": 5, + "value": 3940, + }, + "lowerWindDirectionSetting": Offset { + "category": "weather", + "convert": "+({VAL} * 360 / 65536).toFixed(2)", + "description": "lower wind ceiling - TRUE degrees - setting", + "length": undefined, + "mapping": undefined, + "name": "lowerWindDirectionSetting", + "permission": "rw", + "type": 5, + "value": 3946, + }, + "lowerWindGustEnabledSetting": Offset { + "category": "weather", + "convert": "!!{VAL}", + "description": "lower wind gust enabled - setting", + "length": undefined, + "mapping": undefined, + "name": "lowerWindGustEnabledSetting", + "permission": "rw", + "type": 2, + "value": 3950, + }, + "lowerWindSpeedSetting": Offset { + "category": "weather", + "convert": undefined, + "description": "lower wind ceiling - kt - setting", + "length": undefined, + "mapping": undefined, + "name": "lowerWindSpeedSetting", + "permission": "rw", + "type": 5, + "value": 3944, + }, + "lowerWindTurbulenceSetting": Offset { + "category": "weather", + "convert": undefined, + "description": "lower wind turbulence - 0-255 - setting", + "length": undefined, + "mapping": undefined, + "name": "lowerWindTurbulenceSetting", + "permission": "rw", + "type": 5, + "value": 3948, + }, + "middleTemperatureLevelSetting": Offset { + "category": "weather", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "middle temperature level - ft - setting", + "length": undefined, + "mapping": undefined, + "name": "middleTemperatureLevelSetting", + "permission": "rw", + "type": 5, + "value": 3896, + }, + "middleTemperatureSetting": Offset { + "category": "weather", + "convert": "Math.round({VAL} / 256)", + "description": "middle temperature - degrees C - setting", + "length": undefined, + "mapping": undefined, + "name": "middleTemperatureSetting", + "permission": "rw", + "type": 2, + "value": 3898, + }, + "middleWindBaseSetting": Offset { + "category": "weather", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "middle wind ceiling - ft - setting", + "length": undefined, + "mapping": undefined, + "name": "middleWindBaseSetting", + "permission": "rw", + "type": 5, + "value": 3930, + }, + "middleWindCeilingSetting": Offset { + "category": "weather", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "middle wind ceiling - ft - setting", + "length": undefined, + "mapping": undefined, + "name": "middleWindCeilingSetting", + "permission": "rw", + "type": 5, + "value": 3928, + }, + "middleWindDirectionSetting": Offset { + "category": "weather", + "convert": "+({VAL} * 360 / 65536).toFixed(2)", + "description": "middle wind ceiling - TRUE degrees - setting", + "length": undefined, + "mapping": undefined, + "name": "middleWindDirectionSetting", + "permission": "rw", + "type": 5, + "value": 3934, + }, + "middleWindGustEnabledSetting": Offset { + "category": "weather", + "convert": "!!{VAL}", + "description": "middle wind gust enabled - setting", + "length": undefined, + "mapping": undefined, + "name": "middleWindGustEnabledSetting", + "permission": "rw", + "type": 5, + "value": 3938, + }, + "middleWindSpeedSetting": Offset { + "category": "weather", + "convert": undefined, + "description": "middle wind ceiling - kt - setting", + "length": undefined, + "mapping": undefined, + "name": "middleWindSpeedSetting", + "permission": "rw", + "type": 5, + "value": 3932, + }, + "middleWindTurbulenceSetting": Offset { + "category": "weather", + "convert": undefined, + "description": "middle wind turbulence - 0-255 - setting", + "length": undefined, + "mapping": undefined, + "name": "middleWindTurbulenceSetting", + "permission": "rw", + "type": 5, + "value": 3936, + }, + "pressureDriftSetting": Offset { + "category": "weather", + "convert": "Math.round({VAL} / 16)", + "description": "pressure drift - mb - setting", + "length": undefined, + "mapping": undefined, + "name": "pressureDriftSetting", + "permission": "rw", + "type": 2, + "value": 3914, + }, + "pressureQNHSetting": Offset { + "category": "weather", + "convert": "Math.round({VAL} / 16)", + "description": "pressure QNH - mb - setting", + "length": undefined, + "mapping": undefined, + "name": "pressureQNHSetting", + "permission": "rw", + "type": 5, + "value": 3912, + }, + "stormCloudBaseSetting": Offset { + "category": "weather", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "storm cloud layer base - ft - setting", + "length": undefined, + "mapping": undefined, + "name": "stormCloudBaseSetting", + "permission": "rw", + "type": 5, + "value": 3886, + }, + "stormCloudCeilingSetting": Offset { + "category": "weather", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "storm cloud layer ceiling - ft - setting", + "length": undefined, + "mapping": undefined, + "name": "stormCloudCeilingSetting", + "permission": "rw", + "type": 5, + "value": 3884, + }, + "stormCloudCoverageSetting": Offset { + "category": "weather", + "convert": "Math.round(({VAL} + 1) / 8192)", + "description": "storm cloud layer coverage - oktas - setting", + "length": undefined, + "mapping": undefined, + "name": "stormCloudCoverageSetting", + "permission": "rw", + "type": 5, + "value": 3888, + }, + "stormCloudIcingSetting": Offset { + "category": "weather", + "convert": "!!{VAL}", + "description": "storm cloud icing - setting", + "length": undefined, + "mapping": undefined, + "name": "stormCloudIcingSetting", + "permission": "rw", + "type": 5, + "value": 3976, + }, + "stormCloudTurbulenceSetting": Offset { + "category": "weather", + "convert": undefined, + "description": "storm cloud turbulence - 0-255 - setting", + "length": undefined, + "mapping": undefined, + "name": "stormCloudTurbulenceSetting", + "permission": "rw", + "type": 5, + "value": 3978, + }, + "stormCloudTypeSetting": Offset { + "category": "weather", + "convert": "cloudType", + "description": "storm cloud type - setting", + "length": undefined, + "mapping": true, + "name": "stormCloudTypeSetting", + "permission": "rw", + "type": 5, + "value": 3974, + }, + "stormCloudVariationSetting": Offset { + "category": "weather", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "storm cloud layer variation - ft - setting", + "length": undefined, + "mapping": undefined, + "name": "stormCloudVariationSetting", + "permission": "rw", + "type": 5, + "value": 3890, + }, + "surfaceTemperatureLevelSetting": Offset { + "category": "weather", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "surface temperature level - ground elevation - setting- ft", + "length": undefined, + "mapping": undefined, + "name": "surfaceTemperatureLevelSetting", + "permission": "rw", + "type": 5, + "value": 3904, + }, + "surfaceTemperatureSetting": Offset { + "category": "weather", + "convert": "Math.round({VAL} / 256)", + "description": "surface temperature - degrees C - setting", + "length": undefined, + "mapping": undefined, + "name": "surfaceTemperatureSetting", + "permission": "rw", + "type": 2, + "value": 3906, + }, + "surfaceWindCeilingSetting": Offset { + "category": "weather", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "surface wind ceiling - ft - setting", + "length": undefined, + "mapping": undefined, + "name": "surfaceWindCeilingSetting", + "permission": "rw", + "type": 5, + "value": 3952, + }, + "surfaceWindDirectionSetting": Offset { + "category": "weather", + "convert": "+({VAL} * 360 / 65536).toFixed(2)", + "description": "surface wind direction - MAG degrees - settings", + "length": undefined, + "mapping": undefined, + "name": "surfaceWindSpeedSetting", + "permission": "rw", + "type": 5, + "value": 3956, + }, + "surfaceWindGustEnabledSetting": Offset { + "category": "weather", + "convert": "!!{VAL}", + "description": "surface wind gust enabled - setting", + "length": undefined, + "mapping": undefined, + "name": "surfaceWindGustEnabledSetting", + "permission": "rw", + "type": 5, + "value": 3960, + }, + "surfaceWindSpeedSetting": Offset { + "category": "weather", + "convert": undefined, + "description": "surface wind speed - kt - settings", + "length": undefined, + "mapping": undefined, + "name": "surfaceWindSpeedSetting", + "permission": "rw", + "type": 5, + "value": 3954, + }, + "surfaceWindTurbulenceSetting": Offset { + "category": "weather", + "convert": undefined, + "description": "surface wind turbulence - 0-255 - setting", + "length": undefined, + "mapping": undefined, + "name": "surfaceWindTurbulenceSetting", + "permission": "rw", + "type": 5, + "value": 3958, + }, + "temperatureDayNightVariationSetting": Offset { + "category": "weather", + "convert": "Math.round({VAL} / 256)", + "description": "temperature day night variation - degrees C - setting", + "length": undefined, + "mapping": undefined, + "name": "temperatureDayNightVariationSetting", + "permission": "rw", + "type": 2, + "value": 3910, + }, + "temperatureDriftSetting": Offset { + "category": "weather", + "convert": "Math.round({VAL} / 256)", + "description": "temperature drift - degrees C - setting", + "length": undefined, + "mapping": undefined, + "name": "temperatureDriftSetting", + "permission": "rw", + "type": 2, + "value": 3908, + }, + "upperCloudBaseSetting": Offset { + "category": "weather", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "upper cloud layer base - ft - setting", + "length": undefined, + "mapping": undefined, + "name": "upperCloudBaseSetting", + "permission": "rw", + "type": 5, + "value": 3870, + }, + "upperCloudCeilingSetting": Offset { + "category": "weather", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "upper cloud layer ceiling - ft - setting", + "length": undefined, + "mapping": undefined, + "name": "upperCloudCeilingSetting", + "permission": "rw", + "type": 5, + "value": 3868, + }, + "upperCloudCoverageSetting": Offset { + "category": "weather", + "convert": "Math.round(({VAL} + 1) / 8192)", + "description": "upper cloud layer coverage - oktas - setting", + "length": undefined, + "mapping": undefined, + "name": "upperCloudCoverageSetting", + "permission": "rw", + "type": 5, + "value": 3872, + }, + "upperCloudIcingSetting": Offset { + "category": "weather", + "convert": "!!{VAL}", + "description": "upper cloud icing - setting", + "length": undefined, + "mapping": undefined, + "name": "upperCloudIcingSetting", + "permission": "rw", + "type": 5, + "value": 3964, + }, + "upperCloudTurbulenceSetting": Offset { + "category": "weather", + "convert": undefined, + "description": "upper cloud turbulence - 0-255 - setting", + "length": undefined, + "mapping": undefined, + "name": "upperCloudTurbulenceSetting", + "permission": "rw", + "type": 5, + "value": 3966, + }, + "upperCloudTypeSetting": Offset { + "category": "weather", + "convert": "cloudType", + "description": "upper cloud type - setting", + "length": undefined, + "mapping": true, + "name": "upperCloudTypeSetting", + "permission": "rw", + "type": 5, + "value": 3962, + }, + "upperCloudVariationSetting": Offset { + "category": "weather", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "upper cloud layer variation - ft - setting", + "length": undefined, + "mapping": undefined, + "name": "upperCloudVariationSetting", + "permission": "rw", + "type": 5, + "value": 3874, + }, + "upperTemperatureLevelSetting": Offset { + "category": "weather", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "upper temperature level - ft - setting", + "length": undefined, + "mapping": undefined, + "name": "upperTemperatureLevelSetting", + "permission": "rw", + "type": 5, + "value": 3892, + }, + "upperTemperatureSetting": Offset { + "category": "weather", + "convert": "Math.round({VAL} / 256)", + "description": "upper temperature - degrees C - setting", + "length": undefined, + "mapping": undefined, + "name": "upperTemperatureSetting", + "permission": "rw", + "type": 2, + "value": 3894, + }, + "upperWindBaseSetting": Offset { + "category": "weather", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "upper wind ceiling - ft - setting", + "length": undefined, + "mapping": undefined, + "name": "upperWindBaseSetting", + "permission": "rw", + "type": 5, + "value": 3918, + }, + "upperWindCeilingSetting": Offset { + "category": "weather", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "upper wind ceiling - ft - setting", + "length": undefined, + "mapping": undefined, + "name": "upperWindCeilingSetting", + "permission": "rw", + "type": 5, + "value": 3916, + }, + "upperWindDirectionSetting": Offset { + "category": "weather", + "convert": "+({VAL} * 360 / 65536).toFixed(2)", + "description": "upper wind ceiling - TRUE degrees - setting", + "length": undefined, + "mapping": undefined, + "name": "upperWindDirectionSetting", + "permission": "rw", + "type": 5, + "value": 3922, + }, + "upperWindGustEnabledSetting": Offset { + "category": "weather", + "convert": "!!{VAL}", + "description": "upper wind gust enabled - setting", + "length": undefined, + "mapping": undefined, + "name": "upperWindGustEnabledSetting", + "permission": "rw", + "type": 5, + "value": 3926, + }, + "upperWindSpeedSetting": Offset { + "category": "weather", + "convert": undefined, + "description": "upper wind ceiling - kt - setting", + "length": undefined, + "mapping": undefined, + "name": "upperWindSpeedSetting", + "permission": "rw", + "type": 5, + "value": 3920, + }, + "upperWindTurbulenceSetting": Offset { + "category": "weather", + "convert": undefined, + "description": "upper wind turbulence - 0-255 - setting", + "length": undefined, + "mapping": undefined, + "name": "upperWindTurbulenceSetting", + "permission": "rw", + "type": 5, + "value": 3924, + }, + "visibilitySetting": Offset { + "category": "weather", + "convert": "{VAL} / 100", + "description": "visibility setting - sm", + "length": undefined, + "mapping": undefined, + "name": "visibilitySetting", + "permission": "rw", + "type": 5, + "value": 3980, + }, +} +`; diff --git a/tests/offsets/environment/weather/at-aircraft.spec.ts b/tests/offsets/environment/weather/at-aircraft.spec.ts new file mode 100644 index 0000000..a5f0648 --- /dev/null +++ b/tests/offsets/environment/weather/at-aircraft.spec.ts @@ -0,0 +1,72 @@ +import { weatherAtAircraft as offsets } from '@offsets/environment/weather/at-aircraft'; +import { replaceOffsetExpressionValue } from '@convert/apply-conversion'; + +describe('offset - environment/weather/at-aircraft', () => { + const offsetsTestCases = [ + { name: 'upperCloudCeiling', value: 914, expectedResult: 2998.69 }, + { name: 'upperCloudBase', value: 914, expectedResult: 2998.69 }, + { name: 'upperCloudCoverage', value: 32768 , expectedResult: 4 }, + { name: 'upperCloudVariation', value: 914, expectedResult: 2998.69 }, + { name: 'lowerCloudCeiling', value: 914, expectedResult: 2998.69 }, + { name: 'lowerCloudBase', value: 914, expectedResult: 2998.69 }, + { name: 'lowerCloudCoverage', value: 32768 , expectedResult: 4 }, + { name: 'lowerCloudVariation', value: 914, expectedResult: 2998.69 }, + { name: 'stormCloudCeiling', value: 914, expectedResult: 2998.69 }, + { name: 'stormCloudBase', value: 914, expectedResult: 2998.69 }, + { name: 'stormCloudCoverage', value: 32768 , expectedResult: 4 }, + { name: 'stormCloudVariation', value: 914, expectedResult: 2998.69 }, + { name: 'upperTemperatureLevel', value: 914, expectedResult: 2998.69 }, + { name: 'upperTemperature', value: 512, expectedResult: 2 }, + { name: 'middleTemperatureLevel', value: 914, expectedResult: 2998.69 }, + { name: 'middleTemperature', value: 512, expectedResult: 2 }, + { name: 'lowerTemperatureLevel', value: 914, expectedResult: 2998.69 }, + { name: 'lowerTemperature', value: 512, expectedResult: 2 }, + { name: 'surfaceTemperatureLevel', value: 914, expectedResult: 2998.69 }, + { name: 'surfaceTemperature', value: 512, expectedResult: 2 }, + { name: 'temperatureDrift', value: 512, expectedResult: 2 }, + { name: 'temperatureDayNightVariation', value: 512, expectedResult: 2 }, + { name: 'pressureQNH', value: 32, expectedResult: 2 }, + { name: 'pressureDrift', value: 32, expectedResult: 2 }, + { name: 'upperWindCeiling', value: 914, expectedResult: 2998.69 }, + { name: 'upperWindBase', value: 914, expectedResult: 2998.69 }, + { name: 'upperWindDirection', value: 32768, expectedResult: 180 }, + { name: 'upperWindGustEnabled', value: 1, expectedResult: true }, + { name: 'upperWindGustEnabled', value: 0, expectedResult: false }, + { name: 'middleWindCeiling', value: 914, expectedResult: 2998.69 }, + { name: 'middleWindBase', value: 914, expectedResult: 2998.69 }, + { name: 'middleWindDirection', value: 32768, expectedResult: 180 }, + { name: 'middleWindGustEnabled', value: 1, expectedResult: true }, + { name: 'middleWindGustEnabled', value: 0, expectedResult: false }, + { name: 'lowerWindCeiling', value: 914, expectedResult: 2998.69 }, + { name: 'lowerWindBase', value: 914, expectedResult: 2998.69 }, + { name: 'lowerWindDirection', value: 32768, expectedResult: 180 }, + { name: 'lowerWindGustEnabled', value: 1, expectedResult: true }, + { name: 'lowerWindGustEnabled', value: 0, expectedResult: false }, + { name: 'surfaceWindCeiling', value: 914, expectedResult: 2998.69 }, + { name: 'surfaceWindGustEnabled', value: 1, expectedResult: true }, + { name: 'surfaceWindGustEnabled', value: 0, expectedResult: false }, + { name: 'upperCloudIcing', value: 1, expectedResult: true }, + { name: 'upperCloudIcing', value: 0, expectedResult: false }, + { name: 'lowerCloudIcing', value: 1, expectedResult: true }, + { name: 'lowerCloudIcing', value: 0, expectedResult: false }, + { name: 'stormCloudIcing', value: 1, expectedResult: true }, + { name: 'stormCloudIcing', value: 0, expectedResult: false }, + ]; + + describe('offsets list', () => { + it('should have required properties', () => { + expect(offsets).toMatchSnapshot(); + }); + }); + + offsetsTestCases.forEach(testedOffset => { + describe(testedOffset.name, () => { + it('should convert data properly', () => { + const convertExpression = replaceOffsetExpressionValue(offsets[testedOffset.name], testedOffset.value); + + // tslint:disable-next-line:no-eval + expect(eval(convertExpression)).toEqual(testedOffset.expectedResult); + }); + }); + }); +}); diff --git a/tests/offsets/environment/weather/settings.spec.ts b/tests/offsets/environment/weather/settings.spec.ts new file mode 100644 index 0000000..87df59c --- /dev/null +++ b/tests/offsets/environment/weather/settings.spec.ts @@ -0,0 +1,74 @@ +import { weatherSettings as offsets } from '@offsets/environment/weather/settings'; +import { replaceOffsetExpressionValue } from '@convert/apply-conversion'; + +describe('offset - environment/weather/settings', () => { + const offsetsTestCases = [ + { name: 'upperCloudCeilingSetting', value: 914, expectedResult: 2998.69 }, + { name: 'upperCloudBaseSetting', value: 914, expectedResult: 2998.69 }, + { name: 'upperCloudCoverageSetting', value: 32768 , expectedResult: 4 }, + { name: 'upperCloudVariationSetting', value: 914, expectedResult: 2998.69 }, + { name: 'lowerCloudCeilingSetting', value: 914, expectedResult: 2998.69 }, + { name: 'lowerCloudBaseSetting', value: 914, expectedResult: 2998.69 }, + { name: 'lowerCloudCoverageSetting', value: 32768 , expectedResult: 4 }, + { name: 'lowerCloudVariationSetting', value: 914, expectedResult: 2998.69 }, + { name: 'stormCloudCeilingSetting', value: 914, expectedResult: 2998.69 }, + { name: 'stormCloudBaseSetting', value: 914, expectedResult: 2998.69 }, + { name: 'stormCloudCoverageSetting', value: 32768 , expectedResult: 4 }, + { name: 'stormCloudVariationSetting', value: 914, expectedResult: 2998.69 }, + { name: 'upperTemperatureLevelSetting', value: 914, expectedResult: 2998.69 }, + { name: 'upperTemperatureSetting', value: 512, expectedResult: 2 }, + { name: 'middleTemperatureLevelSetting', value: 914, expectedResult: 2998.69 }, + { name: 'middleTemperatureSetting', value: 512, expectedResult: 2 }, + { name: 'lowerTemperatureLevelSetting', value: 914, expectedResult: 2998.69 }, + { name: 'lowerTemperatureSetting', value: 512, expectedResult: 2 }, + { name: 'surfaceTemperatureLevelSetting', value: 914, expectedResult: 2998.69 }, + { name: 'surfaceTemperatureSetting', value: 512, expectedResult: 2 }, + { name: 'temperatureDriftSetting', value: 512, expectedResult: 2 }, + { name: 'temperatureDayNightVariationSetting', value: 512, expectedResult: 2 }, + { name: 'pressureQNHSetting', value: 32, expectedResult: 2 }, + { name: 'pressureDriftSetting', value: 32, expectedResult: 2 }, + { name: 'upperWindCeilingSetting', value: 914, expectedResult: 2998.69 }, + { name: 'upperWindBaseSetting', value: 914, expectedResult: 2998.69 }, + { name: 'upperWindDirectionSetting', value: 32768, expectedResult: 180 }, + { name: 'upperWindGustEnabledSetting', value: 1, expectedResult: true }, + { name: 'upperWindGustEnabledSetting', value: 0, expectedResult: false }, + { name: 'middleWindCeilingSetting', value: 914, expectedResult: 2998.69 }, + { name: 'middleWindBaseSetting', value: 914, expectedResult: 2998.69 }, + { name: 'middleWindDirectionSetting', value: 32768, expectedResult: 180 }, + { name: 'middleWindGustEnabledSetting', value: 1, expectedResult: true }, + { name: 'middleWindGustEnabledSetting', value: 0, expectedResult: false }, + { name: 'lowerWindCeilingSetting', value: 914, expectedResult: 2998.69 }, + { name: 'lowerWindBaseSetting', value: 914, expectedResult: 2998.69 }, + { name: 'lowerWindDirectionSetting', value: 32768, expectedResult: 180 }, + { name: 'lowerWindGustEnabledSetting', value: 1, expectedResult: true }, + { name: 'lowerWindGustEnabledSetting', value: 0, expectedResult: false }, + { name: 'surfaceWindCeilingSetting', value: 914, expectedResult: 2998.69 }, + { name: 'surfaceWindDirectionSetting', value: 32768, expectedResult: 180 }, + { name: 'surfaceWindGustEnabledSetting', value: 1, expectedResult: true }, + { name: 'surfaceWindGustEnabledSetting', value: 0, expectedResult: false }, + { name: 'upperCloudIcingSetting', value: 1, expectedResult: true }, + { name: 'upperCloudIcingSetting', value: 0, expectedResult: false }, + { name: 'lowerCloudIcingSetting', value: 1, expectedResult: true }, + { name: 'lowerCloudIcingSetting', value: 0, expectedResult: false }, + { name: 'stormCloudIcingSetting', value: 1, expectedResult: true }, + { name: 'stormCloudIcingSetting', value: 0, expectedResult: false }, + { name: 'visibilitySetting', value: 1000, expectedResult: 10 }, + ]; + + describe('offsets list', () => { + it('should have required properties', () => { + expect(offsets).toMatchSnapshot(); + }); + }); + + offsetsTestCases.forEach(testedOffset => { + describe(testedOffset.name, () => { + it('should convert data properly', () => { + const convertExpression = replaceOffsetExpressionValue(offsets[testedOffset.name], testedOffset.value); + + // tslint:disable-next-line:no-eval + expect(eval(convertExpression)).toEqual(testedOffset.expectedResult); + }); + }); + }); +}); From 6d786d3c75ac40bb040e91999face66f7bdf6638 Mon Sep 17 00:00:00 2001 From: blackholegalaxy Date: Sun, 26 Jan 2020 22:21:03 -0500 Subject: [PATCH 04/20] refact radios --- src/lib/offsets/plane/radios.ts | 633 -------------- src/lib/offsets/plane/radios/adf1.ts | 50 ++ src/lib/offsets/plane/radios/adf2.ts | 69 ++ src/lib/offsets/plane/radios/nav1.ts | 273 +++++++ src/lib/offsets/plane/radios/nav2.ts | 273 +++++++ .../offsets/__snapshots__/offset.spec.ts.snap | 770 ------------------ .../plane/__snapshots__/radios.spec.ts.snap | 770 ------------------ tests/offsets/plane/radios.spec.ts | 81 +- .../radios/__snapshots__/adf1.spec.ts.snap | 61 ++ .../radios/__snapshots__/adf2.spec.ts.snap | 83 ++ .../radios/__snapshots__/nav1.spec.ts.snap | 325 ++++++++ .../radios/__snapshots__/nav2.spec.ts.snap | 325 ++++++++ tests/offsets/plane/radios/adf1.spec.ts | 26 + tests/offsets/plane/radios/adf2.spec.ts | 28 + tests/offsets/plane/radios/nav1.spec.ts | 61 ++ tests/offsets/plane/radios/nav2.spec.ts | 61 ++ 16 files changed, 1636 insertions(+), 2253 deletions(-) create mode 100644 src/lib/offsets/plane/radios/adf1.ts create mode 100644 src/lib/offsets/plane/radios/adf2.ts create mode 100644 src/lib/offsets/plane/radios/nav1.ts create mode 100644 src/lib/offsets/plane/radios/nav2.ts create mode 100644 tests/offsets/plane/radios/__snapshots__/adf1.spec.ts.snap create mode 100644 tests/offsets/plane/radios/__snapshots__/adf2.spec.ts.snap create mode 100644 tests/offsets/plane/radios/__snapshots__/nav1.spec.ts.snap create mode 100644 tests/offsets/plane/radios/__snapshots__/nav2.spec.ts.snap create mode 100644 tests/offsets/plane/radios/adf1.spec.ts create mode 100644 tests/offsets/plane/radios/adf2.spec.ts create mode 100644 tests/offsets/plane/radios/nav1.spec.ts create mode 100644 tests/offsets/plane/radios/nav2.spec.ts diff --git a/src/lib/offsets/plane/radios.ts b/src/lib/offsets/plane/radios.ts index 4f731bb..cea205e 100644 --- a/src/lib/offsets/plane/radios.ts +++ b/src/lib/offsets/plane/radios.ts @@ -5,130 +5,6 @@ import { OffsetList } from '@shared/offset-list'; import { Offset } from '@shared/offset'; export const radios: OffsetList = { - adf2Freq: new Offset({ - value: 0x2D4, - name: 'adf2Freq', - category: OffsetCategory.RADIOS, - description: 'ADF 2 freq - Main 3 digits in BCD - FS2004', - type: Type.UInt16, - convert: '+({VAL}).toString(16)', - permission: 'rw', - }), - adf2ExtendedFreq: new Offset({ - value: 0x2D6, - name: 'adf2ExtendedFreq', - category: OffsetCategory.RADIOS, - description: 'ADF 2 extended freq - in BCD - FS2004', - type: Type.UInt16, - permission: 'rw', - }), - adf2RelBearing: new Offset({ - value: 0x2D8, - name: 'adf2RelBearing', - category: OffsetCategory.RADIOS, - description: 'ADF2 Rel Bearing - FS2004', - convert: 'Math.round({VAL} * 360 / 65536)', - type: Type.Int16, - permission: 'r', - }), - ndb2Identity: new Offset({ - value: 0x2DC, - name: 'ndb2Identity', - category: OffsetCategory.RADIOS, - description: 'NDB2 identity - FS2004', - type: Type.String, - length: 6, - permission: 'r', - }), - ndb2Name: new Offset({ - value: 0x2E2, - name: 'ndb2Name', - category: OffsetCategory.RADIOS, - description: 'NDB2 name - FS2004', - type: Type.String, - length: 25, - permission: 'r', - }), - ndb2IdentSoundSwitch: new Offset({ - value: 0x2FB, - name: 'ndb2IdentSoundSwitch', - category: OffsetCategory.RADIOS, - description: 'NDB2 ident sound switch - FS2004', - type: Type.Byte, - convert: '!!{VAL}', - permission: 'rw', - }), - vor1DMEDistance: new Offset({ - value: 0x300, - name: 'vor1DMEDistance', - category: OffsetCategory.RADIOS, - description: 'VOR1 DME distance - nm', - convert: '{VAL} / 10', - type: Type.UInt16, - permission: 'r', - }), - vor1DMESpeed: new Offset({ - value: 0x302, - name: 'vor1DMESpeed', - category: OffsetCategory.RADIOS, - description: 'VOR1 DME speed - kt', - convert: '{VAL} / 10', - type: Type.UInt16, - permission: 'r', - }), - vor1DMETimeToStation: new Offset({ - value: 0x304, - name: 'vor1DMETimeToStation', - category: OffsetCategory.RADIOS, - description: 'VOR1 DME time to station - sec', - convert: '{VAL} / 10', - type: Type.UInt16, - permission: 'r', - }), - vor2DMEDistance: new Offset({ - value: 0x306, - name: 'vor2DMEDistance', - category: OffsetCategory.RADIOS, - description: 'VOR2 DME distance - nm', - convert: '{VAL} / 10', - type: Type.UInt16, - permission: 'r', - }), - vor2DMESpeed: new Offset({ - value: 0x308, - name: 'vor2DMESpeed', - category: OffsetCategory.RADIOS, - description: 'VOR2 DME speed - kt', - convert: '{VAL} / 10', - type: Type.UInt16, - permission: 'r', - }), - vor2DMETimeToStation: new Offset({ - value: 0x30A, - name: 'vor2DMETimeToStation', - category: OffsetCategory.RADIOS, - description: 'VOR2 DME time to station - sec', - convert: '{VAL} / 10', - type: Type.UInt16, - permission: 'r', - }), - adfFreq: new Offset({ - value: 0x34C, - name: 'adfFreq', - category: OffsetCategory.RADIOS, - description: 'ADF frequency show as Binary Coded Decimal. The thousands digit and the fractional parts are provided in adfFreqExtended', - type: Type.UInt16, - convert: '+({VAL}).toString(16)', - permission: 'rw', - }), - adfFreqExtended: new Offset({ - value: 0x356, - name: 'adfFreqExtended', - category: OffsetCategory.RADIOS, - description: 'ADF frequency extended', - type: Type.UInt16, - permission: 'rw', - }), comFreq: new Offset({ value: 0x34E, name: 'comFreq', @@ -138,24 +14,6 @@ export const radios: OffsetList = { convert: 'parseInt(`1` + ({VAL}).toString(16))', permission: 'rw', }), - nav1Freq: new Offset({ - value: 0x350, - name: 'nav1Freq', - category: OffsetCategory.RADIOS, - description: 'NAV1 frequency', - type: Type.UInt16, - convert: 'parseInt(`1` + ({VAL}).toString(16))', - permission: 'rw', - }), - nav2Freq: new Offset({ - value: 0x352, - name: 'nav2Freq', - category: OffsetCategory.RADIOS, - description: 'NAV2 frequency', - type: Type.UInt16, - convert: 'parseInt(`1` + ({VAL}).toString(16))', - permission: 'rw', - }), transponderFreq: new Offset({ value: 0x354, name: 'transponderFreq', @@ -197,222 +55,6 @@ export const radios: OffsetList = { type: Type.UInt16, permission: 'w', }), - hasNav1: new Offset({ - value: 0x7A0, - name: 'hasNav1', - category: OffsetCategory.RADIOS, - description: 'has NAV1', - convert: '!!{VAL}', - type: Type.UInt32, - permission: 'rw', - }), - hasNav2: new Offset({ - value: 0x7A4, - name: 'hasNav2', - category: OffsetCategory.RADIOS, - description: 'has NAV2', - convert: '!!{VAL}', - type: Type.UInt32, - permission: 'r', - }), - vor2DmeLatitude: new Offset({ - value: 0x834, - name: 'vor2DmeLatitude', - category: OffsetCategory.RADIOS, - description: 'VOR 2 DME latitude - FS2002+', - type: Type.Int32, - convert: '{VAL} * 90 / 10001750', - permission: 'r', - }), - vor2DmeLongitude: new Offset({ - value: 0x838, - name: 'vor2DmeLongitude', - category: OffsetCategory.RADIOS, - description: 'VOR 2 DME longitude - FS2002+', - type: Type.Int32, - convert: '{VAL} * 360 / (65536 * 65536)', - permission: 'r', - }), - vor2DmeElevation: new Offset({ - value: 0x83C, - name: 'vor2DmeElevation', - category: OffsetCategory.RADIOS, - description: 'VOR 2 DME elevation - meters - FS2002+', - type: Type.Int32, - convert: '+({VAL} * 3.28084).toFixed(2)', - permission: 'r', - }), - vor2ILSLocHeadingTrue: new Offset({ - value: 0x844, - name: 'vor2ILSLocHeadingTrue', - category: OffsetCategory.RADIOS, - description: 'NAV2 ILS Localiser inverse runway heading if VOR 2 is ILS - TRUE - FS2002+ - 180 different to aircraft direction to follow localiser', - type: Type.UInt16, - convert: '+({VAL} * 360 / 65536).toFixed(2)', - permission: 'r', - }), - vor2ILSGlideSlopeAngle: new Offset({ - value: 0x846, - name: 'vor2ILSGlideSlopeAngle', - category: OffsetCategory.RADIOS, - description: 'VOR 2 ILS GlideSlope Angle', - type: Type.Int16, - convert: '+({VAL} * 360 / 65536).toFixed(2)', - permission: 'r', - }), - vor2LocLatitude: new Offset({ - value: 0x84C, - name: 'vor2LocLatitude', - category: OffsetCategory.RADIOS, - description: 'VOR 2 or NAV2 ILS LOC latitude - FS2002+', - type: Type.Int32, - convert: '{VAL} * 90 / 10001750', - permission: 'r', - }), - vor2LocLongitude: new Offset({ - value: 0x850, - name: 'vor2LocLongitude', - category: OffsetCategory.RADIOS, - description: 'VOR 2 or NAV2 ILS LOC longitude - FS2002+', - type: Type.Int32, - convert: '{VAL} * 360 / (65536 * 65536)', - permission: 'r', - }), - vor2LocElevation: new Offset({ - value: 0x854, - name: 'vor2LocElevation', - category: OffsetCategory.RADIOS, - description: 'VOR 2 or NAV2 ILS LOC elevation - meters - FS2002+', - type: Type.Int32, - convert: '+({VAL} * 3.28084).toFixed(2)', - permission: 'r', - }), - vor2OrILSGlideSlopeLatitude: new Offset({ - value: 0x858, - name: 'vor2OrILSGlideSlopeLatitude', - category: OffsetCategory.RADIOS, - description: 'VOR 2 latitude or NAV2 ILS glideslope latitude - FS2002+', - type: Type.Int32, - convert: '{VAL} * 90 / 10001750', - permission: 'r', - }), - vor1OrILSGlideSlopeLatitude: new Offset({ - value: 0x85C, - name: 'vor1OrILSGlideSlopeLatitude', - category: OffsetCategory.RADIOS, - description: 'VOR 1 latitude OR NAV1 ILS glideslope latitude', - type: Type.Int32, - convert: '{VAL} * 90 / 10001750', - permission: 'r', - }), - vor2OrILSGlideSlopeLongitude: new Offset({ - value: 0x860, - name: 'vor2OrILSGlideSlopeLongitude', - category: OffsetCategory.RADIOS, - description: 'VOR 2 or NAV 2 ILS glideslope longitude - FS2002+', - type: Type.Int32, - convert: '{VAL} * 360 / (65536 * 65536)', - permission: 'r', - }), - vor1OrILSGlideSlopeLongitude: new Offset({ - value: 0x864, - name: 'vor1OrILSGlideSlopeLongitude', - category: OffsetCategory.RADIOS, - description: 'VOR 1 or NAV 1 ILS glideslope longitude', - type: Type.Int32, - convert: '{VAL} * 360 / (65536 * 65536)', - permission: 'r', - }), - vor2OrILSGlideSlopeElevation: new Offset({ - value: 0x868, - name: 'vor2OrILSGlideSlopeElevation', - category: OffsetCategory.RADIOS, - description: 'VOR 2 or NAV2 ILS glideslope elevation - meters - FS2002+', - type: Type.Int32, - convert: '+({VAL} * 3.28084).toFixed(2)', - permission: 'r', - }), - vor1OrILSGlideSlopeElevation: new Offset({ - value: 0x86C, - name: 'vor1OrILSGlideSlopeElevation', - category: OffsetCategory.RADIOS, - description: 'VOR 1 or NAV1 ILS glideslope elevation - meters - FS2002+', - type: Type.Int32, - convert: '+({VAL} * 3.28084).toFixed(2)', - permission: 'r', - }), - vor1ILSLocHeadingTrue: new Offset({ - value: 0x870, - name: 'vor1LocHeadingTrue', - category: OffsetCategory.RADIOS, - description: 'VOR 1 ILS LOC heading - TRUE - -180 different to aircraft direction to follow localiser', - type: Type.UInt16, - convert: '+({VAL} * 360 / 65536).toFixed(2)', - permission: 'r', - }), - vor1GlideSlopeAngle: new Offset({ - value: 0x872, - name: 'vor1GlideSlopeAngle', - category: OffsetCategory.RADIOS, - description: 'VOR 1 ILS glideslope Angle', - type: Type.Int16, - convert: '+({VAL} * 360 / 65536).toFixed(2)', - permission: 'r', - }), - vor1LocLatitude: new Offset({ - value: 0x874, - name: 'vor1LocLatitude', - category: OffsetCategory.RADIOS, - description: 'VOR 1 or NAV1 ILS LOC latitude - FS2002+', - type: Type.Int32, - convert: '{VAL} * 90 / 10001750', - permission: 'r', - }), - vor1LocLongitude: new Offset({ - value: 0x878, - name: 'vor1LocLongitude', - category: OffsetCategory.RADIOS, - description: 'VOR 1 or NAV1 ILS LOC longitude - FS2002+', - type: Type.Int32, - convert: '{VAL} * 360 / (65536 * 65536)', - permission: 'r', - }), - vor1LocElevation: new Offset({ - value: 0x87C, - name: 'vor1LocElevation', - category: OffsetCategory.RADIOS, - description: 'VOR 1 or NAV1 ILS LOC elevation - meters - FS2002+', - type: Type.Int32, - convert: '+({VAL} * 3.28084).toFixed(2)', - permission: 'r', - }), - vor1DmeLatitude: new Offset({ - value: 0x880, - name: 'vor1DmeLatitude', - category: OffsetCategory.RADIOS, - description: 'VOR 1 DME latitude - FS2002+', - type: Type.Int32, - convert: '{VAL} * 90 / 10001750', - permission: 'r', - }), - vor1DmeLongitude: new Offset({ - value: 0x884, - name: 'vor1DmeLongitude', - category: OffsetCategory.RADIOS, - description: 'VOR 1 DME longitude - FS2002+', - type: Type.Int32, - convert: '{VAL} * 360 / (65536 * 65536)', - permission: 'r', - }), - vor1DmeElevation: new Offset({ - value: 0x88A, - name: 'vor1DmeElevation', - category: OffsetCategory.RADIOS, - description: 'VOR 1 DME elevation - ft - FS2002+', - type: Type.Int32, - convert: '+({VAL} * 3.28084).toFixed(2)', - permission: 'r', - }), innerMarker: new Offset({ value: 0xBAC, name: 'innerMarker', @@ -437,279 +79,4 @@ export const radios: OffsetList = { type: Type.Int16, permission: 'r', }), - adf2SignalStrength: new Offset({ - value: 0xC14, - name: 'adf2SignalStrength', - category: OffsetCategory.RADIOS, - description: 'ADF2 signal strength', - type: Type.UInt32, - permission: 'r', - }), - adf1SignalStrength: new Offset({ - value: 0xC1C, - name: 'adf1SignalStrength', - category: OffsetCategory.RADIOS, - description: 'ADF1 signal strength', - type: Type.UInt32, - permission: 'r', - }), - dme1Distance: new Offset({ - value: 0xC29, - name: 'dme1Distance', - category: OffsetCategory.RADIOS, - description: 'DME1 distance - nm', - convert: '+{VAL}', - type: Type.String, - length: 5, - permission: 'r', - }), - dme1Speed: new Offset({ - value: 0xC2E, - name: 'dme1Speed', - category: OffsetCategory.RADIOS, - description: 'DME1 speed - kt', - convert: '+{VAL}', - type: Type.String, - length: 5, - permission: 'r', - }), - dme2Distance: new Offset({ - value: 0xC33, - name: 'dme2Distance', - category: OffsetCategory.RADIOS, - description: 'DME2 distance - nm', - convert: '+{VAL}', - type: Type.String, - length: 5, - permission: 'r', - }), - dme2Speed: new Offset({ - value: 0xC38, - name: 'dme2Speed', - category: OffsetCategory.RADIOS, - description: 'DME2 speed - kt', - convert: '+{VAL}', - type: Type.String, - length: 5, - permission: 'r', - }), - nav1MagVar: new Offset({ - value: 0xC40, - name: 'nav1MagVar', - category: OffsetCategory.RADIOS, - description: 'NAV1 mag var', - convert: 'Math.round({VAL} * 360 / 65536)', - type: Type.Int16, - permission: 'r', - }), - nav2MagVar: new Offset({ - value: 0xC42, - name: 'nav2MagVar', - category: OffsetCategory.RADIOS, - description: 'NAV2 mag var', - convert: 'Math.round({VAL} * 360 / 65536)', - type: Type.Int16, - permission: 'r', - }), - nav1LocNeedlePosition: new Offset({ - value: 0xC48, - name: 'nav1LocNeedlePosition', - category: OffsetCategory.RADIOS, - description: 'NAV1 loc needle position - percent - -ve left +ve right', - convert: 'Math.round({VAL} / 127 * 100)', - type: Type.SByte, - permission: 'r', - }), - nav1GlideslopeNeedlePosition: new Offset({ - value: 0xC49, - name: 'nav1GlideslopeNeedlePosition', - category: OffsetCategory.RADIOS, - description: 'NAV1 glideslope needle position - percent - -ve up +ve down', - convert: 'Math.round({VAL} / 127 * 100)', - type: Type.SByte, - permission: 'r', - }), - nav1BackCourseFlags: new Offset({ - value: 0xC4A, - name: 'nav1BackCourseFlags', - category: OffsetCategory.RADIOS, - description: 'NAV1 glideslope flags', - convert: 'navBackCourseFlags', - mapping: true, - type: Type.ByteArray, - length: 8, - permission: 'r', - }), - nav1ToFrom: new Offset({ - value: 0xC4B, - name: 'nav1ToFrom', - category: OffsetCategory.RADIOS, - description: 'NAV1 TO/FROM flag - values: off/to/from', - convert: 'vorToFrom', - mapping: true, - type: Type.Byte, - permission: 'r', - }), - nav1GlideslopeActive: new Offset({ - value: 0xC4C, - name: 'nav1GlideslopeActive', - category: OffsetCategory.RADIOS, - description: 'NAV1 glideslope flag', - convert: '!!{VAL}', - type: Type.Byte, - permission: 'r', - }), - nav1Capabilities: new Offset({ - value: 0xC4D, - name: 'nav1Capabilities', - category: OffsetCategory.RADIOS, - description: 'NAV1 capabilities', - convert: 'navCapabilities', - mapping: true, - type: Type.ByteArray, - length: 8, - permission: 'r', - }), - nav1Obs: new Offset({ - value: 0xC4E, - name: 'nav1Obs', - category: OffsetCategory.RADIOS, - description: 'NAV1 obs setting - degrees', - type: Type.Int16, - permission: 'rw', - }), - nav1Radial: new Offset({ - value: 0xC50, - name: 'nav1Radial', - category: OffsetCategory.RADIOS, - description: 'NAV1 radial - degrees - MAG for VOR, TRUE for ILS LOC', - convert: 'Math.round({VAL} * 360 / 65536)', - type: Type.UInt16, - permission: 'r', - }), - nav1SignalStrength: new Offset({ - value: 0xC52, - name: 'nav1SignalStrength', - category: OffsetCategory.RADIOS, - description: 'NAV1 signal strength', - type: Type.UInt32, - permission: 'r', - }), - nav1BearingToVOR: new Offset({ - value: 0xC56, - name: 'nav1BearingToVOR', - category: OffsetCategory.RADIOS, - description: 'NAV1 relative bearing to VOR - degrees', - type: Type.UInt16, - permission: 'r', - }), - nav2LocNeedlePosition: new Offset({ - value: 0xC59, - name: 'nav2LocNeedlePosition', - category: OffsetCategory.RADIOS, - description: 'NAV2 loc needle position - percent - -ve left +ve right', - convert: 'Math.round({VAL} / 127 * 100)', - type: Type.SByte, - permission: 'r', - }), - nav2BackCourseFlags: new Offset({ - value: 0xC5A, - name: 'nav2BackCourseFlags', - category: OffsetCategory.RADIOS, - description: 'NAV2 glideslope flags', - convert: 'navBackCourseFlags', - mapping: true, - type: Type.ByteArray, - length: 8, - permission: 'r', - }), - nav2ToFrom: new Offset({ - value: 0xC5B, - name: 'nav2ToFrom', - category: OffsetCategory.RADIOS, - description: 'NAV2 TO/FROM flag - values: off/to/from', - convert: 'vorToFrom', - mapping: true, - type: Type.Byte, - permission: 'r', - }), - nav2BearingToVOR: new Offset({ - value: 0xC5C, - name: 'nav2BearingToVOR', - category: OffsetCategory.RADIOS, - description: 'NAV2 relative bearing to VOR - degrees', - type: Type.UInt16, - permission: 'r', - }), - nav2Obs: new Offset({ - value: 0xC5E, - name: 'nav2Obs', - category: OffsetCategory.RADIOS, - description: 'NAV2 obs setting - degrees', - type: Type.Int16, - permission: 'rw', - }), - nav2Radial: new Offset({ - value: 0xC60, - name: 'nav2Radial', - category: OffsetCategory.RADIOS, - description: 'NAV2 radial - degrees - MAG for VOR, TRUE for ILS LOC', - convert: 'Math.round({VAL} * 360 / 65536)', - type: Type.UInt16, - permission: 'r', - }), - nav2SignalStrength: new Offset({ - value: 0xC62, - name: 'nav2SignalStrength', - category: OffsetCategory.RADIOS, - description: 'NAV2 signal strength', - type: Type.UInt32, - permission: 'r', - }), - adf1BearingToNDB: new Offset({ - value: 0xC6A, - name: 'adf1BearingToNDB', - category: OffsetCategory.RADIOS, - description: 'ADF1 relative bearing to NDB - degrees - -ve left, +ve right', - convert: 'Math.round({VAL} * 360 / 65536)', - type: Type.Int16, - permission: 'r', - }), - adf1DialBearing: new Offset({ - value: 0xC6C, - name: 'adf1DialBearing', - category: OffsetCategory.RADIOS, - description: 'ADF1 dial bearing - degrees', - type: Type.UInt16, - permission: 'rw', - }), - nav2GlideslopeNeedlePosition: new Offset({ - value: 0xC6E, - name: 'nav2GlideslopeNeedlePosition', - category: OffsetCategory.RADIOS, - description: 'NAV2 glideslope needle position - percent - -ve up +ve down', - convert: 'Math.round({VAL} / 127 * 100)', - type: Type.SByte, - permission: 'r', - }), - nav2GlideslopeActive: new Offset({ - value: 0xC6F, - name: 'nav2GlideslopeActive', - category: OffsetCategory.RADIOS, - description: 'NAV2 glideslope flag', - convert: '!!{VAL}', - type: Type.Byte, - permission: 'r', - }), - nav2Capabilities: new Offset({ - value: 0xC70, - name: 'nav2Capabilities', - category: OffsetCategory.RADIOS, - description: 'NAV2 capabilities', - convert: 'navCapabilities', - mapping: true, - type: Type.ByteArray, - length: 8, - permission: 'r', - }), }; diff --git a/src/lib/offsets/plane/radios/adf1.ts b/src/lib/offsets/plane/radios/adf1.ts new file mode 100644 index 0000000..251c494 --- /dev/null +++ b/src/lib/offsets/plane/radios/adf1.ts @@ -0,0 +1,50 @@ +import { Type } from 'fsuipc'; + +import { OffsetCategory } from '@shared/offset-category'; +import { OffsetList } from '@shared/offset-list'; +import { Offset } from '@shared/offset'; + +export const ADF1: OffsetList = { + adfFreq: new Offset({ + value: 0x34C, + name: 'adfFreq', + category: OffsetCategory.RADIOS, + description: 'ADF frequency show as Binary Coded Decimal. The thousands digit and the fractional parts are provided in adfFreqExtended', + type: Type.UInt16, + convert: '+({VAL}).toString(16)', + permission: 'rw', + }), + adfFreqExtended: new Offset({ + value: 0x356, + name: 'adfFreqExtended', + category: OffsetCategory.RADIOS, + description: 'ADF frequency extended', + type: Type.UInt16, + permission: 'rw', + }), + adf1SignalStrength: new Offset({ + value: 0xC1C, + name: 'adf1SignalStrength', + category: OffsetCategory.RADIOS, + description: 'ADF1 signal strength', + type: Type.UInt32, + permission: 'r', + }), + adf1BearingToNDB: new Offset({ + value: 0xC6A, + name: 'adf1BearingToNDB', + category: OffsetCategory.RADIOS, + description: 'ADF1 relative bearing to NDB - degrees - -ve left, +ve right', + convert: 'Math.round({VAL} * 360 / 65536)', + type: Type.Int16, + permission: 'r', + }), + adf1DialBearing: new Offset({ + value: 0xC6C, + name: 'adf1DialBearing', + category: OffsetCategory.RADIOS, + description: 'ADF1 dial bearing - degrees', + type: Type.UInt16, + permission: 'rw', + }), +}; diff --git a/src/lib/offsets/plane/radios/adf2.ts b/src/lib/offsets/plane/radios/adf2.ts new file mode 100644 index 0000000..b92eaa9 --- /dev/null +++ b/src/lib/offsets/plane/radios/adf2.ts @@ -0,0 +1,69 @@ +import { Type } from 'fsuipc'; + +import { OffsetCategory } from '@shared/offset-category'; +import { OffsetList } from '@shared/offset-list'; +import { Offset } from '@shared/offset'; + +export const ADF2: OffsetList = { + adf2Freq: new Offset({ + value: 0x2D4, + name: 'adf2Freq', + category: OffsetCategory.RADIOS, + description: 'ADF 2 freq - Main 3 digits in BCD - FS2004', + type: Type.UInt16, + convert: '+({VAL}).toString(16)', + permission: 'rw', + }), + adf2ExtendedFreq: new Offset({ + value: 0x2D6, + name: 'adf2ExtendedFreq', + category: OffsetCategory.RADIOS, + description: 'ADF 2 extended freq - in BCD - FS2004', + type: Type.UInt16, + permission: 'rw', + }), + adf2RelBearing: new Offset({ + value: 0x2D8, + name: 'adf2RelBearing', + category: OffsetCategory.RADIOS, + description: 'ADF2 Rel Bearing - FS2004', + convert: 'Math.round({VAL} * 360 / 65536)', + type: Type.Int16, + permission: 'r', + }), + ndb2Identity: new Offset({ + value: 0x2DC, + name: 'ndb2Identity', + category: OffsetCategory.RADIOS, + description: 'NDB2 identity - FS2004', + type: Type.String, + length: 6, + permission: 'r', + }), + ndb2Name: new Offset({ + value: 0x2E2, + name: 'ndb2Name', + category: OffsetCategory.RADIOS, + description: 'NDB2 name - FS2004', + type: Type.String, + length: 25, + permission: 'r', + }), + ndb2IdentSoundSwitch: new Offset({ + value: 0x2FB, + name: 'ndb2IdentSoundSwitch', + category: OffsetCategory.RADIOS, + description: 'NDB2 ident sound switch - FS2004', + type: Type.Byte, + convert: '!!{VAL}', + permission: 'rw', + }), + adf2SignalStrength: new Offset({ + value: 0xC14, + name: 'adf2SignalStrength', + category: OffsetCategory.RADIOS, + description: 'ADF2 signal strength', + type: Type.UInt32, + permission: 'r', + }), +}; diff --git a/src/lib/offsets/plane/radios/nav1.ts b/src/lib/offsets/plane/radios/nav1.ts new file mode 100644 index 0000000..d6baa81 --- /dev/null +++ b/src/lib/offsets/plane/radios/nav1.ts @@ -0,0 +1,273 @@ +import { Type } from 'fsuipc'; + +import { OffsetCategory } from '@shared/offset-category'; +import { OffsetList } from '@shared/offset-list'; +import { Offset } from '@shared/offset'; + +export const NAV1: OffsetList = { + vor1DMEDistance: new Offset({ + value: 0x300, + name: 'vor1DMEDistance', + category: OffsetCategory.RADIOS, + description: 'VOR1 DME distance - nm', + convert: '{VAL} / 10', + type: Type.UInt16, + permission: 'r', + }), + vor1DMESpeed: new Offset({ + value: 0x302, + name: 'vor1DMESpeed', + category: OffsetCategory.RADIOS, + description: 'VOR1 DME speed - kt', + convert: '{VAL} / 10', + type: Type.UInt16, + permission: 'r', + }), + vor1DMETimeToStation: new Offset({ + value: 0x304, + name: 'vor1DMETimeToStation', + category: OffsetCategory.RADIOS, + description: 'VOR1 DME time to station - sec', + convert: '{VAL} / 10', + type: Type.UInt16, + permission: 'r', + }), + nav1Freq: new Offset({ + value: 0x350, + name: 'nav1Freq', + category: OffsetCategory.RADIOS, + description: 'NAV1 frequency', + type: Type.UInt16, + convert: 'parseInt(`1` + ({VAL}).toString(16))', + permission: 'rw', + }), + hasNav1: new Offset({ + value: 0x7A0, + name: 'hasNav1', + category: OffsetCategory.RADIOS, + description: 'has NAV1', + convert: '!!{VAL}', + type: Type.UInt32, + permission: 'rw', + }), + vor1OrILSGlideSlopeLatitude: new Offset({ + value: 0x85C, + name: 'vor1OrILSGlideSlopeLatitude', + category: OffsetCategory.RADIOS, + description: 'VOR 1 latitude OR NAV1 ILS glideslope latitude', + type: Type.Int32, + convert: '{VAL} * 90 / 10001750', + permission: 'r', + }), + vor1OrILSGlideSlopeLongitude: new Offset({ + value: 0x864, + name: 'vor1OrILSGlideSlopeLongitude', + category: OffsetCategory.RADIOS, + description: 'VOR 1 or NAV 1 ILS glideslope longitude', + type: Type.Int32, + convert: '{VAL} * 360 / (65536 * 65536)', + permission: 'r', + }), + vor1OrILSGlideSlopeElevation: new Offset({ + value: 0x86C, + name: 'vor1OrILSGlideSlopeElevation', + category: OffsetCategory.RADIOS, + description: 'VOR 1 or NAV1 ILS glideslope elevation - meters - FS2002+', + type: Type.Int32, + convert: '+({VAL} * 3.28084).toFixed(2)', + permission: 'r', + }), + vor1ILSLocHeadingTrue: new Offset({ + value: 0x870, + name: 'vor1LocHeadingTrue', + category: OffsetCategory.RADIOS, + description: 'VOR 1 ILS LOC heading - TRUE - -180 different to aircraft direction to follow localiser', + type: Type.UInt16, + convert: '+({VAL} * 360 / 65536).toFixed(2)', + permission: 'r', + }), + vor1GlideSlopeAngle: new Offset({ + value: 0x872, + name: 'vor1GlideSlopeAngle', + category: OffsetCategory.RADIOS, + description: 'VOR 1 ILS glideslope Angle', + type: Type.Int16, + convert: '+({VAL} * 360 / 65536).toFixed(2)', + permission: 'r', + }), + vor1LocLatitude: new Offset({ + value: 0x874, + name: 'vor1LocLatitude', + category: OffsetCategory.RADIOS, + description: 'VOR 1 or NAV1 ILS LOC latitude - FS2002+', + type: Type.Int32, + convert: '{VAL} * 90 / 10001750', + permission: 'r', + }), + vor1LocLongitude: new Offset({ + value: 0x878, + name: 'vor1LocLongitude', + category: OffsetCategory.RADIOS, + description: 'VOR 1 or NAV1 ILS LOC longitude - FS2002+', + type: Type.Int32, + convert: '{VAL} * 360 / (65536 * 65536)', + permission: 'r', + }), + vor1LocElevation: new Offset({ + value: 0x87C, + name: 'vor1LocElevation', + category: OffsetCategory.RADIOS, + description: 'VOR 1 or NAV1 ILS LOC elevation - meters - FS2002+', + type: Type.Int32, + convert: '+({VAL} * 3.28084).toFixed(2)', + permission: 'r', + }), + vor1DmeLatitude: new Offset({ + value: 0x880, + name: 'vor1DmeLatitude', + category: OffsetCategory.RADIOS, + description: 'VOR 1 DME latitude - FS2002+', + type: Type.Int32, + convert: '{VAL} * 90 / 10001750', + permission: 'r', + }), + vor1DmeLongitude: new Offset({ + value: 0x884, + name: 'vor1DmeLongitude', + category: OffsetCategory.RADIOS, + description: 'VOR 1 DME longitude - FS2002+', + type: Type.Int32, + convert: '{VAL} * 360 / (65536 * 65536)', + permission: 'r', + }), + vor1DmeElevation: new Offset({ + value: 0x88A, + name: 'vor1DmeElevation', + category: OffsetCategory.RADIOS, + description: 'VOR 1 DME elevation - ft - FS2002+', + type: Type.Int32, + convert: '+({VAL} * 3.28084).toFixed(2)', + permission: 'r', + }), + dme1Distance: new Offset({ + value: 0xC29, + name: 'dme1Distance', + category: OffsetCategory.RADIOS, + description: 'DME1 distance - nm', + convert: '+{VAL}', + type: Type.String, + length: 5, + permission: 'r', + }), + dme1Speed: new Offset({ + value: 0xC2E, + name: 'dme1Speed', + category: OffsetCategory.RADIOS, + description: 'DME1 speed - kt', + convert: '+{VAL}', + type: Type.String, + length: 5, + permission: 'r', + }), + nav1MagVar: new Offset({ + value: 0xC40, + name: 'nav1MagVar', + category: OffsetCategory.RADIOS, + description: 'NAV1 mag var', + convert: 'Math.round({VAL} * 360 / 65536)', + type: Type.Int16, + permission: 'r', + }), + nav1LocNeedlePosition: new Offset({ + value: 0xC48, + name: 'nav1LocNeedlePosition', + category: OffsetCategory.RADIOS, + description: 'NAV1 loc needle position - percent - -ve left +ve right', + convert: 'Math.round({VAL} / 127 * 100)', + type: Type.SByte, + permission: 'r', + }), + nav1GlideslopeNeedlePosition: new Offset({ + value: 0xC49, + name: 'nav1GlideslopeNeedlePosition', + category: OffsetCategory.RADIOS, + description: 'NAV1 glideslope needle position - percent - -ve up +ve down', + convert: 'Math.round({VAL} / 127 * 100)', + type: Type.SByte, + permission: 'r', + }), + nav1BackCourseFlags: new Offset({ + value: 0xC4A, + name: 'nav1BackCourseFlags', + category: OffsetCategory.RADIOS, + description: 'NAV1 glideslope flags', + convert: 'navBackCourseFlags', + mapping: true, + type: Type.ByteArray, + length: 8, + permission: 'r', + }), + nav1ToFrom: new Offset({ + value: 0xC4B, + name: 'nav1ToFrom', + category: OffsetCategory.RADIOS, + description: 'NAV1 TO/FROM flag - values: off/to/from', + convert: 'vorToFrom', + mapping: true, + type: Type.Byte, + permission: 'r', + }), + nav1GlideslopeActive: new Offset({ + value: 0xC4C, + name: 'nav1GlideslopeActive', + category: OffsetCategory.RADIOS, + description: 'NAV1 glideslope flag', + convert: '!!{VAL}', + type: Type.Byte, + permission: 'r', + }), + nav1Capabilities: new Offset({ + value: 0xC4D, + name: 'nav1Capabilities', + category: OffsetCategory.RADIOS, + description: 'NAV1 capabilities', + convert: 'navCapabilities', + mapping: true, + type: Type.ByteArray, + length: 8, + permission: 'r', + }), + nav1Obs: new Offset({ + value: 0xC4E, + name: 'nav1Obs', + category: OffsetCategory.RADIOS, + description: 'NAV1 obs setting - degrees', + type: Type.Int16, + permission: 'rw', + }), + nav1Radial: new Offset({ + value: 0xC50, + name: 'nav1Radial', + category: OffsetCategory.RADIOS, + description: 'NAV1 radial - degrees - MAG for VOR, TRUE for ILS LOC', + convert: 'Math.round({VAL} * 360 / 65536)', + type: Type.UInt16, + permission: 'r', + }), + nav1SignalStrength: new Offset({ + value: 0xC52, + name: 'nav1SignalStrength', + category: OffsetCategory.RADIOS, + description: 'NAV1 signal strength', + type: Type.UInt32, + permission: 'r', + }), + nav1BearingToVOR: new Offset({ + value: 0xC56, + name: 'nav1BearingToVOR', + category: OffsetCategory.RADIOS, + description: 'NAV1 relative bearing to VOR - degrees', + type: Type.UInt16, + permission: 'r', + }), +}; diff --git a/src/lib/offsets/plane/radios/nav2.ts b/src/lib/offsets/plane/radios/nav2.ts new file mode 100644 index 0000000..196b3f2 --- /dev/null +++ b/src/lib/offsets/plane/radios/nav2.ts @@ -0,0 +1,273 @@ +import { Type } from 'fsuipc'; + +import { OffsetCategory } from '@shared/offset-category'; +import { OffsetList } from '@shared/offset-list'; +import { Offset } from '@shared/offset'; + +export const NAV2: OffsetList = { + vor2DMEDistance: new Offset({ + value: 0x306, + name: 'vor2DMEDistance', + category: OffsetCategory.RADIOS, + description: 'VOR2 DME distance - nm', + convert: '{VAL} / 10', + type: Type.UInt16, + permission: 'r', + }), + vor2DMESpeed: new Offset({ + value: 0x308, + name: 'vor2DMESpeed', + category: OffsetCategory.RADIOS, + description: 'VOR2 DME speed - kt', + convert: '{VAL} / 10', + type: Type.UInt16, + permission: 'r', + }), + vor2DMETimeToStation: new Offset({ + value: 0x30A, + name: 'vor2DMETimeToStation', + category: OffsetCategory.RADIOS, + description: 'VOR2 DME time to station - sec', + convert: '{VAL} / 10', + type: Type.UInt16, + permission: 'r', + }), + nav2Freq: new Offset({ + value: 0x352, + name: 'nav2Freq', + category: OffsetCategory.RADIOS, + description: 'NAV2 frequency', + type: Type.UInt16, + convert: 'parseInt(`1` + ({VAL}).toString(16))', + permission: 'rw', + }), + hasNav2: new Offset({ + value: 0x7A4, + name: 'hasNav2', + category: OffsetCategory.RADIOS, + description: 'has NAV2', + convert: '!!{VAL}', + type: Type.UInt32, + permission: 'r', + }), + vor2DmeLatitude: new Offset({ + value: 0x834, + name: 'vor2DmeLatitude', + category: OffsetCategory.RADIOS, + description: 'VOR 2 DME latitude - FS2002+', + type: Type.Int32, + convert: '{VAL} * 90 / 10001750', + permission: 'r', + }), + vor2DmeLongitude: new Offset({ + value: 0x838, + name: 'vor2DmeLongitude', + category: OffsetCategory.RADIOS, + description: 'VOR 2 DME longitude - FS2002+', + type: Type.Int32, + convert: '{VAL} * 360 / (65536 * 65536)', + permission: 'r', + }), + vor2DmeElevation: new Offset({ + value: 0x83C, + name: 'vor2DmeElevation', + category: OffsetCategory.RADIOS, + description: 'VOR 2 DME elevation - meters - FS2002+', + type: Type.Int32, + convert: '+({VAL} * 3.28084).toFixed(2)', + permission: 'r', + }), + vor2ILSLocHeadingTrue: new Offset({ + value: 0x844, + name: 'vor2ILSLocHeadingTrue', + category: OffsetCategory.RADIOS, + description: 'NAV2 ILS Localiser inverse runway heading if VOR 2 is ILS - TRUE - FS2002+ - 180 different to aircraft direction to follow localiser', + type: Type.UInt16, + convert: '+({VAL} * 360 / 65536).toFixed(2)', + permission: 'r', + }), + vor2ILSGlideSlopeAngle: new Offset({ + value: 0x846, + name: 'vor2ILSGlideSlopeAngle', + category: OffsetCategory.RADIOS, + description: 'VOR 2 ILS GlideSlope Angle', + type: Type.Int16, + convert: '+({VAL} * 360 / 65536).toFixed(2)', + permission: 'r', + }), + vor2LocLatitude: new Offset({ + value: 0x84C, + name: 'vor2LocLatitude', + category: OffsetCategory.RADIOS, + description: 'VOR 2 or NAV2 ILS LOC latitude - FS2002+', + type: Type.Int32, + convert: '{VAL} * 90 / 10001750', + permission: 'r', + }), + vor2LocLongitude: new Offset({ + value: 0x850, + name: 'vor2LocLongitude', + category: OffsetCategory.RADIOS, + description: 'VOR 2 or NAV2 ILS LOC longitude - FS2002+', + type: Type.Int32, + convert: '{VAL} * 360 / (65536 * 65536)', + permission: 'r', + }), + vor2LocElevation: new Offset({ + value: 0x854, + name: 'vor2LocElevation', + category: OffsetCategory.RADIOS, + description: 'VOR 2 or NAV2 ILS LOC elevation - meters - FS2002+', + type: Type.Int32, + convert: '+({VAL} * 3.28084).toFixed(2)', + permission: 'r', + }), + vor2OrILSGlideSlopeLatitude: new Offset({ + value: 0x858, + name: 'vor2OrILSGlideSlopeLatitude', + category: OffsetCategory.RADIOS, + description: 'VOR 2 latitude or NAV2 ILS glideslope latitude - FS2002+', + type: Type.Int32, + convert: '{VAL} * 90 / 10001750', + permission: 'r', + }), + vor2OrILSGlideSlopeLongitude: new Offset({ + value: 0x860, + name: 'vor2OrILSGlideSlopeLongitude', + category: OffsetCategory.RADIOS, + description: 'VOR 2 or NAV 2 ILS glideslope longitude - FS2002+', + type: Type.Int32, + convert: '{VAL} * 360 / (65536 * 65536)', + permission: 'r', + }), + vor2OrILSGlideSlopeElevation: new Offset({ + value: 0x868, + name: 'vor2OrILSGlideSlopeElevation', + category: OffsetCategory.RADIOS, + description: 'VOR 2 or NAV2 ILS glideslope elevation - meters - FS2002+', + type: Type.Int32, + convert: '+({VAL} * 3.28084).toFixed(2)', + permission: 'r', + }), + dme2Distance: new Offset({ + value: 0xC33, + name: 'dme2Distance', + category: OffsetCategory.RADIOS, + description: 'DME2 distance - nm', + convert: '+{VAL}', + type: Type.String, + length: 5, + permission: 'r', + }), + dme2Speed: new Offset({ + value: 0xC38, + name: 'dme2Speed', + category: OffsetCategory.RADIOS, + description: 'DME2 speed - kt', + convert: '+{VAL}', + type: Type.String, + length: 5, + permission: 'r', + }), + nav2MagVar: new Offset({ + value: 0xC42, + name: 'nav2MagVar', + category: OffsetCategory.RADIOS, + description: 'NAV2 mag var', + convert: 'Math.round({VAL} * 360 / 65536)', + type: Type.Int16, + permission: 'r', + }), + nav2LocNeedlePosition: new Offset({ + value: 0xC59, + name: 'nav2LocNeedlePosition', + category: OffsetCategory.RADIOS, + description: 'NAV2 loc needle position - percent - -ve left +ve right', + convert: 'Math.round({VAL} / 127 * 100)', + type: Type.SByte, + permission: 'r', + }), + nav2BackCourseFlags: new Offset({ + value: 0xC5A, + name: 'nav2BackCourseFlags', + category: OffsetCategory.RADIOS, + description: 'NAV2 glideslope flags', + convert: 'navBackCourseFlags', + mapping: true, + type: Type.ByteArray, + length: 8, + permission: 'r', + }), + nav2ToFrom: new Offset({ + value: 0xC5B, + name: 'nav2ToFrom', + category: OffsetCategory.RADIOS, + description: 'NAV2 TO/FROM flag - values: off/to/from', + convert: 'vorToFrom', + mapping: true, + type: Type.Byte, + permission: 'r', + }), + nav2BearingToVOR: new Offset({ + value: 0xC5C, + name: 'nav2BearingToVOR', + category: OffsetCategory.RADIOS, + description: 'NAV2 relative bearing to VOR - degrees', + type: Type.UInt16, + permission: 'r', + }), + nav2Obs: new Offset({ + value: 0xC5E, + name: 'nav2Obs', + category: OffsetCategory.RADIOS, + description: 'NAV2 obs setting - degrees', + type: Type.Int16, + permission: 'rw', + }), + nav2Radial: new Offset({ + value: 0xC60, + name: 'nav2Radial', + category: OffsetCategory.RADIOS, + description: 'NAV2 radial - degrees - MAG for VOR, TRUE for ILS LOC', + convert: 'Math.round({VAL} * 360 / 65536)', + type: Type.UInt16, + permission: 'r', + }), + nav2SignalStrength: new Offset({ + value: 0xC62, + name: 'nav2SignalStrength', + category: OffsetCategory.RADIOS, + description: 'NAV2 signal strength', + type: Type.UInt32, + permission: 'r', + }), + nav2GlideslopeNeedlePosition: new Offset({ + value: 0xC6E, + name: 'nav2GlideslopeNeedlePosition', + category: OffsetCategory.RADIOS, + description: 'NAV2 glideslope needle position - percent - -ve up +ve down', + convert: 'Math.round({VAL} / 127 * 100)', + type: Type.SByte, + permission: 'r', + }), + nav2GlideslopeActive: new Offset({ + value: 0xC6F, + name: 'nav2GlideslopeActive', + category: OffsetCategory.RADIOS, + description: 'NAV2 glideslope flag', + convert: '!!{VAL}', + type: Type.Byte, + permission: 'r', + }), + nav2Capabilities: new Offset({ + value: 0xC70, + name: 'nav2Capabilities', + category: OffsetCategory.RADIOS, + description: 'NAV2 capabilities', + convert: 'navCapabilities', + mapping: true, + type: Type.ByteArray, + length: 8, + permission: 'r', + }), +}; diff --git a/tests/offsets/__snapshots__/offset.spec.ts.snap b/tests/offsets/__snapshots__/offset.spec.ts.snap index ba3149a..e2223ec 100644 --- a/tests/offsets/__snapshots__/offset.spec.ts.snap +++ b/tests/offsets/__snapshots__/offset.spec.ts.snap @@ -255,105 +255,6 @@ Object { "type": 12, "value": 2184, }, - "adf1BearingToNDB": Offset { - "category": "radios", - "convert": "Math.round({VAL} * 360 / 65536)", - "description": "ADF1 relative bearing to NDB - degrees - -ve left, +ve right", - "length": undefined, - "mapping": undefined, - "name": "adf1BearingToNDB", - "permission": "r", - "type": 2, - "value": 3178, - }, - "adf1DialBearing": Offset { - "category": "radios", - "convert": undefined, - "description": "ADF1 dial bearing - degrees", - "length": undefined, - "mapping": undefined, - "name": "adf1DialBearing", - "permission": "rw", - "type": 5, - "value": 3180, - }, - "adf1SignalStrength": Offset { - "category": "radios", - "convert": undefined, - "description": "ADF1 signal strength", - "length": undefined, - "mapping": undefined, - "name": "adf1SignalStrength", - "permission": "r", - "type": 6, - "value": 3100, - }, - "adf2ExtendedFreq": Offset { - "category": "radios", - "convert": undefined, - "description": "ADF 2 extended freq - in BCD - FS2004", - "length": undefined, - "mapping": undefined, - "name": "adf2ExtendedFreq", - "permission": "rw", - "type": 5, - "value": 726, - }, - "adf2Freq": Offset { - "category": "radios", - "convert": "+({VAL}).toString(16)", - "description": "ADF 2 freq - Main 3 digits in BCD - FS2004", - "length": undefined, - "mapping": undefined, - "name": "adf2Freq", - "permission": "rw", - "type": 5, - "value": 724, - }, - "adf2RelBearing": Offset { - "category": "radios", - "convert": "Math.round({VAL} * 360 / 65536)", - "description": "ADF2 Rel Bearing - FS2004", - "length": undefined, - "mapping": undefined, - "name": "adf2RelBearing", - "permission": "r", - "type": 2, - "value": 728, - }, - "adf2SignalStrength": Offset { - "category": "radios", - "convert": undefined, - "description": "ADF2 signal strength", - "length": undefined, - "mapping": undefined, - "name": "adf2SignalStrength", - "permission": "r", - "type": 6, - "value": 3092, - }, - "adfFreq": Offset { - "category": "radios", - "convert": "+({VAL}).toString(16)", - "description": "ADF frequency show as Binary Coded Decimal. The thousands digit and the fractional parts are provided in adfFreqExtended", - "length": undefined, - "mapping": undefined, - "name": "adfFreq", - "permission": "rw", - "type": 5, - "value": 844, - }, - "adfFreqExtended": Offset { - "category": "radios", - "convert": undefined, - "description": "ADF frequency extended", - "length": undefined, - "mapping": undefined, - "name": "adfFreqExtended", - "permission": "rw", - "type": 5, - "value": 854, - }, "adfFreqInc": Offset { "category": "simulation", "convert": "({VAL}) === 0 ? 1.0 : 0.1", @@ -1135,50 +1036,6 @@ Object { "type": 5, "value": 888, }, - "dme1Distance": Offset { - "category": "radios", - "convert": "+{VAL}", - "description": "DME1 distance - nm", - "length": 5, - "mapping": undefined, - "name": "dme1Distance", - "permission": "r", - "type": 11, - "value": 3113, - }, - "dme1Speed": Offset { - "category": "radios", - "convert": "+{VAL}", - "description": "DME1 speed - kt", - "length": 5, - "mapping": undefined, - "name": "dme1Speed", - "permission": "r", - "type": 11, - "value": 3118, - }, - "dme2Distance": Offset { - "category": "radios", - "convert": "+{VAL}", - "description": "DME2 distance - nm", - "length": 5, - "mapping": undefined, - "name": "dme2Distance", - "permission": "r", - "type": 11, - "value": 3123, - }, - "dme2Speed": Offset { - "category": "radios", - "convert": "+{VAL}", - "description": "DME2 speed - kt", - "length": 5, - "mapping": undefined, - "name": "dme2Speed", - "permission": "r", - "type": 11, - "value": 3128, - }, "elapsedRealTime": Offset { "category": "simulation", "convert": undefined, @@ -3038,28 +2895,6 @@ Object { "type": 6, "value": 1920, }, - "hasNav1": Offset { - "category": "radios", - "convert": "!!{VAL}", - "description": "has NAV1", - "length": undefined, - "mapping": undefined, - "name": "hasNav1", - "permission": "rw", - "type": 6, - "value": 1952, - }, - "hasNav2": Offset { - "category": "radios", - "convert": "!!{VAL}", - "description": "has NAV2", - "length": undefined, - "mapping": undefined, - "name": "hasNav2", - "permission": "r", - "type": 6, - "value": 1956, - }, "hasSpoilers": Offset { "category": "plane", "convert": "!!{VAL}", @@ -4006,270 +3841,6 @@ Object { "type": 5, "value": 884, }, - "nav1BackCourseFlags": Offset { - "category": "radios", - "convert": "navBackCourseFlags", - "description": "NAV1 glideslope flags", - "length": 8, - "mapping": true, - "name": "nav1BackCourseFlags", - "permission": "r", - "type": 10, - "value": 3146, - }, - "nav1BearingToVOR": Offset { - "category": "radios", - "convert": undefined, - "description": "NAV1 relative bearing to VOR - degrees", - "length": undefined, - "mapping": undefined, - "name": "nav1BearingToVOR", - "permission": "r", - "type": 5, - "value": 3158, - }, - "nav1Capabilities": Offset { - "category": "radios", - "convert": "navCapabilities", - "description": "NAV1 capabilities", - "length": 8, - "mapping": true, - "name": "nav1Capabilities", - "permission": "r", - "type": 10, - "value": 3149, - }, - "nav1Freq": Offset { - "category": "radios", - "convert": "parseInt(\`1\` + ({VAL}).toString(16))", - "description": "NAV1 frequency", - "length": undefined, - "mapping": undefined, - "name": "nav1Freq", - "permission": "rw", - "type": 5, - "value": 848, - }, - "nav1GlideslopeActive": Offset { - "category": "radios", - "convert": "!!{VAL}", - "description": "NAV1 glideslope flag", - "length": undefined, - "mapping": undefined, - "name": "nav1GlideslopeActive", - "permission": "r", - "type": 0, - "value": 3148, - }, - "nav1GlideslopeNeedlePosition": Offset { - "category": "radios", - "convert": "Math.round({VAL} / 127 * 100)", - "description": "NAV1 glideslope needle position - percent - -ve up +ve down", - "length": undefined, - "mapping": undefined, - "name": "nav1GlideslopeNeedlePosition", - "permission": "r", - "type": 1, - "value": 3145, - }, - "nav1LocNeedlePosition": Offset { - "category": "radios", - "convert": "Math.round({VAL} / 127 * 100)", - "description": "NAV1 loc needle position - percent - -ve left +ve right", - "length": undefined, - "mapping": undefined, - "name": "nav1LocNeedlePosition", - "permission": "r", - "type": 1, - "value": 3144, - }, - "nav1MagVar": Offset { - "category": "radios", - "convert": "Math.round({VAL} * 360 / 65536)", - "description": "NAV1 mag var", - "length": undefined, - "mapping": undefined, - "name": "nav1MagVar", - "permission": "r", - "type": 2, - "value": 3136, - }, - "nav1Obs": Offset { - "category": "radios", - "convert": undefined, - "description": "NAV1 obs setting - degrees", - "length": undefined, - "mapping": undefined, - "name": "nav1Obs", - "permission": "rw", - "type": 2, - "value": 3150, - }, - "nav1Radial": Offset { - "category": "radios", - "convert": "Math.round({VAL} * 360 / 65536)", - "description": "NAV1 radial - degrees - MAG for VOR, TRUE for ILS LOC", - "length": undefined, - "mapping": undefined, - "name": "nav1Radial", - "permission": "r", - "type": 5, - "value": 3152, - }, - "nav1SignalStrength": Offset { - "category": "radios", - "convert": undefined, - "description": "NAV1 signal strength", - "length": undefined, - "mapping": undefined, - "name": "nav1SignalStrength", - "permission": "r", - "type": 6, - "value": 3154, - }, - "nav1ToFrom": Offset { - "category": "radios", - "convert": "vorToFrom", - "description": "NAV1 TO/FROM flag - values: off/to/from", - "length": undefined, - "mapping": true, - "name": "nav1ToFrom", - "permission": "r", - "type": 0, - "value": 3147, - }, - "nav2BackCourseFlags": Offset { - "category": "radios", - "convert": "navBackCourseFlags", - "description": "NAV2 glideslope flags", - "length": 8, - "mapping": true, - "name": "nav2BackCourseFlags", - "permission": "r", - "type": 10, - "value": 3162, - }, - "nav2BearingToVOR": Offset { - "category": "radios", - "convert": undefined, - "description": "NAV2 relative bearing to VOR - degrees", - "length": undefined, - "mapping": undefined, - "name": "nav2BearingToVOR", - "permission": "r", - "type": 5, - "value": 3164, - }, - "nav2Capabilities": Offset { - "category": "radios", - "convert": "navCapabilities", - "description": "NAV2 capabilities", - "length": 8, - "mapping": true, - "name": "nav2Capabilities", - "permission": "r", - "type": 10, - "value": 3184, - }, - "nav2Freq": Offset { - "category": "radios", - "convert": "parseInt(\`1\` + ({VAL}).toString(16))", - "description": "NAV2 frequency", - "length": undefined, - "mapping": undefined, - "name": "nav2Freq", - "permission": "rw", - "type": 5, - "value": 850, - }, - "nav2GlideslopeActive": Offset { - "category": "radios", - "convert": "!!{VAL}", - "description": "NAV2 glideslope flag", - "length": undefined, - "mapping": undefined, - "name": "nav2GlideslopeActive", - "permission": "r", - "type": 0, - "value": 3183, - }, - "nav2GlideslopeNeedlePosition": Offset { - "category": "radios", - "convert": "Math.round({VAL} / 127 * 100)", - "description": "NAV2 glideslope needle position - percent - -ve up +ve down", - "length": undefined, - "mapping": undefined, - "name": "nav2GlideslopeNeedlePosition", - "permission": "r", - "type": 1, - "value": 3182, - }, - "nav2LocNeedlePosition": Offset { - "category": "radios", - "convert": "Math.round({VAL} / 127 * 100)", - "description": "NAV2 loc needle position - percent - -ve left +ve right", - "length": undefined, - "mapping": undefined, - "name": "nav2LocNeedlePosition", - "permission": "r", - "type": 1, - "value": 3161, - }, - "nav2MagVar": Offset { - "category": "radios", - "convert": "Math.round({VAL} * 360 / 65536)", - "description": "NAV2 mag var", - "length": undefined, - "mapping": undefined, - "name": "nav2MagVar", - "permission": "r", - "type": 2, - "value": 3138, - }, - "nav2Obs": Offset { - "category": "radios", - "convert": undefined, - "description": "NAV2 obs setting - degrees", - "length": undefined, - "mapping": undefined, - "name": "nav2Obs", - "permission": "rw", - "type": 2, - "value": 3166, - }, - "nav2Radial": Offset { - "category": "radios", - "convert": "Math.round({VAL} * 360 / 65536)", - "description": "NAV2 radial - degrees - MAG for VOR, TRUE for ILS LOC", - "length": undefined, - "mapping": undefined, - "name": "nav2Radial", - "permission": "r", - "type": 5, - "value": 3168, - }, - "nav2SignalStrength": Offset { - "category": "radios", - "convert": undefined, - "description": "NAV2 signal strength", - "length": undefined, - "mapping": undefined, - "name": "nav2SignalStrength", - "permission": "r", - "type": 6, - "value": 3170, - }, - "nav2ToFrom": Offset { - "category": "radios", - "convert": "vorToFrom", - "description": "NAV2 TO/FROM flag - values: off/to/from", - "length": undefined, - "mapping": true, - "name": "nav2ToFrom", - "permission": "r", - "type": 0, - "value": 3163, - }, "navAdfActivate": Offset { "category": "radios", "convert": undefined, @@ -4292,39 +3863,6 @@ Object { "type": 0, "value": 640, }, - "ndb2IdentSoundSwitch": Offset { - "category": "radios", - "convert": "!!{VAL}", - "description": "NDB2 ident sound switch - FS2004", - "length": undefined, - "mapping": undefined, - "name": "ndb2IdentSoundSwitch", - "permission": "rw", - "type": 0, - "value": 763, - }, - "ndb2Identity": Offset { - "category": "radios", - "convert": undefined, - "description": "NDB2 identity - FS2004", - "length": 6, - "mapping": undefined, - "name": "ndb2Identity", - "permission": "r", - "type": 11, - "value": 732, - }, - "ndb2Name": Offset { - "category": "radios", - "convert": undefined, - "description": "NDB2 name - FS2004", - "length": 25, - "mapping": undefined, - "name": "ndb2Name", - "permission": "r", - "type": 11, - "value": 738, - }, "nearestAirportAltitude": Offset { "category": "environment", "convert": undefined, @@ -6250,314 +5788,6 @@ Object { "type": 8, "value": 1360, }, - "vor1DMEDistance": Offset { - "category": "radios", - "convert": "{VAL} / 10", - "description": "VOR1 DME distance - nm", - "length": undefined, - "mapping": undefined, - "name": "vor1DMEDistance", - "permission": "r", - "type": 5, - "value": 768, - }, - "vor1DMESpeed": Offset { - "category": "radios", - "convert": "{VAL} / 10", - "description": "VOR1 DME speed - kt", - "length": undefined, - "mapping": undefined, - "name": "vor1DMESpeed", - "permission": "r", - "type": 5, - "value": 770, - }, - "vor1DMETimeToStation": Offset { - "category": "radios", - "convert": "{VAL} / 10", - "description": "VOR1 DME time to station - sec", - "length": undefined, - "mapping": undefined, - "name": "vor1DMETimeToStation", - "permission": "r", - "type": 5, - "value": 772, - }, - "vor1DmeElevation": Offset { - "category": "radios", - "convert": "+({VAL} * 3.28084).toFixed(2)", - "description": "VOR 1 DME elevation - ft - FS2002+", - "length": undefined, - "mapping": undefined, - "name": "vor1DmeElevation", - "permission": "r", - "type": 3, - "value": 2186, - }, - "vor1DmeLatitude": Offset { - "category": "radios", - "convert": "{VAL} * 90 / 10001750", - "description": "VOR 1 DME latitude - FS2002+", - "length": undefined, - "mapping": undefined, - "name": "vor1DmeLatitude", - "permission": "r", - "type": 3, - "value": 2176, - }, - "vor1DmeLongitude": Offset { - "category": "radios", - "convert": "{VAL} * 360 / (65536 * 65536)", - "description": "VOR 1 DME longitude - FS2002+", - "length": undefined, - "mapping": undefined, - "name": "vor1DmeLongitude", - "permission": "r", - "type": 3, - "value": 2180, - }, - "vor1GlideSlopeAngle": Offset { - "category": "radios", - "convert": "+({VAL} * 360 / 65536).toFixed(2)", - "description": "VOR 1 ILS glideslope Angle", - "length": undefined, - "mapping": undefined, - "name": "vor1GlideSlopeAngle", - "permission": "r", - "type": 2, - "value": 2162, - }, - "vor1ILSLocHeadingTrue": Offset { - "category": "radios", - "convert": "+({VAL} * 360 / 65536).toFixed(2)", - "description": "VOR 1 ILS LOC heading - TRUE - -180 different to aircraft direction to follow localiser", - "length": undefined, - "mapping": undefined, - "name": "vor1LocHeadingTrue", - "permission": "r", - "type": 5, - "value": 2160, - }, - "vor1LocElevation": Offset { - "category": "radios", - "convert": "+({VAL} * 3.28084).toFixed(2)", - "description": "VOR 1 or NAV1 ILS LOC elevation - meters - FS2002+", - "length": undefined, - "mapping": undefined, - "name": "vor1LocElevation", - "permission": "r", - "type": 3, - "value": 2172, - }, - "vor1LocLatitude": Offset { - "category": "radios", - "convert": "{VAL} * 90 / 10001750", - "description": "VOR 1 or NAV1 ILS LOC latitude - FS2002+", - "length": undefined, - "mapping": undefined, - "name": "vor1LocLatitude", - "permission": "r", - "type": 3, - "value": 2164, - }, - "vor1LocLongitude": Offset { - "category": "radios", - "convert": "{VAL} * 360 / (65536 * 65536)", - "description": "VOR 1 or NAV1 ILS LOC longitude - FS2002+", - "length": undefined, - "mapping": undefined, - "name": "vor1LocLongitude", - "permission": "r", - "type": 3, - "value": 2168, - }, - "vor1OrILSGlideSlopeElevation": Offset { - "category": "radios", - "convert": "+({VAL} * 3.28084).toFixed(2)", - "description": "VOR 1 or NAV1 ILS glideslope elevation - meters - FS2002+", - "length": undefined, - "mapping": undefined, - "name": "vor1OrILSGlideSlopeElevation", - "permission": "r", - "type": 3, - "value": 2156, - }, - "vor1OrILSGlideSlopeLatitude": Offset { - "category": "radios", - "convert": "{VAL} * 90 / 10001750", - "description": "VOR 1 latitude OR NAV1 ILS glideslope latitude", - "length": undefined, - "mapping": undefined, - "name": "vor1OrILSGlideSlopeLatitude", - "permission": "r", - "type": 3, - "value": 2140, - }, - "vor1OrILSGlideSlopeLongitude": Offset { - "category": "radios", - "convert": "{VAL} * 360 / (65536 * 65536)", - "description": "VOR 1 or NAV 1 ILS glideslope longitude", - "length": undefined, - "mapping": undefined, - "name": "vor1OrILSGlideSlopeLongitude", - "permission": "r", - "type": 3, - "value": 2148, - }, - "vor2DMEDistance": Offset { - "category": "radios", - "convert": "{VAL} / 10", - "description": "VOR2 DME distance - nm", - "length": undefined, - "mapping": undefined, - "name": "vor2DMEDistance", - "permission": "r", - "type": 5, - "value": 774, - }, - "vor2DMESpeed": Offset { - "category": "radios", - "convert": "{VAL} / 10", - "description": "VOR2 DME speed - kt", - "length": undefined, - "mapping": undefined, - "name": "vor2DMESpeed", - "permission": "r", - "type": 5, - "value": 776, - }, - "vor2DMETimeToStation": Offset { - "category": "radios", - "convert": "{VAL} / 10", - "description": "VOR2 DME time to station - sec", - "length": undefined, - "mapping": undefined, - "name": "vor2DMETimeToStation", - "permission": "r", - "type": 5, - "value": 778, - }, - "vor2DmeElevation": Offset { - "category": "radios", - "convert": "+({VAL} * 3.28084).toFixed(2)", - "description": "VOR 2 DME elevation - meters - FS2002+", - "length": undefined, - "mapping": undefined, - "name": "vor2DmeElevation", - "permission": "r", - "type": 3, - "value": 2108, - }, - "vor2DmeLatitude": Offset { - "category": "radios", - "convert": "{VAL} * 90 / 10001750", - "description": "VOR 2 DME latitude - FS2002+", - "length": undefined, - "mapping": undefined, - "name": "vor2DmeLatitude", - "permission": "r", - "type": 3, - "value": 2100, - }, - "vor2DmeLongitude": Offset { - "category": "radios", - "convert": "{VAL} * 360 / (65536 * 65536)", - "description": "VOR 2 DME longitude - FS2002+", - "length": undefined, - "mapping": undefined, - "name": "vor2DmeLongitude", - "permission": "r", - "type": 3, - "value": 2104, - }, - "vor2ILSGlideSlopeAngle": Offset { - "category": "radios", - "convert": "+({VAL} * 360 / 65536).toFixed(2)", - "description": "VOR 2 ILS GlideSlope Angle", - "length": undefined, - "mapping": undefined, - "name": "vor2ILSGlideSlopeAngle", - "permission": "r", - "type": 2, - "value": 2118, - }, - "vor2ILSLocHeadingTrue": Offset { - "category": "radios", - "convert": "+({VAL} * 360 / 65536).toFixed(2)", - "description": "NAV2 ILS Localiser inverse runway heading if VOR 2 is ILS - TRUE - FS2002+ - 180 different to aircraft direction to follow localiser", - "length": undefined, - "mapping": undefined, - "name": "vor2ILSLocHeadingTrue", - "permission": "r", - "type": 5, - "value": 2116, - }, - "vor2LocElevation": Offset { - "category": "radios", - "convert": "+({VAL} * 3.28084).toFixed(2)", - "description": "VOR 2 or NAV2 ILS LOC elevation - meters - FS2002+", - "length": undefined, - "mapping": undefined, - "name": "vor2LocElevation", - "permission": "r", - "type": 3, - "value": 2132, - }, - "vor2LocLatitude": Offset { - "category": "radios", - "convert": "{VAL} * 90 / 10001750", - "description": "VOR 2 or NAV2 ILS LOC latitude - FS2002+", - "length": undefined, - "mapping": undefined, - "name": "vor2LocLatitude", - "permission": "r", - "type": 3, - "value": 2124, - }, - "vor2LocLongitude": Offset { - "category": "radios", - "convert": "{VAL} * 360 / (65536 * 65536)", - "description": "VOR 2 or NAV2 ILS LOC longitude - FS2002+", - "length": undefined, - "mapping": undefined, - "name": "vor2LocLongitude", - "permission": "r", - "type": 3, - "value": 2128, - }, - "vor2OrILSGlideSlopeElevation": Offset { - "category": "radios", - "convert": "+({VAL} * 3.28084).toFixed(2)", - "description": "VOR 2 or NAV2 ILS glideslope elevation - meters - FS2002+", - "length": undefined, - "mapping": undefined, - "name": "vor2OrILSGlideSlopeElevation", - "permission": "r", - "type": 3, - "value": 2152, - }, - "vor2OrILSGlideSlopeLatitude": Offset { - "category": "radios", - "convert": "{VAL} * 90 / 10001750", - "description": "VOR 2 latitude or NAV2 ILS glideslope latitude - FS2002+", - "length": undefined, - "mapping": undefined, - "name": "vor2OrILSGlideSlopeLatitude", - "permission": "r", - "type": 3, - "value": 2136, - }, - "vor2OrILSGlideSlopeLongitude": Offset { - "category": "radios", - "convert": "{VAL} * 360 / (65536 * 65536)", - "description": "VOR 2 or NAV 2 ILS glideslope longitude - FS2002+", - "length": undefined, - "mapping": undefined, - "name": "vor2OrILSGlideSlopeLongitude", - "permission": "r", - "type": 3, - "value": 2144, - }, "vs": Offset { "category": "position_attitude", "convert": "Math.floor({VAL} * 60 * 3.28084 / 256)", diff --git a/tests/offsets/plane/__snapshots__/radios.spec.ts.snap b/tests/offsets/plane/__snapshots__/radios.spec.ts.snap index 2f04b08..70d3d4d 100644 --- a/tests/offsets/plane/__snapshots__/radios.spec.ts.snap +++ b/tests/offsets/plane/__snapshots__/radios.spec.ts.snap @@ -2,105 +2,6 @@ exports[`offset - plane/radios offsets list should have required properties 1`] = ` Object { - "adf1BearingToNDB": Offset { - "category": "radios", - "convert": "Math.round({VAL} * 360 / 65536)", - "description": "ADF1 relative bearing to NDB - degrees - -ve left, +ve right", - "length": undefined, - "mapping": undefined, - "name": "adf1BearingToNDB", - "permission": "r", - "type": 2, - "value": 3178, - }, - "adf1DialBearing": Offset { - "category": "radios", - "convert": undefined, - "description": "ADF1 dial bearing - degrees", - "length": undefined, - "mapping": undefined, - "name": "adf1DialBearing", - "permission": "rw", - "type": 5, - "value": 3180, - }, - "adf1SignalStrength": Offset { - "category": "radios", - "convert": undefined, - "description": "ADF1 signal strength", - "length": undefined, - "mapping": undefined, - "name": "adf1SignalStrength", - "permission": "r", - "type": 6, - "value": 3100, - }, - "adf2ExtendedFreq": Offset { - "category": "radios", - "convert": undefined, - "description": "ADF 2 extended freq - in BCD - FS2004", - "length": undefined, - "mapping": undefined, - "name": "adf2ExtendedFreq", - "permission": "rw", - "type": 5, - "value": 726, - }, - "adf2Freq": Offset { - "category": "radios", - "convert": "+({VAL}).toString(16)", - "description": "ADF 2 freq - Main 3 digits in BCD - FS2004", - "length": undefined, - "mapping": undefined, - "name": "adf2Freq", - "permission": "rw", - "type": 5, - "value": 724, - }, - "adf2RelBearing": Offset { - "category": "radios", - "convert": "Math.round({VAL} * 360 / 65536)", - "description": "ADF2 Rel Bearing - FS2004", - "length": undefined, - "mapping": undefined, - "name": "adf2RelBearing", - "permission": "r", - "type": 2, - "value": 728, - }, - "adf2SignalStrength": Offset { - "category": "radios", - "convert": undefined, - "description": "ADF2 signal strength", - "length": undefined, - "mapping": undefined, - "name": "adf2SignalStrength", - "permission": "r", - "type": 6, - "value": 3092, - }, - "adfFreq": Offset { - "category": "radios", - "convert": "+({VAL}).toString(16)", - "description": "ADF frequency show as Binary Coded Decimal. The thousands digit and the fractional parts are provided in adfFreqExtended", - "length": undefined, - "mapping": undefined, - "name": "adfFreq", - "permission": "rw", - "type": 5, - "value": 844, - }, - "adfFreqExtended": Offset { - "category": "radios", - "convert": undefined, - "description": "ADF frequency extended", - "length": undefined, - "mapping": undefined, - "name": "adfFreqExtended", - "permission": "rw", - "type": 5, - "value": 854, - }, "comAtisActivate": Offset { "category": "radios", "convert": undefined, @@ -134,72 +35,6 @@ Object { "type": 5, "value": 888, }, - "dme1Distance": Offset { - "category": "radios", - "convert": "+{VAL}", - "description": "DME1 distance - nm", - "length": 5, - "mapping": undefined, - "name": "dme1Distance", - "permission": "r", - "type": 11, - "value": 3113, - }, - "dme1Speed": Offset { - "category": "radios", - "convert": "+{VAL}", - "description": "DME1 speed - kt", - "length": 5, - "mapping": undefined, - "name": "dme1Speed", - "permission": "r", - "type": 11, - "value": 3118, - }, - "dme2Distance": Offset { - "category": "radios", - "convert": "+{VAL}", - "description": "DME2 distance - nm", - "length": 5, - "mapping": undefined, - "name": "dme2Distance", - "permission": "r", - "type": 11, - "value": 3123, - }, - "dme2Speed": Offset { - "category": "radios", - "convert": "+{VAL}", - "description": "DME2 speed - kt", - "length": 5, - "mapping": undefined, - "name": "dme2Speed", - "permission": "r", - "type": 11, - "value": 3128, - }, - "hasNav1": Offset { - "category": "radios", - "convert": "!!{VAL}", - "description": "has NAV1", - "length": undefined, - "mapping": undefined, - "name": "hasNav1", - "permission": "rw", - "type": 6, - "value": 1952, - }, - "hasNav2": Offset { - "category": "radios", - "convert": "!!{VAL}", - "description": "has NAV2", - "length": undefined, - "mapping": undefined, - "name": "hasNav2", - "permission": "r", - "type": 6, - "value": 1956, - }, "innerMarker": Offset { "category": "radios", "convert": undefined, @@ -233,270 +68,6 @@ Object { "type": 5, "value": 884, }, - "nav1BackCourseFlags": Offset { - "category": "radios", - "convert": "navBackCourseFlags", - "description": "NAV1 glideslope flags", - "length": 8, - "mapping": true, - "name": "nav1BackCourseFlags", - "permission": "r", - "type": 10, - "value": 3146, - }, - "nav1BearingToVOR": Offset { - "category": "radios", - "convert": undefined, - "description": "NAV1 relative bearing to VOR - degrees", - "length": undefined, - "mapping": undefined, - "name": "nav1BearingToVOR", - "permission": "r", - "type": 5, - "value": 3158, - }, - "nav1Capabilities": Offset { - "category": "radios", - "convert": "navCapabilities", - "description": "NAV1 capabilities", - "length": 8, - "mapping": true, - "name": "nav1Capabilities", - "permission": "r", - "type": 10, - "value": 3149, - }, - "nav1Freq": Offset { - "category": "radios", - "convert": "parseInt(\`1\` + ({VAL}).toString(16))", - "description": "NAV1 frequency", - "length": undefined, - "mapping": undefined, - "name": "nav1Freq", - "permission": "rw", - "type": 5, - "value": 848, - }, - "nav1GlideslopeActive": Offset { - "category": "radios", - "convert": "!!{VAL}", - "description": "NAV1 glideslope flag", - "length": undefined, - "mapping": undefined, - "name": "nav1GlideslopeActive", - "permission": "r", - "type": 0, - "value": 3148, - }, - "nav1GlideslopeNeedlePosition": Offset { - "category": "radios", - "convert": "Math.round({VAL} / 127 * 100)", - "description": "NAV1 glideslope needle position - percent - -ve up +ve down", - "length": undefined, - "mapping": undefined, - "name": "nav1GlideslopeNeedlePosition", - "permission": "r", - "type": 1, - "value": 3145, - }, - "nav1LocNeedlePosition": Offset { - "category": "radios", - "convert": "Math.round({VAL} / 127 * 100)", - "description": "NAV1 loc needle position - percent - -ve left +ve right", - "length": undefined, - "mapping": undefined, - "name": "nav1LocNeedlePosition", - "permission": "r", - "type": 1, - "value": 3144, - }, - "nav1MagVar": Offset { - "category": "radios", - "convert": "Math.round({VAL} * 360 / 65536)", - "description": "NAV1 mag var", - "length": undefined, - "mapping": undefined, - "name": "nav1MagVar", - "permission": "r", - "type": 2, - "value": 3136, - }, - "nav1Obs": Offset { - "category": "radios", - "convert": undefined, - "description": "NAV1 obs setting - degrees", - "length": undefined, - "mapping": undefined, - "name": "nav1Obs", - "permission": "rw", - "type": 2, - "value": 3150, - }, - "nav1Radial": Offset { - "category": "radios", - "convert": "Math.round({VAL} * 360 / 65536)", - "description": "NAV1 radial - degrees - MAG for VOR, TRUE for ILS LOC", - "length": undefined, - "mapping": undefined, - "name": "nav1Radial", - "permission": "r", - "type": 5, - "value": 3152, - }, - "nav1SignalStrength": Offset { - "category": "radios", - "convert": undefined, - "description": "NAV1 signal strength", - "length": undefined, - "mapping": undefined, - "name": "nav1SignalStrength", - "permission": "r", - "type": 6, - "value": 3154, - }, - "nav1ToFrom": Offset { - "category": "radios", - "convert": "vorToFrom", - "description": "NAV1 TO/FROM flag - values: off/to/from", - "length": undefined, - "mapping": true, - "name": "nav1ToFrom", - "permission": "r", - "type": 0, - "value": 3147, - }, - "nav2BackCourseFlags": Offset { - "category": "radios", - "convert": "navBackCourseFlags", - "description": "NAV2 glideslope flags", - "length": 8, - "mapping": true, - "name": "nav2BackCourseFlags", - "permission": "r", - "type": 10, - "value": 3162, - }, - "nav2BearingToVOR": Offset { - "category": "radios", - "convert": undefined, - "description": "NAV2 relative bearing to VOR - degrees", - "length": undefined, - "mapping": undefined, - "name": "nav2BearingToVOR", - "permission": "r", - "type": 5, - "value": 3164, - }, - "nav2Capabilities": Offset { - "category": "radios", - "convert": "navCapabilities", - "description": "NAV2 capabilities", - "length": 8, - "mapping": true, - "name": "nav2Capabilities", - "permission": "r", - "type": 10, - "value": 3184, - }, - "nav2Freq": Offset { - "category": "radios", - "convert": "parseInt(\`1\` + ({VAL}).toString(16))", - "description": "NAV2 frequency", - "length": undefined, - "mapping": undefined, - "name": "nav2Freq", - "permission": "rw", - "type": 5, - "value": 850, - }, - "nav2GlideslopeActive": Offset { - "category": "radios", - "convert": "!!{VAL}", - "description": "NAV2 glideslope flag", - "length": undefined, - "mapping": undefined, - "name": "nav2GlideslopeActive", - "permission": "r", - "type": 0, - "value": 3183, - }, - "nav2GlideslopeNeedlePosition": Offset { - "category": "radios", - "convert": "Math.round({VAL} / 127 * 100)", - "description": "NAV2 glideslope needle position - percent - -ve up +ve down", - "length": undefined, - "mapping": undefined, - "name": "nav2GlideslopeNeedlePosition", - "permission": "r", - "type": 1, - "value": 3182, - }, - "nav2LocNeedlePosition": Offset { - "category": "radios", - "convert": "Math.round({VAL} / 127 * 100)", - "description": "NAV2 loc needle position - percent - -ve left +ve right", - "length": undefined, - "mapping": undefined, - "name": "nav2LocNeedlePosition", - "permission": "r", - "type": 1, - "value": 3161, - }, - "nav2MagVar": Offset { - "category": "radios", - "convert": "Math.round({VAL} * 360 / 65536)", - "description": "NAV2 mag var", - "length": undefined, - "mapping": undefined, - "name": "nav2MagVar", - "permission": "r", - "type": 2, - "value": 3138, - }, - "nav2Obs": Offset { - "category": "radios", - "convert": undefined, - "description": "NAV2 obs setting - degrees", - "length": undefined, - "mapping": undefined, - "name": "nav2Obs", - "permission": "rw", - "type": 2, - "value": 3166, - }, - "nav2Radial": Offset { - "category": "radios", - "convert": "Math.round({VAL} * 360 / 65536)", - "description": "NAV2 radial - degrees - MAG for VOR, TRUE for ILS LOC", - "length": undefined, - "mapping": undefined, - "name": "nav2Radial", - "permission": "r", - "type": 5, - "value": 3168, - }, - "nav2SignalStrength": Offset { - "category": "radios", - "convert": undefined, - "description": "NAV2 signal strength", - "length": undefined, - "mapping": undefined, - "name": "nav2SignalStrength", - "permission": "r", - "type": 6, - "value": 3170, - }, - "nav2ToFrom": Offset { - "category": "radios", - "convert": "vorToFrom", - "description": "NAV2 TO/FROM flag - values: off/to/from", - "length": undefined, - "mapping": true, - "name": "nav2ToFrom", - "permission": "r", - "type": 0, - "value": 3163, - }, "navAdfActivate": Offset { "category": "radios", "convert": undefined, @@ -508,39 +79,6 @@ Object { "type": 5, "value": 904, }, - "ndb2IdentSoundSwitch": Offset { - "category": "radios", - "convert": "!!{VAL}", - "description": "NDB2 ident sound switch - FS2004", - "length": undefined, - "mapping": undefined, - "name": "ndb2IdentSoundSwitch", - "permission": "rw", - "type": 0, - "value": 763, - }, - "ndb2Identity": Offset { - "category": "radios", - "convert": undefined, - "description": "NDB2 identity - FS2004", - "length": 6, - "mapping": undefined, - "name": "ndb2Identity", - "permission": "r", - "type": 11, - "value": 732, - }, - "ndb2Name": Offset { - "category": "radios", - "convert": undefined, - "description": "NDB2 name - FS2004", - "length": 25, - "mapping": undefined, - "name": "ndb2Name", - "permission": "r", - "type": 11, - "value": 738, - }, "outerMarker": Offset { "category": "radios", "convert": undefined, @@ -563,313 +101,5 @@ Object { "type": 5, "value": 852, }, - "vor1DMEDistance": Offset { - "category": "radios", - "convert": "{VAL} / 10", - "description": "VOR1 DME distance - nm", - "length": undefined, - "mapping": undefined, - "name": "vor1DMEDistance", - "permission": "r", - "type": 5, - "value": 768, - }, - "vor1DMESpeed": Offset { - "category": "radios", - "convert": "{VAL} / 10", - "description": "VOR1 DME speed - kt", - "length": undefined, - "mapping": undefined, - "name": "vor1DMESpeed", - "permission": "r", - "type": 5, - "value": 770, - }, - "vor1DMETimeToStation": Offset { - "category": "radios", - "convert": "{VAL} / 10", - "description": "VOR1 DME time to station - sec", - "length": undefined, - "mapping": undefined, - "name": "vor1DMETimeToStation", - "permission": "r", - "type": 5, - "value": 772, - }, - "vor1DmeElevation": Offset { - "category": "radios", - "convert": "+({VAL} * 3.28084).toFixed(2)", - "description": "VOR 1 DME elevation - ft - FS2002+", - "length": undefined, - "mapping": undefined, - "name": "vor1DmeElevation", - "permission": "r", - "type": 3, - "value": 2186, - }, - "vor1DmeLatitude": Offset { - "category": "radios", - "convert": "{VAL} * 90 / 10001750", - "description": "VOR 1 DME latitude - FS2002+", - "length": undefined, - "mapping": undefined, - "name": "vor1DmeLatitude", - "permission": "r", - "type": 3, - "value": 2176, - }, - "vor1DmeLongitude": Offset { - "category": "radios", - "convert": "{VAL} * 360 / (65536 * 65536)", - "description": "VOR 1 DME longitude - FS2002+", - "length": undefined, - "mapping": undefined, - "name": "vor1DmeLongitude", - "permission": "r", - "type": 3, - "value": 2180, - }, - "vor1GlideSlopeAngle": Offset { - "category": "radios", - "convert": "+({VAL} * 360 / 65536).toFixed(2)", - "description": "VOR 1 ILS glideslope Angle", - "length": undefined, - "mapping": undefined, - "name": "vor1GlideSlopeAngle", - "permission": "r", - "type": 2, - "value": 2162, - }, - "vor1ILSLocHeadingTrue": Offset { - "category": "radios", - "convert": "+({VAL} * 360 / 65536).toFixed(2)", - "description": "VOR 1 ILS LOC heading - TRUE - -180 different to aircraft direction to follow localiser", - "length": undefined, - "mapping": undefined, - "name": "vor1LocHeadingTrue", - "permission": "r", - "type": 5, - "value": 2160, - }, - "vor1LocElevation": Offset { - "category": "radios", - "convert": "+({VAL} * 3.28084).toFixed(2)", - "description": "VOR 1 or NAV1 ILS LOC elevation - meters - FS2002+", - "length": undefined, - "mapping": undefined, - "name": "vor1LocElevation", - "permission": "r", - "type": 3, - "value": 2172, - }, - "vor1LocLatitude": Offset { - "category": "radios", - "convert": "{VAL} * 90 / 10001750", - "description": "VOR 1 or NAV1 ILS LOC latitude - FS2002+", - "length": undefined, - "mapping": undefined, - "name": "vor1LocLatitude", - "permission": "r", - "type": 3, - "value": 2164, - }, - "vor1LocLongitude": Offset { - "category": "radios", - "convert": "{VAL} * 360 / (65536 * 65536)", - "description": "VOR 1 or NAV1 ILS LOC longitude - FS2002+", - "length": undefined, - "mapping": undefined, - "name": "vor1LocLongitude", - "permission": "r", - "type": 3, - "value": 2168, - }, - "vor1OrILSGlideSlopeElevation": Offset { - "category": "radios", - "convert": "+({VAL} * 3.28084).toFixed(2)", - "description": "VOR 1 or NAV1 ILS glideslope elevation - meters - FS2002+", - "length": undefined, - "mapping": undefined, - "name": "vor1OrILSGlideSlopeElevation", - "permission": "r", - "type": 3, - "value": 2156, - }, - "vor1OrILSGlideSlopeLatitude": Offset { - "category": "radios", - "convert": "{VAL} * 90 / 10001750", - "description": "VOR 1 latitude OR NAV1 ILS glideslope latitude", - "length": undefined, - "mapping": undefined, - "name": "vor1OrILSGlideSlopeLatitude", - "permission": "r", - "type": 3, - "value": 2140, - }, - "vor1OrILSGlideSlopeLongitude": Offset { - "category": "radios", - "convert": "{VAL} * 360 / (65536 * 65536)", - "description": "VOR 1 or NAV 1 ILS glideslope longitude", - "length": undefined, - "mapping": undefined, - "name": "vor1OrILSGlideSlopeLongitude", - "permission": "r", - "type": 3, - "value": 2148, - }, - "vor2DMEDistance": Offset { - "category": "radios", - "convert": "{VAL} / 10", - "description": "VOR2 DME distance - nm", - "length": undefined, - "mapping": undefined, - "name": "vor2DMEDistance", - "permission": "r", - "type": 5, - "value": 774, - }, - "vor2DMESpeed": Offset { - "category": "radios", - "convert": "{VAL} / 10", - "description": "VOR2 DME speed - kt", - "length": undefined, - "mapping": undefined, - "name": "vor2DMESpeed", - "permission": "r", - "type": 5, - "value": 776, - }, - "vor2DMETimeToStation": Offset { - "category": "radios", - "convert": "{VAL} / 10", - "description": "VOR2 DME time to station - sec", - "length": undefined, - "mapping": undefined, - "name": "vor2DMETimeToStation", - "permission": "r", - "type": 5, - "value": 778, - }, - "vor2DmeElevation": Offset { - "category": "radios", - "convert": "+({VAL} * 3.28084).toFixed(2)", - "description": "VOR 2 DME elevation - meters - FS2002+", - "length": undefined, - "mapping": undefined, - "name": "vor2DmeElevation", - "permission": "r", - "type": 3, - "value": 2108, - }, - "vor2DmeLatitude": Offset { - "category": "radios", - "convert": "{VAL} * 90 / 10001750", - "description": "VOR 2 DME latitude - FS2002+", - "length": undefined, - "mapping": undefined, - "name": "vor2DmeLatitude", - "permission": "r", - "type": 3, - "value": 2100, - }, - "vor2DmeLongitude": Offset { - "category": "radios", - "convert": "{VAL} * 360 / (65536 * 65536)", - "description": "VOR 2 DME longitude - FS2002+", - "length": undefined, - "mapping": undefined, - "name": "vor2DmeLongitude", - "permission": "r", - "type": 3, - "value": 2104, - }, - "vor2ILSGlideSlopeAngle": Offset { - "category": "radios", - "convert": "+({VAL} * 360 / 65536).toFixed(2)", - "description": "VOR 2 ILS GlideSlope Angle", - "length": undefined, - "mapping": undefined, - "name": "vor2ILSGlideSlopeAngle", - "permission": "r", - "type": 2, - "value": 2118, - }, - "vor2ILSLocHeadingTrue": Offset { - "category": "radios", - "convert": "+({VAL} * 360 / 65536).toFixed(2)", - "description": "NAV2 ILS Localiser inverse runway heading if VOR 2 is ILS - TRUE - FS2002+ - 180 different to aircraft direction to follow localiser", - "length": undefined, - "mapping": undefined, - "name": "vor2ILSLocHeadingTrue", - "permission": "r", - "type": 5, - "value": 2116, - }, - "vor2LocElevation": Offset { - "category": "radios", - "convert": "+({VAL} * 3.28084).toFixed(2)", - "description": "VOR 2 or NAV2 ILS LOC elevation - meters - FS2002+", - "length": undefined, - "mapping": undefined, - "name": "vor2LocElevation", - "permission": "r", - "type": 3, - "value": 2132, - }, - "vor2LocLatitude": Offset { - "category": "radios", - "convert": "{VAL} * 90 / 10001750", - "description": "VOR 2 or NAV2 ILS LOC latitude - FS2002+", - "length": undefined, - "mapping": undefined, - "name": "vor2LocLatitude", - "permission": "r", - "type": 3, - "value": 2124, - }, - "vor2LocLongitude": Offset { - "category": "radios", - "convert": "{VAL} * 360 / (65536 * 65536)", - "description": "VOR 2 or NAV2 ILS LOC longitude - FS2002+", - "length": undefined, - "mapping": undefined, - "name": "vor2LocLongitude", - "permission": "r", - "type": 3, - "value": 2128, - }, - "vor2OrILSGlideSlopeElevation": Offset { - "category": "radios", - "convert": "+({VAL} * 3.28084).toFixed(2)", - "description": "VOR 2 or NAV2 ILS glideslope elevation - meters - FS2002+", - "length": undefined, - "mapping": undefined, - "name": "vor2OrILSGlideSlopeElevation", - "permission": "r", - "type": 3, - "value": 2152, - }, - "vor2OrILSGlideSlopeLatitude": Offset { - "category": "radios", - "convert": "{VAL} * 90 / 10001750", - "description": "VOR 2 latitude or NAV2 ILS glideslope latitude - FS2002+", - "length": undefined, - "mapping": undefined, - "name": "vor2OrILSGlideSlopeLatitude", - "permission": "r", - "type": 3, - "value": 2136, - }, - "vor2OrILSGlideSlopeLongitude": Offset { - "category": "radios", - "convert": "{VAL} * 360 / (65536 * 65536)", - "description": "VOR 2 or NAV 2 ILS glideslope longitude - FS2002+", - "length": undefined, - "mapping": undefined, - "name": "vor2OrILSGlideSlopeLongitude", - "permission": "r", - "type": 3, - "value": 2144, - }, } `; diff --git a/tests/offsets/plane/radios.spec.ts b/tests/offsets/plane/radios.spec.ts index ef34a56..8fadb58 100644 --- a/tests/offsets/plane/radios.spec.ts +++ b/tests/offsets/plane/radios.spec.ts @@ -3,87 +3,8 @@ import { replaceOffsetExpressionValue } from '@convert/apply-conversion'; describe('offset - plane/radios', () => { const offsetsTestCases = [ - { name: 'adf2Freq', value: 74528, expectedResult: 12320 }, - { name: 'adf2RelBearing', value: 38229, expectedResult: 210 }, - { name: 'ndb2IdentSoundSwitch', value: 0, expectedResult: false }, - { name: 'ndb2IdentSoundSwitch', value: 1, expectedResult: true }, - { name: 'vor1DMEDistance', value: 250, expectedResult: 25 }, - { name: 'vor1DMESpeed', value: 350, expectedResult: 35 }, - { name: 'vor1DMETimeToStation', value: 450, expectedResult: 45 }, - { name: 'vor2DMEDistance', value: 550, expectedResult: 55 }, - { name: 'vor2DMESpeed', value: 650, expectedResult: 65 }, - { name: 'vor2DMETimeToStation', value: 750, expectedResult: 75 }, - { name: 'adfFreq', value: 74528, expectedResult: 12320 }, { name: 'comFreq', value: 13584, expectedResult: 13510 }, - { name: 'nav1Freq', value: 13584, expectedResult: 13510 }, - { name: 'nav2Freq', value: 13584, expectedResult: 13510 }, - { name: 'hasNav1', value: 0, expectedResult: false }, - { name: 'hasNav1', value: 1, expectedResult: true }, - { name: 'hasNav2', value: 0, expectedResult: false }, - { name: 'hasNav2', value: 1, expectedResult: true }, - { name: 'vor2DmeLatitude', value: 5198687, expectedResult: 46.77999650061239 }, - { name: 'vor2DmeLongitude', value: -851715875, expectedResult: -71.38999993912876 }, - { name: 'vor2DmeElevation', value: 92, expectedResult: 301.84 }, - { name: 'vor2ILSLocHeadingTrue', value: 27346, expectedResult: 150.22 }, - { name: 'vor2ILSGlideSlopeAngle', value: 27346, expectedResult: 150.22 }, - { name: 'vor2LocLatitude', value: 5198687, expectedResult: 46.77999650061239 }, - { name: 'vor2LocLongitude', value: -851715875, expectedResult: -71.38999993912876 }, - { name: 'vor2LocElevation', value: 92, expectedResult: 301.84 }, - { name: 'vor2OrILSGlideSlopeLatitude', value: 5198687, expectedResult: 46.77999650061239 }, - { name: 'vor1OrILSGlideSlopeLatitude', value: 5198687, expectedResult: 46.77999650061239 }, - { name: 'vor2OrILSGlideSlopeLongitude', value: -851715875, expectedResult: -71.38999993912876 }, - { name: 'vor1OrILSGlideSlopeLongitude', value: -851715875, expectedResult: -71.38999993912876 }, - { name: 'vor2OrILSGlideSlopeElevation', value: 92, expectedResult: 301.84 }, - { name: 'vor1OrILSGlideSlopeElevation', value: 92, expectedResult: 301.84 }, - { name: 'vor1ILSLocHeadingTrue', value: 27346, expectedResult: 150.22 }, - { name: 'vor1GlideSlopeAngle', value: 27346, expectedResult: 150.22 }, - { name: 'vor1LocLatitude', value: 5198687, expectedResult: 46.77999650061239 }, - { name: 'vor1LocLongitude', value: -851715875, expectedResult: -71.38999993912876 }, - { name: 'vor1LocElevation', value: 92, expectedResult: 301.84 }, - { name: 'vor1DmeLatitude', value: 5198687, expectedResult: 46.77999650061239 }, - { name: 'vor1DmeLongitude', value: -851715875, expectedResult: -71.38999993912876 }, - { name: 'vor1DmeElevation', value: 92, expectedResult: 301.84 }, - { name: 'dme1Distance', value: '92.5', expectedResult: 92.5 }, - { name: 'dme1Distance', value: '92.5 ', expectedResult: 92.5 }, - { name: 'dme1Distance', value: '92.50', expectedResult: 92.5 }, - { name: 'dme1Distance', value: '112.5', expectedResult: 112.5 }, - { name: 'dme1Distance', value: '112.0', expectedResult: 112 }, - { name: 'dme1Distance', value: '112. ', expectedResult: 112 }, - { name: 'dme1Speed', value: '92.5', expectedResult: 92.5 }, - { name: 'dme1Speed', value: '92.5 ', expectedResult: 92.5 }, - { name: 'dme1Speed', value: '92.50', expectedResult: 92.5 }, - { name: 'dme1Speed', value: '112.5', expectedResult: 112.5 }, - { name: 'dme1Speed', value: '112.0', expectedResult: 112 }, - { name: 'dme1Speed', value: '112. ', expectedResult: 112 }, - { name: 'dme2Distance', value: '92.5', expectedResult: 92.5 }, - { name: 'dme2Distance', value: '92.5 ', expectedResult: 92.5 }, - { name: 'dme2Distance', value: '92.50', expectedResult: 92.5 }, - { name: 'dme2Distance', value: '112.5', expectedResult: 112.5 }, - { name: 'dme2Distance', value: '112.0', expectedResult: 112 }, - { name: 'dme2Distance', value: '112. ', expectedResult: 112 }, - { name: 'dme2Speed', value: '92.5', expectedResult: 92.5 }, - { name: 'dme2Speed', value: '92.5 ', expectedResult: 92.5 }, - { name: 'dme2Speed', value: '92.50', expectedResult: 92.5 }, - { name: 'dme2Speed', value: '112.5', expectedResult: 112.5 }, - { name: 'dme2Speed', value: '112.0', expectedResult: 112 }, - { name: 'dme2Speed', value: '112. ', expectedResult: 112 }, - { name: 'nav1MagVar', value: 9102, expectedResult: 50 }, - { name: 'nav2MagVar', value: 9102, expectedResult: 50 }, - { name: 'nav1LocNeedlePosition', value: 127, expectedResult: 100 }, - { name: 'nav1LocNeedlePosition', value: -127, expectedResult: -100 }, - { name: 'nav1GlideslopeNeedlePosition', value: 127, expectedResult: 100 }, - { name: 'nav1GlideslopeNeedlePosition', value: -127, expectedResult: -100 }, - { name: 'nav1GlideslopeActive', value: 0, expectedResult: false }, - { name: 'nav1GlideslopeActive', value: 1, expectedResult: true }, - { name: 'nav1Radial', value: 9102, expectedResult: 50 }, - { name: 'nav2LocNeedlePosition', value: 127, expectedResult: 100 }, - { name: 'nav2LocNeedlePosition', value: -127, expectedResult: -100 }, - { name: 'nav2Radial', value: 9102, expectedResult: 50 }, - { name: 'adf1BearingToNDB', value: 9102, expectedResult: 50 }, - { name: 'nav2GlideslopeNeedlePosition', value: 127, expectedResult: 100 }, - { name: 'nav2GlideslopeNeedlePosition', value: -127, expectedResult: -100 }, - { name: 'nav2GlideslopeActive', value: 0, expectedResult: false }, - { name: 'nav2GlideslopeActive', value: 1, expectedResult: true }, + { name: 'transponderFreq', value: 13584, expectedResult: 13510 }, ]; describe('offsets list', () => { diff --git a/tests/offsets/plane/radios/__snapshots__/adf1.spec.ts.snap b/tests/offsets/plane/radios/__snapshots__/adf1.spec.ts.snap new file mode 100644 index 0000000..d62c722 --- /dev/null +++ b/tests/offsets/plane/radios/__snapshots__/adf1.spec.ts.snap @@ -0,0 +1,61 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`offset - plane/radios/adf1 offsets list should have required properties 1`] = ` +Object { + "adf1BearingToNDB": Offset { + "category": "radios", + "convert": "Math.round({VAL} * 360 / 65536)", + "description": "ADF1 relative bearing to NDB - degrees - -ve left, +ve right", + "length": undefined, + "mapping": undefined, + "name": "adf1BearingToNDB", + "permission": "r", + "type": 2, + "value": 3178, + }, + "adf1DialBearing": Offset { + "category": "radios", + "convert": undefined, + "description": "ADF1 dial bearing - degrees", + "length": undefined, + "mapping": undefined, + "name": "adf1DialBearing", + "permission": "rw", + "type": 5, + "value": 3180, + }, + "adf1SignalStrength": Offset { + "category": "radios", + "convert": undefined, + "description": "ADF1 signal strength", + "length": undefined, + "mapping": undefined, + "name": "adf1SignalStrength", + "permission": "r", + "type": 6, + "value": 3100, + }, + "adfFreq": Offset { + "category": "radios", + "convert": "+({VAL}).toString(16)", + "description": "ADF frequency show as Binary Coded Decimal. The thousands digit and the fractional parts are provided in adfFreqExtended", + "length": undefined, + "mapping": undefined, + "name": "adfFreq", + "permission": "rw", + "type": 5, + "value": 844, + }, + "adfFreqExtended": Offset { + "category": "radios", + "convert": undefined, + "description": "ADF frequency extended", + "length": undefined, + "mapping": undefined, + "name": "adfFreqExtended", + "permission": "rw", + "type": 5, + "value": 854, + }, +} +`; diff --git a/tests/offsets/plane/radios/__snapshots__/adf2.spec.ts.snap b/tests/offsets/plane/radios/__snapshots__/adf2.spec.ts.snap new file mode 100644 index 0000000..94a19e2 --- /dev/null +++ b/tests/offsets/plane/radios/__snapshots__/adf2.spec.ts.snap @@ -0,0 +1,83 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`offset - plane/radios/adf2 offsets list should have required properties 1`] = ` +Object { + "adf2ExtendedFreq": Offset { + "category": "radios", + "convert": undefined, + "description": "ADF 2 extended freq - in BCD - FS2004", + "length": undefined, + "mapping": undefined, + "name": "adf2ExtendedFreq", + "permission": "rw", + "type": 5, + "value": 726, + }, + "adf2Freq": Offset { + "category": "radios", + "convert": "+({VAL}).toString(16)", + "description": "ADF 2 freq - Main 3 digits in BCD - FS2004", + "length": undefined, + "mapping": undefined, + "name": "adf2Freq", + "permission": "rw", + "type": 5, + "value": 724, + }, + "adf2RelBearing": Offset { + "category": "radios", + "convert": "Math.round({VAL} * 360 / 65536)", + "description": "ADF2 Rel Bearing - FS2004", + "length": undefined, + "mapping": undefined, + "name": "adf2RelBearing", + "permission": "r", + "type": 2, + "value": 728, + }, + "adf2SignalStrength": Offset { + "category": "radios", + "convert": undefined, + "description": "ADF2 signal strength", + "length": undefined, + "mapping": undefined, + "name": "adf2SignalStrength", + "permission": "r", + "type": 6, + "value": 3092, + }, + "ndb2IdentSoundSwitch": Offset { + "category": "radios", + "convert": "!!{VAL}", + "description": "NDB2 ident sound switch - FS2004", + "length": undefined, + "mapping": undefined, + "name": "ndb2IdentSoundSwitch", + "permission": "rw", + "type": 0, + "value": 763, + }, + "ndb2Identity": Offset { + "category": "radios", + "convert": undefined, + "description": "NDB2 identity - FS2004", + "length": 6, + "mapping": undefined, + "name": "ndb2Identity", + "permission": "r", + "type": 11, + "value": 732, + }, + "ndb2Name": Offset { + "category": "radios", + "convert": undefined, + "description": "NDB2 name - FS2004", + "length": 25, + "mapping": undefined, + "name": "ndb2Name", + "permission": "r", + "type": 11, + "value": 738, + }, +} +`; diff --git a/tests/offsets/plane/radios/__snapshots__/nav1.spec.ts.snap b/tests/offsets/plane/radios/__snapshots__/nav1.spec.ts.snap new file mode 100644 index 0000000..8a2628e --- /dev/null +++ b/tests/offsets/plane/radios/__snapshots__/nav1.spec.ts.snap @@ -0,0 +1,325 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`offset - plane/radios/nav1 offsets list should have required properties 1`] = ` +Object { + "dme1Distance": Offset { + "category": "radios", + "convert": "+{VAL}", + "description": "DME1 distance - nm", + "length": 5, + "mapping": undefined, + "name": "dme1Distance", + "permission": "r", + "type": 11, + "value": 3113, + }, + "dme1Speed": Offset { + "category": "radios", + "convert": "+{VAL}", + "description": "DME1 speed - kt", + "length": 5, + "mapping": undefined, + "name": "dme1Speed", + "permission": "r", + "type": 11, + "value": 3118, + }, + "hasNav1": Offset { + "category": "radios", + "convert": "!!{VAL}", + "description": "has NAV1", + "length": undefined, + "mapping": undefined, + "name": "hasNav1", + "permission": "rw", + "type": 6, + "value": 1952, + }, + "nav1BackCourseFlags": Offset { + "category": "radios", + "convert": "navBackCourseFlags", + "description": "NAV1 glideslope flags", + "length": 8, + "mapping": true, + "name": "nav1BackCourseFlags", + "permission": "r", + "type": 10, + "value": 3146, + }, + "nav1BearingToVOR": Offset { + "category": "radios", + "convert": undefined, + "description": "NAV1 relative bearing to VOR - degrees", + "length": undefined, + "mapping": undefined, + "name": "nav1BearingToVOR", + "permission": "r", + "type": 5, + "value": 3158, + }, + "nav1Capabilities": Offset { + "category": "radios", + "convert": "navCapabilities", + "description": "NAV1 capabilities", + "length": 8, + "mapping": true, + "name": "nav1Capabilities", + "permission": "r", + "type": 10, + "value": 3149, + }, + "nav1Freq": Offset { + "category": "radios", + "convert": "parseInt(\`1\` + ({VAL}).toString(16))", + "description": "NAV1 frequency", + "length": undefined, + "mapping": undefined, + "name": "nav1Freq", + "permission": "rw", + "type": 5, + "value": 848, + }, + "nav1GlideslopeActive": Offset { + "category": "radios", + "convert": "!!{VAL}", + "description": "NAV1 glideslope flag", + "length": undefined, + "mapping": undefined, + "name": "nav1GlideslopeActive", + "permission": "r", + "type": 0, + "value": 3148, + }, + "nav1GlideslopeNeedlePosition": Offset { + "category": "radios", + "convert": "Math.round({VAL} / 127 * 100)", + "description": "NAV1 glideslope needle position - percent - -ve up +ve down", + "length": undefined, + "mapping": undefined, + "name": "nav1GlideslopeNeedlePosition", + "permission": "r", + "type": 1, + "value": 3145, + }, + "nav1LocNeedlePosition": Offset { + "category": "radios", + "convert": "Math.round({VAL} / 127 * 100)", + "description": "NAV1 loc needle position - percent - -ve left +ve right", + "length": undefined, + "mapping": undefined, + "name": "nav1LocNeedlePosition", + "permission": "r", + "type": 1, + "value": 3144, + }, + "nav1MagVar": Offset { + "category": "radios", + "convert": "Math.round({VAL} * 360 / 65536)", + "description": "NAV1 mag var", + "length": undefined, + "mapping": undefined, + "name": "nav1MagVar", + "permission": "r", + "type": 2, + "value": 3136, + }, + "nav1Obs": Offset { + "category": "radios", + "convert": undefined, + "description": "NAV1 obs setting - degrees", + "length": undefined, + "mapping": undefined, + "name": "nav1Obs", + "permission": "rw", + "type": 2, + "value": 3150, + }, + "nav1Radial": Offset { + "category": "radios", + "convert": "Math.round({VAL} * 360 / 65536)", + "description": "NAV1 radial - degrees - MAG for VOR, TRUE for ILS LOC", + "length": undefined, + "mapping": undefined, + "name": "nav1Radial", + "permission": "r", + "type": 5, + "value": 3152, + }, + "nav1SignalStrength": Offset { + "category": "radios", + "convert": undefined, + "description": "NAV1 signal strength", + "length": undefined, + "mapping": undefined, + "name": "nav1SignalStrength", + "permission": "r", + "type": 6, + "value": 3154, + }, + "nav1ToFrom": Offset { + "category": "radios", + "convert": "vorToFrom", + "description": "NAV1 TO/FROM flag - values: off/to/from", + "length": undefined, + "mapping": true, + "name": "nav1ToFrom", + "permission": "r", + "type": 0, + "value": 3147, + }, + "vor1DMEDistance": Offset { + "category": "radios", + "convert": "{VAL} / 10", + "description": "VOR1 DME distance - nm", + "length": undefined, + "mapping": undefined, + "name": "vor1DMEDistance", + "permission": "r", + "type": 5, + "value": 768, + }, + "vor1DMESpeed": Offset { + "category": "radios", + "convert": "{VAL} / 10", + "description": "VOR1 DME speed - kt", + "length": undefined, + "mapping": undefined, + "name": "vor1DMESpeed", + "permission": "r", + "type": 5, + "value": 770, + }, + "vor1DMETimeToStation": Offset { + "category": "radios", + "convert": "{VAL} / 10", + "description": "VOR1 DME time to station - sec", + "length": undefined, + "mapping": undefined, + "name": "vor1DMETimeToStation", + "permission": "r", + "type": 5, + "value": 772, + }, + "vor1DmeElevation": Offset { + "category": "radios", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "VOR 1 DME elevation - ft - FS2002+", + "length": undefined, + "mapping": undefined, + "name": "vor1DmeElevation", + "permission": "r", + "type": 3, + "value": 2186, + }, + "vor1DmeLatitude": Offset { + "category": "radios", + "convert": "{VAL} * 90 / 10001750", + "description": "VOR 1 DME latitude - FS2002+", + "length": undefined, + "mapping": undefined, + "name": "vor1DmeLatitude", + "permission": "r", + "type": 3, + "value": 2176, + }, + "vor1DmeLongitude": Offset { + "category": "radios", + "convert": "{VAL} * 360 / (65536 * 65536)", + "description": "VOR 1 DME longitude - FS2002+", + "length": undefined, + "mapping": undefined, + "name": "vor1DmeLongitude", + "permission": "r", + "type": 3, + "value": 2180, + }, + "vor1GlideSlopeAngle": Offset { + "category": "radios", + "convert": "+({VAL} * 360 / 65536).toFixed(2)", + "description": "VOR 1 ILS glideslope Angle", + "length": undefined, + "mapping": undefined, + "name": "vor1GlideSlopeAngle", + "permission": "r", + "type": 2, + "value": 2162, + }, + "vor1ILSLocHeadingTrue": Offset { + "category": "radios", + "convert": "+({VAL} * 360 / 65536).toFixed(2)", + "description": "VOR 1 ILS LOC heading - TRUE - -180 different to aircraft direction to follow localiser", + "length": undefined, + "mapping": undefined, + "name": "vor1LocHeadingTrue", + "permission": "r", + "type": 5, + "value": 2160, + }, + "vor1LocElevation": Offset { + "category": "radios", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "VOR 1 or NAV1 ILS LOC elevation - meters - FS2002+", + "length": undefined, + "mapping": undefined, + "name": "vor1LocElevation", + "permission": "r", + "type": 3, + "value": 2172, + }, + "vor1LocLatitude": Offset { + "category": "radios", + "convert": "{VAL} * 90 / 10001750", + "description": "VOR 1 or NAV1 ILS LOC latitude - FS2002+", + "length": undefined, + "mapping": undefined, + "name": "vor1LocLatitude", + "permission": "r", + "type": 3, + "value": 2164, + }, + "vor1LocLongitude": Offset { + "category": "radios", + "convert": "{VAL} * 360 / (65536 * 65536)", + "description": "VOR 1 or NAV1 ILS LOC longitude - FS2002+", + "length": undefined, + "mapping": undefined, + "name": "vor1LocLongitude", + "permission": "r", + "type": 3, + "value": 2168, + }, + "vor1OrILSGlideSlopeElevation": Offset { + "category": "radios", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "VOR 1 or NAV1 ILS glideslope elevation - meters - FS2002+", + "length": undefined, + "mapping": undefined, + "name": "vor1OrILSGlideSlopeElevation", + "permission": "r", + "type": 3, + "value": 2156, + }, + "vor1OrILSGlideSlopeLatitude": Offset { + "category": "radios", + "convert": "{VAL} * 90 / 10001750", + "description": "VOR 1 latitude OR NAV1 ILS glideslope latitude", + "length": undefined, + "mapping": undefined, + "name": "vor1OrILSGlideSlopeLatitude", + "permission": "r", + "type": 3, + "value": 2140, + }, + "vor1OrILSGlideSlopeLongitude": Offset { + "category": "radios", + "convert": "{VAL} * 360 / (65536 * 65536)", + "description": "VOR 1 or NAV 1 ILS glideslope longitude", + "length": undefined, + "mapping": undefined, + "name": "vor1OrILSGlideSlopeLongitude", + "permission": "r", + "type": 3, + "value": 2148, + }, +} +`; diff --git a/tests/offsets/plane/radios/__snapshots__/nav2.spec.ts.snap b/tests/offsets/plane/radios/__snapshots__/nav2.spec.ts.snap new file mode 100644 index 0000000..ac0c33f --- /dev/null +++ b/tests/offsets/plane/radios/__snapshots__/nav2.spec.ts.snap @@ -0,0 +1,325 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`offset - plane/radios/nav2 offsets list should have required properties 1`] = ` +Object { + "dme2Distance": Offset { + "category": "radios", + "convert": "+{VAL}", + "description": "DME2 distance - nm", + "length": 5, + "mapping": undefined, + "name": "dme2Distance", + "permission": "r", + "type": 11, + "value": 3123, + }, + "dme2Speed": Offset { + "category": "radios", + "convert": "+{VAL}", + "description": "DME2 speed - kt", + "length": 5, + "mapping": undefined, + "name": "dme2Speed", + "permission": "r", + "type": 11, + "value": 3128, + }, + "hasNav2": Offset { + "category": "radios", + "convert": "!!{VAL}", + "description": "has NAV2", + "length": undefined, + "mapping": undefined, + "name": "hasNav2", + "permission": "r", + "type": 6, + "value": 1956, + }, + "nav2BackCourseFlags": Offset { + "category": "radios", + "convert": "navBackCourseFlags", + "description": "NAV2 glideslope flags", + "length": 8, + "mapping": true, + "name": "nav2BackCourseFlags", + "permission": "r", + "type": 10, + "value": 3162, + }, + "nav2BearingToVOR": Offset { + "category": "radios", + "convert": undefined, + "description": "NAV2 relative bearing to VOR - degrees", + "length": undefined, + "mapping": undefined, + "name": "nav2BearingToVOR", + "permission": "r", + "type": 5, + "value": 3164, + }, + "nav2Capabilities": Offset { + "category": "radios", + "convert": "navCapabilities", + "description": "NAV2 capabilities", + "length": 8, + "mapping": true, + "name": "nav2Capabilities", + "permission": "r", + "type": 10, + "value": 3184, + }, + "nav2Freq": Offset { + "category": "radios", + "convert": "parseInt(\`1\` + ({VAL}).toString(16))", + "description": "NAV2 frequency", + "length": undefined, + "mapping": undefined, + "name": "nav2Freq", + "permission": "rw", + "type": 5, + "value": 850, + }, + "nav2GlideslopeActive": Offset { + "category": "radios", + "convert": "!!{VAL}", + "description": "NAV2 glideslope flag", + "length": undefined, + "mapping": undefined, + "name": "nav2GlideslopeActive", + "permission": "r", + "type": 0, + "value": 3183, + }, + "nav2GlideslopeNeedlePosition": Offset { + "category": "radios", + "convert": "Math.round({VAL} / 127 * 100)", + "description": "NAV2 glideslope needle position - percent - -ve up +ve down", + "length": undefined, + "mapping": undefined, + "name": "nav2GlideslopeNeedlePosition", + "permission": "r", + "type": 1, + "value": 3182, + }, + "nav2LocNeedlePosition": Offset { + "category": "radios", + "convert": "Math.round({VAL} / 127 * 100)", + "description": "NAV2 loc needle position - percent - -ve left +ve right", + "length": undefined, + "mapping": undefined, + "name": "nav2LocNeedlePosition", + "permission": "r", + "type": 1, + "value": 3161, + }, + "nav2MagVar": Offset { + "category": "radios", + "convert": "Math.round({VAL} * 360 / 65536)", + "description": "NAV2 mag var", + "length": undefined, + "mapping": undefined, + "name": "nav2MagVar", + "permission": "r", + "type": 2, + "value": 3138, + }, + "nav2Obs": Offset { + "category": "radios", + "convert": undefined, + "description": "NAV2 obs setting - degrees", + "length": undefined, + "mapping": undefined, + "name": "nav2Obs", + "permission": "rw", + "type": 2, + "value": 3166, + }, + "nav2Radial": Offset { + "category": "radios", + "convert": "Math.round({VAL} * 360 / 65536)", + "description": "NAV2 radial - degrees - MAG for VOR, TRUE for ILS LOC", + "length": undefined, + "mapping": undefined, + "name": "nav2Radial", + "permission": "r", + "type": 5, + "value": 3168, + }, + "nav2SignalStrength": Offset { + "category": "radios", + "convert": undefined, + "description": "NAV2 signal strength", + "length": undefined, + "mapping": undefined, + "name": "nav2SignalStrength", + "permission": "r", + "type": 6, + "value": 3170, + }, + "nav2ToFrom": Offset { + "category": "radios", + "convert": "vorToFrom", + "description": "NAV2 TO/FROM flag - values: off/to/from", + "length": undefined, + "mapping": true, + "name": "nav2ToFrom", + "permission": "r", + "type": 0, + "value": 3163, + }, + "vor2DMEDistance": Offset { + "category": "radios", + "convert": "{VAL} / 10", + "description": "VOR2 DME distance - nm", + "length": undefined, + "mapping": undefined, + "name": "vor2DMEDistance", + "permission": "r", + "type": 5, + "value": 774, + }, + "vor2DMESpeed": Offset { + "category": "radios", + "convert": "{VAL} / 10", + "description": "VOR2 DME speed - kt", + "length": undefined, + "mapping": undefined, + "name": "vor2DMESpeed", + "permission": "r", + "type": 5, + "value": 776, + }, + "vor2DMETimeToStation": Offset { + "category": "radios", + "convert": "{VAL} / 10", + "description": "VOR2 DME time to station - sec", + "length": undefined, + "mapping": undefined, + "name": "vor2DMETimeToStation", + "permission": "r", + "type": 5, + "value": 778, + }, + "vor2DmeElevation": Offset { + "category": "radios", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "VOR 2 DME elevation - meters - FS2002+", + "length": undefined, + "mapping": undefined, + "name": "vor2DmeElevation", + "permission": "r", + "type": 3, + "value": 2108, + }, + "vor2DmeLatitude": Offset { + "category": "radios", + "convert": "{VAL} * 90 / 10001750", + "description": "VOR 2 DME latitude - FS2002+", + "length": undefined, + "mapping": undefined, + "name": "vor2DmeLatitude", + "permission": "r", + "type": 3, + "value": 2100, + }, + "vor2DmeLongitude": Offset { + "category": "radios", + "convert": "{VAL} * 360 / (65536 * 65536)", + "description": "VOR 2 DME longitude - FS2002+", + "length": undefined, + "mapping": undefined, + "name": "vor2DmeLongitude", + "permission": "r", + "type": 3, + "value": 2104, + }, + "vor2ILSGlideSlopeAngle": Offset { + "category": "radios", + "convert": "+({VAL} * 360 / 65536).toFixed(2)", + "description": "VOR 2 ILS GlideSlope Angle", + "length": undefined, + "mapping": undefined, + "name": "vor2ILSGlideSlopeAngle", + "permission": "r", + "type": 2, + "value": 2118, + }, + "vor2ILSLocHeadingTrue": Offset { + "category": "radios", + "convert": "+({VAL} * 360 / 65536).toFixed(2)", + "description": "NAV2 ILS Localiser inverse runway heading if VOR 2 is ILS - TRUE - FS2002+ - 180 different to aircraft direction to follow localiser", + "length": undefined, + "mapping": undefined, + "name": "vor2ILSLocHeadingTrue", + "permission": "r", + "type": 5, + "value": 2116, + }, + "vor2LocElevation": Offset { + "category": "radios", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "VOR 2 or NAV2 ILS LOC elevation - meters - FS2002+", + "length": undefined, + "mapping": undefined, + "name": "vor2LocElevation", + "permission": "r", + "type": 3, + "value": 2132, + }, + "vor2LocLatitude": Offset { + "category": "radios", + "convert": "{VAL} * 90 / 10001750", + "description": "VOR 2 or NAV2 ILS LOC latitude - FS2002+", + "length": undefined, + "mapping": undefined, + "name": "vor2LocLatitude", + "permission": "r", + "type": 3, + "value": 2124, + }, + "vor2LocLongitude": Offset { + "category": "radios", + "convert": "{VAL} * 360 / (65536 * 65536)", + "description": "VOR 2 or NAV2 ILS LOC longitude - FS2002+", + "length": undefined, + "mapping": undefined, + "name": "vor2LocLongitude", + "permission": "r", + "type": 3, + "value": 2128, + }, + "vor2OrILSGlideSlopeElevation": Offset { + "category": "radios", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "VOR 2 or NAV2 ILS glideslope elevation - meters - FS2002+", + "length": undefined, + "mapping": undefined, + "name": "vor2OrILSGlideSlopeElevation", + "permission": "r", + "type": 3, + "value": 2152, + }, + "vor2OrILSGlideSlopeLatitude": Offset { + "category": "radios", + "convert": "{VAL} * 90 / 10001750", + "description": "VOR 2 latitude or NAV2 ILS glideslope latitude - FS2002+", + "length": undefined, + "mapping": undefined, + "name": "vor2OrILSGlideSlopeLatitude", + "permission": "r", + "type": 3, + "value": 2136, + }, + "vor2OrILSGlideSlopeLongitude": Offset { + "category": "radios", + "convert": "{VAL} * 360 / (65536 * 65536)", + "description": "VOR 2 or NAV 2 ILS glideslope longitude - FS2002+", + "length": undefined, + "mapping": undefined, + "name": "vor2OrILSGlideSlopeLongitude", + "permission": "r", + "type": 3, + "value": 2144, + }, +} +`; diff --git a/tests/offsets/plane/radios/adf1.spec.ts b/tests/offsets/plane/radios/adf1.spec.ts new file mode 100644 index 0000000..8f73c97 --- /dev/null +++ b/tests/offsets/plane/radios/adf1.spec.ts @@ -0,0 +1,26 @@ +import { ADF1 as offsets } from '@offsets/plane/radios/adf1'; +import { replaceOffsetExpressionValue } from '@convert/apply-conversion'; + +describe('offset - plane/radios/adf1', () => { + const offsetsTestCases = [ + { name: 'adfFreq', value: 74528, expectedResult: 12320 }, + { name: 'adf1BearingToNDB', value: 9102, 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 = replaceOffsetExpressionValue(offsets[testedOffset.name], testedOffset.value); + + // tslint:disable-next-line:no-eval + expect(eval(convertExpression)).toEqual(testedOffset.expectedResult); + }); + }); + }); +}); diff --git a/tests/offsets/plane/radios/adf2.spec.ts b/tests/offsets/plane/radios/adf2.spec.ts new file mode 100644 index 0000000..3f3d132 --- /dev/null +++ b/tests/offsets/plane/radios/adf2.spec.ts @@ -0,0 +1,28 @@ +import { ADF2 as offsets } from '@offsets/plane/radios/adf2'; +import { replaceOffsetExpressionValue } from '@convert/apply-conversion'; + +describe('offset - plane/radios/adf2', () => { + const offsetsTestCases = [ + { name: 'adf2Freq', value: 74528, expectedResult: 12320 }, + { name: 'adf2RelBearing', value: 38229, expectedResult: 210 }, + { name: 'ndb2IdentSoundSwitch', value: 0, expectedResult: false }, + { name: 'ndb2IdentSoundSwitch', value: 1, expectedResult: true }, + ]; + + describe('offsets list', () => { + it('should have required properties', () => { + expect(offsets).toMatchSnapshot(); + }); + }); + + offsetsTestCases.forEach(testedOffset => { + describe(testedOffset.name, () => { + it('should convert data properly', () => { + const convertExpression = replaceOffsetExpressionValue(offsets[testedOffset.name], testedOffset.value); + + // tslint:disable-next-line:no-eval + expect(eval(convertExpression)).toEqual(testedOffset.expectedResult); + }); + }); + }); +}); diff --git a/tests/offsets/plane/radios/nav1.spec.ts b/tests/offsets/plane/radios/nav1.spec.ts new file mode 100644 index 0000000..ae6c293 --- /dev/null +++ b/tests/offsets/plane/radios/nav1.spec.ts @@ -0,0 +1,61 @@ +import { NAV1 as offsets } from '@offsets/plane/radios/nav1'; +import { replaceOffsetExpressionValue } from '@convert/apply-conversion'; + +describe('offset - plane/radios/nav1', () => { + const offsetsTestCases = [ + { name: 'vor1DMEDistance', value: 250, expectedResult: 25 }, + { name: 'vor1DMESpeed', value: 350, expectedResult: 35 }, + { name: 'vor1DMETimeToStation', value: 450, expectedResult: 45 }, + { name: 'nav1Freq', value: 13584, expectedResult: 13510 }, + { name: 'hasNav1', value: 0, expectedResult: false }, + { name: 'hasNav1', value: 1, expectedResult: true }, + { name: 'vor1OrILSGlideSlopeLatitude', value: 5198687, expectedResult: 46.77999650061239 }, + { name: 'vor1OrILSGlideSlopeLongitude', value: -851715875, expectedResult: -71.38999993912876 }, + { name: 'vor1OrILSGlideSlopeElevation', value: 92, expectedResult: 301.84 }, + { name: 'vor1ILSLocHeadingTrue', value: 27346, expectedResult: 150.22 }, + { name: 'vor1GlideSlopeAngle', value: 27346, expectedResult: 150.22 }, + { name: 'vor1LocLatitude', value: 5198687, expectedResult: 46.77999650061239 }, + { name: 'vor1LocLongitude', value: -851715875, expectedResult: -71.38999993912876 }, + { name: 'vor1LocElevation', value: 92, expectedResult: 301.84 }, + { name: 'vor1DmeLatitude', value: 5198687, expectedResult: 46.77999650061239 }, + { name: 'vor1DmeLongitude', value: -851715875, expectedResult: -71.38999993912876 }, + { name: 'vor1DmeElevation', value: 92, expectedResult: 301.84 }, + { name: 'dme1Distance', value: '92.5', expectedResult: 92.5 }, + { name: 'dme1Distance', value: '92.5 ', expectedResult: 92.5 }, + { name: 'dme1Distance', value: '92.50', expectedResult: 92.5 }, + { name: 'dme1Distance', value: '112.5', expectedResult: 112.5 }, + { name: 'dme1Distance', value: '112.0', expectedResult: 112 }, + { name: 'dme1Distance', value: '112. ', expectedResult: 112 }, + { name: 'dme1Speed', value: '92.5', expectedResult: 92.5 }, + { name: 'dme1Speed', value: '92.5 ', expectedResult: 92.5 }, + { name: 'dme1Speed', value: '92.50', expectedResult: 92.5 }, + { name: 'dme1Speed', value: '112.5', expectedResult: 112.5 }, + { name: 'dme1Speed', value: '112.0', expectedResult: 112 }, + { name: 'dme1Speed', value: '112. ', expectedResult: 112 }, + { name: 'nav1MagVar', value: 9102, expectedResult: 50 }, + { name: 'nav1LocNeedlePosition', value: 127, expectedResult: 100 }, + { name: 'nav1LocNeedlePosition', value: -127, expectedResult: -100 }, + { name: 'nav1GlideslopeNeedlePosition', value: 127, expectedResult: 100 }, + { name: 'nav1GlideslopeNeedlePosition', value: -127, expectedResult: -100 }, + { name: 'nav1GlideslopeActive', value: 0, expectedResult: false }, + { name: 'nav1GlideslopeActive', value: 1, expectedResult: true }, + { name: 'nav1Radial', value: 9102, 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 = replaceOffsetExpressionValue(offsets[testedOffset.name], testedOffset.value); + + // tslint:disable-next-line:no-eval + expect(eval(convertExpression)).toEqual(testedOffset.expectedResult); + }); + }); + }); +}); diff --git a/tests/offsets/plane/radios/nav2.spec.ts b/tests/offsets/plane/radios/nav2.spec.ts new file mode 100644 index 0000000..379ba07 --- /dev/null +++ b/tests/offsets/plane/radios/nav2.spec.ts @@ -0,0 +1,61 @@ +import { NAV2 as offsets } from '@offsets/plane/radios/nav2'; +import { replaceOffsetExpressionValue } from '@convert/apply-conversion'; + +describe('offset - plane/radios/nav2', () => { + const offsetsTestCases = [ + { name: 'vor2DMEDistance', value: 550, expectedResult: 55 }, + { name: 'vor2DMESpeed', value: 650, expectedResult: 65 }, + { name: 'vor2DMETimeToStation', value: 750, expectedResult: 75 }, + { name: 'nav2Freq', value: 13584, expectedResult: 13510 }, + { name: 'hasNav2', value: 0, expectedResult: false }, + { name: 'hasNav2', value: 1, expectedResult: true }, + { name: 'vor2DmeLatitude', value: 5198687, expectedResult: 46.77999650061239 }, + { name: 'vor2DmeLongitude', value: -851715875, expectedResult: -71.38999993912876 }, + { name: 'vor2DmeElevation', value: 92, expectedResult: 301.84 }, + { name: 'vor2ILSLocHeadingTrue', value: 27346, expectedResult: 150.22 }, + { name: 'vor2ILSGlideSlopeAngle', value: 27346, expectedResult: 150.22 }, + { name: 'vor2LocLatitude', value: 5198687, expectedResult: 46.77999650061239 }, + { name: 'vor2LocLongitude', value: -851715875, expectedResult: -71.38999993912876 }, + { name: 'vor2LocElevation', value: 92, expectedResult: 301.84 }, + { name: 'vor2OrILSGlideSlopeLatitude', value: 5198687, expectedResult: 46.77999650061239 }, + { name: 'vor2OrILSGlideSlopeLongitude', value: -851715875, expectedResult: -71.38999993912876 }, + { name: 'vor2OrILSGlideSlopeElevation', value: 92, expectedResult: 301.84 }, + { name: 'dme2Distance', value: '92.5', expectedResult: 92.5 }, + { name: 'dme2Distance', value: '92.5 ', expectedResult: 92.5 }, + { name: 'dme2Distance', value: '92.50', expectedResult: 92.5 }, + { name: 'dme2Distance', value: '112.5', expectedResult: 112.5 }, + { name: 'dme2Distance', value: '112.0', expectedResult: 112 }, + { name: 'dme2Distance', value: '112. ', expectedResult: 112 }, + { name: 'dme2Speed', value: '92.5', expectedResult: 92.5 }, + { name: 'dme2Speed', value: '92.5 ', expectedResult: 92.5 }, + { name: 'dme2Speed', value: '92.50', expectedResult: 92.5 }, + { name: 'dme2Speed', value: '112.5', expectedResult: 112.5 }, + { name: 'dme2Speed', value: '112.0', expectedResult: 112 }, + { name: 'dme2Speed', value: '112. ', expectedResult: 112 }, + { name: 'nav2MagVar', value: 9102, expectedResult: 50 }, + { name: 'nav2LocNeedlePosition', value: 127, expectedResult: 100 }, + { name: 'nav2LocNeedlePosition', value: -127, expectedResult: -100 }, + { name: 'nav2Radial', value: 9102, expectedResult: 50 }, + { name: 'nav2GlideslopeNeedlePosition', value: 127, expectedResult: 100 }, + { name: 'nav2GlideslopeNeedlePosition', value: -127, expectedResult: -100 }, + { name: 'nav2GlideslopeActive', value: 0, expectedResult: false }, + { name: 'nav2GlideslopeActive', value: 1, expectedResult: true }, + ]; + + describe('offsets list', () => { + it('should have required properties', () => { + expect(offsets).toMatchSnapshot(); + }); + }); + + offsetsTestCases.forEach(testedOffset => { + describe(testedOffset.name, () => { + it('should convert data properly', () => { + const convertExpression = replaceOffsetExpressionValue(offsets[testedOffset.name], testedOffset.value); + + // tslint:disable-next-line:no-eval + expect(eval(convertExpression)).toEqual(testedOffset.expectedResult); + }); + }); + }); +}); From 3f605c7fd405ecd10f345a38ed105ee1df8ec143 Mon Sep 17 00:00:00 2001 From: blackholegalaxy Date: Thu, 30 Jan 2020 16:52:54 -0500 Subject: [PATCH 05/20] chore: update dependencies --- package.json | 6 ++-- yarn.lock | 79 +++++++++++----------------------------------------- 2 files changed, 20 insertions(+), 65 deletions(-) diff --git a/package.json b/package.json index 3ac3eb1..c2bea55 100644 --- a/package.json +++ b/package.json @@ -39,13 +39,13 @@ }, "devDependencies": { "@exalif/tscpaths": "0.1.3", - "@types/jest": "24.9.1", - "@types/node": "13.5.0", + "@types/jest": "25.1.1", + "@types/node": "13.5.3", "conventional-changelog-cli": "2.0.31", "cross-env": "7.0.0", "jest": "25.1.0", "nodemon": "2.0.2", - "ts-jest": "25.0.0", + "ts-jest": "25.1.0", "ts-node": "8.6.2", "tsconfig-paths": "3.9.0", "tslint": "6.0.0", diff --git a/yarn.lock b/yarn.lock index fd26a07..0b98f00 100644 --- a/yarn.lock +++ b/yarn.lock @@ -440,15 +440,6 @@ source-map "^0.6.1" write-file-atomic "^3.0.0" -"@jest/types@^24.9.0": - version "24.9.0" - resolved "https://registry.yarnpkg.com/@jest/types/-/types-24.9.0.tgz#63cb26cb7500d069e5a389441a7c6ab5e909fc59" - integrity sha512-XKK7ze1apu5JWQ5eZjHITP66AX+QsLlbaJRBGYr8pNzwcAE2JVkwnf0yqjHTsDRcjR0mujy/NmZMXw5kl+kGBw== - dependencies: - "@types/istanbul-lib-coverage" "^2.0.0" - "@types/istanbul-reports" "^1.1.1" - "@types/yargs" "^13.0.0" - "@jest/types@^25.1.0": version "25.1.0" resolved "https://registry.yarnpkg.com/@jest/types/-/types-25.1.0.tgz#b26831916f0d7c381e11dbb5e103a72aed1b4395" @@ -551,12 +542,13 @@ "@types/istanbul-lib-coverage" "*" "@types/istanbul-lib-report" "*" -"@types/jest@24.9.1": - version "24.9.1" - resolved "https://registry.yarnpkg.com/@types/jest/-/jest-24.9.1.tgz#02baf9573c78f1b9974a5f36778b366aa77bd534" - integrity sha512-Fb38HkXSVA4L8fGKEZ6le5bB8r6MRWlOCZbVuWZcmOMSCd2wCYOwN1ibj8daIoV9naq7aaOZjrLCoCMptKU/4Q== +"@types/jest@25.1.1": + version "25.1.1" + resolved "https://registry.yarnpkg.com/@types/jest/-/jest-25.1.1.tgz#dcf65a8ee315b91ad39c0d358ae0ddc5602ab0e9" + integrity sha512-bKSZJYZJLzwaoVYNN4W3A0RvKNYsrLm5tsuXaMlfYDxKf4gY2sFrMYneCugNQWGg1gjPW+FHBwNrwPzEi4sIsw== dependencies: - jest-diff "^24.3.0" + jest-diff "^25.1.0" + pretty-format "^25.1.0" "@types/json5@^0.0.29": version "0.0.29" @@ -573,10 +565,10 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-13.1.6.tgz#076028d0b0400be8105b89a0a55550c86684ffec" integrity sha512-Jg1F+bmxcpENHP23sVKkNuU3uaxPnsBMW0cLjleiikFKomJQbsn0Cqk2yDvQArqzZN6ABfBkZ0To7pQ8sLdWDg== -"@types/node@13.5.0": - version "13.5.0" - resolved "https://registry.yarnpkg.com/@types/node/-/node-13.5.0.tgz#4e498dbf355795a611a87ae5ef811a8660d42662" - integrity sha512-Onhn+z72D2O2Pb2ql2xukJ55rglumsVo1H6Fmyi8mlU9SvKdBk/pUSUAiBY/d9bAOF7VVWajX3sths/+g6ZiAQ== +"@types/node@13.5.3": + version "13.5.3" + resolved "https://registry.yarnpkg.com/@types/node/-/node-13.5.3.tgz#37f1f539b7535b9fb4ef77d59db1847a837b7f17" + integrity sha512-ZPnWX9PW992w6DUsz3JIXHaSb5v7qmKCVzC3km6SxcDGxk7zmLfYaCJTbktIa5NeywJkkZDhGldKqDIvC5DRrA== "@types/stack-utils@^1.0.1": version "1.0.1" @@ -588,13 +580,6 @@ resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-13.1.0.tgz#c563aa192f39350a1d18da36c5a8da382bbd8228" integrity sha512-gCubfBUZ6KxzoibJ+SCUc/57Ms1jz5NjHe4+dI2krNmU5zCPAphyLJYyTOg06ueIyfj+SaCUqmzun7ImlxDcKg== -"@types/yargs@^13.0.0": - version "13.0.5" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-13.0.5.tgz#18121bfd39dc12f280cee58f92c5b21d32041908" - integrity sha512-CF/+sxTO7FOwbIRL4wMv0ZYLCRfMid2HQpzDRyViH7kSpfoAFiMdGqKIxb1PxWfjtQXQhnQuD33lvRHNwr809Q== - dependencies: - "@types/yargs-parser" "*" - "@types/yargs@^15.0.0": version "15.0.1" resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-15.0.1.tgz#9266a9d7be68cfcc982568211085a49a277f7c96" @@ -677,7 +662,7 @@ ansi-regex@^3.0.0: resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= -ansi-regex@^4.0.0, ansi-regex@^4.1.0: +ansi-regex@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997" integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg== @@ -687,7 +672,7 @@ ansi-regex@^5.0.0: resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75" integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg== -ansi-styles@^3.2.0, ansi-styles@^3.2.1: +ansi-styles@^3.2.1: version "3.2.1" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== @@ -1567,11 +1552,6 @@ detect-newline@^3.0.0: resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA== -diff-sequences@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-24.9.0.tgz#5715d6244e2aa65f48bba0bc972db0b0b11e95b5" - integrity sha512-Dj6Wk3tWyTE+Fo1rW8v0Xhwk80um6yFYKbuAxc9c3EZxIHFDYwbi34Uk42u1CdnIiVorvt4RmlSDjIPyzGC2ew== - diff-sequences@^25.1.0: version "25.1.0" resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-25.1.0.tgz#fd29a46f1c913fd66c22645dc75bffbe43051f32" @@ -2675,16 +2655,6 @@ jest-config@^25.1.0: pretty-format "^25.1.0" realpath-native "^1.1.0" -jest-diff@^24.3.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-24.9.0.tgz#931b7d0d5778a1baf7452cb816e325e3724055da" - integrity sha512-qMfrTs8AdJE2iqrTp0hzh7kTd2PQWrsFyj9tORoKmu32xjPjeE4NyjVRDz8ybYwqS2ik8N4hsIpiVTyFeo2lBQ== - dependencies: - chalk "^2.0.1" - diff-sequences "^24.9.0" - jest-get-type "^24.9.0" - pretty-format "^24.9.0" - jest-diff@^25.1.0: version "25.1.0" resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-25.1.0.tgz#58b827e63edea1bc80c1de952b80cec9ac50e1ad" @@ -2736,11 +2706,6 @@ jest-environment-node@^25.1.0: jest-mock "^25.1.0" jest-util "^25.1.0" -jest-get-type@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-24.9.0.tgz#1684a0c8a50f2e4901b6644ae861f579eed2ef0e" - integrity sha512-lUseMzAley4LhIcpSP9Jf+fTrQ4a1yHQwLNeeVa2cEmbCGeoZAtYPOIv8JaxLD/sUpKxetKGP+gsHl8f8TSj8Q== - jest-get-type@^25.1.0: version "25.1.0" resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-25.1.0.tgz#1cfe5fc34f148dc3a8a3b7275f6b9ce9e2e8a876" @@ -3901,16 +3866,6 @@ prepend-http@^1.0.1: resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" integrity sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw= -pretty-format@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-24.9.0.tgz#12fac31b37019a4eea3c11aa9a959eb7628aa7c9" - integrity sha512-00ZMZUiHaJrNfk33guavqgvfJS30sLYf0f8+Srklv0AMPodGGHcoHgksZ3OThYnIvOd+8yMCn0YiEOogjlgsnA== - dependencies: - "@jest/types" "^24.9.0" - ansi-regex "^4.0.0" - ansi-styles "^3.2.0" - react-is "^16.8.4" - pretty-format@^25.1.0: version "25.1.0" resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-25.1.0.tgz#ed869bdaec1356fc5ae45de045e2c8ec7b07b0c8" @@ -3992,7 +3947,7 @@ rc@^1.0.1, rc@^1.1.6: minimist "^1.2.0" strip-json-comments "~2.0.1" -react-is@^16.12.0, react-is@^16.8.4: +react-is@^16.12.0: version "16.12.0" resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.12.0.tgz#2cc0fe0fba742d97fd527c42a13bec4eeb06241c" integrity sha512-rPCkf/mWBtKc97aLL9/txD8DZdemK0vkA3JMLShjlJB3Pj3s+lpf1KaBzMfQrAmhMQB0n1cU/SUGgKKBCe837Q== @@ -4832,10 +4787,10 @@ trim-off-newlines@^1.0.0: resolved "https://registry.yarnpkg.com/trim-off-newlines/-/trim-off-newlines-1.0.1.tgz#9f9ba9d9efa8764c387698bcbfeb2c848f11adb3" integrity sha1-n5up2e+odkw4dpi8v+sshI8RrbM= -ts-jest@25.0.0: - version "25.0.0" - resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-25.0.0.tgz#d83b266e6ffda0c458a129951b3fe3567f8ce8df" - integrity sha512-F+hZg3j7XYOFpXJteXb4lnqy7vQzTmpTmX7AJT6pvSGeZejyXj1Lk0ArpnrEPOpv6Zu/NugHc5W7FINngC9WZQ== +ts-jest@25.1.0: + version "25.1.0" + resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-25.1.0.tgz#06e776c4cce8a4da8eec4945f36a5823d0c0f9ba" + integrity sha512-1Lf576ulKhbxX5og+tG8udVg/5cgcMLPBxp1iCqbbf6VvUK4gEsgAtzMjl8u98izhLrzKMPB0LxCBKEZ5l19Hw== dependencies: bs-logger "0.x" buffer-from "1.x" From a6cdb6f2f5cba79949fc908941b5de5d0928238a Mon Sep 17 00:00:00 2001 From: blackholegalaxy Date: Thu, 30 Jan 2020 17:08:39 -0500 Subject: [PATCH 06/20] lint --- src/lib/offsets/environment/weather/at-aircraft.ts | 2 +- src/lib/offsets/environment/weather/settings.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/lib/offsets/environment/weather/at-aircraft.ts b/src/lib/offsets/environment/weather/at-aircraft.ts index c2ef6bb..f02c123 100644 --- a/src/lib/offsets/environment/weather/at-aircraft.ts +++ b/src/lib/offsets/environment/weather/at-aircraft.ts @@ -484,4 +484,4 @@ export const weatherAtAircraft: OffsetList = { type: Type.UInt16, permission: 'r', }), -} +}; diff --git a/src/lib/offsets/environment/weather/settings.ts b/src/lib/offsets/environment/weather/settings.ts index 6adb0ad..231037d 100644 --- a/src/lib/offsets/environment/weather/settings.ts +++ b/src/lib/offsets/environment/weather/settings.ts @@ -510,4 +510,4 @@ export const weatherSettings: OffsetList = { type: Type.UInt16, permission: 'rw', }), -} +}; From b787a46ab3126e5dfbb7ca76fab85b7df0a8a4aa Mon Sep 17 00:00:00 2001 From: blackholegalaxy Date: Thu, 30 Jan 2020 17:42:23 -0500 Subject: [PATCH 07/20] add more offsets --- src/lib/offsets/plane/radios/adf1.ts | 27 +++++ src/lib/offsets/plane/radios/adf2.ts | 27 +++++ src/lib/offsets/plane/radios/ils.ts | 89 +++++++++++++++ .../position-attitude/position-attitude.ts | 8 ++ .../offsets/__snapshots__/offset.spec.ts.snap | 11 ++ .../radios/__snapshots__/adf1.spec.ts.snap | 33 ++++++ .../radios/__snapshots__/adf2.spec.ts.snap | 33 ++++++ .../radios/__snapshots__/ils.spec.ts.snap | 105 ++++++++++++++++++ tests/offsets/plane/radios/adf1.spec.ts | 3 + tests/offsets/plane/radios/adf2.spec.ts | 3 + tests/offsets/plane/radios/ils.spec.ts | 33 ++++++ .../position-attitude.spec.ts.snap | 11 ++ 12 files changed, 383 insertions(+) create mode 100644 src/lib/offsets/plane/radios/ils.ts create mode 100644 tests/offsets/plane/radios/__snapshots__/ils.spec.ts.snap create mode 100644 tests/offsets/plane/radios/ils.spec.ts diff --git a/src/lib/offsets/plane/radios/adf1.ts b/src/lib/offsets/plane/radios/adf1.ts index 251c494..a4c841e 100644 --- a/src/lib/offsets/plane/radios/adf1.ts +++ b/src/lib/offsets/plane/radios/adf1.ts @@ -47,4 +47,31 @@ export const ADF1: OffsetList = { type: Type.UInt16, permission: 'rw', }), + adf1Latitude: new Offset({ + value: 0x1124, + name: 'adf1Latitude', + category: OffsetCategory.RADIOS, + description: 'adf1 latitude', + type: Type.Int32, + convert: '{VAL} * 90 / 10001750', + permission: 'r', + }), + adf1Longitude: new Offset({ + value: 0x1128, + name: 'adf1Longitude', + category: OffsetCategory.RADIOS, + description: 'adf1 longitude', + type: Type.Int32, + convert: '{VAL} * 360 / (65536 * 65536)', + permission: 'r', + }), + adf1Altitude: new Offset({ + value: 0x112C, + name: 'adf1Altitude', + category: OffsetCategory.RADIOS, + description: 'adf1 altitude - ft', + type: Type.Int32, + convert: '+({VAL} * 3.28084).toFixed(2)', + permission: 'r', + }), }; diff --git a/src/lib/offsets/plane/radios/adf2.ts b/src/lib/offsets/plane/radios/adf2.ts index b92eaa9..1f8c1f3 100644 --- a/src/lib/offsets/plane/radios/adf2.ts +++ b/src/lib/offsets/plane/radios/adf2.ts @@ -66,4 +66,31 @@ export const ADF2: OffsetList = { type: Type.UInt32, permission: 'r', }), + adf2Latitude: new Offset({ + value: 0x1130, + name: 'adf2Latitude', + category: OffsetCategory.RADIOS, + description: 'adf2 latitude', + type: Type.Int32, + convert: '{VAL} * 90 / 10001750', + permission: 'r', + }), + adf2Longitude: new Offset({ + value: 0x1134, + name: 'adf2Longitude', + category: OffsetCategory.RADIOS, + description: 'adf2 longitude', + type: Type.Int32, + convert: '{VAL} * 360 / (65536 * 65536)', + permission: 'r', + }), + adf2Altitude: new Offset({ + value: 0x1138, + name: 'adf2Altitude', + category: OffsetCategory.RADIOS, + description: 'adf2 altitude - ft', + type: Type.Int32, + convert: '+({VAL} * 3.28084).toFixed(2)', + permission: 'r', + }), }; diff --git a/src/lib/offsets/plane/radios/ils.ts b/src/lib/offsets/plane/radios/ils.ts new file mode 100644 index 0000000..94b510b --- /dev/null +++ b/src/lib/offsets/plane/radios/ils.ts @@ -0,0 +1,89 @@ +import { Type } from 'fsuipc'; + +import { OffsetCategory } from '@shared/offset-category'; +import { OffsetList } from '@shared/offset-list'; +import { Offset } from '@shared/offset'; + +export const ILS: OffsetList = { + innerMarkerLatitude: new Offset({ + value: 0x1100, + name: 'innerMarkerLatitude', + category: OffsetCategory.RADIOS, + description: 'inner marker latitude', + type: Type.Int32, + convert: '{VAL} * 90 / 10001750', + permission: 'r', + }), + innerMarkerLongitude: new Offset({ + value: 0x1104, + name: 'innerMarkerLongitude', + category: OffsetCategory.RADIOS, + description: 'inner marker longitude', + type: Type.Int32, + convert: '{VAL} * 360 / (65536 * 65536)', + permission: 'r', + }), + innerMarkerAltitude: new Offset({ + value: 0x1108, + name: 'innerMarkerAltitude', + category: OffsetCategory.RADIOS, + description: 'inner marker altitude - ft', + type: Type.Int32, + convert: '+({VAL} * 3.28084).toFixed(2)', + permission: 'r', + }), + middleMarkerLatitude: new Offset({ + value: 0x110C, + name: 'middleMarkerLatitude', + category: OffsetCategory.RADIOS, + description: 'middle marker latitude', + type: Type.Int32, + convert: '{VAL} * 90 / 10001750', + permission: 'r', + }), + middleMarkerLongitude: new Offset({ + value: 0x1110, + name: 'middleMarkerLongitude', + category: OffsetCategory.RADIOS, + description: 'middle marker longitude', + type: Type.Int32, + convert: '{VAL} * 360 / (65536 * 65536)', + permission: 'r', + }), + middleMarkerAltitude: new Offset({ + value: 0x1114, + name: 'middleMarkerAltitude', + category: OffsetCategory.RADIOS, + description: 'middle marker altitude - ft', + type: Type.Int32, + convert: '+({VAL} * 3.28084).toFixed(2)', + permission: 'r', + }), + outerMarkerLatitude: new Offset({ + value: 0x1118, + name: 'outerMarkerLatitude', + category: OffsetCategory.RADIOS, + description: 'outer marker latitude', + type: Type.Int32, + convert: '{VAL} * 90 / 10001750', + permission: 'r', + }), + outerMarkerLongitude: new Offset({ + value: 0x111C, + name: 'outerMarkerLongitude', + category: OffsetCategory.RADIOS, + description: 'outer marker longitude', + type: Type.Int32, + convert: '{VAL} * 360 / (65536 * 65536)', + permission: 'r', + }), + outerMarkerAltitude: new Offset({ + value: 0x1120, + name: 'outerMarkerAltitude', + category: OffsetCategory.RADIOS, + description: 'outer marker altitude - ft', + type: Type.Int32, + convert: '+({VAL} * 3.28084).toFixed(2)', + permission: 'r', + }), +}; diff --git a/src/lib/offsets/position-attitude/position-attitude.ts b/src/lib/offsets/position-attitude/position-attitude.ts index d236f90..1285ba1 100644 --- a/src/lib/offsets/position-attitude/position-attitude.ts +++ b/src/lib/offsets/position-attitude/position-attitude.ts @@ -211,4 +211,12 @@ export const positionAttitude: OffsetList = { convert: '+({VAL} * -3.28084).toFixed(2)', permission: 'r', }), + gForce: new Offset({ + value: 0x1140, + name: 'gForce', + category: OffsetCategory.RADIOS, + description: 'g-force', + type: Type.Double, + permission: 'r', + }), }; diff --git a/tests/offsets/__snapshots__/offset.spec.ts.snap b/tests/offsets/__snapshots__/offset.spec.ts.snap index e2223ec..6683b42 100644 --- a/tests/offsets/__snapshots__/offset.spec.ts.snap +++ b/tests/offsets/__snapshots__/offset.spec.ts.snap @@ -2774,6 +2774,17 @@ Object { "type": 2, "value": 2804, }, + "gForce": Offset { + "category": "radios", + "convert": undefined, + "description": "g-force", + "length": undefined, + "mapping": undefined, + "name": "gForce", + "permission": "r", + "type": 8, + "value": 4416, + }, "gearControl": Offset { "category": "controls", "convert": "Math.round({VAL} / 16383 * 100)", diff --git a/tests/offsets/plane/radios/__snapshots__/adf1.spec.ts.snap b/tests/offsets/plane/radios/__snapshots__/adf1.spec.ts.snap index d62c722..f85ea45 100644 --- a/tests/offsets/plane/radios/__snapshots__/adf1.spec.ts.snap +++ b/tests/offsets/plane/radios/__snapshots__/adf1.spec.ts.snap @@ -2,6 +2,17 @@ exports[`offset - plane/radios/adf1 offsets list should have required properties 1`] = ` Object { + "adf1Altitude": Offset { + "category": "radios", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "adf1 altitude - ft", + "length": undefined, + "mapping": undefined, + "name": "adf1Altitude", + "permission": "r", + "type": 3, + "value": 4396, + }, "adf1BearingToNDB": Offset { "category": "radios", "convert": "Math.round({VAL} * 360 / 65536)", @@ -24,6 +35,28 @@ Object { "type": 5, "value": 3180, }, + "adf1Latitude": Offset { + "category": "radios", + "convert": "{VAL} * 90 / 10001750", + "description": "adf1 latitude", + "length": undefined, + "mapping": undefined, + "name": "adf1Latitude", + "permission": "r", + "type": 3, + "value": 4388, + }, + "adf1Longitude": Offset { + "category": "radios", + "convert": "{VAL} * 360 / (65536 * 65536)", + "description": "adf1 longitude", + "length": undefined, + "mapping": undefined, + "name": "adf1Longitude", + "permission": "r", + "type": 3, + "value": 4392, + }, "adf1SignalStrength": Offset { "category": "radios", "convert": undefined, diff --git a/tests/offsets/plane/radios/__snapshots__/adf2.spec.ts.snap b/tests/offsets/plane/radios/__snapshots__/adf2.spec.ts.snap index 94a19e2..6e075e0 100644 --- a/tests/offsets/plane/radios/__snapshots__/adf2.spec.ts.snap +++ b/tests/offsets/plane/radios/__snapshots__/adf2.spec.ts.snap @@ -2,6 +2,17 @@ exports[`offset - plane/radios/adf2 offsets list should have required properties 1`] = ` Object { + "adf2Altitude": Offset { + "category": "radios", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "adf2 altitude - ft", + "length": undefined, + "mapping": undefined, + "name": "adf2Altitude", + "permission": "r", + "type": 3, + "value": 4408, + }, "adf2ExtendedFreq": Offset { "category": "radios", "convert": undefined, @@ -24,6 +35,28 @@ Object { "type": 5, "value": 724, }, + "adf2Latitude": Offset { + "category": "radios", + "convert": "{VAL} * 90 / 10001750", + "description": "adf2 latitude", + "length": undefined, + "mapping": undefined, + "name": "adf2Latitude", + "permission": "r", + "type": 3, + "value": 4400, + }, + "adf2Longitude": Offset { + "category": "radios", + "convert": "{VAL} * 360 / (65536 * 65536)", + "description": "adf2 longitude", + "length": undefined, + "mapping": undefined, + "name": "adf2Longitude", + "permission": "r", + "type": 3, + "value": 4404, + }, "adf2RelBearing": Offset { "category": "radios", "convert": "Math.round({VAL} * 360 / 65536)", diff --git a/tests/offsets/plane/radios/__snapshots__/ils.spec.ts.snap b/tests/offsets/plane/radios/__snapshots__/ils.spec.ts.snap new file mode 100644 index 0000000..a7fc23c --- /dev/null +++ b/tests/offsets/plane/radios/__snapshots__/ils.spec.ts.snap @@ -0,0 +1,105 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`offset - plane/radios/ils offsets list should have required properties 1`] = ` +Object { + "innerMarkerAltitude": Offset { + "category": "radios", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "inner marker altitude - ft", + "length": undefined, + "mapping": undefined, + "name": "innerMarkerAltitude", + "permission": "r", + "type": 3, + "value": 4360, + }, + "innerMarkerLatitude": Offset { + "category": "radios", + "convert": "{VAL} * 90 / 10001750", + "description": "inner marker latitude", + "length": undefined, + "mapping": undefined, + "name": "innerMarkerLatitude", + "permission": "r", + "type": 3, + "value": 4352, + }, + "innerMarkerLongitude": Offset { + "category": "radios", + "convert": "{VAL} * 360 / (65536 * 65536)", + "description": "inner marker longitude", + "length": undefined, + "mapping": undefined, + "name": "innerMarkerLongitude", + "permission": "r", + "type": 3, + "value": 4356, + }, + "middleMarkerAltitude": Offset { + "category": "radios", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "middle marker altitude - ft", + "length": undefined, + "mapping": undefined, + "name": "middleMarkerAltitude", + "permission": "r", + "type": 3, + "value": 4372, + }, + "middleMarkerLatitude": Offset { + "category": "radios", + "convert": "{VAL} * 90 / 10001750", + "description": "middle marker latitude", + "length": undefined, + "mapping": undefined, + "name": "middleMarkerLatitude", + "permission": "r", + "type": 3, + "value": 4364, + }, + "middleMarkerLongitude": Offset { + "category": "radios", + "convert": "{VAL} * 360 / (65536 * 65536)", + "description": "middle marker longitude", + "length": undefined, + "mapping": undefined, + "name": "middleMarkerLongitude", + "permission": "r", + "type": 3, + "value": 4368, + }, + "outerMarkerAltitude": Offset { + "category": "radios", + "convert": "+({VAL} * 3.28084).toFixed(2)", + "description": "outer marker altitude - ft", + "length": undefined, + "mapping": undefined, + "name": "outerMarkerAltitude", + "permission": "r", + "type": 3, + "value": 4384, + }, + "outerMarkerLatitude": Offset { + "category": "radios", + "convert": "{VAL} * 90 / 10001750", + "description": "outer marker latitude", + "length": undefined, + "mapping": undefined, + "name": "outerMarkerLatitude", + "permission": "r", + "type": 3, + "value": 4376, + }, + "outerMarkerLongitude": Offset { + "category": "radios", + "convert": "{VAL} * 360 / (65536 * 65536)", + "description": "outer marker longitude", + "length": undefined, + "mapping": undefined, + "name": "outerMarkerLongitude", + "permission": "r", + "type": 3, + "value": 4380, + }, +} +`; diff --git a/tests/offsets/plane/radios/adf1.spec.ts b/tests/offsets/plane/radios/adf1.spec.ts index 8f73c97..a1eeaa7 100644 --- a/tests/offsets/plane/radios/adf1.spec.ts +++ b/tests/offsets/plane/radios/adf1.spec.ts @@ -5,6 +5,9 @@ describe('offset - plane/radios/adf1', () => { const offsetsTestCases = [ { name: 'adfFreq', value: 74528, expectedResult: 12320 }, { name: 'adf1BearingToNDB', value: 9102, expectedResult: 50 }, + { name: 'adf1Latitude', value: 5198687, expectedResult: 46.77999650061239 }, + { name: 'adf1Longitude', value: -851715875, expectedResult: -71.38999993912876 }, + { name: 'adf1Altitude', value: 92, expectedResult: 301.84 }, ]; describe('offsets list', () => { diff --git a/tests/offsets/plane/radios/adf2.spec.ts b/tests/offsets/plane/radios/adf2.spec.ts index 3f3d132..69545b1 100644 --- a/tests/offsets/plane/radios/adf2.spec.ts +++ b/tests/offsets/plane/radios/adf2.spec.ts @@ -7,6 +7,9 @@ describe('offset - plane/radios/adf2', () => { { name: 'adf2RelBearing', value: 38229, expectedResult: 210 }, { name: 'ndb2IdentSoundSwitch', value: 0, expectedResult: false }, { name: 'ndb2IdentSoundSwitch', value: 1, expectedResult: true }, + { name: 'adf2Latitude', value: 5198687, expectedResult: 46.77999650061239 }, + { name: 'adf2Longitude', value: -851715875, expectedResult: -71.38999993912876 }, + { name: 'adf2Altitude', value: 92, expectedResult: 301.84 }, ]; describe('offsets list', () => { diff --git a/tests/offsets/plane/radios/ils.spec.ts b/tests/offsets/plane/radios/ils.spec.ts new file mode 100644 index 0000000..c0af427 --- /dev/null +++ b/tests/offsets/plane/radios/ils.spec.ts @@ -0,0 +1,33 @@ +import { ILS as offsets } from '@offsets/plane/radios/ils'; +import { replaceOffsetExpressionValue } from '@convert/apply-conversion'; + +describe('offset - plane/radios/ils', () => { + const offsetsTestCases = [ + { name: 'innerMarkerLatitude', value: 5198687, expectedResult: 46.77999650061239 }, + { name: 'innerMarkerLongitude', value: -851715875, expectedResult: -71.38999993912876 }, + { name: 'innerMarkerAltitude', value: 92, expectedResult: 301.84 }, + { name: 'middleMarkerLatitude', value: 5198687, expectedResult: 46.77999650061239 }, + { name: 'middleMarkerLongitude', value: -851715875, expectedResult: -71.38999993912876 }, + { name: 'middleMarkerAltitude', value: 92, expectedResult: 301.84 }, + { name: 'outerMarkerLatitude', value: 5198687, expectedResult: 46.77999650061239 }, + { name: 'outerMarkerLongitude', value: -851715875, expectedResult: -71.38999993912876 }, + { name: 'outerMarkerAltitude', value: 92, expectedResult: 301.84 }, + ]; + + describe('offsets list', () => { + it('should have required properties', () => { + expect(offsets).toMatchSnapshot(); + }); + }); + + offsetsTestCases.forEach(testedOffset => { + describe(testedOffset.name, () => { + it('should convert data properly', () => { + const convertExpression = replaceOffsetExpressionValue(offsets[testedOffset.name], testedOffset.value); + + // tslint:disable-next-line:no-eval + expect(eval(convertExpression)).toEqual(testedOffset.expectedResult); + }); + }); + }); +}); diff --git a/tests/offsets/position-attitude/__snapshots__/position-attitude.spec.ts.snap b/tests/offsets/position-attitude/__snapshots__/position-attitude.spec.ts.snap index 86568d1..d393766 100644 --- a/tests/offsets/position-attitude/__snapshots__/position-attitude.spec.ts.snap +++ b/tests/offsets/position-attitude/__snapshots__/position-attitude.spec.ts.snap @@ -35,6 +35,17 @@ Object { "type": 6, "value": 708, }, + "gForce": Offset { + "category": "radios", + "convert": undefined, + "description": "g-force", + "length": undefined, + "mapping": undefined, + "name": "gForce", + "permission": "r", + "type": 8, + "value": 4416, + }, "groundElevation": Offset { "category": "position_attitude", "convert": "Math.round({VAL} * 3.28084 / 256)", From f217435a08e6d5555fb42acd9b1e7f7305481d71 Mon Sep 17 00:00:00 2001 From: blackholegalaxy Date: Thu, 30 Jan 2020 18:25:48 -0500 Subject: [PATCH 08/20] add offsets --- src/lib/convert/mappings/time-of-day.ts | 12 ++++ src/lib/offsets/environment/environment.ts | 8 +++ .../position-attitude/position-attitude.ts | 20 +++++- src/lib/offsets/simulation/simulation.ts | 27 ++++++++ src/shared/environment/time-of-day.ts | 5 ++ .../offsets/__snapshots__/offset.spec.ts.snap | 68 ++++++++++++++++++- .../__snapshots__/environment.spec.ts.snap | 11 +++ .../position-attitude.spec.ts.snap | 24 ++++++- .../position-attitude.spec.ts | 2 + .../__snapshots__/simulation.spec.ts.snap | 33 +++++++++ tests/offsets/simulation/simulation.spec.ts | 8 +++ 11 files changed, 215 insertions(+), 3 deletions(-) create mode 100644 src/lib/convert/mappings/time-of-day.ts create mode 100644 src/shared/environment/time-of-day.ts diff --git a/src/lib/convert/mappings/time-of-day.ts b/src/lib/convert/mappings/time-of-day.ts new file mode 100644 index 0000000..fcafb55 --- /dev/null +++ b/src/lib/convert/mappings/time-of-day.ts @@ -0,0 +1,12 @@ +import { TimeOfDay } from '@shared/environment/time-of-day'; + +export const timeOfDay = (value: number): TimeOfDay => { + switch (value) { + case 1: + return TimeOfDay.DAY; + case 2: + return TimeOfDay.DUSK_DAWN; + case 3: + return TimeOfDay.NIGHT; + } +}; diff --git a/src/lib/offsets/environment/environment.ts b/src/lib/offsets/environment/environment.ts index a4e24a0..2ab9d3a 100644 --- a/src/lib/offsets/environment/environment.ts +++ b/src/lib/offsets/environment/environment.ts @@ -206,4 +206,12 @@ export const environment: OffsetList = { length: 4, permission: 'r', }), + timeOfDay: new Offset({ + value: 0x115E, + name: 'timeOfDay', + category: OffsetCategory.ENVIRONMENT, + description: 'time of day', + type: Type.Byte, + permission: 'r', + }), }; diff --git a/src/lib/offsets/position-attitude/position-attitude.ts b/src/lib/offsets/position-attitude/position-attitude.ts index 1285ba1..96ce1a7 100644 --- a/src/lib/offsets/position-attitude/position-attitude.ts +++ b/src/lib/offsets/position-attitude/position-attitude.ts @@ -214,9 +214,27 @@ export const positionAttitude: OffsetList = { gForce: new Offset({ value: 0x1140, name: 'gForce', - category: OffsetCategory.RADIOS, + category: OffsetCategory.POSITION_ATTITUDE, description: 'g-force', type: Type.Double, permission: 'r', }), + gForceTouchDown: new Offset({ + value: 0x11B8, + name: 'gForceTouchDown', + category: OffsetCategory.POSITION_ATTITUDE, + description: 'g-force touchdown - unknown unit', + convert: '{VAL} / 625', + type: Type.Int16, + permission: 'r', + }), + gForceAlt: new Offset({ + value: 0x11BA, + name: 'gForceAlt', + category: OffsetCategory.POSITION_ATTITUDE, + description: 'g-force alt unit', + convert: '{VAL} / 625', + type: Type.Int16, + permission: 'r', + }), }; diff --git a/src/lib/offsets/simulation/simulation.ts b/src/lib/offsets/simulation/simulation.ts index 48557e7..e50b4f3 100644 --- a/src/lib/offsets/simulation/simulation.ts +++ b/src/lib/offsets/simulation/simulation.ts @@ -498,4 +498,31 @@ export const simulation: OffsetList = { type: Type.UInt16, permission: 'rw', }), + groundSceneryShadows: new Offset({ + value: 0x11A2, + name: 'groundSceneryShadows', + category: OffsetCategory.SIMULATION, + description: 'ground scenery shadows - on/off', + convert: '{VAL} === 1', + type: Type.Byte, + permission: 'rw', + }), + aircraftShadows: new Offset({ + value: 0x11A4, + name: 'aircraftShadows', + category: OffsetCategory.SIMULATION, + description: 'aircraft shadows', + convert: '!!{VAL}', + type: Type.UInt16, + permission: 'rw', + }), + aircraftReflections: new Offset({ + value: 0x11B6, + name: 'aircraftReflections', + category: OffsetCategory.SIMULATION, + description: 'aircraft shadows', + convert: '{VAL} === 2', + type: Type.Byte, + permission: 'rw', + }), }; diff --git a/src/shared/environment/time-of-day.ts b/src/shared/environment/time-of-day.ts new file mode 100644 index 0000000..ab1cd94 --- /dev/null +++ b/src/shared/environment/time-of-day.ts @@ -0,0 +1,5 @@ +export enum TimeOfDay { + DAY = 'day', + DUSK_DAWN = 'duskDawn', + NIGHT = 'night', +} diff --git a/tests/offsets/__snapshots__/offset.spec.ts.snap b/tests/offsets/__snapshots__/offset.spec.ts.snap index 6683b42..efe202e 100644 --- a/tests/offsets/__snapshots__/offset.spec.ts.snap +++ b/tests/offsets/__snapshots__/offset.spec.ts.snap @@ -299,6 +299,28 @@ Object { "type": 2, "value": 3074, }, + "aircraftReflections": Offset { + "category": "simulation", + "convert": "{VAL} === 2", + "description": "aircraft shadows", + "length": undefined, + "mapping": undefined, + "name": "aircraftReflections", + "permission": "rw", + "type": 0, + "value": 4534, + }, + "aircraftShadows": Offset { + "category": "simulation", + "convert": "!!{VAL}", + "description": "aircraft shadows", + "length": undefined, + "mapping": undefined, + "name": "aircraftShadows", + "permission": "rw", + "type": 5, + "value": 4516, + }, "alternateStaticAirSource": Offset { "category": "cockpit", "convert": "!!{VAL}", @@ -2775,7 +2797,7 @@ Object { "value": 2804, }, "gForce": Offset { - "category": "radios", + "category": "position_attitude", "convert": undefined, "description": "g-force", "length": undefined, @@ -2785,6 +2807,28 @@ Object { "type": 8, "value": 4416, }, + "gForceAlt": Offset { + "category": "position_attitude", + "convert": "{VAL} / 625", + "description": "g-force alt unit", + "length": undefined, + "mapping": undefined, + "name": "gForceAlt", + "permission": "r", + "type": 2, + "value": 4538, + }, + "gForceTouchDown": Offset { + "category": "position_attitude", + "convert": "{VAL} / 625", + "description": "g-force touchdown - unknown unit", + "length": undefined, + "mapping": undefined, + "name": "gForceTouchDown", + "permission": "r", + "type": 2, + "value": 4536, + }, "gearControl": Offset { "category": "controls", "convert": "Math.round({VAL} / 16383 * 100)", @@ -2840,6 +2884,17 @@ Object { "type": 3, "value": 32, }, + "groundSceneryShadows": Offset { + "category": "simulation", + "convert": "{VAL} === 1", + "description": "ground scenery shadows - on/off", + "length": undefined, + "mapping": undefined, + "name": "groundSceneryShadows", + "permission": "rw", + "type": 0, + "value": 4514, + }, "gs": Offset { "category": "position_attitude", "convert": "Math.floor({VAL} * 3600 / 65536 / 1852)", @@ -5183,6 +5238,17 @@ Object { "type": 2, "value": 2816, }, + "timeOfDay": Offset { + "category": "environment", + "convert": undefined, + "description": "time of day", + "length": undefined, + "mapping": undefined, + "name": "timeOfDay", + "permission": "r", + "type": 0, + "value": 4446, + }, "timezoneOffsetToZulu": Offset { "category": "environment", "convert": undefined, diff --git a/tests/offsets/environment/__snapshots__/environment.spec.ts.snap b/tests/offsets/environment/__snapshots__/environment.spec.ts.snap index 43c1652..9ab0c44 100644 --- a/tests/offsets/environment/__snapshots__/environment.spec.ts.snap +++ b/tests/offsets/environment/__snapshots__/environment.spec.ts.snap @@ -156,6 +156,17 @@ Object { "type": 5, "value": 584, }, + "timeOfDay": Offset { + "category": "environment", + "convert": undefined, + "description": "time of day", + "length": undefined, + "mapping": undefined, + "name": "timeOfDay", + "permission": "r", + "type": 0, + "value": 4446, + }, "timezoneOffsetToZulu": Offset { "category": "environment", "convert": undefined, diff --git a/tests/offsets/position-attitude/__snapshots__/position-attitude.spec.ts.snap b/tests/offsets/position-attitude/__snapshots__/position-attitude.spec.ts.snap index d393766..f9de391 100644 --- a/tests/offsets/position-attitude/__snapshots__/position-attitude.spec.ts.snap +++ b/tests/offsets/position-attitude/__snapshots__/position-attitude.spec.ts.snap @@ -36,7 +36,7 @@ Object { "value": 708, }, "gForce": Offset { - "category": "radios", + "category": "position_attitude", "convert": undefined, "description": "g-force", "length": undefined, @@ -46,6 +46,28 @@ Object { "type": 8, "value": 4416, }, + "gForceAlt": Offset { + "category": "position_attitude", + "convert": "{VAL} / 625", + "description": "g-force alt unit", + "length": undefined, + "mapping": undefined, + "name": "gForceAlt", + "permission": "r", + "type": 2, + "value": 4538, + }, + "gForceTouchDown": Offset { + "category": "position_attitude", + "convert": "{VAL} / 625", + "description": "g-force touchdown - unknown unit", + "length": undefined, + "mapping": undefined, + "name": "gForceTouchDown", + "permission": "r", + "type": 2, + "value": 4536, + }, "groundElevation": Offset { "category": "position_attitude", "convert": "Math.round({VAL} * 3.28084 / 256)", diff --git a/tests/offsets/position-attitude/position-attitude.spec.ts b/tests/offsets/position-attitude/position-attitude.spec.ts index 0a3ac10..afbef65 100644 --- a/tests/offsets/position-attitude/position-attitude.spec.ts +++ b/tests/offsets/position-attitude/position-attitude.spec.ts @@ -26,6 +26,8 @@ describe('offset - position-attitude/position-attitude', () => { { name: 'viewpointBank', value: -238609294, expectedResult: -20 }, { name: 'viewpointHeading', value: 2147483648, expectedResult: 180 }, { name: 'verticalSpeed', value: -46, expectedResult: 150.92 }, + { name: 'gForceTouchDown', value: 1250, expectedResult: 2 }, + { name: 'gForceAlt', value: 1250, expectedResult: 2 }, ]; describe('offsets list', () => { diff --git a/tests/offsets/simulation/__snapshots__/simulation.spec.ts.snap b/tests/offsets/simulation/__snapshots__/simulation.spec.ts.snap index 26ec403..10f4fe4 100644 --- a/tests/offsets/simulation/__snapshots__/simulation.spec.ts.snap +++ b/tests/offsets/simulation/__snapshots__/simulation.spec.ts.snap @@ -13,6 +13,28 @@ Object { "type": 2, "value": 856, }, + "aircraftReflections": Offset { + "category": "simulation", + "convert": "{VAL} === 2", + "description": "aircraft shadows", + "length": undefined, + "mapping": undefined, + "name": "aircraftReflections", + "permission": "rw", + "type": 0, + "value": 4534, + }, + "aircraftShadows": Offset { + "category": "simulation", + "convert": "!!{VAL}", + "description": "aircraft shadows", + "length": undefined, + "mapping": undefined, + "name": "aircraftShadows", + "permission": "rw", + "type": 5, + "value": 4516, + }, "availableMemory": Offset { "category": "simulation", "convert": undefined, @@ -200,6 +222,17 @@ Object { "type": 5, "value": 812, }, + "groundSceneryShadows": Offset { + "category": "simulation", + "convert": "{VAL} === 1", + "description": "ground scenery shadows - on/off", + "length": undefined, + "mapping": undefined, + "name": "groundSceneryShadows", + "permission": "rw", + "type": 0, + "value": 4514, + }, "internationalEWSetting": Offset { "category": "simulation", "convert": undefined, diff --git a/tests/offsets/simulation/simulation.spec.ts b/tests/offsets/simulation/simulation.spec.ts index 25b554a..f08de94 100644 --- a/tests/offsets/simulation/simulation.spec.ts +++ b/tests/offsets/simulation/simulation.spec.ts @@ -34,6 +34,14 @@ describe('offset - plane/simulation', () => { { name: 'internationalUnit', value: 2, expectedResult: 'metric_meters' }, { name: 'simulationRate', value: 512, expectedResult: 2 }, { name: 'simulationRate', value: 384, expectedResult: 1.5 }, + { name: 'groundSceneryShadows', value: 0, expectedResult: false }, + { name: 'groundSceneryShadows', value: 1, expectedResult: true }, + { name: 'groundSceneryShadows', value: 2, expectedResult: false }, + { name: 'aircraftShadows', value: 0, expectedResult: false }, + { name: 'aircraftShadows', value: 1, expectedResult: true }, + { name: 'aircraftReflections', value: 0, expectedResult: false }, + { name: 'aircraftReflections', value: 1, expectedResult: false }, + { name: 'aircraftReflections', value: 2, expectedResult: true }, ]; describe('offsets list', () => { From 8b825fc4644aeb6a9329998f19cfdfe0c8da0468 Mon Sep 17 00:00:00 2001 From: blackholegalaxy Date: Thu, 30 Jan 2020 18:29:08 -0500 Subject: [PATCH 09/20] add offsets --- .../offsets/position-attitude/position-attitude.ts | 9 +++++++++ tests/offsets/__snapshots__/offset.spec.ts.snap | 11 +++++++++++ .../__snapshots__/position-attitude.spec.ts.snap | 11 +++++++++++ .../position-attitude/position-attitude.spec.ts | 1 + 4 files changed, 32 insertions(+) diff --git a/src/lib/offsets/position-attitude/position-attitude.ts b/src/lib/offsets/position-attitude/position-attitude.ts index 96ce1a7..6fb977e 100644 --- a/src/lib/offsets/position-attitude/position-attitude.ts +++ b/src/lib/offsets/position-attitude/position-attitude.ts @@ -237,4 +237,13 @@ export const positionAttitude: OffsetList = { type: Type.Int16, permission: 'r', }), + angleOfAttack: new Offset({ + value: 0x11BE, + name: 'angleOfAttack', + category: OffsetCategory.POSITION_ATTITUDE, + description: 'angle of attack - percent of max', + convert: '+(100 - (100 * {VAL} / 32767)).toFixed(2)', + type: Type.Int16, + permission: 'r', + }), }; diff --git a/tests/offsets/__snapshots__/offset.spec.ts.snap b/tests/offsets/__snapshots__/offset.spec.ts.snap index efe202e..2151bdf 100644 --- a/tests/offsets/__snapshots__/offset.spec.ts.snap +++ b/tests/offsets/__snapshots__/offset.spec.ts.snap @@ -387,6 +387,17 @@ Object { "type": 5, "value": 3610, }, + "angleOfAttack": Offset { + "category": "position_attitude", + "convert": "+(100 - (100 * {VAL} / 32767)).toFixed(2)", + "description": "angle of attack - percent of max", + "length": undefined, + "mapping": undefined, + "name": "angleOfAttack", + "permission": "r", + "type": 2, + "value": 4542, + }, "apAltitudeHold": Offset { "category": "autopilot", "convert": "!!{VAL}", diff --git a/tests/offsets/position-attitude/__snapshots__/position-attitude.spec.ts.snap b/tests/offsets/position-attitude/__snapshots__/position-attitude.spec.ts.snap index f9de391..72f7187 100644 --- a/tests/offsets/position-attitude/__snapshots__/position-attitude.spec.ts.snap +++ b/tests/offsets/position-attitude/__snapshots__/position-attitude.spec.ts.snap @@ -13,6 +13,17 @@ Object { "type": 4, "value": 1392, }, + "angleOfAttack": Offset { + "category": "position_attitude", + "convert": "+(100 - (100 * {VAL} / 32767)).toFixed(2)", + "description": "angle of attack - percent of max", + "length": undefined, + "mapping": undefined, + "name": "angleOfAttack", + "permission": "r", + "type": 2, + "value": 4542, + }, "bank": Offset { "category": "position_attitude", "convert": "+({VAL} * 360 / (65536 * 65536)).toFixed(2)", diff --git a/tests/offsets/position-attitude/position-attitude.spec.ts b/tests/offsets/position-attitude/position-attitude.spec.ts index afbef65..b85405e 100644 --- a/tests/offsets/position-attitude/position-attitude.spec.ts +++ b/tests/offsets/position-attitude/position-attitude.spec.ts @@ -28,6 +28,7 @@ describe('offset - position-attitude/position-attitude', () => { { name: 'verticalSpeed', value: -46, expectedResult: 150.92 }, { name: 'gForceTouchDown', value: 1250, expectedResult: 2 }, { name: 'gForceAlt', value: 1250, expectedResult: 2 }, + { name: 'angleOfAttack', value: 25456, expectedResult: 22.31 }, ]; describe('offsets list', () => { From e3267e79da6401b7b5c9bcf65875a254cd14afa6 Mon Sep 17 00:00:00 2001 From: blackholegalaxy Date: Sun, 2 Feb 2020 17:21:12 -0500 Subject: [PATCH 10/20] add more offsets --- src/lib/offsets/environment/weather.ts | 9 + src/lib/offsets/plane/cockpit.ts | 8 + src/lib/offsets/plane/fuel.ts | 100 ++++++++ src/lib/offsets/plane/plane.ts | 26 +++ .../position-attitude/position-attitude.ts | 9 + src/lib/offsets/simulation/simulation.ts | 17 ++ .../offsets/__snapshots__/offset.spec.ts.snap | 220 ++++++++++++++++++ .../__snapshots__/weather.spec.ts.snap | 11 + tests/offsets/environment/weather.spec.ts | 1 + .../plane/__snapshots__/cockpit.spec.ts.snap | 11 + .../plane/__snapshots__/fuel.spec.ts.snap | 132 +++++++++++ .../plane/__snapshots__/plane.spec.ts.snap | 33 +++ tests/offsets/plane/fuel.spec.ts | 4 + tests/offsets/plane/plane.spec.ts | 2 + .../position-attitude.spec.ts.snap | 11 + .../position-attitude.spec.ts | 1 + .../__snapshots__/simulation.spec.ts.snap | 22 ++ tests/offsets/simulation/simulation.spec.ts | 2 + 18 files changed, 619 insertions(+) diff --git a/src/lib/offsets/environment/weather.ts b/src/lib/offsets/environment/weather.ts index 2539a92..dc0903d 100644 --- a/src/lib/offsets/environment/weather.ts +++ b/src/lib/offsets/environment/weather.ts @@ -264,6 +264,15 @@ export const weather: OffsetList = { type: Type.UInt16, permission: 'r', }), + totalAirTemperature: new Offset({ + value: 0x11D0, + name: 'totalAirTemperature', + category: OffsetCategory.WEATHER, + description: 'total air temperature', + convert: 'Math.round({VAL} / 256)', + type: Type.Int16, + permission: 'r', + }), ...weatherAtAircraft, ...weatherSettings, }; diff --git a/src/lib/offsets/plane/cockpit.ts b/src/lib/offsets/plane/cockpit.ts index a164cbd..85154e5 100644 --- a/src/lib/offsets/plane/cockpit.ts +++ b/src/lib/offsets/plane/cockpit.ts @@ -279,4 +279,12 @@ export const cockpit: OffsetList = { type: Type.UInt16, permission: 'r', }), + fuelFlowAtCruise: new Offset({ + value: 0x1270, + name: 'fuelFlowAtCruise', + category: OffsetCategory.COCKPIT, + description: 'Estimated fuel flow at cruise - lb/h', + type: Type.Int32, + permission: 'r', + }), }; diff --git a/src/lib/offsets/plane/fuel.ts b/src/lib/offsets/plane/fuel.ts index f4472d7..7f53788 100644 --- a/src/lib/offsets/plane/fuel.ts +++ b/src/lib/offsets/plane/fuel.ts @@ -141,4 +141,104 @@ export const fuel: OffsetList = { type: Type.Int32, permission: 'r', }), + totalFuelCapacity: new Offset({ + value: 0x1240, + name: 'totalFuelCapacity', + category: OffsetCategory.FUEL, + description: 'total fuel capacity - US gallons', + type: Type.Int32, + permission: 'r', + }), + fuelCenter2TankLevel: new Offset({ + value: 0x1244, + name: 'fuelCenter2TankLevel', + category: OffsetCategory.FUEL, + description: 'center 2 tank level - percent', + convert: 'Math.round({VAL} / (128 * 65536) * 100)', + type: Type.Int32, + permission: 'r', + }), + fuelCenter2TankCapacity: new Offset({ + value: 0x1248, + name: 'fuelCenter2TankCapacity', + category: OffsetCategory.FUEL, + description: 'center 2 tank capacity - US gallons', + type: Type.Int32, + permission: 'r', + }), + fuelCenter3TankLevel: new Offset({ + value: 0x124C, + name: 'fuelCenter3TankLevel', + category: OffsetCategory.FUEL, + description: 'center 3 tank level - percent', + convert: 'Math.round({VAL} / (128 * 65536) * 100)', + type: Type.Int32, + permission: 'r', + }), + fuelCenter3TankCapacity: new Offset({ + value: 0x1250, + name: 'fuelCenter3TankCapacity', + category: OffsetCategory.FUEL, + description: 'center 3 tank capacity - US gallons', + type: Type.Int32, + permission: 'r', + }), + fuelExternal1TankLevel: new Offset({ + value: 0x1254, + name: 'fuelExternal1TankLevel', + category: OffsetCategory.FUEL, + description: 'external 1 tank level - percent', + convert: 'Math.round({VAL} / (128 * 65536) * 100)', + type: Type.Int32, + permission: 'r', + }), + fuelExternal1TankCapacity: new Offset({ + value: 0x1258, + name: 'fuelExternal1TankCapacity', + category: OffsetCategory.FUEL, + description: 'external 1 tank capacity - US gallons', + type: Type.Int32, + permission: 'r', + }), + fuelExternal2TankLevel: new Offset({ + value: 0x125C, + name: 'fuelExternal2TankLevel', + category: OffsetCategory.FUEL, + description: 'external 2 tank level - percent', + convert: 'Math.round({VAL} / (128 * 65536) * 100)', + type: Type.Int32, + permission: 'r', + }), + fuelExternal2TankCapacity: new Offset({ + value: 0x1260, + name: 'fuelExternal2TankCapacity', + category: OffsetCategory.FUEL, + description: 'external 2 tank capacity - US gallons', + type: Type.Int32, + permission: 'r', + }), + fuelTotalQuantity: new Offset({ + value: 0x1264, + name: 'fuelTotalQuantity', + category: OffsetCategory.FUEL, + description: 'total fuel quantity - US gallons', + type: Type.Int32, + permission: 'r', + }), + fuelSelectedQuantity: new Offset({ + value: 0x1268, + name: 'fuelSelectedQuantity', + category: OffsetCategory.FUEL, + description: 'Selected fuel quantity - US gallons', + type: Type.Int32, + permission: 'r', + }), + fuelTotalQuantityWeight: new Offset({ + value: 0x126C, + name: 'fuelTotalQuantityWeight', + category: OffsetCategory.FUEL, + description: 'total fuel quantity weight - lb', + type: Type.Int32, + permission: 'r', + }), }; diff --git a/src/lib/offsets/plane/plane.ts b/src/lib/offsets/plane/plane.ts index 0794d39..46d9138 100644 --- a/src/lib/offsets/plane/plane.ts +++ b/src/lib/offsets/plane/plane.ts @@ -162,4 +162,30 @@ export const plane: OffsetList = { type: Type.Int32, permission: 'r', }), + fuelSelectorsCount: new Offset({ + value: 0x123E, + name: 'fuelSelectorsCount', + category: OffsetCategory.PLANE, + description: 'number of fuel selectors for the aircraft', + type: Type.Byte, + permission: 'r', + }), + aircraftEmptyWeight: new Offset({ + value: 0x1330, + name: 'aircraftEmptyWeight', + category: OffsetCategory.PLANE, + description: 'aicraft empty weight', + convert: '+({VAL} / 256).toFixed(2)', + type: Type.Int32, + permission: 'r', + }), + aircraftMaxGrossWeight: new Offset({ + value: 0x1334, + name: 'aircraftMaxGrossWeight', + category: OffsetCategory.PLANE, + description: 'aicraft max gross weight', + convert: '+({VAL} / 256).toFixed(2)', + type: Type.Int32, + permission: 'r', + }), }; diff --git a/src/lib/offsets/position-attitude/position-attitude.ts b/src/lib/offsets/position-attitude/position-attitude.ts index 6fb977e..4439583 100644 --- a/src/lib/offsets/position-attitude/position-attitude.ts +++ b/src/lib/offsets/position-attitude/position-attitude.ts @@ -246,4 +246,13 @@ export const positionAttitude: OffsetList = { type: Type.Int16, permission: 'r', }), + machSpeed: new Offset({ + value: 0x11C6, + name: 'machSpeed', + category: OffsetCategory.POSITION_ATTITUDE, + description: 'mach speed', + convert: '{VAL} / 20480', + type: Type.Int16, + permission: 'r', + }), }; diff --git a/src/lib/offsets/simulation/simulation.ts b/src/lib/offsets/simulation/simulation.ts index e50b4f3..c5e3553 100644 --- a/src/lib/offsets/simulation/simulation.ts +++ b/src/lib/offsets/simulation/simulation.ts @@ -525,4 +525,21 @@ export const simulation: OffsetList = { type: Type.Byte, permission: 'rw', }), + unlimitedFuel: new Offset({ + value: 0x123F, + name: 'unlimitedFuel', + category: OffsetCategory.SIMULATION, + description: 'unlimited fuel', + convert: '!!{VAL}', + type: Type.Byte, + permission: 'r', + }), + textDisplayMode: new Offset({ + value: 0x1274, + name: 'textDisplayMode', + category: OffsetCategory.SIMULATION, + description: 'text display mode (eg: ATIS) - 0=static 1=scroll', + type: Type.Int16, + permission: 'r', + }), }; diff --git a/tests/offsets/__snapshots__/offset.spec.ts.snap b/tests/offsets/__snapshots__/offset.spec.ts.snap index 2151bdf..e57a1eb 100644 --- a/tests/offsets/__snapshots__/offset.spec.ts.snap +++ b/tests/offsets/__snapshots__/offset.spec.ts.snap @@ -299,6 +299,28 @@ Object { "type": 2, "value": 3074, }, + "aircraftEmptyWeight": Offset { + "category": "plane", + "convert": "+({VAL} / 256).toFixed(2)", + "description": "aicraft empty weight", + "length": undefined, + "mapping": undefined, + "name": "aircraftEmptyWeight", + "permission": "r", + "type": 3, + "value": 4912, + }, + "aircraftMaxGrossWeight": Offset { + "category": "plane", + "convert": "+({VAL} / 256).toFixed(2)", + "description": "aicraft max gross weight", + "length": undefined, + "mapping": undefined, + "name": "aircraftMaxGrossWeight", + "permission": "r", + "type": 3, + "value": 4916, + }, "aircraftReflections": Offset { "category": "simulation", "convert": "{VAL} === 2", @@ -2620,6 +2642,50 @@ Object { "type": 5, "value": 812, }, + "fuelCenter2TankCapacity": Offset { + "category": "fuel", + "convert": undefined, + "description": "center 2 tank capacity - US gallons", + "length": undefined, + "mapping": undefined, + "name": "fuelCenter2TankCapacity", + "permission": "r", + "type": 3, + "value": 4680, + }, + "fuelCenter2TankLevel": Offset { + "category": "fuel", + "convert": "Math.round({VAL} / (128 * 65536) * 100)", + "description": "center 2 tank level - percent", + "length": undefined, + "mapping": undefined, + "name": "fuelCenter2TankLevel", + "permission": "r", + "type": 3, + "value": 4676, + }, + "fuelCenter3TankCapacity": Offset { + "category": "fuel", + "convert": undefined, + "description": "center 3 tank capacity - US gallons", + "length": undefined, + "mapping": undefined, + "name": "fuelCenter3TankCapacity", + "permission": "r", + "type": 3, + "value": 4688, + }, + "fuelCenter3TankLevel": Offset { + "category": "fuel", + "convert": "Math.round({VAL} / (128 * 65536) * 100)", + "description": "center 3 tank level - percent", + "length": undefined, + "mapping": undefined, + "name": "fuelCenter3TankLevel", + "permission": "r", + "type": 3, + "value": 4684, + }, "fuelCenterTankCapacity": Offset { "category": "fuel", "convert": undefined, @@ -2642,6 +2708,61 @@ Object { "type": 3, "value": 2932, }, + "fuelExternal1TankCapacity": Offset { + "category": "fuel", + "convert": undefined, + "description": "external 1 tank capacity - US gallons", + "length": undefined, + "mapping": undefined, + "name": "fuelExternal1TankCapacity", + "permission": "r", + "type": 3, + "value": 4696, + }, + "fuelExternal1TankLevel": Offset { + "category": "fuel", + "convert": "Math.round({VAL} / (128 * 65536) * 100)", + "description": "external 1 tank level - percent", + "length": undefined, + "mapping": undefined, + "name": "fuelExternal1TankLevel", + "permission": "r", + "type": 3, + "value": 4692, + }, + "fuelExternal2TankCapacity": Offset { + "category": "fuel", + "convert": undefined, + "description": "external 2 tank capacity - US gallons", + "length": undefined, + "mapping": undefined, + "name": "fuelExternal2TankCapacity", + "permission": "r", + "type": 3, + "value": 4704, + }, + "fuelExternal2TankLevel": Offset { + "category": "fuel", + "convert": "Math.round({VAL} / (128 * 65536) * 100)", + "description": "external 2 tank level - percent", + "length": undefined, + "mapping": undefined, + "name": "fuelExternal2TankLevel", + "permission": "r", + "type": 3, + "value": 4700, + }, + "fuelFlowAtCruise": Offset { + "category": "cockpit", + "convert": undefined, + "description": "Estimated fuel flow at cruise - lb/h", + "length": undefined, + "mapping": undefined, + "name": "fuelFlowAtCruise", + "permission": "r", + "type": 3, + "value": 4720, + }, "fuelIndicatorFailure": Offset { "category": "failure", "convert": "typeof {VAL} === \`boolean\` ? {VAL} ? 1 : 0 : !!{VAL}", @@ -2785,6 +2906,28 @@ Object { "type": 3, "value": 2980, }, + "fuelSelectedQuantity": Offset { + "category": "fuel", + "convert": undefined, + "description": "Selected fuel quantity - US gallons", + "length": undefined, + "mapping": undefined, + "name": "fuelSelectedQuantity", + "permission": "r", + "type": 3, + "value": 4712, + }, + "fuelSelectorsCount": Offset { + "category": "plane", + "convert": undefined, + "description": "number of fuel selectors for the aircraft", + "length": undefined, + "mapping": undefined, + "name": "fuelSelectorsCount", + "permission": "r", + "type": 0, + "value": 4670, + }, "fuelTankSelector": Offset { "category": "fuel", "convert": undefined, @@ -2796,6 +2939,28 @@ Object { "type": 2, "value": 2808, }, + "fuelTotalQuantity": Offset { + "category": "fuel", + "convert": undefined, + "description": "total fuel quantity - US gallons", + "length": undefined, + "mapping": undefined, + "name": "fuelTotalQuantity", + "permission": "r", + "type": 3, + "value": 4708, + }, + "fuelTotalQuantityWeight": Offset { + "category": "fuel", + "convert": undefined, + "description": "total fuel quantity weight - lb", + "length": undefined, + "mapping": undefined, + "name": "fuelTotalQuantityWeight", + "permission": "r", + "type": 3, + "value": 4716, + }, "fuelWeight": Offset { "category": "fuel", "convert": "{VAL} / 256", @@ -3599,6 +3764,17 @@ Object { "type": 5, "value": 3948, }, + "machSpeed": Offset { + "category": "position_attitude", + "convert": "{VAL} / 20480", + "description": "mach speed", + "length": undefined, + "mapping": undefined, + "name": "machSpeed", + "permission": "r", + "type": 2, + "value": 4550, + }, "macroOrLuaParameters": Offset { "category": "simulation", "convert": undefined, @@ -5216,6 +5392,17 @@ Object { "type": 2, "value": 3908, }, + "textDisplayMode": Offset { + "category": "simulation", + "convert": undefined, + "description": "text display mode (eg: ATIS) - 0=static 1=scroll", + "length": undefined, + "mapping": undefined, + "name": "textDisplayMode", + "permission": "r", + "type": 2, + "value": 4724, + }, "textureQuality": Offset { "category": "simulation", "convert": undefined, @@ -5271,6 +5458,28 @@ Object { "type": 2, "value": 582, }, + "totalAirTemperature": Offset { + "category": "weather", + "convert": "Math.round({VAL} / 256)", + "description": "total air temperature", + "length": undefined, + "mapping": undefined, + "name": "totalAirTemperature", + "permission": "r", + "type": 2, + "value": 4560, + }, + "totalFuelCapacity": Offset { + "category": "fuel", + "convert": undefined, + "description": "total fuel capacity - US gallons", + "length": undefined, + "mapping": undefined, + "name": "totalFuelCapacity", + "permission": "r", + "type": 3, + "value": 4672, + }, "towerAltitude": Offset { "category": "environment", "convert": "+({VAL} * 3.28084 / (65536 * 65536)).toFixed(2)", @@ -5392,6 +5601,17 @@ Object { "type": 2, "value": 892, }, + "unlimitedFuel": Offset { + "category": "simulation", + "convert": "!!{VAL}", + "description": "unlimited fuel", + "length": undefined, + "mapping": undefined, + "name": "unlimitedFuel", + "permission": "r", + "type": 0, + "value": 4671, + }, "unlimitedVisibility": Offset { "category": "weather", "convert": "+({VAL} / 1600).toFixed(2)", diff --git a/tests/offsets/environment/__snapshots__/weather.spec.ts.snap b/tests/offsets/environment/__snapshots__/weather.spec.ts.snap index 88a9829..7e2853d 100644 --- a/tests/offsets/environment/__snapshots__/weather.spec.ts.snap +++ b/tests/offsets/environment/__snapshots__/weather.spec.ts.snap @@ -1124,6 +1124,17 @@ Object { "type": 2, "value": 3908, }, + "totalAirTemperature": Offset { + "category": "weather", + "convert": "Math.round({VAL} / 256)", + "description": "total air temperature", + "length": undefined, + "mapping": undefined, + "name": "totalAirTemperature", + "permission": "r", + "type": 2, + "value": 4560, + }, "unlimitedVisibility": Offset { "category": "weather", "convert": "+({VAL} / 1600).toFixed(2)", diff --git a/tests/offsets/environment/weather.spec.ts b/tests/offsets/environment/weather.spec.ts index eb516a4..a960c64 100644 --- a/tests/offsets/environment/weather.spec.ts +++ b/tests/offsets/environment/weather.spec.ts @@ -65,6 +65,7 @@ describe('offset - environment/weather', () => { { name: 'lowerCloudIcing', value: 0, expectedResult: false }, { name: 'stormCloudIcing', value: 1, expectedResult: true }, { name: 'stormCloudIcing', value: 0, expectedResult: false }, + { name: 'totalAirTemperature', value: 516, expectedResult: 2 }, ]; describe('offsets list', () => { diff --git a/tests/offsets/plane/__snapshots__/cockpit.spec.ts.snap b/tests/offsets/plane/__snapshots__/cockpit.spec.ts.snap index 31b03b9..b19f535 100644 --- a/tests/offsets/plane/__snapshots__/cockpit.spec.ts.snap +++ b/tests/offsets/plane/__snapshots__/cockpit.spec.ts.snap @@ -211,6 +211,17 @@ Object { "type": 5, "value": 1554, }, + "fuelFlowAtCruise": Offset { + "category": "cockpit", + "convert": undefined, + "description": "Estimated fuel flow at cruise - lb/h", + "length": undefined, + "mapping": undefined, + "name": "fuelFlowAtCruise", + "permission": "r", + "type": 3, + "value": 4720, + }, "gyroDrift": Offset { "category": "cockpit", "convert": "Math.round({VAL} * 360 / 65536)", diff --git a/tests/offsets/plane/__snapshots__/fuel.spec.ts.snap b/tests/offsets/plane/__snapshots__/fuel.spec.ts.snap index 0c0918b..daa997f 100644 --- a/tests/offsets/plane/__snapshots__/fuel.spec.ts.snap +++ b/tests/offsets/plane/__snapshots__/fuel.spec.ts.snap @@ -2,6 +2,50 @@ exports[`offset - plane/fuel offsets list should have required properties 1`] = ` Object { + "fuelCenter2TankCapacity": Offset { + "category": "fuel", + "convert": undefined, + "description": "center 2 tank capacity - US gallons", + "length": undefined, + "mapping": undefined, + "name": "fuelCenter2TankCapacity", + "permission": "r", + "type": 3, + "value": 4680, + }, + "fuelCenter2TankLevel": Offset { + "category": "fuel", + "convert": "Math.round({VAL} / (128 * 65536) * 100)", + "description": "center 2 tank level - percent", + "length": undefined, + "mapping": undefined, + "name": "fuelCenter2TankLevel", + "permission": "r", + "type": 3, + "value": 4676, + }, + "fuelCenter3TankCapacity": Offset { + "category": "fuel", + "convert": undefined, + "description": "center 3 tank capacity - US gallons", + "length": undefined, + "mapping": undefined, + "name": "fuelCenter3TankCapacity", + "permission": "r", + "type": 3, + "value": 4688, + }, + "fuelCenter3TankLevel": Offset { + "category": "fuel", + "convert": "Math.round({VAL} / (128 * 65536) * 100)", + "description": "center 3 tank level - percent", + "length": undefined, + "mapping": undefined, + "name": "fuelCenter3TankLevel", + "permission": "r", + "type": 3, + "value": 4684, + }, "fuelCenterTankCapacity": Offset { "category": "fuel", "convert": undefined, @@ -24,6 +68,50 @@ Object { "type": 3, "value": 2932, }, + "fuelExternal1TankCapacity": Offset { + "category": "fuel", + "convert": undefined, + "description": "external 1 tank capacity - US gallons", + "length": undefined, + "mapping": undefined, + "name": "fuelExternal1TankCapacity", + "permission": "r", + "type": 3, + "value": 4696, + }, + "fuelExternal1TankLevel": Offset { + "category": "fuel", + "convert": "Math.round({VAL} / (128 * 65536) * 100)", + "description": "external 1 tank level - percent", + "length": undefined, + "mapping": undefined, + "name": "fuelExternal1TankLevel", + "permission": "r", + "type": 3, + "value": 4692, + }, + "fuelExternal2TankCapacity": Offset { + "category": "fuel", + "convert": undefined, + "description": "external 2 tank capacity - US gallons", + "length": undefined, + "mapping": undefined, + "name": "fuelExternal2TankCapacity", + "permission": "r", + "type": 3, + "value": 4704, + }, + "fuelExternal2TankLevel": Offset { + "category": "fuel", + "convert": "Math.round({VAL} / (128 * 65536) * 100)", + "description": "external 2 tank level - percent", + "length": undefined, + "mapping": undefined, + "name": "fuelExternal2TankLevel", + "permission": "r", + "type": 3, + "value": 4700, + }, "fuelLeftAuxTankCapacity": Offset { "category": "fuel", "convert": undefined, @@ -156,6 +244,17 @@ Object { "type": 3, "value": 2980, }, + "fuelSelectedQuantity": Offset { + "category": "fuel", + "convert": undefined, + "description": "Selected fuel quantity - US gallons", + "length": undefined, + "mapping": undefined, + "name": "fuelSelectedQuantity", + "permission": "r", + "type": 3, + "value": 4712, + }, "fuelTankSelector": Offset { "category": "fuel", "convert": undefined, @@ -167,6 +266,28 @@ Object { "type": 2, "value": 2808, }, + "fuelTotalQuantity": Offset { + "category": "fuel", + "convert": undefined, + "description": "total fuel quantity - US gallons", + "length": undefined, + "mapping": undefined, + "name": "fuelTotalQuantity", + "permission": "r", + "type": 3, + "value": 4708, + }, + "fuelTotalQuantityWeight": Offset { + "category": "fuel", + "convert": undefined, + "description": "total fuel quantity weight - lb", + "length": undefined, + "mapping": undefined, + "name": "fuelTotalQuantityWeight", + "permission": "r", + "type": 3, + "value": 4716, + }, "fuelWeight": Offset { "category": "fuel", "convert": "{VAL} / 256", @@ -178,5 +299,16 @@ Object { "type": 2, "value": 2804, }, + "totalFuelCapacity": Offset { + "category": "fuel", + "convert": undefined, + "description": "total fuel capacity - US gallons", + "length": undefined, + "mapping": undefined, + "name": "totalFuelCapacity", + "permission": "r", + "type": 3, + "value": 4672, + }, } `; diff --git a/tests/offsets/plane/__snapshots__/plane.spec.ts.snap b/tests/offsets/plane/__snapshots__/plane.spec.ts.snap index 3632136..0d7374b 100644 --- a/tests/offsets/plane/__snapshots__/plane.spec.ts.snap +++ b/tests/offsets/plane/__snapshots__/plane.spec.ts.snap @@ -2,6 +2,39 @@ exports[`offset - plane/plane offsets list should have required properties 1`] = ` Object { + "aircraftEmptyWeight": Offset { + "category": "plane", + "convert": "+({VAL} / 256).toFixed(2)", + "description": "aicraft empty weight", + "length": undefined, + "mapping": undefined, + "name": "aircraftEmptyWeight", + "permission": "r", + "type": 3, + "value": 4912, + }, + "aircraftMaxGrossWeight": Offset { + "category": "plane", + "convert": "+({VAL} / 256).toFixed(2)", + "description": "aicraft max gross weight", + "length": undefined, + "mapping": undefined, + "name": "aircraftMaxGrossWeight", + "permission": "r", + "type": 3, + "value": 4916, + }, + "fuelSelectorsCount": Offset { + "category": "plane", + "convert": undefined, + "description": "number of fuel selectors for the aircraft", + "length": undefined, + "mapping": undefined, + "name": "fuelSelectorsCount", + "permission": "r", + "type": 0, + "value": 4670, + }, "hasCarbHeat": Offset { "category": "plane", "convert": "!!{VAL}", diff --git a/tests/offsets/plane/fuel.spec.ts b/tests/offsets/plane/fuel.spec.ts index 2f7e123..5f1da20 100644 --- a/tests/offsets/plane/fuel.spec.ts +++ b/tests/offsets/plane/fuel.spec.ts @@ -11,6 +11,10 @@ describe('offset - plane/fuel', () => { { name: 'fuelRightMainTankLevel', value: 4194304, expectedResult: 50 }, { name: 'fuelRightAuxTankLevel', value: 4194304, expectedResult: 50 }, { name: 'fuelRightTipTankLevel', value: 4194304, expectedResult: 50 }, + { name: 'fuelCenter2TankLevel', value: 4194304, expectedResult: 50 }, + { name: 'fuelCenter3TankLevel', value: 4194304, expectedResult: 50 }, + { name: 'fuelExternal1TankLevel', value: 4194304, expectedResult: 50 }, + { name: 'fuelExternal2TankLevel', value: 4194304, expectedResult: 50 }, ]; describe('offsets list', () => { diff --git a/tests/offsets/plane/plane.spec.ts b/tests/offsets/plane/plane.spec.ts index 74dbb26..749b29c 100644 --- a/tests/offsets/plane/plane.spec.ts +++ b/tests/offsets/plane/plane.spec.ts @@ -22,6 +22,8 @@ describe('offset - plane/plane', () => { { name: 'hasToeBrakes', value: 0, expectedResult: false }, { name: 'hasToeBrakes', value: 1, expectedResult: true }, { name: 'maxMach', value: 13200, expectedResult: 0.65 }, + { name: 'aircraftEmptyWeight', value: 512060, expectedResult: 2000.23 }, + { name: 'aircraftMaxGrossWeight', value: 512060, expectedResult: 2000.23 }, ]; describe('offsets list', () => { diff --git a/tests/offsets/position-attitude/__snapshots__/position-attitude.spec.ts.snap b/tests/offsets/position-attitude/__snapshots__/position-attitude.spec.ts.snap index 72f7187..9120646 100644 --- a/tests/offsets/position-attitude/__snapshots__/position-attitude.spec.ts.snap +++ b/tests/offsets/position-attitude/__snapshots__/position-attitude.spec.ts.snap @@ -145,6 +145,17 @@ Object { "type": 4, "value": 1384, }, + "machSpeed": Offset { + "category": "position_attitude", + "convert": "{VAL} / 20480", + "description": "mach speed", + "length": undefined, + "mapping": undefined, + "name": "machSpeed", + "permission": "r", + "type": 2, + "value": 4550, + }, "magVar": Offset { "category": "position_attitude", "convert": "+({VAL}*360/65536).toFixed(2)", diff --git a/tests/offsets/position-attitude/position-attitude.spec.ts b/tests/offsets/position-attitude/position-attitude.spec.ts index b85405e..c683d39 100644 --- a/tests/offsets/position-attitude/position-attitude.spec.ts +++ b/tests/offsets/position-attitude/position-attitude.spec.ts @@ -29,6 +29,7 @@ describe('offset - position-attitude/position-attitude', () => { { name: 'gForceTouchDown', value: 1250, expectedResult: 2 }, { name: 'gForceAlt', value: 1250, expectedResult: 2 }, { name: 'angleOfAttack', value: 25456, expectedResult: 22.31 }, + { name: 'machSpeed', value: 61440, expectedResult: 3 }, ]; describe('offsets list', () => { diff --git a/tests/offsets/simulation/__snapshots__/simulation.spec.ts.snap b/tests/offsets/simulation/__snapshots__/simulation.spec.ts.snap index 10f4fe4..b3df306 100644 --- a/tests/offsets/simulation/__snapshots__/simulation.spec.ts.snap +++ b/tests/offsets/simulation/__snapshots__/simulation.spec.ts.snap @@ -607,6 +607,17 @@ Object { "type": 11, "value": 36, }, + "textDisplayMode": Offset { + "category": "simulation", + "convert": undefined, + "description": "text display mode (eg: ATIS) - 0=static 1=scroll", + "length": undefined, + "mapping": undefined, + "name": "textDisplayMode", + "permission": "r", + "type": 2, + "value": 4724, + }, "textureQuality": Offset { "category": "simulation", "convert": undefined, @@ -662,6 +673,17 @@ Object { "type": 0, "value": 594, }, + "unlimitedFuel": Offset { + "category": "simulation", + "convert": "!!{VAL}", + "description": "unlimited fuel", + "length": undefined, + "mapping": undefined, + "name": "unlimitedFuel", + "permission": "r", + "type": 0, + "value": 4671, + }, "videoRecording": Offset { "category": "simulation", "convert": "!!{VAL}", diff --git a/tests/offsets/simulation/simulation.spec.ts b/tests/offsets/simulation/simulation.spec.ts index f08de94..f35412d 100644 --- a/tests/offsets/simulation/simulation.spec.ts +++ b/tests/offsets/simulation/simulation.spec.ts @@ -42,6 +42,8 @@ describe('offset - plane/simulation', () => { { name: 'aircraftReflections', value: 0, expectedResult: false }, { name: 'aircraftReflections', value: 1, expectedResult: false }, { name: 'aircraftReflections', value: 2, expectedResult: true }, + { name: 'unlimitedFuel', value: 0, expectedResult: false }, + { name: 'unlimitedFuel', value: 1, expectedResult: true }, ]; describe('offsets list', () => { From 269a4fec11e6a6c5c8ec5e7f692cc552f8e1936a Mon Sep 17 00:00:00 2001 From: blackholegalaxy Date: Sun, 2 Feb 2020 18:07:03 -0500 Subject: [PATCH 11/20] add offsets --- src/lib/offsets/plane/engines/engine1.ts | 73 ++++++++++++++ .../offsets/__snapshots__/offset.spec.ts.snap | 99 +++++++++++++++++++ .../plane/__snapshots__/engines.spec.ts.snap | 99 +++++++++++++++++++ .../__snapshots__/engine1.spec.ts.snap | 99 +++++++++++++++++++ tests/offsets/plane/engines/engine1.spec.ts | 2 + 5 files changed, 372 insertions(+) diff --git a/src/lib/offsets/plane/engines/engine1.ts b/src/lib/offsets/plane/engines/engine1.ts index 5bcb951..2657bef 100644 --- a/src/lib/offsets/plane/engines/engine1.ts +++ b/src/lib/offsets/plane/engines/engine1.ts @@ -258,4 +258,77 @@ export const engine1: OffsetList = { type: Type.Single, permission: 'r', }), + engine1TurbineN1: new Offset({ + value: 0x2000, + name: 'engine1TurbineN1', + category: OffsetCategory.ENGINE, + description: 'engine 1 turbine N1 - percent', + type: Type.Double, + permission: 'r', + }), + engine1TurbineN2: new Offset({ + value: 0x2008, + name: 'engine1TurbineN2', + category: OffsetCategory.ENGINE, + description: 'engine 1 turbine N2 - percent', + type: Type.Double, + permission: 'r', + }), + engine1TurbineCorrectedN1: new Offset({ + value: 0x2010, + name: 'engine1TurbineCorrectedN1', + category: OffsetCategory.ENGINE, + description: 'engine 1 turbine corrected N1 - percent', + type: Type.Double, + permission: 'r', + }), + engine1TurbineCorrectedN2: new Offset({ + value: 0x2018, + name: 'engine1TurbineCorrectedN2', + category: OffsetCategory.ENGINE, + description: 'engine 1 turbine corrected N2 - percent', + type: Type.Double, + permission: 'r', + }), + engine1TurbineCorrectedFuelFlow: new Offset({ + value: 0x2020, + name: 'engine1TurbineCorrectedFuelFlow', + category: OffsetCategory.ENGINE, + description: 'engine 1 turbine corrected fuel flow - lb/h', + type: Type.Double, + permission: 'r', + }), + engine1TurbineTorque: new Offset({ + value: 0x2028, + name: 'engine1TurbineTorque', + category: OffsetCategory.ENGINE, + description: 'engine 1 turbine corrected fuel flow - 0.0 to 1.0', + type: Type.Double, + permission: 'r', + }), + engine1TurbineEPR: new Offset({ + value: 0x2030, + name: 'engine1TurbineEPR', + category: OffsetCategory.ENGINE, + description: 'engine 1 turbine EPR', + type: Type.Double, + permission: 'r', + }), + engine1TurbineITT: new Offset({ + value: 0x2038, + name: 'engine1TurbineITT', + category: OffsetCategory.ENGINE, + description: 'engine 1 turbine ITT', + type: Type.Double, + permission: 'r', + }), + engine1TurbineAfterburnerActive: new Offset({ + value: 0x2048, + name: 'engine1TurbineAfterburnerActive', + category: OffsetCategory.ENGINE, + description: 'engine 1 turbine afterburner active', + convert: '!!{VAL}', + type: Type.Int32, + permission: 'r', + }), }; diff --git a/tests/offsets/__snapshots__/offset.spec.ts.snap b/tests/offsets/__snapshots__/offset.spec.ts.snap index e57a1eb..8eb4528 100644 --- a/tests/offsets/__snapshots__/offset.spec.ts.snap +++ b/tests/offsets/__snapshots__/offset.spec.ts.snap @@ -1476,6 +1476,105 @@ Object { "type": 9, "value": 2336, }, + "engine1TurbineAfterburnerActive": Offset { + "category": "engine", + "convert": "!!{VAL}", + "description": "engine 1 turbine afterburner active", + "length": undefined, + "mapping": undefined, + "name": "engine1TurbineAfterburnerActive", + "permission": "r", + "type": 3, + "value": 8264, + }, + "engine1TurbineCorrectedFuelFlow": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 1 turbine corrected fuel flow - lb/h", + "length": undefined, + "mapping": undefined, + "name": "engine1TurbineCorrectedFuelFlow", + "permission": "r", + "type": 8, + "value": 8224, + }, + "engine1TurbineCorrectedN1": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 1 turbine corrected N1 - percent", + "length": undefined, + "mapping": undefined, + "name": "engine1TurbineCorrectedN1", + "permission": "r", + "type": 8, + "value": 8208, + }, + "engine1TurbineCorrectedN2": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 1 turbine corrected N2 - percent", + "length": undefined, + "mapping": undefined, + "name": "engine1TurbineCorrectedN2", + "permission": "r", + "type": 8, + "value": 8216, + }, + "engine1TurbineEPR": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 1 turbine EPR", + "length": undefined, + "mapping": undefined, + "name": "engine1TurbineEPR", + "permission": "r", + "type": 8, + "value": 8240, + }, + "engine1TurbineITT": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 1 turbine ITT", + "length": undefined, + "mapping": undefined, + "name": "engine1TurbineITT", + "permission": "r", + "type": 8, + "value": 8248, + }, + "engine1TurbineN1": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 1 turbine N1 - percent", + "length": undefined, + "mapping": undefined, + "name": "engine1TurbineN1", + "permission": "r", + "type": 8, + "value": 8192, + }, + "engine1TurbineN2": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 1 turbine N2 - percent", + "length": undefined, + "mapping": undefined, + "name": "engine1TurbineN2", + "permission": "r", + "type": 8, + "value": 8200, + }, + "engine1TurbineTorque": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 1 turbine corrected fuel flow - 0.0 to 1.0", + "length": undefined, + "mapping": undefined, + "name": "engine1TurbineTorque", + "permission": "r", + "type": 8, + "value": 8232, + }, "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 2879bde..e208501 100644 --- a/tests/offsets/plane/__snapshots__/engines.spec.ts.snap +++ b/tests/offsets/plane/__snapshots__/engines.spec.ts.snap @@ -321,6 +321,105 @@ Object { "type": 9, "value": 2336, }, + "engine1TurbineAfterburnerActive": Offset { + "category": "engine", + "convert": "!!{VAL}", + "description": "engine 1 turbine afterburner active", + "length": undefined, + "mapping": undefined, + "name": "engine1TurbineAfterburnerActive", + "permission": "r", + "type": 3, + "value": 8264, + }, + "engine1TurbineCorrectedFuelFlow": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 1 turbine corrected fuel flow - lb/h", + "length": undefined, + "mapping": undefined, + "name": "engine1TurbineCorrectedFuelFlow", + "permission": "r", + "type": 8, + "value": 8224, + }, + "engine1TurbineCorrectedN1": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 1 turbine corrected N1 - percent", + "length": undefined, + "mapping": undefined, + "name": "engine1TurbineCorrectedN1", + "permission": "r", + "type": 8, + "value": 8208, + }, + "engine1TurbineCorrectedN2": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 1 turbine corrected N2 - percent", + "length": undefined, + "mapping": undefined, + "name": "engine1TurbineCorrectedN2", + "permission": "r", + "type": 8, + "value": 8216, + }, + "engine1TurbineEPR": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 1 turbine EPR", + "length": undefined, + "mapping": undefined, + "name": "engine1TurbineEPR", + "permission": "r", + "type": 8, + "value": 8240, + }, + "engine1TurbineITT": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 1 turbine ITT", + "length": undefined, + "mapping": undefined, + "name": "engine1TurbineITT", + "permission": "r", + "type": 8, + "value": 8248, + }, + "engine1TurbineN1": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 1 turbine N1 - percent", + "length": undefined, + "mapping": undefined, + "name": "engine1TurbineN1", + "permission": "r", + "type": 8, + "value": 8192, + }, + "engine1TurbineN2": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 1 turbine N2 - percent", + "length": undefined, + "mapping": undefined, + "name": "engine1TurbineN2", + "permission": "r", + "type": 8, + "value": 8200, + }, + "engine1TurbineTorque": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 1 turbine corrected fuel flow - 0.0 to 1.0", + "length": undefined, + "mapping": undefined, + "name": "engine1TurbineTorque", + "permission": "r", + "type": 8, + "value": 8232, + }, "engine1Vibration": Offset { "category": "engine", "convert": "Math.round({VAL} * 5 / 16384)", diff --git a/tests/offsets/plane/engines/__snapshots__/engine1.spec.ts.snap b/tests/offsets/plane/engines/__snapshots__/engine1.spec.ts.snap index 94445c5..8e6e391 100644 --- a/tests/offsets/plane/engines/__snapshots__/engine1.spec.ts.snap +++ b/tests/offsets/plane/engines/__snapshots__/engine1.spec.ts.snap @@ -310,6 +310,105 @@ Object { "type": 9, "value": 2336, }, + "engine1TurbineAfterburnerActive": Offset { + "category": "engine", + "convert": "!!{VAL}", + "description": "engine 1 turbine afterburner active", + "length": undefined, + "mapping": undefined, + "name": "engine1TurbineAfterburnerActive", + "permission": "r", + "type": 3, + "value": 8264, + }, + "engine1TurbineCorrectedFuelFlow": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 1 turbine corrected fuel flow - lb/h", + "length": undefined, + "mapping": undefined, + "name": "engine1TurbineCorrectedFuelFlow", + "permission": "r", + "type": 8, + "value": 8224, + }, + "engine1TurbineCorrectedN1": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 1 turbine corrected N1 - percent", + "length": undefined, + "mapping": undefined, + "name": "engine1TurbineCorrectedN1", + "permission": "r", + "type": 8, + "value": 8208, + }, + "engine1TurbineCorrectedN2": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 1 turbine corrected N2 - percent", + "length": undefined, + "mapping": undefined, + "name": "engine1TurbineCorrectedN2", + "permission": "r", + "type": 8, + "value": 8216, + }, + "engine1TurbineEPR": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 1 turbine EPR", + "length": undefined, + "mapping": undefined, + "name": "engine1TurbineEPR", + "permission": "r", + "type": 8, + "value": 8240, + }, + "engine1TurbineITT": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 1 turbine ITT", + "length": undefined, + "mapping": undefined, + "name": "engine1TurbineITT", + "permission": "r", + "type": 8, + "value": 8248, + }, + "engine1TurbineN1": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 1 turbine N1 - percent", + "length": undefined, + "mapping": undefined, + "name": "engine1TurbineN1", + "permission": "r", + "type": 8, + "value": 8192, + }, + "engine1TurbineN2": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 1 turbine N2 - percent", + "length": undefined, + "mapping": undefined, + "name": "engine1TurbineN2", + "permission": "r", + "type": 8, + "value": 8200, + }, + "engine1TurbineTorque": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 1 turbine corrected fuel flow - 0.0 to 1.0", + "length": undefined, + "mapping": undefined, + "name": "engine1TurbineTorque", + "permission": "r", + "type": 8, + "value": 8232, + }, "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 f52dbd7..b496c35 100644 --- a/tests/offsets/plane/engines/engine1.spec.ts +++ b/tests/offsets/plane/engines/engine1.spec.ts @@ -30,6 +30,8 @@ describe('offset - plane/engines/engine1', () => { { name: 'engine1ITT', value: 3276800, expectedResult: 200 }, { name: 'engine1Torque', value: 8192, expectedResult: 50 }, { name: 'engine1FuelPres', value: 288, expectedResult: 2 }, + { name: 'engine1TurbineAfterburnerActive', value: 0, expectedResult: false }, + { name: 'engine1TurbineAfterburnerActive', value: 1, expectedResult: true }, ]; describe('offsets list', () => { From 25a5fb08cfafd1cb5519745c2c605748100ae924 Mon Sep 17 00:00:00 2001 From: blackholegalaxy Date: Sun, 2 Feb 2020 19:15:09 -0500 Subject: [PATCH 12/20] add engine 1 turbine offsets --- src/lib/convert/mappings/fuel-tank.ts | 49 ++++++++ src/lib/convert/mappings/index.ts | 3 + src/lib/offsets/plane/engines/engine1.ts | 85 +++++++++++++ src/lib/offsets/plane/fuel.ts | 4 +- src/shared/plane/fuel-tank.ts | 23 ++++ .../__snapshots__/mappings.spec.ts.snap | 1 + .../offsets/__snapshots__/offset.spec.ts.snap | 116 +++++++++++++++++- .../plane/__snapshots__/engines.spec.ts.snap | 110 +++++++++++++++++ .../plane/__snapshots__/fuel.spec.ts.snap | 6 +- .../__snapshots__/engine1.spec.ts.snap | 110 +++++++++++++++++ tests/offsets/plane/engines/engine1.spec.ts | 4 + 11 files changed, 504 insertions(+), 7 deletions(-) create mode 100644 src/lib/convert/mappings/fuel-tank.ts create mode 100644 src/shared/plane/fuel-tank.ts diff --git a/src/lib/convert/mappings/fuel-tank.ts b/src/lib/convert/mappings/fuel-tank.ts new file mode 100644 index 0000000..758ef8b --- /dev/null +++ b/src/lib/convert/mappings/fuel-tank.ts @@ -0,0 +1,49 @@ +import { FuelTank } from '@shared/plane/fuel-tank'; + +export const fuelTank = (value: number): FuelTank => { + switch (value) { + case 0: + return FuelTank.NONE; + case 1: + return FuelTank.ALL; + case 2: + return FuelTank.LEFT; + case 3: + return FuelTank.RIGHT; + case 4: + return FuelTank.LEFT_AUX; + case 5: + return FuelTank.RIGHT_AUX; + case 6: + return FuelTank.CENTER; + case 7: + return FuelTank.CENTER2; + case 8: + return FuelTank.CENTER3; + case 9: + return FuelTank.EXT1; + case 10: + return FuelTank.EXT2; + case 11: + return FuelTank.RIGHT_TIP; + case 12: + return FuelTank.LEFT_TIP; + case 13: + return FuelTank.CROSS_FEED; + case 14: + return FuelTank.CROSS_FEED_LTR; + case 15: + return FuelTank.CROSS_FEED_RTL; + case 16: + return FuelTank.CROSS_FEED_BOTH; + case 17: + return FuelTank.EXTERNAL; + case 18: + return FuelTank.ISOLATE; + case 19: + return FuelTank.LEFT_MAIN; + case 20: + return FuelTank.RIGHT_MAIN; + + } +}; diff --git a/src/lib/convert/mappings/index.ts b/src/lib/convert/mappings/index.ts index 85691f7..0698802 100644 --- a/src/lib/convert/mappings/index.ts +++ b/src/lib/convert/mappings/index.ts @@ -11,6 +11,7 @@ import { spoilersControl } from './spoilers-control'; import { vorToFrom } from './vor-to-from'; import { navBackCourseFlags } from './nav-back-course-flags'; import { navCapabilities } from './nav-capabilities'; +import { fuelTank } from './fuel-tank'; export const MAPPINGS: { [key: string]: (_: any) => any } = { lightsMapping, @@ -29,6 +30,7 @@ export const MAPPINGS: { [key: string]: (_: any) => any } = { engineType, appliedBrakes, spoilersControl, + fuelTank, // environment nearestAirportsIds, @@ -50,3 +52,4 @@ export * from './spoilers-control'; export * from './vor-to-from'; export * from './nav-back-course-flags'; export * from './nav-capabilities'; +export * from './fuel-tank'; diff --git a/src/lib/offsets/plane/engines/engine1.ts b/src/lib/offsets/plane/engines/engine1.ts index 2657bef..e8ebafe 100644 --- a/src/lib/offsets/plane/engines/engine1.ts +++ b/src/lib/offsets/plane/engines/engine1.ts @@ -331,4 +331,89 @@ export const engine1: OffsetList = { type: Type.Int32, permission: 'r', }), + engine1TurbineJetThrust: new Offset({ + value: 0x204C, + name: 'engine1TurbineJetThrust', + category: OffsetCategory.ENGINE, + description: 'engine 1 turbine jet thrust', + type: Type.Double, + permission: 'r', + }), + engine1TurbineTankSelector: new Offset({ + value: 0x2054, + name: 'engine1TurbineTankSelector', + category: OffsetCategory.ENGINE, + description: 'engine 1 turbine tank selector', + convert: 'fuelTank', + mapping: true, + type: Type.Int32, + permission: 'r', + }), + engine1TurbineUsedTank: new Offset({ + value: 0x2058, + name: 'engine1TurbineUsedTank', + category: OffsetCategory.ENGINE, + description: 'engine 1 turbine used tank', + type: Type.BitArray, + length: 11, + permission: 'r', + }), + engine1TurbineAvailableTankCount: new Offset({ + value: 0x205C, + name: 'engine1TurbineAvailableTankCount', + category: OffsetCategory.ENGINE, + description: 'engine 1 turbine available tank count', + type: Type.Int32, + permission: 'r', + }), + engine1TurbineFuelFlow: new Offset({ + value: 0x2060, + name: 'engine1TurbineFuelFlow', + category: OffsetCategory.ENGINE, + description: 'engine 1 turbine fuel flow', + type: Type.Double, + permission: 'r', + }), + engine1TurbineIsFuelAvailable: new Offset({ + value: 0x2068, + name: 'engine1TurbineIsFuelAvailable', + category: OffsetCategory.ENGINE, + description: 'engine 1 turbine is fuel available flag', + convert: '!!{VAL}', + type: Type.Int32, + permission: 'r', + }), + engine1TurbineBleedPressure: new Offset({ + value: 0x206C, + name: 'engine1TurbineBleedPressure', + category: OffsetCategory.ENGINE, + description: 'engine 1 turbine bleed air pressure - lb/sq in', + type: Type.Double, + permission: 'r', + }), + engine1TurbineReverser: new Offset({ + value: 0x207C, + name: 'engine1TurbineReverser', + category: OffsetCategory.ENGINE, + description: 'engine 1 turbine reverser position - 0.0 - 1.0 lb/sq in', + type: Type.Double, + permission: 'r', + }), + engine1TurbineVibration: new Offset({ + value: 0x2084, + name: 'engine1TurbineVibration', + category: OffsetCategory.ENGINE, + description: 'engine 1 turbine vibration', + type: Type.Int64, + permission: 'r', + }), + engine1TurbineIgnition: new Offset({ + value: 0x208C, + name: 'engine1TurbineIgnition', + category: OffsetCategory.ENGINE, + description: 'engine 1 turbine is fuel available flag', + convert: '!!{VAL}', + type: Type.Int32, + permission: 'rw', + }), }; diff --git a/src/lib/offsets/plane/fuel.ts b/src/lib/offsets/plane/fuel.ts index 7f53788..62b4c26 100644 --- a/src/lib/offsets/plane/fuel.ts +++ b/src/lib/offsets/plane/fuel.ts @@ -18,7 +18,9 @@ export const fuel: OffsetList = { value: 0xAF8, name: 'fuelTankSelector', category: OffsetCategory.FUEL, - description: '0=Off, 1=All, 2=Left, 3=Right, 4=LeftAux, 5=RightAux, 6=Center, 7=Centre2, 8=Centre3, 9=Ext1, 10=Ext2, 11=RtTip, 12=LftTip, 13=CrossFeed, 14=CrossFeed Left to Right, 15=CrossFeed Right to Left, 16=crossfeed both, 17=external, 18=isolate, 19=left main, 20=right main --- Engine 1 only', + description: 'Engine 1 only', + convert: 'fuelTank', + mapping: true, type: Type.Int16, permission: 'rw', }), diff --git a/src/shared/plane/fuel-tank.ts b/src/shared/plane/fuel-tank.ts new file mode 100644 index 0000000..2694599 --- /dev/null +++ b/src/shared/plane/fuel-tank.ts @@ -0,0 +1,23 @@ +export enum FuelTank { + NONE = 'none', + ALL = 'all', + LEFT = 'left', + RIGHT = 'right', + LEFT_AUX = 'leftAux', + RIGHT_AUX = 'rightAux', + CENTER = 'center', + CENTER2 = 'center2', + CENTER3 = 'center3', + EXT1 = 'ext1', + EXT2 = 'ext2', + RIGHT_TIP = 'rightTip', + LEFT_TIP = 'leftTip', + CROSS_FEED = 'crossFeed', + CROSS_FEED_LTR = 'crossFeedLTR', + CROSS_FEED_RTL = 'crossFeedRTL', + CROSS_FEED_BOTH = 'crossFeedBoth', + EXTERNAL = 'external', + ISOLATE = 'isolate', + LEFT_MAIN = 'leftMain', + RIGHT_MAIN = 'rightMain', +} diff --git a/tests/convert/mappings/__snapshots__/mappings.spec.ts.snap b/tests/convert/mappings/__snapshots__/mappings.spec.ts.snap index 67366c8..d923f3a 100644 --- a/tests/convert/mappings/__snapshots__/mappings.spec.ts.snap +++ b/tests/convert/mappings/__snapshots__/mappings.spec.ts.snap @@ -6,6 +6,7 @@ Object { "cloudType": [Function], "engineType": [Function], "ftsecToKt": [Function], + "fuelTank": [Function], "ktToFtsec": [Function], "lightsMapping": [Function], "navBackCourseFlags": [Function], diff --git a/tests/offsets/__snapshots__/offset.spec.ts.snap b/tests/offsets/__snapshots__/offset.spec.ts.snap index 8eb4528..1f13359 100644 --- a/tests/offsets/__snapshots__/offset.spec.ts.snap +++ b/tests/offsets/__snapshots__/offset.spec.ts.snap @@ -1487,6 +1487,28 @@ Object { "type": 3, "value": 8264, }, + "engine1TurbineAvailableTankCount": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 1 turbine available tank count", + "length": undefined, + "mapping": undefined, + "name": "engine1TurbineAvailableTankCount", + "permission": "r", + "type": 3, + "value": 8284, + }, + "engine1TurbineBleedPressure": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 1 turbine bleed air pressure - lb/sq in", + "length": undefined, + "mapping": undefined, + "name": "engine1TurbineBleedPressure", + "permission": "r", + "type": 8, + "value": 8300, + }, "engine1TurbineCorrectedFuelFlow": Offset { "category": "engine", "convert": undefined, @@ -1531,6 +1553,17 @@ Object { "type": 8, "value": 8240, }, + "engine1TurbineFuelFlow": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 1 turbine fuel flow", + "length": undefined, + "mapping": undefined, + "name": "engine1TurbineFuelFlow", + "permission": "r", + "type": 8, + "value": 8288, + }, "engine1TurbineITT": Offset { "category": "engine", "convert": undefined, @@ -1542,6 +1575,39 @@ Object { "type": 8, "value": 8248, }, + "engine1TurbineIgnition": Offset { + "category": "engine", + "convert": "!!{VAL}", + "description": "engine 1 turbine is fuel available flag", + "length": undefined, + "mapping": undefined, + "name": "engine1TurbineIgnition", + "permission": "rw", + "type": 3, + "value": 8332, + }, + "engine1TurbineIsFuelAvailable": Offset { + "category": "engine", + "convert": "!!{VAL}", + "description": "engine 1 turbine is fuel available flag", + "length": undefined, + "mapping": undefined, + "name": "engine1TurbineIsFuelAvailable", + "permission": "r", + "type": 3, + "value": 8296, + }, + "engine1TurbineJetThrust": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 1 turbine jet thrust", + "length": undefined, + "mapping": undefined, + "name": "engine1TurbineJetThrust", + "permission": "r", + "type": 8, + "value": 8268, + }, "engine1TurbineN1": Offset { "category": "engine", "convert": undefined, @@ -1564,6 +1630,28 @@ Object { "type": 8, "value": 8200, }, + "engine1TurbineReverser": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 1 turbine reverser position - 0.0 - 1.0 lb/sq in", + "length": undefined, + "mapping": undefined, + "name": "engine1TurbineReverser", + "permission": "r", + "type": 8, + "value": 8316, + }, + "engine1TurbineTankSelector": Offset { + "category": "engine", + "convert": "fuelTank", + "description": "engine 1 turbine tank selector", + "length": undefined, + "mapping": true, + "name": "engine1TurbineTankSelector", + "permission": "r", + "type": 3, + "value": 8276, + }, "engine1TurbineTorque": Offset { "category": "engine", "convert": undefined, @@ -1575,6 +1663,28 @@ Object { "type": 8, "value": 8232, }, + "engine1TurbineUsedTank": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 1 turbine used tank", + "length": 11, + "mapping": undefined, + "name": "engine1TurbineUsedTank", + "permission": "r", + "type": 12, + "value": 8280, + }, + "engine1TurbineVibration": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 1 turbine vibration", + "length": undefined, + "mapping": undefined, + "name": "engine1TurbineVibration", + "permission": "r", + "type": 4, + "value": 8324, + }, "engine1Vibration": Offset { "category": "engine", "convert": "Math.round({VAL} * 5 / 16384)", @@ -3029,10 +3139,10 @@ Object { }, "fuelTankSelector": Offset { "category": "fuel", - "convert": undefined, - "description": "0=Off, 1=All, 2=Left, 3=Right, 4=LeftAux, 5=RightAux, 6=Center, 7=Centre2, 8=Centre3, 9=Ext1, 10=Ext2, 11=RtTip, 12=LftTip, 13=CrossFeed, 14=CrossFeed Left to Right, 15=CrossFeed Right to Left, 16=crossfeed both, 17=external, 18=isolate, 19=left main, 20=right main --- Engine 1 only", + "convert": "fuelTank", + "description": "Engine 1 only", "length": undefined, - "mapping": undefined, + "mapping": true, "name": "fuelTankSelector", "permission": "rw", "type": 2, diff --git a/tests/offsets/plane/__snapshots__/engines.spec.ts.snap b/tests/offsets/plane/__snapshots__/engines.spec.ts.snap index e208501..34e658c 100644 --- a/tests/offsets/plane/__snapshots__/engines.spec.ts.snap +++ b/tests/offsets/plane/__snapshots__/engines.spec.ts.snap @@ -332,6 +332,28 @@ Object { "type": 3, "value": 8264, }, + "engine1TurbineAvailableTankCount": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 1 turbine available tank count", + "length": undefined, + "mapping": undefined, + "name": "engine1TurbineAvailableTankCount", + "permission": "r", + "type": 3, + "value": 8284, + }, + "engine1TurbineBleedPressure": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 1 turbine bleed air pressure - lb/sq in", + "length": undefined, + "mapping": undefined, + "name": "engine1TurbineBleedPressure", + "permission": "r", + "type": 8, + "value": 8300, + }, "engine1TurbineCorrectedFuelFlow": Offset { "category": "engine", "convert": undefined, @@ -376,6 +398,17 @@ Object { "type": 8, "value": 8240, }, + "engine1TurbineFuelFlow": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 1 turbine fuel flow", + "length": undefined, + "mapping": undefined, + "name": "engine1TurbineFuelFlow", + "permission": "r", + "type": 8, + "value": 8288, + }, "engine1TurbineITT": Offset { "category": "engine", "convert": undefined, @@ -387,6 +420,39 @@ Object { "type": 8, "value": 8248, }, + "engine1TurbineIgnition": Offset { + "category": "engine", + "convert": "!!{VAL}", + "description": "engine 1 turbine is fuel available flag", + "length": undefined, + "mapping": undefined, + "name": "engine1TurbineIgnition", + "permission": "rw", + "type": 3, + "value": 8332, + }, + "engine1TurbineIsFuelAvailable": Offset { + "category": "engine", + "convert": "!!{VAL}", + "description": "engine 1 turbine is fuel available flag", + "length": undefined, + "mapping": undefined, + "name": "engine1TurbineIsFuelAvailable", + "permission": "r", + "type": 3, + "value": 8296, + }, + "engine1TurbineJetThrust": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 1 turbine jet thrust", + "length": undefined, + "mapping": undefined, + "name": "engine1TurbineJetThrust", + "permission": "r", + "type": 8, + "value": 8268, + }, "engine1TurbineN1": Offset { "category": "engine", "convert": undefined, @@ -409,6 +475,28 @@ Object { "type": 8, "value": 8200, }, + "engine1TurbineReverser": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 1 turbine reverser position - 0.0 - 1.0 lb/sq in", + "length": undefined, + "mapping": undefined, + "name": "engine1TurbineReverser", + "permission": "r", + "type": 8, + "value": 8316, + }, + "engine1TurbineTankSelector": Offset { + "category": "engine", + "convert": "fuelTank", + "description": "engine 1 turbine tank selector", + "length": undefined, + "mapping": true, + "name": "engine1TurbineTankSelector", + "permission": "r", + "type": 3, + "value": 8276, + }, "engine1TurbineTorque": Offset { "category": "engine", "convert": undefined, @@ -420,6 +508,28 @@ Object { "type": 8, "value": 8232, }, + "engine1TurbineUsedTank": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 1 turbine used tank", + "length": 11, + "mapping": undefined, + "name": "engine1TurbineUsedTank", + "permission": "r", + "type": 12, + "value": 8280, + }, + "engine1TurbineVibration": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 1 turbine vibration", + "length": undefined, + "mapping": undefined, + "name": "engine1TurbineVibration", + "permission": "r", + "type": 4, + "value": 8324, + }, "engine1Vibration": Offset { "category": "engine", "convert": "Math.round({VAL} * 5 / 16384)", diff --git a/tests/offsets/plane/__snapshots__/fuel.spec.ts.snap b/tests/offsets/plane/__snapshots__/fuel.spec.ts.snap index daa997f..3345901 100644 --- a/tests/offsets/plane/__snapshots__/fuel.spec.ts.snap +++ b/tests/offsets/plane/__snapshots__/fuel.spec.ts.snap @@ -257,10 +257,10 @@ Object { }, "fuelTankSelector": Offset { "category": "fuel", - "convert": undefined, - "description": "0=Off, 1=All, 2=Left, 3=Right, 4=LeftAux, 5=RightAux, 6=Center, 7=Centre2, 8=Centre3, 9=Ext1, 10=Ext2, 11=RtTip, 12=LftTip, 13=CrossFeed, 14=CrossFeed Left to Right, 15=CrossFeed Right to Left, 16=crossfeed both, 17=external, 18=isolate, 19=left main, 20=right main --- Engine 1 only", + "convert": "fuelTank", + "description": "Engine 1 only", "length": undefined, - "mapping": undefined, + "mapping": true, "name": "fuelTankSelector", "permission": "rw", "type": 2, diff --git a/tests/offsets/plane/engines/__snapshots__/engine1.spec.ts.snap b/tests/offsets/plane/engines/__snapshots__/engine1.spec.ts.snap index 8e6e391..ee1ace9 100644 --- a/tests/offsets/plane/engines/__snapshots__/engine1.spec.ts.snap +++ b/tests/offsets/plane/engines/__snapshots__/engine1.spec.ts.snap @@ -321,6 +321,28 @@ Object { "type": 3, "value": 8264, }, + "engine1TurbineAvailableTankCount": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 1 turbine available tank count", + "length": undefined, + "mapping": undefined, + "name": "engine1TurbineAvailableTankCount", + "permission": "r", + "type": 3, + "value": 8284, + }, + "engine1TurbineBleedPressure": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 1 turbine bleed air pressure - lb/sq in", + "length": undefined, + "mapping": undefined, + "name": "engine1TurbineBleedPressure", + "permission": "r", + "type": 8, + "value": 8300, + }, "engine1TurbineCorrectedFuelFlow": Offset { "category": "engine", "convert": undefined, @@ -365,6 +387,17 @@ Object { "type": 8, "value": 8240, }, + "engine1TurbineFuelFlow": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 1 turbine fuel flow", + "length": undefined, + "mapping": undefined, + "name": "engine1TurbineFuelFlow", + "permission": "r", + "type": 8, + "value": 8288, + }, "engine1TurbineITT": Offset { "category": "engine", "convert": undefined, @@ -376,6 +409,39 @@ Object { "type": 8, "value": 8248, }, + "engine1TurbineIgnition": Offset { + "category": "engine", + "convert": "!!{VAL}", + "description": "engine 1 turbine is fuel available flag", + "length": undefined, + "mapping": undefined, + "name": "engine1TurbineIgnition", + "permission": "rw", + "type": 3, + "value": 8332, + }, + "engine1TurbineIsFuelAvailable": Offset { + "category": "engine", + "convert": "!!{VAL}", + "description": "engine 1 turbine is fuel available flag", + "length": undefined, + "mapping": undefined, + "name": "engine1TurbineIsFuelAvailable", + "permission": "r", + "type": 3, + "value": 8296, + }, + "engine1TurbineJetThrust": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 1 turbine jet thrust", + "length": undefined, + "mapping": undefined, + "name": "engine1TurbineJetThrust", + "permission": "r", + "type": 8, + "value": 8268, + }, "engine1TurbineN1": Offset { "category": "engine", "convert": undefined, @@ -398,6 +464,28 @@ Object { "type": 8, "value": 8200, }, + "engine1TurbineReverser": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 1 turbine reverser position - 0.0 - 1.0 lb/sq in", + "length": undefined, + "mapping": undefined, + "name": "engine1TurbineReverser", + "permission": "r", + "type": 8, + "value": 8316, + }, + "engine1TurbineTankSelector": Offset { + "category": "engine", + "convert": "fuelTank", + "description": "engine 1 turbine tank selector", + "length": undefined, + "mapping": true, + "name": "engine1TurbineTankSelector", + "permission": "r", + "type": 3, + "value": 8276, + }, "engine1TurbineTorque": Offset { "category": "engine", "convert": undefined, @@ -409,6 +497,28 @@ Object { "type": 8, "value": 8232, }, + "engine1TurbineUsedTank": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 1 turbine used tank", + "length": 11, + "mapping": undefined, + "name": "engine1TurbineUsedTank", + "permission": "r", + "type": 12, + "value": 8280, + }, + "engine1TurbineVibration": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 1 turbine vibration", + "length": undefined, + "mapping": undefined, + "name": "engine1TurbineVibration", + "permission": "r", + "type": 4, + "value": 8324, + }, "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 b496c35..b252e9f 100644 --- a/tests/offsets/plane/engines/engine1.spec.ts +++ b/tests/offsets/plane/engines/engine1.spec.ts @@ -32,6 +32,10 @@ describe('offset - plane/engines/engine1', () => { { name: 'engine1FuelPres', value: 288, expectedResult: 2 }, { name: 'engine1TurbineAfterburnerActive', value: 0, expectedResult: false }, { name: 'engine1TurbineAfterburnerActive', value: 1, expectedResult: true }, + { name: 'engine1TurbineIsFuelAvailable', value: 0, expectedResult: false }, + { name: 'engine1TurbineIsFuelAvailable', value: 1, expectedResult: true }, + { name: 'engine1TurbineIgnition', value: 0, expectedResult: false }, + { name: 'engine1TurbineIgnition', value: 1, expectedResult: true }, ]; describe('offsets list', () => { From a4cb2e4bc9350bc27e5ac371fe21559cf4cddf73 Mon Sep 17 00:00:00 2001 From: blackholegalaxy Date: Sun, 2 Feb 2020 20:43:42 -0500 Subject: [PATCH 13/20] add engines 2 to 4 --- src/lib/offsets/plane/engines/engine2.ts | 158 +++++ src/lib/offsets/plane/engines/engine3.ts | 158 +++++ src/lib/offsets/plane/engines/engine4.ts | 158 +++++ .../offsets/__snapshots__/offset.spec.ts.snap | 627 ++++++++++++++++++ .../plane/__snapshots__/engines.spec.ts.snap | 627 ++++++++++++++++++ .../__snapshots__/engine2.spec.ts.snap | 209 ++++++ .../__snapshots__/engine3.spec.ts.snap | 209 ++++++ .../__snapshots__/engine4.spec.ts.snap | 209 ++++++ tests/offsets/plane/engines/engine2.spec.ts | 6 + tests/offsets/plane/engines/engine3.spec.ts | 6 + tests/offsets/plane/engines/engine4.spec.ts | 6 + 11 files changed, 2373 insertions(+) diff --git a/src/lib/offsets/plane/engines/engine2.ts b/src/lib/offsets/plane/engines/engine2.ts index c890612..810b9e8 100644 --- a/src/lib/offsets/plane/engines/engine2.ts +++ b/src/lib/offsets/plane/engines/engine2.ts @@ -258,4 +258,162 @@ export const engine2: OffsetList = { type: Type.Single, permission: 'r', }), + engine2TurbineN1: new Offset({ + value: 0x2100, + name: 'engine2TurbineN1', + category: OffsetCategory.ENGINE, + description: 'engine 2 turbine N1 - percent', + type: Type.Double, + permission: 'r', + }), + engine2TurbineN2: new Offset({ + value: 0x2108, + name: 'engine2TurbineN2', + category: OffsetCategory.ENGINE, + description: 'engine 2 turbine N2 - percent', + type: Type.Double, + permission: 'r', + }), + engine2TurbineCorrectedN1: new Offset({ + value: 0x2110, + name: 'engine2TurbineCorrectedN1', + category: OffsetCategory.ENGINE, + description: 'engine 2 turbine corrected N1 - percent', + type: Type.Double, + permission: 'r', + }), + engine2TurbineCorrectedN2: new Offset({ + value: 0x2118, + name: 'engine2TurbineCorrectedN2', + category: OffsetCategory.ENGINE, + description: 'engine 2 turbine corrected N2 - percent', + type: Type.Double, + permission: 'r', + }), + engine2TurbineCorrectedFuelFlow: new Offset({ + value: 0x2120, + name: 'engine2TurbineCorrectedFuelFlow', + category: OffsetCategory.ENGINE, + description: 'engine 2 turbine corrected fuel flow - lb/h', + type: Type.Double, + permission: 'r', + }), + engine2TurbineTorque: new Offset({ + value: 0x2128, + name: 'engine2TurbineTorque', + category: OffsetCategory.ENGINE, + description: 'engine 2 turbine corrected fuel flow - 0.0 to 1.0', + type: Type.Double, + permission: 'r', + }), + engine2TurbineEPR: new Offset({ + value: 0x2130, + name: 'engine2TurbineEPR', + category: OffsetCategory.ENGINE, + description: 'engine 2 turbine EPR', + type: Type.Double, + permission: 'r', + }), + engine2TurbineITT: new Offset({ + value: 0x2138, + name: 'engine2TurbineITT', + category: OffsetCategory.ENGINE, + description: 'engine 2 turbine ITT', + type: Type.Double, + permission: 'r', + }), + engine2TurbineAfterburnerActive: new Offset({ + value: 0x2148, + name: 'engine2TurbineAfterburnerActive', + category: OffsetCategory.ENGINE, + description: 'engine 2 turbine afterburner active', + convert: '!!{VAL}', + type: Type.Int32, + permission: 'r', + }), + engine2TurbineJetThrust: new Offset({ + value: 0x214C, + name: 'engine2TurbineJetThrust', + category: OffsetCategory.ENGINE, + description: 'engine 2 turbine jet thrust', + type: Type.Double, + permission: 'r', + }), + engine2TurbineTankSelector: new Offset({ + value: 0x2154, + name: 'engine2TurbineTankSelector', + category: OffsetCategory.ENGINE, + description: 'engine 2 turbine tank selector', + convert: 'fuelTank', + mapping: true, + type: Type.Int32, + permission: 'r', + }), + engine2TurbineUsedTank: new Offset({ + value: 0x2158, + name: 'engine2TurbineUsedTank', + category: OffsetCategory.ENGINE, + description: 'engine 2 turbine used tank', + type: Type.BitArray, + length: 11, + permission: 'r', + }), + engine2TurbineAvailableTankCount: new Offset({ + value: 0x215C, + name: 'engine2TurbineAvailableTankCount', + category: OffsetCategory.ENGINE, + description: 'engine 2 turbine available tank count', + type: Type.Int32, + permission: 'r', + }), + engine2TurbineFuelFlow: new Offset({ + value: 0x2160, + name: 'engine2TurbineFuelFlow', + category: OffsetCategory.ENGINE, + description: 'engine 2 turbine fuel flow', + type: Type.Double, + permission: 'r', + }), + engine2TurbineIsFuelAvailable: new Offset({ + value: 0x2168, + name: 'engine2TurbineIsFuelAvailable', + category: OffsetCategory.ENGINE, + description: 'engine 2 turbine is fuel available flag', + convert: '!!{VAL}', + type: Type.Int32, + permission: 'r', + }), + engine2TurbineBleedPressure: new Offset({ + value: 0x216C, + name: 'engine2TurbineBleedPressure', + category: OffsetCategory.ENGINE, + description: 'engine 2 turbine bleed air pressure - lb/sq in', + type: Type.Double, + permission: 'r', + }), + engine2TurbineReverser: new Offset({ + value: 0x217C, + name: 'engine2TurbineReverser', + category: OffsetCategory.ENGINE, + description: 'engine 2 turbine reverser position - 0.0 - 1.0 lb/sq in', + type: Type.Double, + permission: 'r', + }), + engine2TurbineVibration: new Offset({ + value: 0x2184, + name: 'engine2TurbineVibration', + category: OffsetCategory.ENGINE, + description: 'engine 2 turbine vibration', + type: Type.Int64, + permission: 'r', + }), + engine2TurbineIgnition: new Offset({ + value: 0x218C, + name: 'engine2TurbineIgnition', + category: OffsetCategory.ENGINE, + description: 'engine 2 turbine is fuel available flag', + convert: '!!{VAL}', + type: Type.Int32, + permission: 'rw', + }), }; diff --git a/src/lib/offsets/plane/engines/engine3.ts b/src/lib/offsets/plane/engines/engine3.ts index 7dccc87..918b66a 100644 --- a/src/lib/offsets/plane/engines/engine3.ts +++ b/src/lib/offsets/plane/engines/engine3.ts @@ -258,4 +258,162 @@ export const engine3: OffsetList = { type: Type.Single, permission: 'r', }), + engine3TurbineN1: new Offset({ + value: 0x2200, + name: 'engine3TurbineN1', + category: OffsetCategory.ENGINE, + description: 'engine 3 turbine N1 - percent', + type: Type.Double, + permission: 'r', + }), + engine3TurbineN2: new Offset({ + value: 0x2208, + name: 'engine3TurbineN2', + category: OffsetCategory.ENGINE, + description: 'engine 3 turbine N2 - percent', + type: Type.Double, + permission: 'r', + }), + engine3TurbineCorrectedN1: new Offset({ + value: 0x2210, + name: 'engine3TurbineCorrectedN1', + category: OffsetCategory.ENGINE, + description: 'engine 3 turbine corrected N1 - percent', + type: Type.Double, + permission: 'r', + }), + engine3TurbineCorrectedN2: new Offset({ + value: 0x2218, + name: 'engine3TurbineCorrectedN2', + category: OffsetCategory.ENGINE, + description: 'engine 3 turbine corrected N2 - percent', + type: Type.Double, + permission: 'r', + }), + engine3TurbineCorrectedFuelFlow: new Offset({ + value: 0x2220, + name: 'engine3TurbineCorrectedFuelFlow', + category: OffsetCategory.ENGINE, + description: 'engine 3 turbine corrected fuel flow - lb/h', + type: Type.Double, + permission: 'r', + }), + engine3TurbineTorque: new Offset({ + value: 0x2228, + name: 'engine3TurbineTorque', + category: OffsetCategory.ENGINE, + description: 'engine 3 turbine corrected fuel flow - 0.0 to 1.0', + type: Type.Double, + permission: 'r', + }), + engine3TurbineEPR: new Offset({ + value: 0x2230, + name: 'engine3TurbineEPR', + category: OffsetCategory.ENGINE, + description: 'engine 3 turbine EPR', + type: Type.Double, + permission: 'r', + }), + engine3TurbineITT: new Offset({ + value: 0x2238, + name: 'engine3TurbineITT', + category: OffsetCategory.ENGINE, + description: 'engine 3 turbine ITT', + type: Type.Double, + permission: 'r', + }), + engine3TurbineAfterburnerActive: new Offset({ + value: 0x2248, + name: 'engine3TurbineAfterburnerActive', + category: OffsetCategory.ENGINE, + description: 'engine 3 turbine afterburner active', + convert: '!!{VAL}', + type: Type.Int32, + permission: 'r', + }), + engine3TurbineJetThrust: new Offset({ + value: 0x224C, + name: 'engine3TurbineJetThrust', + category: OffsetCategory.ENGINE, + description: 'engine 3 turbine jet thrust', + type: Type.Double, + permission: 'r', + }), + engine3TurbineTankSelector: new Offset({ + value: 0x2254, + name: 'engine3TurbineTankSelector', + category: OffsetCategory.ENGINE, + description: 'engine 3 turbine tank selector', + convert: 'fuelTank', + mapping: true, + type: Type.Int32, + permission: 'r', + }), + engine3TurbineUsedTank: new Offset({ + value: 0x2258, + name: 'engine3TurbineUsedTank', + category: OffsetCategory.ENGINE, + description: 'engine 3 turbine used tank', + type: Type.BitArray, + length: 11, + permission: 'r', + }), + engine3TurbineAvailableTankCount: new Offset({ + value: 0x225C, + name: 'engine3TurbineAvailableTankCount', + category: OffsetCategory.ENGINE, + description: 'engine 3 turbine available tank count', + type: Type.Int32, + permission: 'r', + }), + engine3TurbineFuelFlow: new Offset({ + value: 0x2260, + name: 'engine3TurbineFuelFlow', + category: OffsetCategory.ENGINE, + description: 'engine 3 turbine fuel flow', + type: Type.Double, + permission: 'r', + }), + engine3TurbineIsFuelAvailable: new Offset({ + value: 0x2268, + name: 'engine3TurbineIsFuelAvailable', + category: OffsetCategory.ENGINE, + description: 'engine 3 turbine is fuel available flag', + convert: '!!{VAL}', + type: Type.Int32, + permission: 'r', + }), + engine3TurbineBleedPressure: new Offset({ + value: 0x226C, + name: 'engine3TurbineBleedPressure', + category: OffsetCategory.ENGINE, + description: 'engine 3 turbine bleed air pressure - lb/sq in', + type: Type.Double, + permission: 'r', + }), + engine3TurbineReverser: new Offset({ + value: 0x227C, + name: 'engine3TurbineReverser', + category: OffsetCategory.ENGINE, + description: 'engine 3 turbine reverser position - 0.0 - 1.0 lb/sq in', + type: Type.Double, + permission: 'r', + }), + engine3TurbineVibration: new Offset({ + value: 0x2284, + name: 'engine3TurbineVibration', + category: OffsetCategory.ENGINE, + description: 'engine 3 turbine vibration', + type: Type.Int64, + permission: 'r', + }), + engine3TurbineIgnition: new Offset({ + value: 0x228C, + name: 'engine3TurbineIgnition', + category: OffsetCategory.ENGINE, + description: 'engine 3 turbine is fuel available flag', + convert: '!!{VAL}', + type: Type.Int32, + permission: 'rw', + }), }; diff --git a/src/lib/offsets/plane/engines/engine4.ts b/src/lib/offsets/plane/engines/engine4.ts index 3dc1a97..b3e2183 100644 --- a/src/lib/offsets/plane/engines/engine4.ts +++ b/src/lib/offsets/plane/engines/engine4.ts @@ -258,4 +258,162 @@ export const engine4: OffsetList = { type: Type.Single, permission: 'r', }), + engine4TurbineN1: new Offset({ + value: 0x2300, + name: 'engine4TurbineN1', + category: OffsetCategory.ENGINE, + description: 'engine 4 turbine N1 - percent', + type: Type.Double, + permission: 'r', + }), + engine4TurbineN2: new Offset({ + value: 0x2308, + name: 'engine4TurbineN2', + category: OffsetCategory.ENGINE, + description: 'engine 4 turbine N2 - percent', + type: Type.Double, + permission: 'r', + }), + engine4TurbineCorrectedN1: new Offset({ + value: 0x2310, + name: 'engine4TurbineCorrectedN1', + category: OffsetCategory.ENGINE, + description: 'engine 4 turbine corrected N1 - percent', + type: Type.Double, + permission: 'r', + }), + engine4TurbineCorrectedN2: new Offset({ + value: 0x2318, + name: 'engine4TurbineCorrectedN2', + category: OffsetCategory.ENGINE, + description: 'engine 4 turbine corrected N2 - percent', + type: Type.Double, + permission: 'r', + }), + engine4TurbineCorrectedFuelFlow: new Offset({ + value: 0x2320, + name: 'engine4TurbineCorrectedFuelFlow', + category: OffsetCategory.ENGINE, + description: 'engine 4 turbine corrected fuel flow - lb/h', + type: Type.Double, + permission: 'r', + }), + engine4TurbineTorque: new Offset({ + value: 0x2328, + name: 'engine4TurbineTorque', + category: OffsetCategory.ENGINE, + description: 'engine 4 turbine corrected fuel flow - 0.0 to 1.0', + type: Type.Double, + permission: 'r', + }), + engine4TurbineEPR: new Offset({ + value: 0x2330, + name: 'engine4TurbineEPR', + category: OffsetCategory.ENGINE, + description: 'engine 4 turbine EPR', + type: Type.Double, + permission: 'r', + }), + engine4TurbineITT: new Offset({ + value: 0x2338, + name: 'engine4TurbineITT', + category: OffsetCategory.ENGINE, + description: 'engine 4 turbine ITT', + type: Type.Double, + permission: 'r', + }), + engine4TurbineAfterburnerActive: new Offset({ + value: 0x2348, + name: 'engine4TurbineAfterburnerActive', + category: OffsetCategory.ENGINE, + description: 'engine 4 turbine afterburner active', + convert: '!!{VAL}', + type: Type.Int32, + permission: 'r', + }), + engine4TurbineJetThrust: new Offset({ + value: 0x234C, + name: 'engine4TurbineJetThrust', + category: OffsetCategory.ENGINE, + description: 'engine 4 turbine jet thrust', + type: Type.Double, + permission: 'r', + }), + engine4TurbineTankSelector: new Offset({ + value: 0x2354, + name: 'engine4TurbineTankSelector', + category: OffsetCategory.ENGINE, + description: 'engine 4 turbine tank selector', + convert: 'fuelTank', + mapping: true, + type: Type.Int32, + permission: 'r', + }), + engine4TurbineUsedTank: new Offset({ + value: 0x2358, + name: 'engine4TurbineUsedTank', + category: OffsetCategory.ENGINE, + description: 'engine 4 turbine used tank', + type: Type.BitArray, + length: 11, + permission: 'r', + }), + engine4TurbineAvailableTankCount: new Offset({ + value: 0x235C, + name: 'engine4TurbineAvailableTankCount', + category: OffsetCategory.ENGINE, + description: 'engine 4 turbine available tank count', + type: Type.Int32, + permission: 'r', + }), + engine4TurbineFuelFlow: new Offset({ + value: 0x2360, + name: 'engine4TurbineFuelFlow', + category: OffsetCategory.ENGINE, + description: 'engine 4 turbine fuel flow', + type: Type.Double, + permission: 'r', + }), + engine4TurbineIsFuelAvailable: new Offset({ + value: 0x2368, + name: 'engine4TurbineIsFuelAvailable', + category: OffsetCategory.ENGINE, + description: 'engine 4 turbine is fuel available flag', + convert: '!!{VAL}', + type: Type.Int32, + permission: 'r', + }), + engine4TurbineBleedPressure: new Offset({ + value: 0x236C, + name: 'engine4TurbineBleedPressure', + category: OffsetCategory.ENGINE, + description: 'engine 4 turbine bleed air pressure - lb/sq in', + type: Type.Double, + permission: 'r', + }), + engine4TurbineReverser: new Offset({ + value: 0x237C, + name: 'engine4TurbineReverser', + category: OffsetCategory.ENGINE, + description: 'engine 4 turbine reverser position - 0.0 - 1.0 lb/sq in', + type: Type.Double, + permission: 'r', + }), + engine4TurbineVibration: new Offset({ + value: 0x2384, + name: 'engine4TurbineVibration', + category: OffsetCategory.ENGINE, + description: 'engine 4 turbine vibration', + type: Type.Int64, + permission: 'r', + }), + engine4TurbineIgnition: new Offset({ + value: 0x238C, + name: 'engine4TurbineIgnition', + category: OffsetCategory.ENGINE, + description: 'engine 4 turbine is fuel available flag', + convert: '!!{VAL}', + type: Type.Int32, + permission: 'rw', + }), }; diff --git a/tests/offsets/__snapshots__/offset.spec.ts.snap b/tests/offsets/__snapshots__/offset.spec.ts.snap index 1f13359..c219344 100644 --- a/tests/offsets/__snapshots__/offset.spec.ts.snap +++ b/tests/offsets/__snapshots__/offset.spec.ts.snap @@ -2004,6 +2004,215 @@ Object { "type": 9, "value": 2488, }, + "engine2TurbineAfterburnerActive": Offset { + "category": "engine", + "convert": "!!{VAL}", + "description": "engine 2 turbine afterburner active", + "length": undefined, + "mapping": undefined, + "name": "engine2TurbineAfterburnerActive", + "permission": "r", + "type": 3, + "value": 8520, + }, + "engine2TurbineAvailableTankCount": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 2 turbine available tank count", + "length": undefined, + "mapping": undefined, + "name": "engine2TurbineAvailableTankCount", + "permission": "r", + "type": 3, + "value": 8540, + }, + "engine2TurbineBleedPressure": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 2 turbine bleed air pressure - lb/sq in", + "length": undefined, + "mapping": undefined, + "name": "engine2TurbineBleedPressure", + "permission": "r", + "type": 8, + "value": 8556, + }, + "engine2TurbineCorrectedFuelFlow": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 2 turbine corrected fuel flow - lb/h", + "length": undefined, + "mapping": undefined, + "name": "engine2TurbineCorrectedFuelFlow", + "permission": "r", + "type": 8, + "value": 8480, + }, + "engine2TurbineCorrectedN1": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 2 turbine corrected N1 - percent", + "length": undefined, + "mapping": undefined, + "name": "engine2TurbineCorrectedN1", + "permission": "r", + "type": 8, + "value": 8464, + }, + "engine2TurbineCorrectedN2": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 2 turbine corrected N2 - percent", + "length": undefined, + "mapping": undefined, + "name": "engine2TurbineCorrectedN2", + "permission": "r", + "type": 8, + "value": 8472, + }, + "engine2TurbineEPR": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 2 turbine EPR", + "length": undefined, + "mapping": undefined, + "name": "engine2TurbineEPR", + "permission": "r", + "type": 8, + "value": 8496, + }, + "engine2TurbineFuelFlow": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 2 turbine fuel flow", + "length": undefined, + "mapping": undefined, + "name": "engine2TurbineFuelFlow", + "permission": "r", + "type": 8, + "value": 8544, + }, + "engine2TurbineITT": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 2 turbine ITT", + "length": undefined, + "mapping": undefined, + "name": "engine2TurbineITT", + "permission": "r", + "type": 8, + "value": 8504, + }, + "engine2TurbineIgnition": Offset { + "category": "engine", + "convert": "!!{VAL}", + "description": "engine 2 turbine is fuel available flag", + "length": undefined, + "mapping": undefined, + "name": "engine2TurbineIgnition", + "permission": "rw", + "type": 3, + "value": 8588, + }, + "engine2TurbineIsFuelAvailable": Offset { + "category": "engine", + "convert": "!!{VAL}", + "description": "engine 2 turbine is fuel available flag", + "length": undefined, + "mapping": undefined, + "name": "engine2TurbineIsFuelAvailable", + "permission": "r", + "type": 3, + "value": 8552, + }, + "engine2TurbineJetThrust": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 2 turbine jet thrust", + "length": undefined, + "mapping": undefined, + "name": "engine2TurbineJetThrust", + "permission": "r", + "type": 8, + "value": 8524, + }, + "engine2TurbineN1": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 2 turbine N1 - percent", + "length": undefined, + "mapping": undefined, + "name": "engine2TurbineN1", + "permission": "r", + "type": 8, + "value": 8448, + }, + "engine2TurbineN2": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 2 turbine N2 - percent", + "length": undefined, + "mapping": undefined, + "name": "engine2TurbineN2", + "permission": "r", + "type": 8, + "value": 8456, + }, + "engine2TurbineReverser": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 2 turbine reverser position - 0.0 - 1.0 lb/sq in", + "length": undefined, + "mapping": undefined, + "name": "engine2TurbineReverser", + "permission": "r", + "type": 8, + "value": 8572, + }, + "engine2TurbineTankSelector": Offset { + "category": "engine", + "convert": "fuelTank", + "description": "engine 2 turbine tank selector", + "length": undefined, + "mapping": true, + "name": "engine2TurbineTankSelector", + "permission": "r", + "type": 3, + "value": 8532, + }, + "engine2TurbineTorque": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 2 turbine corrected fuel flow - 0.0 to 1.0", + "length": undefined, + "mapping": undefined, + "name": "engine2TurbineTorque", + "permission": "r", + "type": 8, + "value": 8488, + }, + "engine2TurbineUsedTank": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 2 turbine used tank", + "length": 11, + "mapping": undefined, + "name": "engine2TurbineUsedTank", + "permission": "r", + "type": 12, + "value": 8536, + }, + "engine2TurbineVibration": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 2 turbine vibration", + "length": undefined, + "mapping": undefined, + "name": "engine2TurbineVibration", + "permission": "r", + "type": 4, + "value": 8580, + }, "engine2Vibration": Offset { "category": "engine", "convert": "Math.round({VAL} * 5 / 16384)", @@ -2323,6 +2532,215 @@ Object { "type": 9, "value": 2640, }, + "engine3TurbineAfterburnerActive": Offset { + "category": "engine", + "convert": "!!{VAL}", + "description": "engine 3 turbine afterburner active", + "length": undefined, + "mapping": undefined, + "name": "engine3TurbineAfterburnerActive", + "permission": "r", + "type": 3, + "value": 8776, + }, + "engine3TurbineAvailableTankCount": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 3 turbine available tank count", + "length": undefined, + "mapping": undefined, + "name": "engine3TurbineAvailableTankCount", + "permission": "r", + "type": 3, + "value": 8796, + }, + "engine3TurbineBleedPressure": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 3 turbine bleed air pressure - lb/sq in", + "length": undefined, + "mapping": undefined, + "name": "engine3TurbineBleedPressure", + "permission": "r", + "type": 8, + "value": 8812, + }, + "engine3TurbineCorrectedFuelFlow": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 3 turbine corrected fuel flow - lb/h", + "length": undefined, + "mapping": undefined, + "name": "engine3TurbineCorrectedFuelFlow", + "permission": "r", + "type": 8, + "value": 8736, + }, + "engine3TurbineCorrectedN1": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 3 turbine corrected N1 - percent", + "length": undefined, + "mapping": undefined, + "name": "engine3TurbineCorrectedN1", + "permission": "r", + "type": 8, + "value": 8720, + }, + "engine3TurbineCorrectedN2": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 3 turbine corrected N2 - percent", + "length": undefined, + "mapping": undefined, + "name": "engine3TurbineCorrectedN2", + "permission": "r", + "type": 8, + "value": 8728, + }, + "engine3TurbineEPR": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 3 turbine EPR", + "length": undefined, + "mapping": undefined, + "name": "engine3TurbineEPR", + "permission": "r", + "type": 8, + "value": 8752, + }, + "engine3TurbineFuelFlow": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 3 turbine fuel flow", + "length": undefined, + "mapping": undefined, + "name": "engine3TurbineFuelFlow", + "permission": "r", + "type": 8, + "value": 8800, + }, + "engine3TurbineITT": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 3 turbine ITT", + "length": undefined, + "mapping": undefined, + "name": "engine3TurbineITT", + "permission": "r", + "type": 8, + "value": 8760, + }, + "engine3TurbineIgnition": Offset { + "category": "engine", + "convert": "!!{VAL}", + "description": "engine 3 turbine is fuel available flag", + "length": undefined, + "mapping": undefined, + "name": "engine3TurbineIgnition", + "permission": "rw", + "type": 3, + "value": 8844, + }, + "engine3TurbineIsFuelAvailable": Offset { + "category": "engine", + "convert": "!!{VAL}", + "description": "engine 3 turbine is fuel available flag", + "length": undefined, + "mapping": undefined, + "name": "engine3TurbineIsFuelAvailable", + "permission": "r", + "type": 3, + "value": 8808, + }, + "engine3TurbineJetThrust": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 3 turbine jet thrust", + "length": undefined, + "mapping": undefined, + "name": "engine3TurbineJetThrust", + "permission": "r", + "type": 8, + "value": 8780, + }, + "engine3TurbineN1": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 3 turbine N1 - percent", + "length": undefined, + "mapping": undefined, + "name": "engine3TurbineN1", + "permission": "r", + "type": 8, + "value": 8704, + }, + "engine3TurbineN2": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 3 turbine N2 - percent", + "length": undefined, + "mapping": undefined, + "name": "engine3TurbineN2", + "permission": "r", + "type": 8, + "value": 8712, + }, + "engine3TurbineReverser": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 3 turbine reverser position - 0.0 - 1.0 lb/sq in", + "length": undefined, + "mapping": undefined, + "name": "engine3TurbineReverser", + "permission": "r", + "type": 8, + "value": 8828, + }, + "engine3TurbineTankSelector": Offset { + "category": "engine", + "convert": "fuelTank", + "description": "engine 3 turbine tank selector", + "length": undefined, + "mapping": true, + "name": "engine3TurbineTankSelector", + "permission": "r", + "type": 3, + "value": 8788, + }, + "engine3TurbineTorque": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 3 turbine corrected fuel flow - 0.0 to 1.0", + "length": undefined, + "mapping": undefined, + "name": "engine3TurbineTorque", + "permission": "r", + "type": 8, + "value": 8744, + }, + "engine3TurbineUsedTank": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 3 turbine used tank", + "length": 11, + "mapping": undefined, + "name": "engine3TurbineUsedTank", + "permission": "r", + "type": 12, + "value": 8792, + }, + "engine3TurbineVibration": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 3 turbine vibration", + "length": undefined, + "mapping": undefined, + "name": "engine3TurbineVibration", + "permission": "r", + "type": 4, + "value": 8836, + }, "engine3Vibration": Offset { "category": "engine", "convert": "Math.round({VAL} * 5 / 16384)", @@ -2642,6 +3060,215 @@ Object { "type": 9, "value": 2792, }, + "engine4TurbineAfterburnerActive": Offset { + "category": "engine", + "convert": "!!{VAL}", + "description": "engine 4 turbine afterburner active", + "length": undefined, + "mapping": undefined, + "name": "engine4TurbineAfterburnerActive", + "permission": "r", + "type": 3, + "value": 9032, + }, + "engine4TurbineAvailableTankCount": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 4 turbine available tank count", + "length": undefined, + "mapping": undefined, + "name": "engine4TurbineAvailableTankCount", + "permission": "r", + "type": 3, + "value": 9052, + }, + "engine4TurbineBleedPressure": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 4 turbine bleed air pressure - lb/sq in", + "length": undefined, + "mapping": undefined, + "name": "engine4TurbineBleedPressure", + "permission": "r", + "type": 8, + "value": 9068, + }, + "engine4TurbineCorrectedFuelFlow": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 4 turbine corrected fuel flow - lb/h", + "length": undefined, + "mapping": undefined, + "name": "engine4TurbineCorrectedFuelFlow", + "permission": "r", + "type": 8, + "value": 8992, + }, + "engine4TurbineCorrectedN1": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 4 turbine corrected N1 - percent", + "length": undefined, + "mapping": undefined, + "name": "engine4TurbineCorrectedN1", + "permission": "r", + "type": 8, + "value": 8976, + }, + "engine4TurbineCorrectedN2": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 4 turbine corrected N2 - percent", + "length": undefined, + "mapping": undefined, + "name": "engine4TurbineCorrectedN2", + "permission": "r", + "type": 8, + "value": 8984, + }, + "engine4TurbineEPR": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 4 turbine EPR", + "length": undefined, + "mapping": undefined, + "name": "engine4TurbineEPR", + "permission": "r", + "type": 8, + "value": 9008, + }, + "engine4TurbineFuelFlow": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 4 turbine fuel flow", + "length": undefined, + "mapping": undefined, + "name": "engine4TurbineFuelFlow", + "permission": "r", + "type": 8, + "value": 9056, + }, + "engine4TurbineITT": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 4 turbine ITT", + "length": undefined, + "mapping": undefined, + "name": "engine4TurbineITT", + "permission": "r", + "type": 8, + "value": 9016, + }, + "engine4TurbineIgnition": Offset { + "category": "engine", + "convert": "!!{VAL}", + "description": "engine 4 turbine is fuel available flag", + "length": undefined, + "mapping": undefined, + "name": "engine4TurbineIgnition", + "permission": "rw", + "type": 3, + "value": 9100, + }, + "engine4TurbineIsFuelAvailable": Offset { + "category": "engine", + "convert": "!!{VAL}", + "description": "engine 4 turbine is fuel available flag", + "length": undefined, + "mapping": undefined, + "name": "engine4TurbineIsFuelAvailable", + "permission": "r", + "type": 3, + "value": 9064, + }, + "engine4TurbineJetThrust": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 4 turbine jet thrust", + "length": undefined, + "mapping": undefined, + "name": "engine4TurbineJetThrust", + "permission": "r", + "type": 8, + "value": 9036, + }, + "engine4TurbineN1": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 4 turbine N1 - percent", + "length": undefined, + "mapping": undefined, + "name": "engine4TurbineN1", + "permission": "r", + "type": 8, + "value": 8960, + }, + "engine4TurbineN2": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 4 turbine N2 - percent", + "length": undefined, + "mapping": undefined, + "name": "engine4TurbineN2", + "permission": "r", + "type": 8, + "value": 8968, + }, + "engine4TurbineReverser": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 4 turbine reverser position - 0.0 - 1.0 lb/sq in", + "length": undefined, + "mapping": undefined, + "name": "engine4TurbineReverser", + "permission": "r", + "type": 8, + "value": 9084, + }, + "engine4TurbineTankSelector": Offset { + "category": "engine", + "convert": "fuelTank", + "description": "engine 4 turbine tank selector", + "length": undefined, + "mapping": true, + "name": "engine4TurbineTankSelector", + "permission": "r", + "type": 3, + "value": 9044, + }, + "engine4TurbineTorque": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 4 turbine corrected fuel flow - 0.0 to 1.0", + "length": undefined, + "mapping": undefined, + "name": "engine4TurbineTorque", + "permission": "r", + "type": 8, + "value": 9000, + }, + "engine4TurbineUsedTank": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 4 turbine used tank", + "length": 11, + "mapping": undefined, + "name": "engine4TurbineUsedTank", + "permission": "r", + "type": 12, + "value": 9048, + }, + "engine4TurbineVibration": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 4 turbine vibration", + "length": undefined, + "mapping": undefined, + "name": "engine4TurbineVibration", + "permission": "r", + "type": 4, + "value": 9092, + }, "engine4Vibration": 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 34e658c..7e653c0 100644 --- a/tests/offsets/plane/__snapshots__/engines.spec.ts.snap +++ b/tests/offsets/plane/__snapshots__/engines.spec.ts.snap @@ -849,6 +849,215 @@ Object { "type": 9, "value": 2488, }, + "engine2TurbineAfterburnerActive": Offset { + "category": "engine", + "convert": "!!{VAL}", + "description": "engine 2 turbine afterburner active", + "length": undefined, + "mapping": undefined, + "name": "engine2TurbineAfterburnerActive", + "permission": "r", + "type": 3, + "value": 8520, + }, + "engine2TurbineAvailableTankCount": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 2 turbine available tank count", + "length": undefined, + "mapping": undefined, + "name": "engine2TurbineAvailableTankCount", + "permission": "r", + "type": 3, + "value": 8540, + }, + "engine2TurbineBleedPressure": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 2 turbine bleed air pressure - lb/sq in", + "length": undefined, + "mapping": undefined, + "name": "engine2TurbineBleedPressure", + "permission": "r", + "type": 8, + "value": 8556, + }, + "engine2TurbineCorrectedFuelFlow": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 2 turbine corrected fuel flow - lb/h", + "length": undefined, + "mapping": undefined, + "name": "engine2TurbineCorrectedFuelFlow", + "permission": "r", + "type": 8, + "value": 8480, + }, + "engine2TurbineCorrectedN1": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 2 turbine corrected N1 - percent", + "length": undefined, + "mapping": undefined, + "name": "engine2TurbineCorrectedN1", + "permission": "r", + "type": 8, + "value": 8464, + }, + "engine2TurbineCorrectedN2": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 2 turbine corrected N2 - percent", + "length": undefined, + "mapping": undefined, + "name": "engine2TurbineCorrectedN2", + "permission": "r", + "type": 8, + "value": 8472, + }, + "engine2TurbineEPR": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 2 turbine EPR", + "length": undefined, + "mapping": undefined, + "name": "engine2TurbineEPR", + "permission": "r", + "type": 8, + "value": 8496, + }, + "engine2TurbineFuelFlow": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 2 turbine fuel flow", + "length": undefined, + "mapping": undefined, + "name": "engine2TurbineFuelFlow", + "permission": "r", + "type": 8, + "value": 8544, + }, + "engine2TurbineITT": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 2 turbine ITT", + "length": undefined, + "mapping": undefined, + "name": "engine2TurbineITT", + "permission": "r", + "type": 8, + "value": 8504, + }, + "engine2TurbineIgnition": Offset { + "category": "engine", + "convert": "!!{VAL}", + "description": "engine 2 turbine is fuel available flag", + "length": undefined, + "mapping": undefined, + "name": "engine2TurbineIgnition", + "permission": "rw", + "type": 3, + "value": 8588, + }, + "engine2TurbineIsFuelAvailable": Offset { + "category": "engine", + "convert": "!!{VAL}", + "description": "engine 2 turbine is fuel available flag", + "length": undefined, + "mapping": undefined, + "name": "engine2TurbineIsFuelAvailable", + "permission": "r", + "type": 3, + "value": 8552, + }, + "engine2TurbineJetThrust": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 2 turbine jet thrust", + "length": undefined, + "mapping": undefined, + "name": "engine2TurbineJetThrust", + "permission": "r", + "type": 8, + "value": 8524, + }, + "engine2TurbineN1": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 2 turbine N1 - percent", + "length": undefined, + "mapping": undefined, + "name": "engine2TurbineN1", + "permission": "r", + "type": 8, + "value": 8448, + }, + "engine2TurbineN2": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 2 turbine N2 - percent", + "length": undefined, + "mapping": undefined, + "name": "engine2TurbineN2", + "permission": "r", + "type": 8, + "value": 8456, + }, + "engine2TurbineReverser": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 2 turbine reverser position - 0.0 - 1.0 lb/sq in", + "length": undefined, + "mapping": undefined, + "name": "engine2TurbineReverser", + "permission": "r", + "type": 8, + "value": 8572, + }, + "engine2TurbineTankSelector": Offset { + "category": "engine", + "convert": "fuelTank", + "description": "engine 2 turbine tank selector", + "length": undefined, + "mapping": true, + "name": "engine2TurbineTankSelector", + "permission": "r", + "type": 3, + "value": 8532, + }, + "engine2TurbineTorque": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 2 turbine corrected fuel flow - 0.0 to 1.0", + "length": undefined, + "mapping": undefined, + "name": "engine2TurbineTorque", + "permission": "r", + "type": 8, + "value": 8488, + }, + "engine2TurbineUsedTank": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 2 turbine used tank", + "length": 11, + "mapping": undefined, + "name": "engine2TurbineUsedTank", + "permission": "r", + "type": 12, + "value": 8536, + }, + "engine2TurbineVibration": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 2 turbine vibration", + "length": undefined, + "mapping": undefined, + "name": "engine2TurbineVibration", + "permission": "r", + "type": 4, + "value": 8580, + }, "engine2Vibration": Offset { "category": "engine", "convert": "Math.round({VAL} * 5 / 16384)", @@ -1168,6 +1377,215 @@ Object { "type": 9, "value": 2640, }, + "engine3TurbineAfterburnerActive": Offset { + "category": "engine", + "convert": "!!{VAL}", + "description": "engine 3 turbine afterburner active", + "length": undefined, + "mapping": undefined, + "name": "engine3TurbineAfterburnerActive", + "permission": "r", + "type": 3, + "value": 8776, + }, + "engine3TurbineAvailableTankCount": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 3 turbine available tank count", + "length": undefined, + "mapping": undefined, + "name": "engine3TurbineAvailableTankCount", + "permission": "r", + "type": 3, + "value": 8796, + }, + "engine3TurbineBleedPressure": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 3 turbine bleed air pressure - lb/sq in", + "length": undefined, + "mapping": undefined, + "name": "engine3TurbineBleedPressure", + "permission": "r", + "type": 8, + "value": 8812, + }, + "engine3TurbineCorrectedFuelFlow": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 3 turbine corrected fuel flow - lb/h", + "length": undefined, + "mapping": undefined, + "name": "engine3TurbineCorrectedFuelFlow", + "permission": "r", + "type": 8, + "value": 8736, + }, + "engine3TurbineCorrectedN1": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 3 turbine corrected N1 - percent", + "length": undefined, + "mapping": undefined, + "name": "engine3TurbineCorrectedN1", + "permission": "r", + "type": 8, + "value": 8720, + }, + "engine3TurbineCorrectedN2": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 3 turbine corrected N2 - percent", + "length": undefined, + "mapping": undefined, + "name": "engine3TurbineCorrectedN2", + "permission": "r", + "type": 8, + "value": 8728, + }, + "engine3TurbineEPR": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 3 turbine EPR", + "length": undefined, + "mapping": undefined, + "name": "engine3TurbineEPR", + "permission": "r", + "type": 8, + "value": 8752, + }, + "engine3TurbineFuelFlow": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 3 turbine fuel flow", + "length": undefined, + "mapping": undefined, + "name": "engine3TurbineFuelFlow", + "permission": "r", + "type": 8, + "value": 8800, + }, + "engine3TurbineITT": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 3 turbine ITT", + "length": undefined, + "mapping": undefined, + "name": "engine3TurbineITT", + "permission": "r", + "type": 8, + "value": 8760, + }, + "engine3TurbineIgnition": Offset { + "category": "engine", + "convert": "!!{VAL}", + "description": "engine 3 turbine is fuel available flag", + "length": undefined, + "mapping": undefined, + "name": "engine3TurbineIgnition", + "permission": "rw", + "type": 3, + "value": 8844, + }, + "engine3TurbineIsFuelAvailable": Offset { + "category": "engine", + "convert": "!!{VAL}", + "description": "engine 3 turbine is fuel available flag", + "length": undefined, + "mapping": undefined, + "name": "engine3TurbineIsFuelAvailable", + "permission": "r", + "type": 3, + "value": 8808, + }, + "engine3TurbineJetThrust": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 3 turbine jet thrust", + "length": undefined, + "mapping": undefined, + "name": "engine3TurbineJetThrust", + "permission": "r", + "type": 8, + "value": 8780, + }, + "engine3TurbineN1": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 3 turbine N1 - percent", + "length": undefined, + "mapping": undefined, + "name": "engine3TurbineN1", + "permission": "r", + "type": 8, + "value": 8704, + }, + "engine3TurbineN2": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 3 turbine N2 - percent", + "length": undefined, + "mapping": undefined, + "name": "engine3TurbineN2", + "permission": "r", + "type": 8, + "value": 8712, + }, + "engine3TurbineReverser": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 3 turbine reverser position - 0.0 - 1.0 lb/sq in", + "length": undefined, + "mapping": undefined, + "name": "engine3TurbineReverser", + "permission": "r", + "type": 8, + "value": 8828, + }, + "engine3TurbineTankSelector": Offset { + "category": "engine", + "convert": "fuelTank", + "description": "engine 3 turbine tank selector", + "length": undefined, + "mapping": true, + "name": "engine3TurbineTankSelector", + "permission": "r", + "type": 3, + "value": 8788, + }, + "engine3TurbineTorque": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 3 turbine corrected fuel flow - 0.0 to 1.0", + "length": undefined, + "mapping": undefined, + "name": "engine3TurbineTorque", + "permission": "r", + "type": 8, + "value": 8744, + }, + "engine3TurbineUsedTank": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 3 turbine used tank", + "length": 11, + "mapping": undefined, + "name": "engine3TurbineUsedTank", + "permission": "r", + "type": 12, + "value": 8792, + }, + "engine3TurbineVibration": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 3 turbine vibration", + "length": undefined, + "mapping": undefined, + "name": "engine3TurbineVibration", + "permission": "r", + "type": 4, + "value": 8836, + }, "engine3Vibration": Offset { "category": "engine", "convert": "Math.round({VAL} * 5 / 16384)", @@ -1487,6 +1905,215 @@ Object { "type": 9, "value": 2792, }, + "engine4TurbineAfterburnerActive": Offset { + "category": "engine", + "convert": "!!{VAL}", + "description": "engine 4 turbine afterburner active", + "length": undefined, + "mapping": undefined, + "name": "engine4TurbineAfterburnerActive", + "permission": "r", + "type": 3, + "value": 9032, + }, + "engine4TurbineAvailableTankCount": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 4 turbine available tank count", + "length": undefined, + "mapping": undefined, + "name": "engine4TurbineAvailableTankCount", + "permission": "r", + "type": 3, + "value": 9052, + }, + "engine4TurbineBleedPressure": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 4 turbine bleed air pressure - lb/sq in", + "length": undefined, + "mapping": undefined, + "name": "engine4TurbineBleedPressure", + "permission": "r", + "type": 8, + "value": 9068, + }, + "engine4TurbineCorrectedFuelFlow": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 4 turbine corrected fuel flow - lb/h", + "length": undefined, + "mapping": undefined, + "name": "engine4TurbineCorrectedFuelFlow", + "permission": "r", + "type": 8, + "value": 8992, + }, + "engine4TurbineCorrectedN1": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 4 turbine corrected N1 - percent", + "length": undefined, + "mapping": undefined, + "name": "engine4TurbineCorrectedN1", + "permission": "r", + "type": 8, + "value": 8976, + }, + "engine4TurbineCorrectedN2": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 4 turbine corrected N2 - percent", + "length": undefined, + "mapping": undefined, + "name": "engine4TurbineCorrectedN2", + "permission": "r", + "type": 8, + "value": 8984, + }, + "engine4TurbineEPR": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 4 turbine EPR", + "length": undefined, + "mapping": undefined, + "name": "engine4TurbineEPR", + "permission": "r", + "type": 8, + "value": 9008, + }, + "engine4TurbineFuelFlow": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 4 turbine fuel flow", + "length": undefined, + "mapping": undefined, + "name": "engine4TurbineFuelFlow", + "permission": "r", + "type": 8, + "value": 9056, + }, + "engine4TurbineITT": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 4 turbine ITT", + "length": undefined, + "mapping": undefined, + "name": "engine4TurbineITT", + "permission": "r", + "type": 8, + "value": 9016, + }, + "engine4TurbineIgnition": Offset { + "category": "engine", + "convert": "!!{VAL}", + "description": "engine 4 turbine is fuel available flag", + "length": undefined, + "mapping": undefined, + "name": "engine4TurbineIgnition", + "permission": "rw", + "type": 3, + "value": 9100, + }, + "engine4TurbineIsFuelAvailable": Offset { + "category": "engine", + "convert": "!!{VAL}", + "description": "engine 4 turbine is fuel available flag", + "length": undefined, + "mapping": undefined, + "name": "engine4TurbineIsFuelAvailable", + "permission": "r", + "type": 3, + "value": 9064, + }, + "engine4TurbineJetThrust": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 4 turbine jet thrust", + "length": undefined, + "mapping": undefined, + "name": "engine4TurbineJetThrust", + "permission": "r", + "type": 8, + "value": 9036, + }, + "engine4TurbineN1": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 4 turbine N1 - percent", + "length": undefined, + "mapping": undefined, + "name": "engine4TurbineN1", + "permission": "r", + "type": 8, + "value": 8960, + }, + "engine4TurbineN2": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 4 turbine N2 - percent", + "length": undefined, + "mapping": undefined, + "name": "engine4TurbineN2", + "permission": "r", + "type": 8, + "value": 8968, + }, + "engine4TurbineReverser": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 4 turbine reverser position - 0.0 - 1.0 lb/sq in", + "length": undefined, + "mapping": undefined, + "name": "engine4TurbineReverser", + "permission": "r", + "type": 8, + "value": 9084, + }, + "engine4TurbineTankSelector": Offset { + "category": "engine", + "convert": "fuelTank", + "description": "engine 4 turbine tank selector", + "length": undefined, + "mapping": true, + "name": "engine4TurbineTankSelector", + "permission": "r", + "type": 3, + "value": 9044, + }, + "engine4TurbineTorque": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 4 turbine corrected fuel flow - 0.0 to 1.0", + "length": undefined, + "mapping": undefined, + "name": "engine4TurbineTorque", + "permission": "r", + "type": 8, + "value": 9000, + }, + "engine4TurbineUsedTank": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 4 turbine used tank", + "length": 11, + "mapping": undefined, + "name": "engine4TurbineUsedTank", + "permission": "r", + "type": 12, + "value": 9048, + }, + "engine4TurbineVibration": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 4 turbine vibration", + "length": undefined, + "mapping": undefined, + "name": "engine4TurbineVibration", + "permission": "r", + "type": 4, + "value": 9092, + }, "engine4Vibration": Offset { "category": "engine", "convert": "Math.round({VAL} * 5 / 16384)", diff --git a/tests/offsets/plane/engines/__snapshots__/engine2.spec.ts.snap b/tests/offsets/plane/engines/__snapshots__/engine2.spec.ts.snap index cd8960a..8de0ba9 100644 --- a/tests/offsets/plane/engines/__snapshots__/engine2.spec.ts.snap +++ b/tests/offsets/plane/engines/__snapshots__/engine2.spec.ts.snap @@ -310,6 +310,215 @@ Object { "type": 9, "value": 2488, }, + "engine2TurbineAfterburnerActive": Offset { + "category": "engine", + "convert": "!!{VAL}", + "description": "engine 2 turbine afterburner active", + "length": undefined, + "mapping": undefined, + "name": "engine2TurbineAfterburnerActive", + "permission": "r", + "type": 3, + "value": 8520, + }, + "engine2TurbineAvailableTankCount": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 2 turbine available tank count", + "length": undefined, + "mapping": undefined, + "name": "engine2TurbineAvailableTankCount", + "permission": "r", + "type": 3, + "value": 8540, + }, + "engine2TurbineBleedPressure": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 2 turbine bleed air pressure - lb/sq in", + "length": undefined, + "mapping": undefined, + "name": "engine2TurbineBleedPressure", + "permission": "r", + "type": 8, + "value": 8556, + }, + "engine2TurbineCorrectedFuelFlow": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 2 turbine corrected fuel flow - lb/h", + "length": undefined, + "mapping": undefined, + "name": "engine2TurbineCorrectedFuelFlow", + "permission": "r", + "type": 8, + "value": 8480, + }, + "engine2TurbineCorrectedN1": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 2 turbine corrected N1 - percent", + "length": undefined, + "mapping": undefined, + "name": "engine2TurbineCorrectedN1", + "permission": "r", + "type": 8, + "value": 8464, + }, + "engine2TurbineCorrectedN2": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 2 turbine corrected N2 - percent", + "length": undefined, + "mapping": undefined, + "name": "engine2TurbineCorrectedN2", + "permission": "r", + "type": 8, + "value": 8472, + }, + "engine2TurbineEPR": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 2 turbine EPR", + "length": undefined, + "mapping": undefined, + "name": "engine2TurbineEPR", + "permission": "r", + "type": 8, + "value": 8496, + }, + "engine2TurbineFuelFlow": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 2 turbine fuel flow", + "length": undefined, + "mapping": undefined, + "name": "engine2TurbineFuelFlow", + "permission": "r", + "type": 8, + "value": 8544, + }, + "engine2TurbineITT": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 2 turbine ITT", + "length": undefined, + "mapping": undefined, + "name": "engine2TurbineITT", + "permission": "r", + "type": 8, + "value": 8504, + }, + "engine2TurbineIgnition": Offset { + "category": "engine", + "convert": "!!{VAL}", + "description": "engine 2 turbine is fuel available flag", + "length": undefined, + "mapping": undefined, + "name": "engine2TurbineIgnition", + "permission": "rw", + "type": 3, + "value": 8588, + }, + "engine2TurbineIsFuelAvailable": Offset { + "category": "engine", + "convert": "!!{VAL}", + "description": "engine 2 turbine is fuel available flag", + "length": undefined, + "mapping": undefined, + "name": "engine2TurbineIsFuelAvailable", + "permission": "r", + "type": 3, + "value": 8552, + }, + "engine2TurbineJetThrust": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 2 turbine jet thrust", + "length": undefined, + "mapping": undefined, + "name": "engine2TurbineJetThrust", + "permission": "r", + "type": 8, + "value": 8524, + }, + "engine2TurbineN1": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 2 turbine N1 - percent", + "length": undefined, + "mapping": undefined, + "name": "engine2TurbineN1", + "permission": "r", + "type": 8, + "value": 8448, + }, + "engine2TurbineN2": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 2 turbine N2 - percent", + "length": undefined, + "mapping": undefined, + "name": "engine2TurbineN2", + "permission": "r", + "type": 8, + "value": 8456, + }, + "engine2TurbineReverser": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 2 turbine reverser position - 0.0 - 1.0 lb/sq in", + "length": undefined, + "mapping": undefined, + "name": "engine2TurbineReverser", + "permission": "r", + "type": 8, + "value": 8572, + }, + "engine2TurbineTankSelector": Offset { + "category": "engine", + "convert": "fuelTank", + "description": "engine 2 turbine tank selector", + "length": undefined, + "mapping": true, + "name": "engine2TurbineTankSelector", + "permission": "r", + "type": 3, + "value": 8532, + }, + "engine2TurbineTorque": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 2 turbine corrected fuel flow - 0.0 to 1.0", + "length": undefined, + "mapping": undefined, + "name": "engine2TurbineTorque", + "permission": "r", + "type": 8, + "value": 8488, + }, + "engine2TurbineUsedTank": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 2 turbine used tank", + "length": 11, + "mapping": undefined, + "name": "engine2TurbineUsedTank", + "permission": "r", + "type": 12, + "value": 8536, + }, + "engine2TurbineVibration": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 2 turbine vibration", + "length": undefined, + "mapping": undefined, + "name": "engine2TurbineVibration", + "permission": "r", + "type": 4, + "value": 8580, + }, "engine2Vibration": Offset { "category": "engine", "convert": "Math.round({VAL} * 5 / 16384)", diff --git a/tests/offsets/plane/engines/__snapshots__/engine3.spec.ts.snap b/tests/offsets/plane/engines/__snapshots__/engine3.spec.ts.snap index b981ea6..2c52f24 100644 --- a/tests/offsets/plane/engines/__snapshots__/engine3.spec.ts.snap +++ b/tests/offsets/plane/engines/__snapshots__/engine3.spec.ts.snap @@ -310,6 +310,215 @@ Object { "type": 9, "value": 2640, }, + "engine3TurbineAfterburnerActive": Offset { + "category": "engine", + "convert": "!!{VAL}", + "description": "engine 3 turbine afterburner active", + "length": undefined, + "mapping": undefined, + "name": "engine3TurbineAfterburnerActive", + "permission": "r", + "type": 3, + "value": 8776, + }, + "engine3TurbineAvailableTankCount": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 3 turbine available tank count", + "length": undefined, + "mapping": undefined, + "name": "engine3TurbineAvailableTankCount", + "permission": "r", + "type": 3, + "value": 8796, + }, + "engine3TurbineBleedPressure": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 3 turbine bleed air pressure - lb/sq in", + "length": undefined, + "mapping": undefined, + "name": "engine3TurbineBleedPressure", + "permission": "r", + "type": 8, + "value": 8812, + }, + "engine3TurbineCorrectedFuelFlow": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 3 turbine corrected fuel flow - lb/h", + "length": undefined, + "mapping": undefined, + "name": "engine3TurbineCorrectedFuelFlow", + "permission": "r", + "type": 8, + "value": 8736, + }, + "engine3TurbineCorrectedN1": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 3 turbine corrected N1 - percent", + "length": undefined, + "mapping": undefined, + "name": "engine3TurbineCorrectedN1", + "permission": "r", + "type": 8, + "value": 8720, + }, + "engine3TurbineCorrectedN2": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 3 turbine corrected N2 - percent", + "length": undefined, + "mapping": undefined, + "name": "engine3TurbineCorrectedN2", + "permission": "r", + "type": 8, + "value": 8728, + }, + "engine3TurbineEPR": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 3 turbine EPR", + "length": undefined, + "mapping": undefined, + "name": "engine3TurbineEPR", + "permission": "r", + "type": 8, + "value": 8752, + }, + "engine3TurbineFuelFlow": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 3 turbine fuel flow", + "length": undefined, + "mapping": undefined, + "name": "engine3TurbineFuelFlow", + "permission": "r", + "type": 8, + "value": 8800, + }, + "engine3TurbineITT": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 3 turbine ITT", + "length": undefined, + "mapping": undefined, + "name": "engine3TurbineITT", + "permission": "r", + "type": 8, + "value": 8760, + }, + "engine3TurbineIgnition": Offset { + "category": "engine", + "convert": "!!{VAL}", + "description": "engine 3 turbine is fuel available flag", + "length": undefined, + "mapping": undefined, + "name": "engine3TurbineIgnition", + "permission": "rw", + "type": 3, + "value": 8844, + }, + "engine3TurbineIsFuelAvailable": Offset { + "category": "engine", + "convert": "!!{VAL}", + "description": "engine 3 turbine is fuel available flag", + "length": undefined, + "mapping": undefined, + "name": "engine3TurbineIsFuelAvailable", + "permission": "r", + "type": 3, + "value": 8808, + }, + "engine3TurbineJetThrust": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 3 turbine jet thrust", + "length": undefined, + "mapping": undefined, + "name": "engine3TurbineJetThrust", + "permission": "r", + "type": 8, + "value": 8780, + }, + "engine3TurbineN1": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 3 turbine N1 - percent", + "length": undefined, + "mapping": undefined, + "name": "engine3TurbineN1", + "permission": "r", + "type": 8, + "value": 8704, + }, + "engine3TurbineN2": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 3 turbine N2 - percent", + "length": undefined, + "mapping": undefined, + "name": "engine3TurbineN2", + "permission": "r", + "type": 8, + "value": 8712, + }, + "engine3TurbineReverser": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 3 turbine reverser position - 0.0 - 1.0 lb/sq in", + "length": undefined, + "mapping": undefined, + "name": "engine3TurbineReverser", + "permission": "r", + "type": 8, + "value": 8828, + }, + "engine3TurbineTankSelector": Offset { + "category": "engine", + "convert": "fuelTank", + "description": "engine 3 turbine tank selector", + "length": undefined, + "mapping": true, + "name": "engine3TurbineTankSelector", + "permission": "r", + "type": 3, + "value": 8788, + }, + "engine3TurbineTorque": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 3 turbine corrected fuel flow - 0.0 to 1.0", + "length": undefined, + "mapping": undefined, + "name": "engine3TurbineTorque", + "permission": "r", + "type": 8, + "value": 8744, + }, + "engine3TurbineUsedTank": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 3 turbine used tank", + "length": 11, + "mapping": undefined, + "name": "engine3TurbineUsedTank", + "permission": "r", + "type": 12, + "value": 8792, + }, + "engine3TurbineVibration": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 3 turbine vibration", + "length": undefined, + "mapping": undefined, + "name": "engine3TurbineVibration", + "permission": "r", + "type": 4, + "value": 8836, + }, "engine3Vibration": Offset { "category": "engine", "convert": "Math.round({VAL} * 5 / 16384)", diff --git a/tests/offsets/plane/engines/__snapshots__/engine4.spec.ts.snap b/tests/offsets/plane/engines/__snapshots__/engine4.spec.ts.snap index b91032b..64f80cc 100644 --- a/tests/offsets/plane/engines/__snapshots__/engine4.spec.ts.snap +++ b/tests/offsets/plane/engines/__snapshots__/engine4.spec.ts.snap @@ -310,6 +310,215 @@ Object { "type": 9, "value": 2792, }, + "engine4TurbineAfterburnerActive": Offset { + "category": "engine", + "convert": "!!{VAL}", + "description": "engine 4 turbine afterburner active", + "length": undefined, + "mapping": undefined, + "name": "engine4TurbineAfterburnerActive", + "permission": "r", + "type": 3, + "value": 9032, + }, + "engine4TurbineAvailableTankCount": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 4 turbine available tank count", + "length": undefined, + "mapping": undefined, + "name": "engine4TurbineAvailableTankCount", + "permission": "r", + "type": 3, + "value": 9052, + }, + "engine4TurbineBleedPressure": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 4 turbine bleed air pressure - lb/sq in", + "length": undefined, + "mapping": undefined, + "name": "engine4TurbineBleedPressure", + "permission": "r", + "type": 8, + "value": 9068, + }, + "engine4TurbineCorrectedFuelFlow": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 4 turbine corrected fuel flow - lb/h", + "length": undefined, + "mapping": undefined, + "name": "engine4TurbineCorrectedFuelFlow", + "permission": "r", + "type": 8, + "value": 8992, + }, + "engine4TurbineCorrectedN1": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 4 turbine corrected N1 - percent", + "length": undefined, + "mapping": undefined, + "name": "engine4TurbineCorrectedN1", + "permission": "r", + "type": 8, + "value": 8976, + }, + "engine4TurbineCorrectedN2": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 4 turbine corrected N2 - percent", + "length": undefined, + "mapping": undefined, + "name": "engine4TurbineCorrectedN2", + "permission": "r", + "type": 8, + "value": 8984, + }, + "engine4TurbineEPR": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 4 turbine EPR", + "length": undefined, + "mapping": undefined, + "name": "engine4TurbineEPR", + "permission": "r", + "type": 8, + "value": 9008, + }, + "engine4TurbineFuelFlow": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 4 turbine fuel flow", + "length": undefined, + "mapping": undefined, + "name": "engine4TurbineFuelFlow", + "permission": "r", + "type": 8, + "value": 9056, + }, + "engine4TurbineITT": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 4 turbine ITT", + "length": undefined, + "mapping": undefined, + "name": "engine4TurbineITT", + "permission": "r", + "type": 8, + "value": 9016, + }, + "engine4TurbineIgnition": Offset { + "category": "engine", + "convert": "!!{VAL}", + "description": "engine 4 turbine is fuel available flag", + "length": undefined, + "mapping": undefined, + "name": "engine4TurbineIgnition", + "permission": "rw", + "type": 3, + "value": 9100, + }, + "engine4TurbineIsFuelAvailable": Offset { + "category": "engine", + "convert": "!!{VAL}", + "description": "engine 4 turbine is fuel available flag", + "length": undefined, + "mapping": undefined, + "name": "engine4TurbineIsFuelAvailable", + "permission": "r", + "type": 3, + "value": 9064, + }, + "engine4TurbineJetThrust": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 4 turbine jet thrust", + "length": undefined, + "mapping": undefined, + "name": "engine4TurbineJetThrust", + "permission": "r", + "type": 8, + "value": 9036, + }, + "engine4TurbineN1": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 4 turbine N1 - percent", + "length": undefined, + "mapping": undefined, + "name": "engine4TurbineN1", + "permission": "r", + "type": 8, + "value": 8960, + }, + "engine4TurbineN2": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 4 turbine N2 - percent", + "length": undefined, + "mapping": undefined, + "name": "engine4TurbineN2", + "permission": "r", + "type": 8, + "value": 8968, + }, + "engine4TurbineReverser": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 4 turbine reverser position - 0.0 - 1.0 lb/sq in", + "length": undefined, + "mapping": undefined, + "name": "engine4TurbineReverser", + "permission": "r", + "type": 8, + "value": 9084, + }, + "engine4TurbineTankSelector": Offset { + "category": "engine", + "convert": "fuelTank", + "description": "engine 4 turbine tank selector", + "length": undefined, + "mapping": true, + "name": "engine4TurbineTankSelector", + "permission": "r", + "type": 3, + "value": 9044, + }, + "engine4TurbineTorque": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 4 turbine corrected fuel flow - 0.0 to 1.0", + "length": undefined, + "mapping": undefined, + "name": "engine4TurbineTorque", + "permission": "r", + "type": 8, + "value": 9000, + }, + "engine4TurbineUsedTank": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 4 turbine used tank", + "length": 11, + "mapping": undefined, + "name": "engine4TurbineUsedTank", + "permission": "r", + "type": 12, + "value": 9048, + }, + "engine4TurbineVibration": Offset { + "category": "engine", + "convert": undefined, + "description": "engine 4 turbine vibration", + "length": undefined, + "mapping": undefined, + "name": "engine4TurbineVibration", + "permission": "r", + "type": 4, + "value": 9092, + }, "engine4Vibration": Offset { "category": "engine", "convert": "Math.round({VAL} * 5 / 16384)", diff --git a/tests/offsets/plane/engines/engine2.spec.ts b/tests/offsets/plane/engines/engine2.spec.ts index 33f4400..00c0946 100644 --- a/tests/offsets/plane/engines/engine2.spec.ts +++ b/tests/offsets/plane/engines/engine2.spec.ts @@ -30,6 +30,12 @@ describe('offset - plane/engines/engine2', () => { { name: 'engine2ITT', value: 3276800, expectedResult: 200 }, { name: 'engine2Torque', value: 8192, expectedResult: 50 }, { name: 'engine2FuelPres', value: 288, expectedResult: 2 }, + { name: 'engine2TurbineAfterburnerActive', value: 0, expectedResult: false }, + { name: 'engine2TurbineAfterburnerActive', value: 1, expectedResult: true }, + { name: 'engine2TurbineIsFuelAvailable', value: 0, expectedResult: false }, + { name: 'engine2TurbineIsFuelAvailable', value: 1, expectedResult: true }, + { name: 'engine2TurbineIgnition', value: 0, expectedResult: false }, + { name: 'engine2TurbineIgnition', value: 1, expectedResult: true }, ]; describe('offsets list', () => { diff --git a/tests/offsets/plane/engines/engine3.spec.ts b/tests/offsets/plane/engines/engine3.spec.ts index feb5fb0..f954cdd 100644 --- a/tests/offsets/plane/engines/engine3.spec.ts +++ b/tests/offsets/plane/engines/engine3.spec.ts @@ -30,6 +30,12 @@ describe('offset - plane/engines/engine3', () => { { name: 'engine3ITT', value: 3276800, expectedResult: 200 }, { name: 'engine3Torque', value: 8192, expectedResult: 50 }, { name: 'engine3FuelPres', value: 288, expectedResult: 2 }, + { name: 'engine3TurbineAfterburnerActive', value: 0, expectedResult: false }, + { name: 'engine3TurbineAfterburnerActive', value: 1, expectedResult: true }, + { name: 'engine3TurbineIsFuelAvailable', value: 0, expectedResult: false }, + { name: 'engine3TurbineIsFuelAvailable', value: 1, expectedResult: true }, + { name: 'engine3TurbineIgnition', value: 0, expectedResult: false }, + { name: 'engine3TurbineIgnition', value: 1, expectedResult: true }, ]; describe('offsets list', () => { diff --git a/tests/offsets/plane/engines/engine4.spec.ts b/tests/offsets/plane/engines/engine4.spec.ts index 2dd515a..feaf14d 100644 --- a/tests/offsets/plane/engines/engine4.spec.ts +++ b/tests/offsets/plane/engines/engine4.spec.ts @@ -30,6 +30,12 @@ describe('offset - plane/engines/engine4', () => { { name: 'engine4ITT', value: 3276800, expectedResult: 200 }, { name: 'engine4Torque', value: 8192, expectedResult: 50 }, { name: 'engine4FuelPres', value: 288, expectedResult: 2 }, + { name: 'engine4TurbineAfterburnerActive', value: 0, expectedResult: false }, + { name: 'engine4TurbineAfterburnerActive', value: 1, expectedResult: true }, + { name: 'engine4TurbineIsFuelAvailable', value: 0, expectedResult: false }, + { name: 'engine4TurbineIsFuelAvailable', value: 1, expectedResult: true }, + { name: 'engine4TurbineIgnition', value: 0, expectedResult: false }, + { name: 'engine4TurbineIgnition', value: 1, expectedResult: true }, ]; describe('offsets list', () => { From b53032ec04f8b51aef66ea37f4d152d1c47e21fd Mon Sep 17 00:00:00 2001 From: blackholegalaxy Date: Sun, 2 Feb 2020 21:11:27 -0500 Subject: [PATCH 14/20] add propeller offsets --- src/lib/offsets/plane/engines.ts | 2 + src/lib/offsets/plane/engines/engine1.ts | 1 + src/lib/offsets/plane/engines/engine2.ts | 1 + src/lib/offsets/plane/engines/engine3.ts | 1 + src/lib/offsets/plane/engines/engine4.ts | 1 + src/lib/offsets/plane/engines/propeller1.ts | 114 ++++++++++++++ src/lib/offsets/plane/engines/propeller2.ts | 114 ++++++++++++++ src/lib/offsets/plane/engines/propeller3.ts | 114 ++++++++++++++ src/lib/offsets/plane/engines/propeller4.ts | 114 ++++++++++++++ .../offsets/__snapshots__/offset.spec.ts.snap | 140 +++++++++++++++++- .../plane/__snapshots__/engines.spec.ts.snap | 140 +++++++++++++++++- .../__snapshots__/engine1.spec.ts.snap | 2 +- .../__snapshots__/engine2.spec.ts.snap | 2 +- .../__snapshots__/engine3.spec.ts.snap | 2 +- .../__snapshots__/engine4.spec.ts.snap | 2 +- .../__snapshots__/propeller1.spec.ts.snap | 138 +++++++++++++++++ .../__snapshots__/propeller2.spec.ts.snap | 138 +++++++++++++++++ .../__snapshots__/propeller3.spec.ts.snap | 138 +++++++++++++++++ .../__snapshots__/propeller4.spec.ts.snap | 138 +++++++++++++++++ tests/offsets/plane/engines/engine1.spec.ts | 1 + tests/offsets/plane/engines/engine2.spec.ts | 1 + tests/offsets/plane/engines/engine3.spec.ts | 1 + tests/offsets/plane/engines/engine4.spec.ts | 1 + .../offsets/plane/engines/propeller1.spec.ts | 41 +++++ .../offsets/plane/engines/propeller2.spec.ts | 41 +++++ .../offsets/plane/engines/propeller3.spec.ts | 41 +++++ .../offsets/plane/engines/propeller4.spec.ts | 41 +++++ 27 files changed, 1458 insertions(+), 12 deletions(-) create mode 100644 src/lib/offsets/plane/engines/propeller1.ts create mode 100644 src/lib/offsets/plane/engines/propeller2.ts create mode 100644 src/lib/offsets/plane/engines/propeller3.ts create mode 100644 src/lib/offsets/plane/engines/propeller4.ts create mode 100644 tests/offsets/plane/engines/__snapshots__/propeller1.spec.ts.snap create mode 100644 tests/offsets/plane/engines/__snapshots__/propeller2.spec.ts.snap create mode 100644 tests/offsets/plane/engines/__snapshots__/propeller3.spec.ts.snap create mode 100644 tests/offsets/plane/engines/__snapshots__/propeller4.spec.ts.snap create mode 100644 tests/offsets/plane/engines/propeller1.spec.ts create mode 100644 tests/offsets/plane/engines/propeller2.spec.ts create mode 100644 tests/offsets/plane/engines/propeller3.spec.ts create mode 100644 tests/offsets/plane/engines/propeller4.spec.ts diff --git a/src/lib/offsets/plane/engines.ts b/src/lib/offsets/plane/engines.ts index cca5a79..31b053b 100644 --- a/src/lib/offsets/plane/engines.ts +++ b/src/lib/offsets/plane/engines.ts @@ -8,6 +8,7 @@ import { engine1 } from './engines/engine1'; import { engine2 } from './engines/engine2'; import { engine3 } from './engines/engine3'; import { engine4 } from './engines/engine4'; +import { propeller1 } from './engines/propeller1'; export const engines: OffsetList = { engineType: new Offset({ @@ -68,4 +69,5 @@ export const engines: OffsetList = { ...engine2, ...engine3, ...engine4, + ...propeller1, }; diff --git a/src/lib/offsets/plane/engines/engine1.ts b/src/lib/offsets/plane/engines/engine1.ts index e8ebafe..7460aa5 100644 --- a/src/lib/offsets/plane/engines/engine1.ts +++ b/src/lib/offsets/plane/engines/engine1.ts @@ -396,6 +396,7 @@ export const engine1: OffsetList = { name: 'engine1TurbineReverser', category: OffsetCategory.ENGINE, description: 'engine 1 turbine reverser position - 0.0 - 1.0 lb/sq in', + convert: 'Math.round(+(+({VAL}).toFixed(4) * 100).toFixed(2))', type: Type.Double, permission: 'r', }), diff --git a/src/lib/offsets/plane/engines/engine2.ts b/src/lib/offsets/plane/engines/engine2.ts index 810b9e8..5137c76 100644 --- a/src/lib/offsets/plane/engines/engine2.ts +++ b/src/lib/offsets/plane/engines/engine2.ts @@ -396,6 +396,7 @@ export const engine2: OffsetList = { name: 'engine2TurbineReverser', category: OffsetCategory.ENGINE, description: 'engine 2 turbine reverser position - 0.0 - 1.0 lb/sq in', + convert: 'Math.round(+(+({VAL}).toFixed(4) * 100).toFixed(2))', type: Type.Double, permission: 'r', }), diff --git a/src/lib/offsets/plane/engines/engine3.ts b/src/lib/offsets/plane/engines/engine3.ts index 918b66a..b97493f 100644 --- a/src/lib/offsets/plane/engines/engine3.ts +++ b/src/lib/offsets/plane/engines/engine3.ts @@ -396,6 +396,7 @@ export const engine3: OffsetList = { name: 'engine3TurbineReverser', category: OffsetCategory.ENGINE, description: 'engine 3 turbine reverser position - 0.0 - 1.0 lb/sq in', + convert: 'Math.round(+(+({VAL}).toFixed(4) * 100).toFixed(2))', type: Type.Double, permission: 'r', }), diff --git a/src/lib/offsets/plane/engines/engine4.ts b/src/lib/offsets/plane/engines/engine4.ts index b3e2183..b9e4543 100644 --- a/src/lib/offsets/plane/engines/engine4.ts +++ b/src/lib/offsets/plane/engines/engine4.ts @@ -396,6 +396,7 @@ export const engine4: OffsetList = { name: 'engine4TurbineReverser', category: OffsetCategory.ENGINE, description: 'engine 4 turbine reverser position - 0.0 - 1.0 lb/sq in', + convert: 'Math.round(+(+({VAL}).toFixed(4) * 100).toFixed(2))', type: Type.Double, permission: 'r', }), diff --git a/src/lib/offsets/plane/engines/propeller1.ts b/src/lib/offsets/plane/engines/propeller1.ts new file mode 100644 index 0000000..bf72e36 --- /dev/null +++ b/src/lib/offsets/plane/engines/propeller1.ts @@ -0,0 +1,114 @@ +import { Type } from 'fsuipc'; + +import { OffsetList } from '@shared/offset-list'; +import { Offset } from '@shared/offset'; +import { OffsetCategory } from '@shared/offset-category'; + +export const propeller1: OffsetList = { + propeller1RPM: new Offset({ + value: 0x2400, + name: 'propeller1RPM', + category: OffsetCategory.ENGINE, + description: 'propeller 1 RPM', + type: Type.Double, + permission: 'r', + }), + propeller1RPMPercent: new Offset({ + value: 0x2408, + name: 'propeller1RPMPercent', + category: OffsetCategory.ENGINE, + description: 'propeller 1 RPM percent', + convert: 'Math.round(+(+({VAL}).toFixed(4) * 100).toFixed(2))', + type: Type.Double, + permission: 'r', + }), + propeller1Thrust: new Offset({ + value: 0x2410, + name: 'propeller1Thrust', + category: OffsetCategory.ENGINE, + description: 'propeller 1 thrust - lb', + convert: '+({VAL}).toFixed(2)', + type: Type.Double, + permission: 'r', + }), + propeller1BetaBladeAngle: new Offset({ + value: 0x2418, + name: 'propeller1BetaBladeAngle', + category: OffsetCategory.ENGINE, + description: 'propeller 1 beta blade angle - rad', + convert: '+({VAL}).toFixed(4)', + type: Type.Double, + permission: 'r', + }), + propeller1FeatheringInhibit: new Offset({ + value: 0x2420, + name: 'propeller1FeatheringInhibit', + category: OffsetCategory.ENGINE, + description: 'propeller 1 feathering inhibit', + convert: '!!{VAL}', + type: Type.Int32, + permission: 'rw', + }), + propeller1Feathered: new Offset({ + value: 0x2424, + name: 'propeller1Feathered', + category: OffsetCategory.ENGINE, + description: 'propeller 1 feathered', + convert: '!!{VAL}', + type: Type.Int32, + permission: 'r', + }), + propeller1SyncDeltaLever: new Offset({ + value: 0x2428, + name: 'propeller1SyncDeltaLever', + category: OffsetCategory.ENGINE, + description: 'propeller 1 sync delta lever', + type: Type.Int64, + permission: 'r', + }), + propeller1AutofeatherArmed: new Offset({ + value: 0x2430, + name: 'propeller1AutofeatherArmed', + category: OffsetCategory.ENGINE, + description: 'propeller 1 autofeather armed flag', + convert: '!!{VAL}', + type: Type.Int32, + permission: 'rw', + }), + propeller1FeatherSwitch: new Offset({ + value: 0x2434, + name: 'propeller1FeatherSwitch', + category: OffsetCategory.ENGINE, + description: 'propeller 1 feather switch', + convert: '!!{VAL}', + type: Type.Int32, + permission: 'rw', + }), + propeller1PanelAutofeatherSwitch: new Offset({ + value: 0x2438, + name: 'propeller1PanelAutofeatherSwitch', + category: OffsetCategory.ENGINE, + description: 'propeller 1 panel autofeather switch', + convert: '!!{VAL}', + type: Type.Int32, + permission: 'rw', + }), + propeller1Sync: new Offset({ + value: 0x243C, + name: 'propeller1Sync', + category: OffsetCategory.ENGINE, + description: 'propeller 1 sync active', + convert: '!!{VAL}', + type: Type.Int32, + permission: 'rw', + }), + propeller1DeiceSwitch: new Offset({ + value: 0x2440, + name: 'propeller1DeiceSwitch', + category: OffsetCategory.ENGINE, + description: 'propeller 1 de-ice active', + convert: '!!{VAL}', + type: Type.Int32, + permission: 'rw', + }), +}; diff --git a/src/lib/offsets/plane/engines/propeller2.ts b/src/lib/offsets/plane/engines/propeller2.ts new file mode 100644 index 0000000..72e4251 --- /dev/null +++ b/src/lib/offsets/plane/engines/propeller2.ts @@ -0,0 +1,114 @@ +import { Type } from 'fsuipc'; + +import { OffsetList } from '@shared/offset-list'; +import { Offset } from '@shared/offset'; +import { OffsetCategory } from '@shared/offset-category'; + +export const propeller2: OffsetList = { + propeller2RPM: new Offset({ + value: 0x2500, + name: 'propeller2RPM', + category: OffsetCategory.ENGINE, + description: 'propeller 2 RPM', + type: Type.Double, + permission: 'r', + }), + propeller2RPMPercent: new Offset({ + value: 0x2508, + name: 'propeller2RPMPercent', + category: OffsetCategory.ENGINE, + description: 'propeller 2 RPM percent', + convert: 'Math.round(+(+({VAL}).toFixed(4) * 100).toFixed(2))', + type: Type.Double, + permission: 'r', + }), + propeller2Thrust: new Offset({ + value: 0x2510, + name: 'propeller2Thrust', + category: OffsetCategory.ENGINE, + description: 'propeller 2 thrust - lb', + convert: '+({VAL}).toFixed(2)', + type: Type.Double, + permission: 'r', + }), + propeller2BetaBladeAngle: new Offset({ + value: 0x2518, + name: 'propeller2BetaBladeAngle', + category: OffsetCategory.ENGINE, + description: 'propeller 2 beta blade angle - rad', + convert: '+({VAL}).toFixed(4)', + type: Type.Double, + permission: 'r', + }), + propeller2FeatheringInhibit: new Offset({ + value: 0x2520, + name: 'propeller2FeatheringInhibit', + category: OffsetCategory.ENGINE, + description: 'propeller 2 feathering inhibit', + convert: '!!{VAL}', + type: Type.Int32, + permission: 'rw', + }), + propeller2Feathered: new Offset({ + value: 0x2524, + name: 'propeller2Feathered', + category: OffsetCategory.ENGINE, + description: 'propeller 2 feathered', + convert: '!!{VAL}', + type: Type.Int32, + permission: 'r', + }), + propeller2SyncDeltaLever: new Offset({ + value: 0x2528, + name: 'propeller2SyncDeltaLever', + category: OffsetCategory.ENGINE, + description: 'propeller 2 sync delta lever', + type: Type.Int64, + permission: 'r', + }), + propeller2AutofeatherArmed: new Offset({ + value: 0x2530, + name: 'propeller2AutofeatherArmed', + category: OffsetCategory.ENGINE, + description: 'propeller 2 autofeather armed flag', + convert: '!!{VAL}', + type: Type.Int32, + permission: 'rw', + }), + propeller2FeatherSwitch: new Offset({ + value: 0x2534, + name: 'propeller2FeatherSwitch', + category: OffsetCategory.ENGINE, + description: 'propeller 2 feather switch', + convert: '!!{VAL}', + type: Type.Int32, + permission: 'rw', + }), + propeller2PanelAutofeatherSwitch: new Offset({ + value: 0x2538, + name: 'propeller2PanelAutofeatherSwitch', + category: OffsetCategory.ENGINE, + description: 'propeller 2 panel autofeather switch', + convert: '!!{VAL}', + type: Type.Int32, + permission: 'rw', + }), + propeller2Sync: new Offset({ + value: 0x253C, + name: 'propeller2Sync', + category: OffsetCategory.ENGINE, + description: 'propeller 2 sync active', + convert: '!!{VAL}', + type: Type.Int32, + permission: 'rw', + }), + propeller2DeiceSwitch: new Offset({ + value: 0x2540, + name: 'propeller2DeiceSwitch', + category: OffsetCategory.ENGINE, + description: 'propeller 2 de-ice active', + convert: '!!{VAL}', + type: Type.Int32, + permission: 'rw', + }), +}; diff --git a/src/lib/offsets/plane/engines/propeller3.ts b/src/lib/offsets/plane/engines/propeller3.ts new file mode 100644 index 0000000..bd63e4b --- /dev/null +++ b/src/lib/offsets/plane/engines/propeller3.ts @@ -0,0 +1,114 @@ +import { Type } from 'fsuipc'; + +import { OffsetList } from '@shared/offset-list'; +import { Offset } from '@shared/offset'; +import { OffsetCategory } from '@shared/offset-category'; + +export const propeller3: OffsetList = { + propeller3RPM: new Offset({ + value: 0x2600, + name: 'propeller3RPM', + category: OffsetCategory.ENGINE, + description: 'propeller 3 RPM', + type: Type.Double, + permission: 'r', + }), + propeller3RPMPercent: new Offset({ + value: 0x2608, + name: 'propeller3RPMPercent', + category: OffsetCategory.ENGINE, + description: 'propeller 3 RPM percent', + convert: 'Math.round(+(+({VAL}).toFixed(4) * 100).toFixed(2))', + type: Type.Double, + permission: 'r', + }), + propeller3Thrust: new Offset({ + value: 0x2610, + name: 'propeller3Thrust', + category: OffsetCategory.ENGINE, + description: 'propeller 3 thrust - lb', + convert: '+({VAL}).toFixed(2)', + type: Type.Double, + permission: 'r', + }), + propeller3BetaBladeAngle: new Offset({ + value: 0x2618, + name: 'propeller3BetaBladeAngle', + category: OffsetCategory.ENGINE, + description: 'propeller 3 beta blade angle - rad', + convert: '+({VAL}).toFixed(4)', + type: Type.Double, + permission: 'r', + }), + propeller3FeatheringInhibit: new Offset({ + value: 0x2620, + name: 'propeller3FeatheringInhibit', + category: OffsetCategory.ENGINE, + description: 'propeller 3 feathering inhibit', + convert: '!!{VAL}', + type: Type.Int32, + permission: 'rw', + }), + propeller3Feathered: new Offset({ + value: 0x2624, + name: 'propeller3Feathered', + category: OffsetCategory.ENGINE, + description: 'propeller 3 feathered', + convert: '!!{VAL}', + type: Type.Int32, + permission: 'r', + }), + propeller3SyncDeltaLever: new Offset({ + value: 0x2628, + name: 'propeller3SyncDeltaLever', + category: OffsetCategory.ENGINE, + description: 'propeller 3 sync delta lever', + type: Type.Int64, + permission: 'r', + }), + propeller3AutofeatherArmed: new Offset({ + value: 0x2630, + name: 'propeller3AutofeatherArmed', + category: OffsetCategory.ENGINE, + description: 'propeller 3 autofeather armed flag', + convert: '!!{VAL}', + type: Type.Int32, + permission: 'rw', + }), + propeller3FeatherSwitch: new Offset({ + value: 0x2634, + name: 'propeller3FeatherSwitch', + category: OffsetCategory.ENGINE, + description: 'propeller 3 feather switch', + convert: '!!{VAL}', + type: Type.Int32, + permission: 'rw', + }), + propeller3PanelAutofeatherSwitch: new Offset({ + value: 0x2638, + name: 'propeller3PanelAutofeatherSwitch', + category: OffsetCategory.ENGINE, + description: 'propeller 3 panel autofeather switch', + convert: '!!{VAL}', + type: Type.Int32, + permission: 'rw', + }), + propeller3Sync: new Offset({ + value: 0x263C, + name: 'propeller3Sync', + category: OffsetCategory.ENGINE, + description: 'propeller 3 sync active', + convert: '!!{VAL}', + type: Type.Int32, + permission: 'rw', + }), + propeller3DeiceSwitch: new Offset({ + value: 0x2640, + name: 'propeller3DeiceSwitch', + category: OffsetCategory.ENGINE, + description: 'propeller 3 de-ice active', + convert: '!!{VAL}', + type: Type.Int32, + permission: 'rw', + }), +}; diff --git a/src/lib/offsets/plane/engines/propeller4.ts b/src/lib/offsets/plane/engines/propeller4.ts new file mode 100644 index 0000000..503b5b9 --- /dev/null +++ b/src/lib/offsets/plane/engines/propeller4.ts @@ -0,0 +1,114 @@ +import { Type } from 'fsuipc'; + +import { OffsetList } from '@shared/offset-list'; +import { Offset } from '@shared/offset'; +import { OffsetCategory } from '@shared/offset-category'; + +export const propeller4: OffsetList = { + propeller4RPM: new Offset({ + value: 0x2700, + name: 'propeller4RPM', + category: OffsetCategory.ENGINE, + description: 'propeller 4 RPM', + type: Type.Double, + permission: 'r', + }), + propeller4RPMPercent: new Offset({ + value: 0x2708, + name: 'propeller4RPMPercent', + category: OffsetCategory.ENGINE, + description: 'propeller 4 RPM percent', + convert: 'Math.round(+(+({VAL}).toFixed(4) * 100).toFixed(2))', + type: Type.Double, + permission: 'r', + }), + propeller4Thrust: new Offset({ + value: 0x2710, + name: 'propeller4Thrust', + category: OffsetCategory.ENGINE, + description: 'propeller 4 thrust - lb', + convert: '+({VAL}).toFixed(2)', + type: Type.Double, + permission: 'r', + }), + propeller4BetaBladeAngle: new Offset({ + value: 0x2718, + name: 'propeller4BetaBladeAngle', + category: OffsetCategory.ENGINE, + description: 'propeller 4 beta blade angle - rad', + convert: '+({VAL}).toFixed(4)', + type: Type.Double, + permission: 'r', + }), + propeller4FeatheringInhibit: new Offset({ + value: 0x2720, + name: 'propeller4FeatheringInhibit', + category: OffsetCategory.ENGINE, + description: 'propeller 4 feathering inhibit', + convert: '!!{VAL}', + type: Type.Int32, + permission: 'rw', + }), + propeller4Feathered: new Offset({ + value: 0x2724, + name: 'propeller4Feathered', + category: OffsetCategory.ENGINE, + description: 'propeller 4 feathered', + convert: '!!{VAL}', + type: Type.Int32, + permission: 'r', + }), + propeller4SyncDeltaLever: new Offset({ + value: 0x2728, + name: 'propeller4SyncDeltaLever', + category: OffsetCategory.ENGINE, + description: 'propeller 4 sync delta lever', + type: Type.Int64, + permission: 'r', + }), + propeller4AutofeatherArmed: new Offset({ + value: 0x2730, + name: 'propeller4AutofeatherArmed', + category: OffsetCategory.ENGINE, + description: 'propeller 4 autofeather armed flag', + convert: '!!{VAL}', + type: Type.Int32, + permission: 'rw', + }), + propeller4FeatherSwitch: new Offset({ + value: 0x2734, + name: 'propeller4FeatherSwitch', + category: OffsetCategory.ENGINE, + description: 'propeller 4 feather switch', + convert: '!!{VAL}', + type: Type.Int32, + permission: 'rw', + }), + propeller4PanelAutofeatherSwitch: new Offset({ + value: 0x2738, + name: 'propeller4PanelAutofeatherSwitch', + category: OffsetCategory.ENGINE, + description: 'propeller 4 panel autofeather switch', + convert: '!!{VAL}', + type: Type.Int32, + permission: 'rw', + }), + propeller4Sync: new Offset({ + value: 0x273C, + name: 'propeller4Sync', + category: OffsetCategory.ENGINE, + description: 'propeller 4 sync active', + convert: '!!{VAL}', + type: Type.Int32, + permission: 'rw', + }), + propeller4DeiceSwitch: new Offset({ + value: 0x2740, + name: 'propeller4DeiceSwitch', + category: OffsetCategory.ENGINE, + description: 'propeller 4 de-ice active', + convert: '!!{VAL}', + type: Type.Int32, + permission: 'rw', + }), +}; diff --git a/tests/offsets/__snapshots__/offset.spec.ts.snap b/tests/offsets/__snapshots__/offset.spec.ts.snap index c219344..43fa620 100644 --- a/tests/offsets/__snapshots__/offset.spec.ts.snap +++ b/tests/offsets/__snapshots__/offset.spec.ts.snap @@ -1632,7 +1632,7 @@ Object { }, "engine1TurbineReverser": Offset { "category": "engine", - "convert": undefined, + "convert": "Math.round(+(+({VAL}).toFixed(4) * 100).toFixed(2))", "description": "engine 1 turbine reverser position - 0.0 - 1.0 lb/sq in", "length": undefined, "mapping": undefined, @@ -2160,7 +2160,7 @@ Object { }, "engine2TurbineReverser": Offset { "category": "engine", - "convert": undefined, + "convert": "Math.round(+(+({VAL}).toFixed(4) * 100).toFixed(2))", "description": "engine 2 turbine reverser position - 0.0 - 1.0 lb/sq in", "length": undefined, "mapping": undefined, @@ -2688,7 +2688,7 @@ Object { }, "engine3TurbineReverser": Offset { "category": "engine", - "convert": undefined, + "convert": "Math.round(+(+({VAL}).toFixed(4) * 100).toFixed(2))", "description": "engine 3 turbine reverser position - 0.0 - 1.0 lb/sq in", "length": undefined, "mapping": undefined, @@ -3216,7 +3216,7 @@ Object { }, "engine4TurbineReverser": Offset { "category": "engine", - "convert": undefined, + "convert": "Math.round(+(+({VAL}).toFixed(4) * 100).toFixed(2))", "description": "engine 4 turbine reverser position - 0.0 - 1.0 lb/sq in", "length": undefined, "mapping": undefined, @@ -5282,6 +5282,138 @@ Object { "type": 5, "value": 3912, }, + "propeller1AutofeatherArmed": Offset { + "category": "engine", + "convert": "!!{VAL}", + "description": "propeller 1 autofeather armed flag", + "length": undefined, + "mapping": undefined, + "name": "propeller1AutofeatherArmed", + "permission": "rw", + "type": 3, + "value": 9264, + }, + "propeller1BetaBladeAngle": Offset { + "category": "engine", + "convert": "+({VAL}).toFixed(4)", + "description": "propeller 1 beta blade angle - rad", + "length": undefined, + "mapping": undefined, + "name": "propeller1BetaBladeAngle", + "permission": "r", + "type": 8, + "value": 9240, + }, + "propeller1DeiceSwitch": Offset { + "category": "engine", + "convert": "!!{VAL}", + "description": "propeller 1 de-ice active", + "length": undefined, + "mapping": undefined, + "name": "propeller1DeiceSwitch", + "permission": "rw", + "type": 3, + "value": 9280, + }, + "propeller1FeatherSwitch": Offset { + "category": "engine", + "convert": "!!{VAL}", + "description": "propeller 1 feather switch", + "length": undefined, + "mapping": undefined, + "name": "propeller1FeatherSwitch", + "permission": "rw", + "type": 3, + "value": 9268, + }, + "propeller1Feathered": Offset { + "category": "engine", + "convert": "!!{VAL}", + "description": "propeller 1 feathered", + "length": undefined, + "mapping": undefined, + "name": "propeller1Feathered", + "permission": "r", + "type": 3, + "value": 9252, + }, + "propeller1FeatheringInhibit": Offset { + "category": "engine", + "convert": "!!{VAL}", + "description": "propeller 1 feathering inhibit", + "length": undefined, + "mapping": undefined, + "name": "propeller1FeatheringInhibit", + "permission": "rw", + "type": 3, + "value": 9248, + }, + "propeller1PanelAutofeatherSwitch": Offset { + "category": "engine", + "convert": "!!{VAL}", + "description": "propeller 1 panel autofeather switch", + "length": undefined, + "mapping": undefined, + "name": "propeller1PanelAutofeatherSwitch", + "permission": "rw", + "type": 3, + "value": 9272, + }, + "propeller1RPM": Offset { + "category": "engine", + "convert": undefined, + "description": "propeller 1 RPM", + "length": undefined, + "mapping": undefined, + "name": "propeller1RPM", + "permission": "r", + "type": 8, + "value": 9216, + }, + "propeller1RPMPercent": Offset { + "category": "engine", + "convert": "Math.round(+(+({VAL}).toFixed(4) * 100).toFixed(2))", + "description": "propeller 1 RPM percent", + "length": undefined, + "mapping": undefined, + "name": "propeller1RPMPercent", + "permission": "r", + "type": 8, + "value": 9224, + }, + "propeller1Sync": Offset { + "category": "engine", + "convert": "!!{VAL}", + "description": "propeller 1 sync active", + "length": undefined, + "mapping": undefined, + "name": "propeller1Sync", + "permission": "rw", + "type": 3, + "value": 9276, + }, + "propeller1SyncDeltaLever": Offset { + "category": "engine", + "convert": undefined, + "description": "propeller 1 sync delta lever", + "length": undefined, + "mapping": undefined, + "name": "propeller1SyncDeltaLever", + "permission": "r", + "type": 4, + "value": 9256, + }, + "propeller1Thrust": Offset { + "category": "engine", + "convert": "+({VAL}).toFixed(2)", + "description": "propeller 1 thrust - lb", + "length": undefined, + "mapping": undefined, + "name": "propeller1Thrust", + "permission": "r", + "type": 8, + "value": 9232, + }, "propellerPitchControl": Offset { "category": "controls", "convert": undefined, diff --git a/tests/offsets/plane/__snapshots__/engines.spec.ts.snap b/tests/offsets/plane/__snapshots__/engines.spec.ts.snap index 7e653c0..2b34395 100644 --- a/tests/offsets/plane/__snapshots__/engines.spec.ts.snap +++ b/tests/offsets/plane/__snapshots__/engines.spec.ts.snap @@ -477,7 +477,7 @@ Object { }, "engine1TurbineReverser": Offset { "category": "engine", - "convert": undefined, + "convert": "Math.round(+(+({VAL}).toFixed(4) * 100).toFixed(2))", "description": "engine 1 turbine reverser position - 0.0 - 1.0 lb/sq in", "length": undefined, "mapping": undefined, @@ -1005,7 +1005,7 @@ Object { }, "engine2TurbineReverser": Offset { "category": "engine", - "convert": undefined, + "convert": "Math.round(+(+({VAL}).toFixed(4) * 100).toFixed(2))", "description": "engine 2 turbine reverser position - 0.0 - 1.0 lb/sq in", "length": undefined, "mapping": undefined, @@ -1533,7 +1533,7 @@ Object { }, "engine3TurbineReverser": Offset { "category": "engine", - "convert": undefined, + "convert": "Math.round(+(+({VAL}).toFixed(4) * 100).toFixed(2))", "description": "engine 3 turbine reverser position - 0.0 - 1.0 lb/sq in", "length": undefined, "mapping": undefined, @@ -2061,7 +2061,7 @@ Object { }, "engine4TurbineReverser": Offset { "category": "engine", - "convert": undefined, + "convert": "Math.round(+(+({VAL}).toFixed(4) * 100).toFixed(2))", "description": "engine 4 turbine reverser position - 0.0 - 1.0 lb/sq in", "length": undefined, "mapping": undefined, @@ -2169,6 +2169,138 @@ Object { "type": 6, "value": 1920, }, + "propeller1AutofeatherArmed": Offset { + "category": "engine", + "convert": "!!{VAL}", + "description": "propeller 1 autofeather armed flag", + "length": undefined, + "mapping": undefined, + "name": "propeller1AutofeatherArmed", + "permission": "rw", + "type": 3, + "value": 9264, + }, + "propeller1BetaBladeAngle": Offset { + "category": "engine", + "convert": "+({VAL}).toFixed(4)", + "description": "propeller 1 beta blade angle - rad", + "length": undefined, + "mapping": undefined, + "name": "propeller1BetaBladeAngle", + "permission": "r", + "type": 8, + "value": 9240, + }, + "propeller1DeiceSwitch": Offset { + "category": "engine", + "convert": "!!{VAL}", + "description": "propeller 1 de-ice active", + "length": undefined, + "mapping": undefined, + "name": "propeller1DeiceSwitch", + "permission": "rw", + "type": 3, + "value": 9280, + }, + "propeller1FeatherSwitch": Offset { + "category": "engine", + "convert": "!!{VAL}", + "description": "propeller 1 feather switch", + "length": undefined, + "mapping": undefined, + "name": "propeller1FeatherSwitch", + "permission": "rw", + "type": 3, + "value": 9268, + }, + "propeller1Feathered": Offset { + "category": "engine", + "convert": "!!{VAL}", + "description": "propeller 1 feathered", + "length": undefined, + "mapping": undefined, + "name": "propeller1Feathered", + "permission": "r", + "type": 3, + "value": 9252, + }, + "propeller1FeatheringInhibit": Offset { + "category": "engine", + "convert": "!!{VAL}", + "description": "propeller 1 feathering inhibit", + "length": undefined, + "mapping": undefined, + "name": "propeller1FeatheringInhibit", + "permission": "rw", + "type": 3, + "value": 9248, + }, + "propeller1PanelAutofeatherSwitch": Offset { + "category": "engine", + "convert": "!!{VAL}", + "description": "propeller 1 panel autofeather switch", + "length": undefined, + "mapping": undefined, + "name": "propeller1PanelAutofeatherSwitch", + "permission": "rw", + "type": 3, + "value": 9272, + }, + "propeller1RPM": Offset { + "category": "engine", + "convert": undefined, + "description": "propeller 1 RPM", + "length": undefined, + "mapping": undefined, + "name": "propeller1RPM", + "permission": "r", + "type": 8, + "value": 9216, + }, + "propeller1RPMPercent": Offset { + "category": "engine", + "convert": "Math.round(+(+({VAL}).toFixed(4) * 100).toFixed(2))", + "description": "propeller 1 RPM percent", + "length": undefined, + "mapping": undefined, + "name": "propeller1RPMPercent", + "permission": "r", + "type": 8, + "value": 9224, + }, + "propeller1Sync": Offset { + "category": "engine", + "convert": "!!{VAL}", + "description": "propeller 1 sync active", + "length": undefined, + "mapping": undefined, + "name": "propeller1Sync", + "permission": "rw", + "type": 3, + "value": 9276, + }, + "propeller1SyncDeltaLever": Offset { + "category": "engine", + "convert": undefined, + "description": "propeller 1 sync delta lever", + "length": undefined, + "mapping": undefined, + "name": "propeller1SyncDeltaLever", + "permission": "r", + "type": 4, + "value": 9256, + }, + "propeller1Thrust": Offset { + "category": "engine", + "convert": "+({VAL}).toFixed(2)", + "description": "propeller 1 thrust - lb", + "length": undefined, + "mapping": undefined, + "name": "propeller1Thrust", + "permission": "r", + "type": 8, + "value": 9232, + }, "throttleLowerLimit": Offset { "category": "engine", "convert": "Math.round({VAL} < 0 ? {VAL} / 4096 * 100 : {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 ee1ace9..2b20eab 100644 --- a/tests/offsets/plane/engines/__snapshots__/engine1.spec.ts.snap +++ b/tests/offsets/plane/engines/__snapshots__/engine1.spec.ts.snap @@ -466,7 +466,7 @@ Object { }, "engine1TurbineReverser": Offset { "category": "engine", - "convert": undefined, + "convert": "Math.round(+(+({VAL}).toFixed(4) * 100).toFixed(2))", "description": "engine 1 turbine reverser position - 0.0 - 1.0 lb/sq in", "length": undefined, "mapping": undefined, diff --git a/tests/offsets/plane/engines/__snapshots__/engine2.spec.ts.snap b/tests/offsets/plane/engines/__snapshots__/engine2.spec.ts.snap index 8de0ba9..be2c785 100644 --- a/tests/offsets/plane/engines/__snapshots__/engine2.spec.ts.snap +++ b/tests/offsets/plane/engines/__snapshots__/engine2.spec.ts.snap @@ -466,7 +466,7 @@ Object { }, "engine2TurbineReverser": Offset { "category": "engine", - "convert": undefined, + "convert": "Math.round(+(+({VAL}).toFixed(4) * 100).toFixed(2))", "description": "engine 2 turbine reverser position - 0.0 - 1.0 lb/sq in", "length": undefined, "mapping": undefined, diff --git a/tests/offsets/plane/engines/__snapshots__/engine3.spec.ts.snap b/tests/offsets/plane/engines/__snapshots__/engine3.spec.ts.snap index 2c52f24..ee25fe5 100644 --- a/tests/offsets/plane/engines/__snapshots__/engine3.spec.ts.snap +++ b/tests/offsets/plane/engines/__snapshots__/engine3.spec.ts.snap @@ -466,7 +466,7 @@ Object { }, "engine3TurbineReverser": Offset { "category": "engine", - "convert": undefined, + "convert": "Math.round(+(+({VAL}).toFixed(4) * 100).toFixed(2))", "description": "engine 3 turbine reverser position - 0.0 - 1.0 lb/sq in", "length": undefined, "mapping": undefined, diff --git a/tests/offsets/plane/engines/__snapshots__/engine4.spec.ts.snap b/tests/offsets/plane/engines/__snapshots__/engine4.spec.ts.snap index 64f80cc..b27906d 100644 --- a/tests/offsets/plane/engines/__snapshots__/engine4.spec.ts.snap +++ b/tests/offsets/plane/engines/__snapshots__/engine4.spec.ts.snap @@ -466,7 +466,7 @@ Object { }, "engine4TurbineReverser": Offset { "category": "engine", - "convert": undefined, + "convert": "Math.round(+(+({VAL}).toFixed(4) * 100).toFixed(2))", "description": "engine 4 turbine reverser position - 0.0 - 1.0 lb/sq in", "length": undefined, "mapping": undefined, diff --git a/tests/offsets/plane/engines/__snapshots__/propeller1.spec.ts.snap b/tests/offsets/plane/engines/__snapshots__/propeller1.spec.ts.snap new file mode 100644 index 0000000..82b95d8 --- /dev/null +++ b/tests/offsets/plane/engines/__snapshots__/propeller1.spec.ts.snap @@ -0,0 +1,138 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`offset - plane/engines/propeller1 offsets list should have required properties 1`] = ` +Object { + "propeller1AutofeatherArmed": Offset { + "category": "engine", + "convert": "!!{VAL}", + "description": "propeller 1 autofeather armed flag", + "length": undefined, + "mapping": undefined, + "name": "propeller1AutofeatherArmed", + "permission": "rw", + "type": 3, + "value": 9264, + }, + "propeller1BetaBladeAngle": Offset { + "category": "engine", + "convert": "+({VAL}).toFixed(4)", + "description": "propeller 1 beta blade angle - rad", + "length": undefined, + "mapping": undefined, + "name": "propeller1BetaBladeAngle", + "permission": "r", + "type": 8, + "value": 9240, + }, + "propeller1DeiceSwitch": Offset { + "category": "engine", + "convert": "!!{VAL}", + "description": "propeller 1 de-ice active", + "length": undefined, + "mapping": undefined, + "name": "propeller1DeiceSwitch", + "permission": "rw", + "type": 3, + "value": 9280, + }, + "propeller1FeatherSwitch": Offset { + "category": "engine", + "convert": "!!{VAL}", + "description": "propeller 1 feather switch", + "length": undefined, + "mapping": undefined, + "name": "propeller1FeatherSwitch", + "permission": "rw", + "type": 3, + "value": 9268, + }, + "propeller1Feathered": Offset { + "category": "engine", + "convert": "!!{VAL}", + "description": "propeller 1 feathered", + "length": undefined, + "mapping": undefined, + "name": "propeller1Feathered", + "permission": "r", + "type": 3, + "value": 9252, + }, + "propeller1FeatheringInhibit": Offset { + "category": "engine", + "convert": "!!{VAL}", + "description": "propeller 1 feathering inhibit", + "length": undefined, + "mapping": undefined, + "name": "propeller1FeatheringInhibit", + "permission": "rw", + "type": 3, + "value": 9248, + }, + "propeller1PanelAutofeatherSwitch": Offset { + "category": "engine", + "convert": "!!{VAL}", + "description": "propeller 1 panel autofeather switch", + "length": undefined, + "mapping": undefined, + "name": "propeller1PanelAutofeatherSwitch", + "permission": "rw", + "type": 3, + "value": 9272, + }, + "propeller1RPM": Offset { + "category": "engine", + "convert": undefined, + "description": "propeller 1 RPM", + "length": undefined, + "mapping": undefined, + "name": "propeller1RPM", + "permission": "r", + "type": 8, + "value": 9216, + }, + "propeller1RPMPercent": Offset { + "category": "engine", + "convert": "Math.round(+(+({VAL}).toFixed(4) * 100).toFixed(2))", + "description": "propeller 1 RPM percent", + "length": undefined, + "mapping": undefined, + "name": "propeller1RPMPercent", + "permission": "r", + "type": 8, + "value": 9224, + }, + "propeller1Sync": Offset { + "category": "engine", + "convert": "!!{VAL}", + "description": "propeller 1 sync active", + "length": undefined, + "mapping": undefined, + "name": "propeller1Sync", + "permission": "rw", + "type": 3, + "value": 9276, + }, + "propeller1SyncDeltaLever": Offset { + "category": "engine", + "convert": undefined, + "description": "propeller 1 sync delta lever", + "length": undefined, + "mapping": undefined, + "name": "propeller1SyncDeltaLever", + "permission": "r", + "type": 4, + "value": 9256, + }, + "propeller1Thrust": Offset { + "category": "engine", + "convert": "+({VAL}).toFixed(2)", + "description": "propeller 1 thrust - lb", + "length": undefined, + "mapping": undefined, + "name": "propeller1Thrust", + "permission": "r", + "type": 8, + "value": 9232, + }, +} +`; diff --git a/tests/offsets/plane/engines/__snapshots__/propeller2.spec.ts.snap b/tests/offsets/plane/engines/__snapshots__/propeller2.spec.ts.snap new file mode 100644 index 0000000..af66b75 --- /dev/null +++ b/tests/offsets/plane/engines/__snapshots__/propeller2.spec.ts.snap @@ -0,0 +1,138 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`offset - plane/engines/propeller2 offsets list should have required properties 1`] = ` +Object { + "propeller2AutofeatherArmed": Offset { + "category": "engine", + "convert": "!!{VAL}", + "description": "propeller 2 autofeather armed flag", + "length": undefined, + "mapping": undefined, + "name": "propeller2AutofeatherArmed", + "permission": "rw", + "type": 3, + "value": 9520, + }, + "propeller2BetaBladeAngle": Offset { + "category": "engine", + "convert": "+({VAL}).toFixed(4)", + "description": "propeller 2 beta blade angle - rad", + "length": undefined, + "mapping": undefined, + "name": "propeller2BetaBladeAngle", + "permission": "r", + "type": 8, + "value": 9496, + }, + "propeller2DeiceSwitch": Offset { + "category": "engine", + "convert": "!!{VAL}", + "description": "propeller 2 de-ice active", + "length": undefined, + "mapping": undefined, + "name": "propeller2DeiceSwitch", + "permission": "rw", + "type": 3, + "value": 9536, + }, + "propeller2FeatherSwitch": Offset { + "category": "engine", + "convert": "!!{VAL}", + "description": "propeller 2 feather switch", + "length": undefined, + "mapping": undefined, + "name": "propeller2FeatherSwitch", + "permission": "rw", + "type": 3, + "value": 9524, + }, + "propeller2Feathered": Offset { + "category": "engine", + "convert": "!!{VAL}", + "description": "propeller 2 feathered", + "length": undefined, + "mapping": undefined, + "name": "propeller2Feathered", + "permission": "r", + "type": 3, + "value": 9508, + }, + "propeller2FeatheringInhibit": Offset { + "category": "engine", + "convert": "!!{VAL}", + "description": "propeller 2 feathering inhibit", + "length": undefined, + "mapping": undefined, + "name": "propeller2FeatheringInhibit", + "permission": "rw", + "type": 3, + "value": 9504, + }, + "propeller2PanelAutofeatherSwitch": Offset { + "category": "engine", + "convert": "!!{VAL}", + "description": "propeller 2 panel autofeather switch", + "length": undefined, + "mapping": undefined, + "name": "propeller2PanelAutofeatherSwitch", + "permission": "rw", + "type": 3, + "value": 9528, + }, + "propeller2RPM": Offset { + "category": "engine", + "convert": undefined, + "description": "propeller 2 RPM", + "length": undefined, + "mapping": undefined, + "name": "propeller2RPM", + "permission": "r", + "type": 8, + "value": 9472, + }, + "propeller2RPMPercent": Offset { + "category": "engine", + "convert": "Math.round(+(+({VAL}).toFixed(4) * 100).toFixed(2))", + "description": "propeller 2 RPM percent", + "length": undefined, + "mapping": undefined, + "name": "propeller2RPMPercent", + "permission": "r", + "type": 8, + "value": 9480, + }, + "propeller2Sync": Offset { + "category": "engine", + "convert": "!!{VAL}", + "description": "propeller 2 sync active", + "length": undefined, + "mapping": undefined, + "name": "propeller2Sync", + "permission": "rw", + "type": 3, + "value": 9532, + }, + "propeller2SyncDeltaLever": Offset { + "category": "engine", + "convert": undefined, + "description": "propeller 2 sync delta lever", + "length": undefined, + "mapping": undefined, + "name": "propeller2SyncDeltaLever", + "permission": "r", + "type": 4, + "value": 9512, + }, + "propeller2Thrust": Offset { + "category": "engine", + "convert": "+({VAL}).toFixed(2)", + "description": "propeller 2 thrust - lb", + "length": undefined, + "mapping": undefined, + "name": "propeller2Thrust", + "permission": "r", + "type": 8, + "value": 9488, + }, +} +`; diff --git a/tests/offsets/plane/engines/__snapshots__/propeller3.spec.ts.snap b/tests/offsets/plane/engines/__snapshots__/propeller3.spec.ts.snap new file mode 100644 index 0000000..db343b9 --- /dev/null +++ b/tests/offsets/plane/engines/__snapshots__/propeller3.spec.ts.snap @@ -0,0 +1,138 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`offset - plane/engines/propeller3 offsets list should have required properties 1`] = ` +Object { + "propeller3AutofeatherArmed": Offset { + "category": "engine", + "convert": "!!{VAL}", + "description": "propeller 3 autofeather armed flag", + "length": undefined, + "mapping": undefined, + "name": "propeller3AutofeatherArmed", + "permission": "rw", + "type": 3, + "value": 9776, + }, + "propeller3BetaBladeAngle": Offset { + "category": "engine", + "convert": "+({VAL}).toFixed(4)", + "description": "propeller 3 beta blade angle - rad", + "length": undefined, + "mapping": undefined, + "name": "propeller3BetaBladeAngle", + "permission": "r", + "type": 8, + "value": 9752, + }, + "propeller3DeiceSwitch": Offset { + "category": "engine", + "convert": "!!{VAL}", + "description": "propeller 3 de-ice active", + "length": undefined, + "mapping": undefined, + "name": "propeller3DeiceSwitch", + "permission": "rw", + "type": 3, + "value": 9792, + }, + "propeller3FeatherSwitch": Offset { + "category": "engine", + "convert": "!!{VAL}", + "description": "propeller 3 feather switch", + "length": undefined, + "mapping": undefined, + "name": "propeller3FeatherSwitch", + "permission": "rw", + "type": 3, + "value": 9780, + }, + "propeller3Feathered": Offset { + "category": "engine", + "convert": "!!{VAL}", + "description": "propeller 3 feathered", + "length": undefined, + "mapping": undefined, + "name": "propeller3Feathered", + "permission": "r", + "type": 3, + "value": 9764, + }, + "propeller3FeatheringInhibit": Offset { + "category": "engine", + "convert": "!!{VAL}", + "description": "propeller 3 feathering inhibit", + "length": undefined, + "mapping": undefined, + "name": "propeller3FeatheringInhibit", + "permission": "rw", + "type": 3, + "value": 9760, + }, + "propeller3PanelAutofeatherSwitch": Offset { + "category": "engine", + "convert": "!!{VAL}", + "description": "propeller 3 panel autofeather switch", + "length": undefined, + "mapping": undefined, + "name": "propeller3PanelAutofeatherSwitch", + "permission": "rw", + "type": 3, + "value": 9784, + }, + "propeller3RPM": Offset { + "category": "engine", + "convert": undefined, + "description": "propeller 3 RPM", + "length": undefined, + "mapping": undefined, + "name": "propeller3RPM", + "permission": "r", + "type": 8, + "value": 9728, + }, + "propeller3RPMPercent": Offset { + "category": "engine", + "convert": "Math.round(+(+({VAL}).toFixed(4) * 100).toFixed(2))", + "description": "propeller 3 RPM percent", + "length": undefined, + "mapping": undefined, + "name": "propeller3RPMPercent", + "permission": "r", + "type": 8, + "value": 9736, + }, + "propeller3Sync": Offset { + "category": "engine", + "convert": "!!{VAL}", + "description": "propeller 3 sync active", + "length": undefined, + "mapping": undefined, + "name": "propeller3Sync", + "permission": "rw", + "type": 3, + "value": 9788, + }, + "propeller3SyncDeltaLever": Offset { + "category": "engine", + "convert": undefined, + "description": "propeller 3 sync delta lever", + "length": undefined, + "mapping": undefined, + "name": "propeller3SyncDeltaLever", + "permission": "r", + "type": 4, + "value": 9768, + }, + "propeller3Thrust": Offset { + "category": "engine", + "convert": "+({VAL}).toFixed(2)", + "description": "propeller 3 thrust - lb", + "length": undefined, + "mapping": undefined, + "name": "propeller3Thrust", + "permission": "r", + "type": 8, + "value": 9744, + }, +} +`; diff --git a/tests/offsets/plane/engines/__snapshots__/propeller4.spec.ts.snap b/tests/offsets/plane/engines/__snapshots__/propeller4.spec.ts.snap new file mode 100644 index 0000000..49b3156 --- /dev/null +++ b/tests/offsets/plane/engines/__snapshots__/propeller4.spec.ts.snap @@ -0,0 +1,138 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`offset - plane/engines/propeller4 offsets list should have required properties 1`] = ` +Object { + "propeller4AutofeatherArmed": Offset { + "category": "engine", + "convert": "!!{VAL}", + "description": "propeller 4 autofeather armed flag", + "length": undefined, + "mapping": undefined, + "name": "propeller4AutofeatherArmed", + "permission": "rw", + "type": 3, + "value": 10032, + }, + "propeller4BetaBladeAngle": Offset { + "category": "engine", + "convert": "+({VAL}).toFixed(4)", + "description": "propeller 4 beta blade angle - rad", + "length": undefined, + "mapping": undefined, + "name": "propeller4BetaBladeAngle", + "permission": "r", + "type": 8, + "value": 10008, + }, + "propeller4DeiceSwitch": Offset { + "category": "engine", + "convert": "!!{VAL}", + "description": "propeller 4 de-ice active", + "length": undefined, + "mapping": undefined, + "name": "propeller4DeiceSwitch", + "permission": "rw", + "type": 3, + "value": 10048, + }, + "propeller4FeatherSwitch": Offset { + "category": "engine", + "convert": "!!{VAL}", + "description": "propeller 4 feather switch", + "length": undefined, + "mapping": undefined, + "name": "propeller4FeatherSwitch", + "permission": "rw", + "type": 3, + "value": 10036, + }, + "propeller4Feathered": Offset { + "category": "engine", + "convert": "!!{VAL}", + "description": "propeller 4 feathered", + "length": undefined, + "mapping": undefined, + "name": "propeller4Feathered", + "permission": "r", + "type": 3, + "value": 10020, + }, + "propeller4FeatheringInhibit": Offset { + "category": "engine", + "convert": "!!{VAL}", + "description": "propeller 4 feathering inhibit", + "length": undefined, + "mapping": undefined, + "name": "propeller4FeatheringInhibit", + "permission": "rw", + "type": 3, + "value": 10016, + }, + "propeller4PanelAutofeatherSwitch": Offset { + "category": "engine", + "convert": "!!{VAL}", + "description": "propeller 4 panel autofeather switch", + "length": undefined, + "mapping": undefined, + "name": "propeller4PanelAutofeatherSwitch", + "permission": "rw", + "type": 3, + "value": 10040, + }, + "propeller4RPM": Offset { + "category": "engine", + "convert": undefined, + "description": "propeller 4 RPM", + "length": undefined, + "mapping": undefined, + "name": "propeller4RPM", + "permission": "r", + "type": 8, + "value": 9984, + }, + "propeller4RPMPercent": Offset { + "category": "engine", + "convert": "Math.round(+(+({VAL}).toFixed(4) * 100).toFixed(2))", + "description": "propeller 4 RPM percent", + "length": undefined, + "mapping": undefined, + "name": "propeller4RPMPercent", + "permission": "r", + "type": 8, + "value": 9992, + }, + "propeller4Sync": Offset { + "category": "engine", + "convert": "!!{VAL}", + "description": "propeller 4 sync active", + "length": undefined, + "mapping": undefined, + "name": "propeller4Sync", + "permission": "rw", + "type": 3, + "value": 10044, + }, + "propeller4SyncDeltaLever": Offset { + "category": "engine", + "convert": undefined, + "description": "propeller 4 sync delta lever", + "length": undefined, + "mapping": undefined, + "name": "propeller4SyncDeltaLever", + "permission": "r", + "type": 4, + "value": 10024, + }, + "propeller4Thrust": Offset { + "category": "engine", + "convert": "+({VAL}).toFixed(2)", + "description": "propeller 4 thrust - lb", + "length": undefined, + "mapping": undefined, + "name": "propeller4Thrust", + "permission": "r", + "type": 8, + "value": 10000, + }, +} +`; diff --git a/tests/offsets/plane/engines/engine1.spec.ts b/tests/offsets/plane/engines/engine1.spec.ts index b252e9f..24ca81a 100644 --- a/tests/offsets/plane/engines/engine1.spec.ts +++ b/tests/offsets/plane/engines/engine1.spec.ts @@ -34,6 +34,7 @@ describe('offset - plane/engines/engine1', () => { { name: 'engine1TurbineAfterburnerActive', value: 1, expectedResult: true }, { name: 'engine1TurbineIsFuelAvailable', value: 0, expectedResult: false }, { name: 'engine1TurbineIsFuelAvailable', value: 1, expectedResult: true }, + { name: 'engine1TurbineReverser', value: 0.02386, expectedResult: 2 }, { name: 'engine1TurbineIgnition', value: 0, expectedResult: false }, { name: 'engine1TurbineIgnition', value: 1, expectedResult: true }, ]; diff --git a/tests/offsets/plane/engines/engine2.spec.ts b/tests/offsets/plane/engines/engine2.spec.ts index 00c0946..4d334ae 100644 --- a/tests/offsets/plane/engines/engine2.spec.ts +++ b/tests/offsets/plane/engines/engine2.spec.ts @@ -34,6 +34,7 @@ describe('offset - plane/engines/engine2', () => { { name: 'engine2TurbineAfterburnerActive', value: 1, expectedResult: true }, { name: 'engine2TurbineIsFuelAvailable', value: 0, expectedResult: false }, { name: 'engine2TurbineIsFuelAvailable', value: 1, expectedResult: true }, + { name: 'engine2TurbineReverser', value: 0.02386, expectedResult: 2 }, { name: 'engine2TurbineIgnition', value: 0, expectedResult: false }, { name: 'engine2TurbineIgnition', value: 1, expectedResult: true }, ]; diff --git a/tests/offsets/plane/engines/engine3.spec.ts b/tests/offsets/plane/engines/engine3.spec.ts index f954cdd..c64e245 100644 --- a/tests/offsets/plane/engines/engine3.spec.ts +++ b/tests/offsets/plane/engines/engine3.spec.ts @@ -34,6 +34,7 @@ describe('offset - plane/engines/engine3', () => { { name: 'engine3TurbineAfterburnerActive', value: 1, expectedResult: true }, { name: 'engine3TurbineIsFuelAvailable', value: 0, expectedResult: false }, { name: 'engine3TurbineIsFuelAvailable', value: 1, expectedResult: true }, + { name: 'engine3TurbineReverser', value: 0.02386, expectedResult: 2 }, { name: 'engine3TurbineIgnition', value: 0, expectedResult: false }, { name: 'engine3TurbineIgnition', value: 1, expectedResult: true }, ]; diff --git a/tests/offsets/plane/engines/engine4.spec.ts b/tests/offsets/plane/engines/engine4.spec.ts index feaf14d..3bd04d5 100644 --- a/tests/offsets/plane/engines/engine4.spec.ts +++ b/tests/offsets/plane/engines/engine4.spec.ts @@ -34,6 +34,7 @@ describe('offset - plane/engines/engine4', () => { { name: 'engine4TurbineAfterburnerActive', value: 1, expectedResult: true }, { name: 'engine4TurbineIsFuelAvailable', value: 0, expectedResult: false }, { name: 'engine4TurbineIsFuelAvailable', value: 1, expectedResult: true }, + { name: 'engine4TurbineReverser', value: 0.02386, expectedResult: 2 }, { name: 'engine4TurbineIgnition', value: 0, expectedResult: false }, { name: 'engine4TurbineIgnition', value: 1, expectedResult: true }, ]; diff --git a/tests/offsets/plane/engines/propeller1.spec.ts b/tests/offsets/plane/engines/propeller1.spec.ts new file mode 100644 index 0000000..d7faede --- /dev/null +++ b/tests/offsets/plane/engines/propeller1.spec.ts @@ -0,0 +1,41 @@ +import { propeller1 as offsets } from '@offsets/plane/engines/propeller1'; +import { replaceOffsetExpressionValue } from '@convert/apply-conversion'; + +describe('offset - plane/engines/propeller1', () => { + const offsetsTestCases = [ + { name: 'propeller1RPMPercent', value: 0.02386, expectedResult: 2 }, + { name: 'propeller1Thrust', value: 23.8601932, expectedResult: 23.86 }, + { name: 'propeller1BetaBladeAngle', value: 23.8601932, expectedResult: 23.8602 }, + { name: 'propeller1FeatheringInhibit', value: 0, expectedResult: false }, + { name: 'propeller1FeatheringInhibit', value: 1, expectedResult: true }, + { name: 'propeller1Feathered', value: 0, expectedResult: false }, + { name: 'propeller1Feathered', value: 1, expectedResult: true }, + { name: 'propeller1AutofeatherArmed', value: 0, expectedResult: false }, + { name: 'propeller1AutofeatherArmed', value: 1, expectedResult: true }, + { name: 'propeller1FeatherSwitch', value: 0, expectedResult: false }, + { name: 'propeller1FeatherSwitch', value: 1, expectedResult: true }, + { name: 'propeller1PanelAutofeatherSwitch', value: 0, expectedResult: false }, + { name: 'propeller1PanelAutofeatherSwitch', value: 1, expectedResult: true }, + { name: 'propeller1Sync', value: 0, expectedResult: false }, + { name: 'propeller1Sync', value: 1, expectedResult: true }, + { name: 'propeller1DeiceSwitch', value: 0, expectedResult: false }, + { name: 'propeller1DeiceSwitch', value: 1, expectedResult: true }, + ]; + + describe('offsets list', () => { + it('should have required properties', () => { + expect(offsets).toMatchSnapshot(); + }); + }); + + offsetsTestCases.forEach(testedOffset => { + describe(testedOffset.name, () => { + it('should convert data properly', () => { + const convertExpression = replaceOffsetExpressionValue(offsets[testedOffset.name], testedOffset.value); + + // tslint:disable-next-line:no-eval + expect(eval(convertExpression)).toEqual(testedOffset.expectedResult); + }); + }); + }); +}); diff --git a/tests/offsets/plane/engines/propeller2.spec.ts b/tests/offsets/plane/engines/propeller2.spec.ts new file mode 100644 index 0000000..d706b1c --- /dev/null +++ b/tests/offsets/plane/engines/propeller2.spec.ts @@ -0,0 +1,41 @@ +import { propeller2 as offsets } from '@offsets/plane/engines/propeller2'; +import { replaceOffsetExpressionValue } from '@convert/apply-conversion'; + +describe('offset - plane/engines/propeller2', () => { + const offsetsTestCases = [ + { name: 'propeller2RPMPercent', value: 0.02386, expectedResult: 2 }, + { name: 'propeller2Thrust', value: 23.8601932, expectedResult: 23.86 }, + { name: 'propeller2BetaBladeAngle', value: 23.8601932, expectedResult: 23.8602 }, + { name: 'propeller2FeatheringInhibit', value: 0, expectedResult: false }, + { name: 'propeller2FeatheringInhibit', value: 1, expectedResult: true }, + { name: 'propeller2Feathered', value: 0, expectedResult: false }, + { name: 'propeller2Feathered', value: 1, expectedResult: true }, + { name: 'propeller2AutofeatherArmed', value: 0, expectedResult: false }, + { name: 'propeller2AutofeatherArmed', value: 1, expectedResult: true }, + { name: 'propeller2FeatherSwitch', value: 0, expectedResult: false }, + { name: 'propeller2FeatherSwitch', value: 1, expectedResult: true }, + { name: 'propeller2PanelAutofeatherSwitch', value: 0, expectedResult: false }, + { name: 'propeller2PanelAutofeatherSwitch', value: 1, expectedResult: true }, + { name: 'propeller2Sync', value: 0, expectedResult: false }, + { name: 'propeller2Sync', value: 1, expectedResult: true }, + { name: 'propeller2DeiceSwitch', value: 0, expectedResult: false }, + { name: 'propeller2DeiceSwitch', value: 1, expectedResult: true }, + ]; + + describe('offsets list', () => { + it('should have required properties', () => { + expect(offsets).toMatchSnapshot(); + }); + }); + + offsetsTestCases.forEach(testedOffset => { + describe(testedOffset.name, () => { + it('should convert data properly', () => { + const convertExpression = replaceOffsetExpressionValue(offsets[testedOffset.name], testedOffset.value); + + // tslint:disable-next-line:no-eval + expect(eval(convertExpression)).toEqual(testedOffset.expectedResult); + }); + }); + }); +}); diff --git a/tests/offsets/plane/engines/propeller3.spec.ts b/tests/offsets/plane/engines/propeller3.spec.ts new file mode 100644 index 0000000..1af4ce3 --- /dev/null +++ b/tests/offsets/plane/engines/propeller3.spec.ts @@ -0,0 +1,41 @@ +import { propeller3 as offsets } from '@offsets/plane/engines/propeller3'; +import { replaceOffsetExpressionValue } from '@convert/apply-conversion'; + +describe('offset - plane/engines/propeller3', () => { + const offsetsTestCases = [ + { name: 'propeller3RPMPercent', value: 0.02386, expectedResult: 2 }, + { name: 'propeller3Thrust', value: 23.8601932, expectedResult: 23.86 }, + { name: 'propeller3BetaBladeAngle', value: 23.8601932, expectedResult: 23.8602 }, + { name: 'propeller3FeatheringInhibit', value: 0, expectedResult: false }, + { name: 'propeller3FeatheringInhibit', value: 1, expectedResult: true }, + { name: 'propeller3Feathered', value: 0, expectedResult: false }, + { name: 'propeller3Feathered', value: 1, expectedResult: true }, + { name: 'propeller3AutofeatherArmed', value: 0, expectedResult: false }, + { name: 'propeller3AutofeatherArmed', value: 1, expectedResult: true }, + { name: 'propeller3FeatherSwitch', value: 0, expectedResult: false }, + { name: 'propeller3FeatherSwitch', value: 1, expectedResult: true }, + { name: 'propeller3PanelAutofeatherSwitch', value: 0, expectedResult: false }, + { name: 'propeller3PanelAutofeatherSwitch', value: 1, expectedResult: true }, + { name: 'propeller3Sync', value: 0, expectedResult: false }, + { name: 'propeller3Sync', value: 1, expectedResult: true }, + { name: 'propeller3DeiceSwitch', value: 0, expectedResult: false }, + { name: 'propeller3DeiceSwitch', value: 1, expectedResult: true }, + ]; + + describe('offsets list', () => { + it('should have required properties', () => { + expect(offsets).toMatchSnapshot(); + }); + }); + + offsetsTestCases.forEach(testedOffset => { + describe(testedOffset.name, () => { + it('should convert data properly', () => { + const convertExpression = replaceOffsetExpressionValue(offsets[testedOffset.name], testedOffset.value); + + // tslint:disable-next-line:no-eval + expect(eval(convertExpression)).toEqual(testedOffset.expectedResult); + }); + }); + }); +}); diff --git a/tests/offsets/plane/engines/propeller4.spec.ts b/tests/offsets/plane/engines/propeller4.spec.ts new file mode 100644 index 0000000..2dd7ee6 --- /dev/null +++ b/tests/offsets/plane/engines/propeller4.spec.ts @@ -0,0 +1,41 @@ +import { propeller4 as offsets } from '@offsets/plane/engines/propeller4'; +import { replaceOffsetExpressionValue } from '@convert/apply-conversion'; + +describe('offset - plane/engines/propeller4', () => { + const offsetsTestCases = [ + { name: 'propeller4RPMPercent', value: 0.02386, expectedResult: 2 }, + { name: 'propeller4Thrust', value: 23.8601932, expectedResult: 23.86 }, + { name: 'propeller4BetaBladeAngle', value: 23.8601932, expectedResult: 23.8602 }, + { name: 'propeller4FeatheringInhibit', value: 0, expectedResult: false }, + { name: 'propeller4FeatheringInhibit', value: 1, expectedResult: true }, + { name: 'propeller4Feathered', value: 0, expectedResult: false }, + { name: 'propeller4Feathered', value: 1, expectedResult: true }, + { name: 'propeller4AutofeatherArmed', value: 0, expectedResult: false }, + { name: 'propeller4AutofeatherArmed', value: 1, expectedResult: true }, + { name: 'propeller4FeatherSwitch', value: 0, expectedResult: false }, + { name: 'propeller4FeatherSwitch', value: 1, expectedResult: true }, + { name: 'propeller4PanelAutofeatherSwitch', value: 0, expectedResult: false }, + { name: 'propeller4PanelAutofeatherSwitch', value: 1, expectedResult: true }, + { name: 'propeller4Sync', value: 0, expectedResult: false }, + { name: 'propeller4Sync', value: 1, expectedResult: true }, + { name: 'propeller4DeiceSwitch', value: 0, expectedResult: false }, + { name: 'propeller4DeiceSwitch', value: 1, expectedResult: true }, + ]; + + describe('offsets list', () => { + it('should have required properties', () => { + expect(offsets).toMatchSnapshot(); + }); + }); + + offsetsTestCases.forEach(testedOffset => { + describe(testedOffset.name, () => { + it('should convert data properly', () => { + const convertExpression = replaceOffsetExpressionValue(offsets[testedOffset.name], testedOffset.value); + + // tslint:disable-next-line:no-eval + expect(eval(convertExpression)).toEqual(testedOffset.expectedResult); + }); + }); + }); +}); From d0faf24245c3ef622109ee46f605eb0e1bdd8fea Mon Sep 17 00:00:00 2001 From: blackholegalaxy Date: Mon, 3 Feb 2020 17:30:01 -0500 Subject: [PATCH 15/20] update types --- src/lib/offsets/plane/engines/engine1.ts | 12 +-- src/lib/offsets/plane/engines/engine2.ts | 10 +-- src/lib/offsets/plane/engines/engine3.ts | 12 +-- src/lib/offsets/plane/engines/engine4.ts | 12 +-- src/lib/offsets/plane/engines/propeller1.ts | 16 ++-- src/lib/offsets/plane/engines/propeller2.ts | 16 ++-- src/lib/offsets/plane/engines/propeller3.ts | 16 ++-- src/lib/offsets/plane/engines/propeller4.ts | 16 ++-- src/lib/offsets/plane/fuel.ts | 10 +-- .../position-attitude/position-attitude.ts | 2 +- src/lib/offsets/simulation/simulation.ts | 4 +- .../offsets/__snapshots__/offset.spec.ts.snap | 78 +++++++++---------- .../plane/__snapshots__/engines.spec.ts.snap | 62 +++++++-------- .../plane/__snapshots__/fuel.spec.ts.snap | 10 +-- .../__snapshots__/engine1.spec.ts.snap | 12 +-- .../__snapshots__/engine2.spec.ts.snap | 10 +-- .../__snapshots__/engine3.spec.ts.snap | 12 +-- .../__snapshots__/engine4.spec.ts.snap | 12 +-- .../__snapshots__/propeller1.spec.ts.snap | 16 ++-- .../__snapshots__/propeller2.spec.ts.snap | 16 ++-- .../__snapshots__/propeller3.spec.ts.snap | 16 ++-- .../__snapshots__/propeller4.spec.ts.snap | 16 ++-- .../position-attitude.spec.ts.snap | 2 +- .../__snapshots__/simulation.spec.ts.snap | 4 +- 24 files changed, 196 insertions(+), 196 deletions(-) diff --git a/src/lib/offsets/plane/engines/engine1.ts b/src/lib/offsets/plane/engines/engine1.ts index 7460aa5..c12d13c 100644 --- a/src/lib/offsets/plane/engines/engine1.ts +++ b/src/lib/offsets/plane/engines/engine1.ts @@ -328,7 +328,7 @@ export const engine1: OffsetList = { category: OffsetCategory.ENGINE, description: 'engine 1 turbine afterburner active', convert: '!!{VAL}', - type: Type.Int32, + type: Type.UInt32, permission: 'r', }), engine1TurbineJetThrust: new Offset({ @@ -346,7 +346,7 @@ export const engine1: OffsetList = { description: 'engine 1 turbine tank selector', convert: 'fuelTank', mapping: true, - type: Type.Int32, + type: Type.UInt32, permission: 'r', }), engine1TurbineUsedTank: new Offset({ @@ -363,7 +363,7 @@ export const engine1: OffsetList = { name: 'engine1TurbineAvailableTankCount', category: OffsetCategory.ENGINE, description: 'engine 1 turbine available tank count', - type: Type.Int32, + type: Type.UInt32, permission: 'r', }), engine1TurbineFuelFlow: new Offset({ @@ -380,7 +380,7 @@ export const engine1: OffsetList = { category: OffsetCategory.ENGINE, description: 'engine 1 turbine is fuel available flag', convert: '!!{VAL}', - type: Type.Int32, + type: Type.UInt32, permission: 'r', }), engine1TurbineBleedPressure: new Offset({ @@ -405,7 +405,7 @@ export const engine1: OffsetList = { name: 'engine1TurbineVibration', category: OffsetCategory.ENGINE, description: 'engine 1 turbine vibration', - type: Type.Int64, + type: Type.Double, permission: 'r', }), engine1TurbineIgnition: new Offset({ @@ -414,7 +414,7 @@ export const engine1: OffsetList = { category: OffsetCategory.ENGINE, description: 'engine 1 turbine is fuel available flag', convert: '!!{VAL}', - type: Type.Int32, + type: Type.UInt32, permission: 'rw', }), }; diff --git a/src/lib/offsets/plane/engines/engine2.ts b/src/lib/offsets/plane/engines/engine2.ts index 5137c76..89c3366 100644 --- a/src/lib/offsets/plane/engines/engine2.ts +++ b/src/lib/offsets/plane/engines/engine2.ts @@ -328,7 +328,7 @@ export const engine2: OffsetList = { category: OffsetCategory.ENGINE, description: 'engine 2 turbine afterburner active', convert: '!!{VAL}', - type: Type.Int32, + type: Type.UInt32, permission: 'r', }), engine2TurbineJetThrust: new Offset({ @@ -363,7 +363,7 @@ export const engine2: OffsetList = { name: 'engine2TurbineAvailableTankCount', category: OffsetCategory.ENGINE, description: 'engine 2 turbine available tank count', - type: Type.Int32, + type: Type.UInt32, permission: 'r', }), engine2TurbineFuelFlow: new Offset({ @@ -380,7 +380,7 @@ export const engine2: OffsetList = { category: OffsetCategory.ENGINE, description: 'engine 2 turbine is fuel available flag', convert: '!!{VAL}', - type: Type.Int32, + type: Type.UInt32, permission: 'r', }), engine2TurbineBleedPressure: new Offset({ @@ -405,7 +405,7 @@ export const engine2: OffsetList = { name: 'engine2TurbineVibration', category: OffsetCategory.ENGINE, description: 'engine 2 turbine vibration', - type: Type.Int64, + type: Type.Double, permission: 'r', }), engine2TurbineIgnition: new Offset({ @@ -414,7 +414,7 @@ export const engine2: OffsetList = { category: OffsetCategory.ENGINE, description: 'engine 2 turbine is fuel available flag', convert: '!!{VAL}', - type: Type.Int32, + type: Type.UInt32, permission: 'rw', }), }; diff --git a/src/lib/offsets/plane/engines/engine3.ts b/src/lib/offsets/plane/engines/engine3.ts index b97493f..03bca5f 100644 --- a/src/lib/offsets/plane/engines/engine3.ts +++ b/src/lib/offsets/plane/engines/engine3.ts @@ -328,7 +328,7 @@ export const engine3: OffsetList = { category: OffsetCategory.ENGINE, description: 'engine 3 turbine afterburner active', convert: '!!{VAL}', - type: Type.Int32, + type: Type.UInt32, permission: 'r', }), engine3TurbineJetThrust: new Offset({ @@ -346,7 +346,7 @@ export const engine3: OffsetList = { description: 'engine 3 turbine tank selector', convert: 'fuelTank', mapping: true, - type: Type.Int32, + type: Type.UInt32, permission: 'r', }), engine3TurbineUsedTank: new Offset({ @@ -363,7 +363,7 @@ export const engine3: OffsetList = { name: 'engine3TurbineAvailableTankCount', category: OffsetCategory.ENGINE, description: 'engine 3 turbine available tank count', - type: Type.Int32, + type: Type.UInt32, permission: 'r', }), engine3TurbineFuelFlow: new Offset({ @@ -380,7 +380,7 @@ export const engine3: OffsetList = { category: OffsetCategory.ENGINE, description: 'engine 3 turbine is fuel available flag', convert: '!!{VAL}', - type: Type.Int32, + type: Type.UInt32, permission: 'r', }), engine3TurbineBleedPressure: new Offset({ @@ -405,7 +405,7 @@ export const engine3: OffsetList = { name: 'engine3TurbineVibration', category: OffsetCategory.ENGINE, description: 'engine 3 turbine vibration', - type: Type.Int64, + type: Type.Double, permission: 'r', }), engine3TurbineIgnition: new Offset({ @@ -414,7 +414,7 @@ export const engine3: OffsetList = { category: OffsetCategory.ENGINE, description: 'engine 3 turbine is fuel available flag', convert: '!!{VAL}', - type: Type.Int32, + type: Type.UInt32, permission: 'rw', }), }; diff --git a/src/lib/offsets/plane/engines/engine4.ts b/src/lib/offsets/plane/engines/engine4.ts index b9e4543..51db988 100644 --- a/src/lib/offsets/plane/engines/engine4.ts +++ b/src/lib/offsets/plane/engines/engine4.ts @@ -328,7 +328,7 @@ export const engine4: OffsetList = { category: OffsetCategory.ENGINE, description: 'engine 4 turbine afterburner active', convert: '!!{VAL}', - type: Type.Int32, + type: Type.UInt32, permission: 'r', }), engine4TurbineJetThrust: new Offset({ @@ -346,7 +346,7 @@ export const engine4: OffsetList = { description: 'engine 4 turbine tank selector', convert: 'fuelTank', mapping: true, - type: Type.Int32, + type: Type.UInt32, permission: 'r', }), engine4TurbineUsedTank: new Offset({ @@ -363,7 +363,7 @@ export const engine4: OffsetList = { name: 'engine4TurbineAvailableTankCount', category: OffsetCategory.ENGINE, description: 'engine 4 turbine available tank count', - type: Type.Int32, + type: Type.UInt32, permission: 'r', }), engine4TurbineFuelFlow: new Offset({ @@ -380,7 +380,7 @@ export const engine4: OffsetList = { category: OffsetCategory.ENGINE, description: 'engine 4 turbine is fuel available flag', convert: '!!{VAL}', - type: Type.Int32, + type: Type.UInt32, permission: 'r', }), engine4TurbineBleedPressure: new Offset({ @@ -405,7 +405,7 @@ export const engine4: OffsetList = { name: 'engine4TurbineVibration', category: OffsetCategory.ENGINE, description: 'engine 4 turbine vibration', - type: Type.Int64, + type: Type.Double, permission: 'r', }), engine4TurbineIgnition: new Offset({ @@ -414,7 +414,7 @@ export const engine4: OffsetList = { category: OffsetCategory.ENGINE, description: 'engine 4 turbine is fuel available flag', convert: '!!{VAL}', - type: Type.Int32, + type: Type.UInt32, permission: 'rw', }), }; diff --git a/src/lib/offsets/plane/engines/propeller1.ts b/src/lib/offsets/plane/engines/propeller1.ts index bf72e36..543b0b6 100644 --- a/src/lib/offsets/plane/engines/propeller1.ts +++ b/src/lib/offsets/plane/engines/propeller1.ts @@ -46,7 +46,7 @@ export const propeller1: OffsetList = { category: OffsetCategory.ENGINE, description: 'propeller 1 feathering inhibit', convert: '!!{VAL}', - type: Type.Int32, + type: Type.UInt32, permission: 'rw', }), propeller1Feathered: new Offset({ @@ -55,7 +55,7 @@ export const propeller1: OffsetList = { category: OffsetCategory.ENGINE, description: 'propeller 1 feathered', convert: '!!{VAL}', - type: Type.Int32, + type: Type.UInt32, permission: 'r', }), propeller1SyncDeltaLever: new Offset({ @@ -63,7 +63,7 @@ export const propeller1: OffsetList = { name: 'propeller1SyncDeltaLever', category: OffsetCategory.ENGINE, description: 'propeller 1 sync delta lever', - type: Type.Int64, + type: Type.Double, permission: 'r', }), propeller1AutofeatherArmed: new Offset({ @@ -72,7 +72,7 @@ export const propeller1: OffsetList = { category: OffsetCategory.ENGINE, description: 'propeller 1 autofeather armed flag', convert: '!!{VAL}', - type: Type.Int32, + type: Type.UInt32, permission: 'rw', }), propeller1FeatherSwitch: new Offset({ @@ -81,7 +81,7 @@ export const propeller1: OffsetList = { category: OffsetCategory.ENGINE, description: 'propeller 1 feather switch', convert: '!!{VAL}', - type: Type.Int32, + type: Type.UInt32, permission: 'rw', }), propeller1PanelAutofeatherSwitch: new Offset({ @@ -90,7 +90,7 @@ export const propeller1: OffsetList = { category: OffsetCategory.ENGINE, description: 'propeller 1 panel autofeather switch', convert: '!!{VAL}', - type: Type.Int32, + type: Type.UInt32, permission: 'rw', }), propeller1Sync: new Offset({ @@ -99,7 +99,7 @@ export const propeller1: OffsetList = { category: OffsetCategory.ENGINE, description: 'propeller 1 sync active', convert: '!!{VAL}', - type: Type.Int32, + type: Type.UInt32, permission: 'rw', }), propeller1DeiceSwitch: new Offset({ @@ -108,7 +108,7 @@ export const propeller1: OffsetList = { category: OffsetCategory.ENGINE, description: 'propeller 1 de-ice active', convert: '!!{VAL}', - type: Type.Int32, + type: Type.UInt32, permission: 'rw', }), }; diff --git a/src/lib/offsets/plane/engines/propeller2.ts b/src/lib/offsets/plane/engines/propeller2.ts index 72e4251..073c97a 100644 --- a/src/lib/offsets/plane/engines/propeller2.ts +++ b/src/lib/offsets/plane/engines/propeller2.ts @@ -46,7 +46,7 @@ export const propeller2: OffsetList = { category: OffsetCategory.ENGINE, description: 'propeller 2 feathering inhibit', convert: '!!{VAL}', - type: Type.Int32, + type: Type.UInt32, permission: 'rw', }), propeller2Feathered: new Offset({ @@ -55,7 +55,7 @@ export const propeller2: OffsetList = { category: OffsetCategory.ENGINE, description: 'propeller 2 feathered', convert: '!!{VAL}', - type: Type.Int32, + type: Type.UInt32, permission: 'r', }), propeller2SyncDeltaLever: new Offset({ @@ -63,7 +63,7 @@ export const propeller2: OffsetList = { name: 'propeller2SyncDeltaLever', category: OffsetCategory.ENGINE, description: 'propeller 2 sync delta lever', - type: Type.Int64, + type: Type.Double, permission: 'r', }), propeller2AutofeatherArmed: new Offset({ @@ -72,7 +72,7 @@ export const propeller2: OffsetList = { category: OffsetCategory.ENGINE, description: 'propeller 2 autofeather armed flag', convert: '!!{VAL}', - type: Type.Int32, + type: Type.UInt32, permission: 'rw', }), propeller2FeatherSwitch: new Offset({ @@ -81,7 +81,7 @@ export const propeller2: OffsetList = { category: OffsetCategory.ENGINE, description: 'propeller 2 feather switch', convert: '!!{VAL}', - type: Type.Int32, + type: Type.UInt32, permission: 'rw', }), propeller2PanelAutofeatherSwitch: new Offset({ @@ -90,7 +90,7 @@ export const propeller2: OffsetList = { category: OffsetCategory.ENGINE, description: 'propeller 2 panel autofeather switch', convert: '!!{VAL}', - type: Type.Int32, + type: Type.UInt32, permission: 'rw', }), propeller2Sync: new Offset({ @@ -99,7 +99,7 @@ export const propeller2: OffsetList = { category: OffsetCategory.ENGINE, description: 'propeller 2 sync active', convert: '!!{VAL}', - type: Type.Int32, + type: Type.UInt32, permission: 'rw', }), propeller2DeiceSwitch: new Offset({ @@ -108,7 +108,7 @@ export const propeller2: OffsetList = { category: OffsetCategory.ENGINE, description: 'propeller 2 de-ice active', convert: '!!{VAL}', - type: Type.Int32, + type: Type.UInt32, permission: 'rw', }), }; diff --git a/src/lib/offsets/plane/engines/propeller3.ts b/src/lib/offsets/plane/engines/propeller3.ts index bd63e4b..2b30d01 100644 --- a/src/lib/offsets/plane/engines/propeller3.ts +++ b/src/lib/offsets/plane/engines/propeller3.ts @@ -46,7 +46,7 @@ export const propeller3: OffsetList = { category: OffsetCategory.ENGINE, description: 'propeller 3 feathering inhibit', convert: '!!{VAL}', - type: Type.Int32, + type: Type.UInt32, permission: 'rw', }), propeller3Feathered: new Offset({ @@ -55,7 +55,7 @@ export const propeller3: OffsetList = { category: OffsetCategory.ENGINE, description: 'propeller 3 feathered', convert: '!!{VAL}', - type: Type.Int32, + type: Type.UInt32, permission: 'r', }), propeller3SyncDeltaLever: new Offset({ @@ -63,7 +63,7 @@ export const propeller3: OffsetList = { name: 'propeller3SyncDeltaLever', category: OffsetCategory.ENGINE, description: 'propeller 3 sync delta lever', - type: Type.Int64, + type: Type.Double, permission: 'r', }), propeller3AutofeatherArmed: new Offset({ @@ -72,7 +72,7 @@ export const propeller3: OffsetList = { category: OffsetCategory.ENGINE, description: 'propeller 3 autofeather armed flag', convert: '!!{VAL}', - type: Type.Int32, + type: Type.UInt32, permission: 'rw', }), propeller3FeatherSwitch: new Offset({ @@ -81,7 +81,7 @@ export const propeller3: OffsetList = { category: OffsetCategory.ENGINE, description: 'propeller 3 feather switch', convert: '!!{VAL}', - type: Type.Int32, + type: Type.UInt32, permission: 'rw', }), propeller3PanelAutofeatherSwitch: new Offset({ @@ -90,7 +90,7 @@ export const propeller3: OffsetList = { category: OffsetCategory.ENGINE, description: 'propeller 3 panel autofeather switch', convert: '!!{VAL}', - type: Type.Int32, + type: Type.UInt32, permission: 'rw', }), propeller3Sync: new Offset({ @@ -99,7 +99,7 @@ export const propeller3: OffsetList = { category: OffsetCategory.ENGINE, description: 'propeller 3 sync active', convert: '!!{VAL}', - type: Type.Int32, + type: Type.UInt32, permission: 'rw', }), propeller3DeiceSwitch: new Offset({ @@ -108,7 +108,7 @@ export const propeller3: OffsetList = { category: OffsetCategory.ENGINE, description: 'propeller 3 de-ice active', convert: '!!{VAL}', - type: Type.Int32, + type: Type.UInt32, permission: 'rw', }), }; diff --git a/src/lib/offsets/plane/engines/propeller4.ts b/src/lib/offsets/plane/engines/propeller4.ts index 503b5b9..d1dcc6b 100644 --- a/src/lib/offsets/plane/engines/propeller4.ts +++ b/src/lib/offsets/plane/engines/propeller4.ts @@ -46,7 +46,7 @@ export const propeller4: OffsetList = { category: OffsetCategory.ENGINE, description: 'propeller 4 feathering inhibit', convert: '!!{VAL}', - type: Type.Int32, + type: Type.UInt32, permission: 'rw', }), propeller4Feathered: new Offset({ @@ -55,7 +55,7 @@ export const propeller4: OffsetList = { category: OffsetCategory.ENGINE, description: 'propeller 4 feathered', convert: '!!{VAL}', - type: Type.Int32, + type: Type.UInt32, permission: 'r', }), propeller4SyncDeltaLever: new Offset({ @@ -63,7 +63,7 @@ export const propeller4: OffsetList = { name: 'propeller4SyncDeltaLever', category: OffsetCategory.ENGINE, description: 'propeller 4 sync delta lever', - type: Type.Int64, + type: Type.Double, permission: 'r', }), propeller4AutofeatherArmed: new Offset({ @@ -72,7 +72,7 @@ export const propeller4: OffsetList = { category: OffsetCategory.ENGINE, description: 'propeller 4 autofeather armed flag', convert: '!!{VAL}', - type: Type.Int32, + type: Type.UInt32, permission: 'rw', }), propeller4FeatherSwitch: new Offset({ @@ -81,7 +81,7 @@ export const propeller4: OffsetList = { category: OffsetCategory.ENGINE, description: 'propeller 4 feather switch', convert: '!!{VAL}', - type: Type.Int32, + type: Type.UInt32, permission: 'rw', }), propeller4PanelAutofeatherSwitch: new Offset({ @@ -90,7 +90,7 @@ export const propeller4: OffsetList = { category: OffsetCategory.ENGINE, description: 'propeller 4 panel autofeather switch', convert: '!!{VAL}', - type: Type.Int32, + type: Type.UInt32, permission: 'rw', }), propeller4Sync: new Offset({ @@ -99,7 +99,7 @@ export const propeller4: OffsetList = { category: OffsetCategory.ENGINE, description: 'propeller 4 sync active', convert: '!!{VAL}', - type: Type.Int32, + type: Type.UInt32, permission: 'rw', }), propeller4DeiceSwitch: new Offset({ @@ -108,7 +108,7 @@ export const propeller4: OffsetList = { category: OffsetCategory.ENGINE, description: 'propeller 4 de-ice active', convert: '!!{VAL}', - type: Type.Int32, + type: Type.UInt32, permission: 'rw', }), }; diff --git a/src/lib/offsets/plane/fuel.ts b/src/lib/offsets/plane/fuel.ts index 62b4c26..4619dba 100644 --- a/src/lib/offsets/plane/fuel.ts +++ b/src/lib/offsets/plane/fuel.ts @@ -148,7 +148,7 @@ export const fuel: OffsetList = { name: 'totalFuelCapacity', category: OffsetCategory.FUEL, description: 'total fuel capacity - US gallons', - type: Type.Int32, + type: Type.UInt32, permission: 'r', }), fuelCenter2TankLevel: new Offset({ @@ -158,7 +158,7 @@ export const fuel: OffsetList = { description: 'center 2 tank level - percent', convert: 'Math.round({VAL} / (128 * 65536) * 100)', type: Type.Int32, - permission: 'r', + permission: 'rw', }), fuelCenter2TankCapacity: new Offset({ value: 0x1248, @@ -175,7 +175,7 @@ export const fuel: OffsetList = { description: 'center 3 tank level - percent', convert: 'Math.round({VAL} / (128 * 65536) * 100)', type: Type.Int32, - permission: 'r', + permission: 'rw', }), fuelCenter3TankCapacity: new Offset({ value: 0x1250, @@ -192,7 +192,7 @@ export const fuel: OffsetList = { description: 'external 1 tank level - percent', convert: 'Math.round({VAL} / (128 * 65536) * 100)', type: Type.Int32, - permission: 'r', + permission: 'rw', }), fuelExternal1TankCapacity: new Offset({ value: 0x1258, @@ -209,7 +209,7 @@ export const fuel: OffsetList = { description: 'external 2 tank level - percent', convert: 'Math.round({VAL} / (128 * 65536) * 100)', type: Type.Int32, - permission: 'r', + permission: 'rw', }), fuelExternal2TankCapacity: new Offset({ value: 0x1260, diff --git a/src/lib/offsets/position-attitude/position-attitude.ts b/src/lib/offsets/position-attitude/position-attitude.ts index 4439583..1b7703c 100644 --- a/src/lib/offsets/position-attitude/position-attitude.ts +++ b/src/lib/offsets/position-attitude/position-attitude.ts @@ -252,7 +252,7 @@ export const positionAttitude: OffsetList = { category: OffsetCategory.POSITION_ATTITUDE, description: 'mach speed', convert: '{VAL} / 20480', - type: Type.Int16, + type: Type.UInt16, permission: 'r', }), }; diff --git a/src/lib/offsets/simulation/simulation.ts b/src/lib/offsets/simulation/simulation.ts index c5e3553..bf2599e 100644 --- a/src/lib/offsets/simulation/simulation.ts +++ b/src/lib/offsets/simulation/simulation.ts @@ -539,7 +539,7 @@ export const simulation: OffsetList = { name: 'textDisplayMode', category: OffsetCategory.SIMULATION, description: 'text display mode (eg: ATIS) - 0=static 1=scroll', - type: Type.Int16, - permission: 'r', + type: Type.UInt16, + permission: 'rw', }), }; diff --git a/tests/offsets/__snapshots__/offset.spec.ts.snap b/tests/offsets/__snapshots__/offset.spec.ts.snap index 43fa620..540c579 100644 --- a/tests/offsets/__snapshots__/offset.spec.ts.snap +++ b/tests/offsets/__snapshots__/offset.spec.ts.snap @@ -1484,7 +1484,7 @@ Object { "mapping": undefined, "name": "engine1TurbineAfterburnerActive", "permission": "r", - "type": 3, + "type": 6, "value": 8264, }, "engine1TurbineAvailableTankCount": Offset { @@ -1495,7 +1495,7 @@ Object { "mapping": undefined, "name": "engine1TurbineAvailableTankCount", "permission": "r", - "type": 3, + "type": 6, "value": 8284, }, "engine1TurbineBleedPressure": Offset { @@ -1583,7 +1583,7 @@ Object { "mapping": undefined, "name": "engine1TurbineIgnition", "permission": "rw", - "type": 3, + "type": 6, "value": 8332, }, "engine1TurbineIsFuelAvailable": Offset { @@ -1594,7 +1594,7 @@ Object { "mapping": undefined, "name": "engine1TurbineIsFuelAvailable", "permission": "r", - "type": 3, + "type": 6, "value": 8296, }, "engine1TurbineJetThrust": Offset { @@ -1649,7 +1649,7 @@ Object { "mapping": true, "name": "engine1TurbineTankSelector", "permission": "r", - "type": 3, + "type": 6, "value": 8276, }, "engine1TurbineTorque": Offset { @@ -1682,7 +1682,7 @@ Object { "mapping": undefined, "name": "engine1TurbineVibration", "permission": "r", - "type": 4, + "type": 8, "value": 8324, }, "engine1Vibration": Offset { @@ -2012,7 +2012,7 @@ Object { "mapping": undefined, "name": "engine2TurbineAfterburnerActive", "permission": "r", - "type": 3, + "type": 6, "value": 8520, }, "engine2TurbineAvailableTankCount": Offset { @@ -2023,7 +2023,7 @@ Object { "mapping": undefined, "name": "engine2TurbineAvailableTankCount", "permission": "r", - "type": 3, + "type": 6, "value": 8540, }, "engine2TurbineBleedPressure": Offset { @@ -2111,7 +2111,7 @@ Object { "mapping": undefined, "name": "engine2TurbineIgnition", "permission": "rw", - "type": 3, + "type": 6, "value": 8588, }, "engine2TurbineIsFuelAvailable": Offset { @@ -2122,7 +2122,7 @@ Object { "mapping": undefined, "name": "engine2TurbineIsFuelAvailable", "permission": "r", - "type": 3, + "type": 6, "value": 8552, }, "engine2TurbineJetThrust": Offset { @@ -2210,7 +2210,7 @@ Object { "mapping": undefined, "name": "engine2TurbineVibration", "permission": "r", - "type": 4, + "type": 8, "value": 8580, }, "engine2Vibration": Offset { @@ -2540,7 +2540,7 @@ Object { "mapping": undefined, "name": "engine3TurbineAfterburnerActive", "permission": "r", - "type": 3, + "type": 6, "value": 8776, }, "engine3TurbineAvailableTankCount": Offset { @@ -2551,7 +2551,7 @@ Object { "mapping": undefined, "name": "engine3TurbineAvailableTankCount", "permission": "r", - "type": 3, + "type": 6, "value": 8796, }, "engine3TurbineBleedPressure": Offset { @@ -2639,7 +2639,7 @@ Object { "mapping": undefined, "name": "engine3TurbineIgnition", "permission": "rw", - "type": 3, + "type": 6, "value": 8844, }, "engine3TurbineIsFuelAvailable": Offset { @@ -2650,7 +2650,7 @@ Object { "mapping": undefined, "name": "engine3TurbineIsFuelAvailable", "permission": "r", - "type": 3, + "type": 6, "value": 8808, }, "engine3TurbineJetThrust": Offset { @@ -2705,7 +2705,7 @@ Object { "mapping": true, "name": "engine3TurbineTankSelector", "permission": "r", - "type": 3, + "type": 6, "value": 8788, }, "engine3TurbineTorque": Offset { @@ -2738,7 +2738,7 @@ Object { "mapping": undefined, "name": "engine3TurbineVibration", "permission": "r", - "type": 4, + "type": 8, "value": 8836, }, "engine3Vibration": Offset { @@ -3068,7 +3068,7 @@ Object { "mapping": undefined, "name": "engine4TurbineAfterburnerActive", "permission": "r", - "type": 3, + "type": 6, "value": 9032, }, "engine4TurbineAvailableTankCount": Offset { @@ -3079,7 +3079,7 @@ Object { "mapping": undefined, "name": "engine4TurbineAvailableTankCount", "permission": "r", - "type": 3, + "type": 6, "value": 9052, }, "engine4TurbineBleedPressure": Offset { @@ -3167,7 +3167,7 @@ Object { "mapping": undefined, "name": "engine4TurbineIgnition", "permission": "rw", - "type": 3, + "type": 6, "value": 9100, }, "engine4TurbineIsFuelAvailable": Offset { @@ -3178,7 +3178,7 @@ Object { "mapping": undefined, "name": "engine4TurbineIsFuelAvailable", "permission": "r", - "type": 3, + "type": 6, "value": 9064, }, "engine4TurbineJetThrust": Offset { @@ -3233,7 +3233,7 @@ Object { "mapping": true, "name": "engine4TurbineTankSelector", "permission": "r", - "type": 3, + "type": 6, "value": 9044, }, "engine4TurbineTorque": Offset { @@ -3266,7 +3266,7 @@ Object { "mapping": undefined, "name": "engine4TurbineVibration", "permission": "r", - "type": 4, + "type": 8, "value": 9092, }, "engine4Vibration": Offset { @@ -3496,7 +3496,7 @@ Object { "length": undefined, "mapping": undefined, "name": "fuelCenter2TankLevel", - "permission": "r", + "permission": "rw", "type": 3, "value": 4676, }, @@ -3518,7 +3518,7 @@ Object { "length": undefined, "mapping": undefined, "name": "fuelCenter3TankLevel", - "permission": "r", + "permission": "rw", "type": 3, "value": 4684, }, @@ -3562,7 +3562,7 @@ Object { "length": undefined, "mapping": undefined, "name": "fuelExternal1TankLevel", - "permission": "r", + "permission": "rw", "type": 3, "value": 4692, }, @@ -3584,7 +3584,7 @@ Object { "length": undefined, "mapping": undefined, "name": "fuelExternal2TankLevel", - "permission": "r", + "permission": "rw", "type": 3, "value": 4700, }, @@ -4608,7 +4608,7 @@ Object { "mapping": undefined, "name": "machSpeed", "permission": "r", - "type": 2, + "type": 5, "value": 4550, }, "macroOrLuaParameters": Offset { @@ -5290,7 +5290,7 @@ Object { "mapping": undefined, "name": "propeller1AutofeatherArmed", "permission": "rw", - "type": 3, + "type": 6, "value": 9264, }, "propeller1BetaBladeAngle": Offset { @@ -5312,7 +5312,7 @@ Object { "mapping": undefined, "name": "propeller1DeiceSwitch", "permission": "rw", - "type": 3, + "type": 6, "value": 9280, }, "propeller1FeatherSwitch": Offset { @@ -5323,7 +5323,7 @@ Object { "mapping": undefined, "name": "propeller1FeatherSwitch", "permission": "rw", - "type": 3, + "type": 6, "value": 9268, }, "propeller1Feathered": Offset { @@ -5334,7 +5334,7 @@ Object { "mapping": undefined, "name": "propeller1Feathered", "permission": "r", - "type": 3, + "type": 6, "value": 9252, }, "propeller1FeatheringInhibit": Offset { @@ -5345,7 +5345,7 @@ Object { "mapping": undefined, "name": "propeller1FeatheringInhibit", "permission": "rw", - "type": 3, + "type": 6, "value": 9248, }, "propeller1PanelAutofeatherSwitch": Offset { @@ -5356,7 +5356,7 @@ Object { "mapping": undefined, "name": "propeller1PanelAutofeatherSwitch", "permission": "rw", - "type": 3, + "type": 6, "value": 9272, }, "propeller1RPM": Offset { @@ -5389,7 +5389,7 @@ Object { "mapping": undefined, "name": "propeller1Sync", "permission": "rw", - "type": 3, + "type": 6, "value": 9276, }, "propeller1SyncDeltaLever": Offset { @@ -5400,7 +5400,7 @@ Object { "mapping": undefined, "name": "propeller1SyncDeltaLever", "permission": "r", - "type": 4, + "type": 8, "value": 9256, }, "propeller1Thrust": Offset { @@ -6367,8 +6367,8 @@ Object { "length": undefined, "mapping": undefined, "name": "textDisplayMode", - "permission": "r", - "type": 2, + "permission": "rw", + "type": 5, "value": 4724, }, "textureQuality": Offset { @@ -6445,7 +6445,7 @@ Object { "mapping": undefined, "name": "totalFuelCapacity", "permission": "r", - "type": 3, + "type": 6, "value": 4672, }, "towerAltitude": Offset { diff --git a/tests/offsets/plane/__snapshots__/engines.spec.ts.snap b/tests/offsets/plane/__snapshots__/engines.spec.ts.snap index 2b34395..25f078e 100644 --- a/tests/offsets/plane/__snapshots__/engines.spec.ts.snap +++ b/tests/offsets/plane/__snapshots__/engines.spec.ts.snap @@ -329,7 +329,7 @@ Object { "mapping": undefined, "name": "engine1TurbineAfterburnerActive", "permission": "r", - "type": 3, + "type": 6, "value": 8264, }, "engine1TurbineAvailableTankCount": Offset { @@ -340,7 +340,7 @@ Object { "mapping": undefined, "name": "engine1TurbineAvailableTankCount", "permission": "r", - "type": 3, + "type": 6, "value": 8284, }, "engine1TurbineBleedPressure": Offset { @@ -428,7 +428,7 @@ Object { "mapping": undefined, "name": "engine1TurbineIgnition", "permission": "rw", - "type": 3, + "type": 6, "value": 8332, }, "engine1TurbineIsFuelAvailable": Offset { @@ -439,7 +439,7 @@ Object { "mapping": undefined, "name": "engine1TurbineIsFuelAvailable", "permission": "r", - "type": 3, + "type": 6, "value": 8296, }, "engine1TurbineJetThrust": Offset { @@ -494,7 +494,7 @@ Object { "mapping": true, "name": "engine1TurbineTankSelector", "permission": "r", - "type": 3, + "type": 6, "value": 8276, }, "engine1TurbineTorque": Offset { @@ -527,7 +527,7 @@ Object { "mapping": undefined, "name": "engine1TurbineVibration", "permission": "r", - "type": 4, + "type": 8, "value": 8324, }, "engine1Vibration": Offset { @@ -857,7 +857,7 @@ Object { "mapping": undefined, "name": "engine2TurbineAfterburnerActive", "permission": "r", - "type": 3, + "type": 6, "value": 8520, }, "engine2TurbineAvailableTankCount": Offset { @@ -868,7 +868,7 @@ Object { "mapping": undefined, "name": "engine2TurbineAvailableTankCount", "permission": "r", - "type": 3, + "type": 6, "value": 8540, }, "engine2TurbineBleedPressure": Offset { @@ -956,7 +956,7 @@ Object { "mapping": undefined, "name": "engine2TurbineIgnition", "permission": "rw", - "type": 3, + "type": 6, "value": 8588, }, "engine2TurbineIsFuelAvailable": Offset { @@ -967,7 +967,7 @@ Object { "mapping": undefined, "name": "engine2TurbineIsFuelAvailable", "permission": "r", - "type": 3, + "type": 6, "value": 8552, }, "engine2TurbineJetThrust": Offset { @@ -1055,7 +1055,7 @@ Object { "mapping": undefined, "name": "engine2TurbineVibration", "permission": "r", - "type": 4, + "type": 8, "value": 8580, }, "engine2Vibration": Offset { @@ -1385,7 +1385,7 @@ Object { "mapping": undefined, "name": "engine3TurbineAfterburnerActive", "permission": "r", - "type": 3, + "type": 6, "value": 8776, }, "engine3TurbineAvailableTankCount": Offset { @@ -1396,7 +1396,7 @@ Object { "mapping": undefined, "name": "engine3TurbineAvailableTankCount", "permission": "r", - "type": 3, + "type": 6, "value": 8796, }, "engine3TurbineBleedPressure": Offset { @@ -1484,7 +1484,7 @@ Object { "mapping": undefined, "name": "engine3TurbineIgnition", "permission": "rw", - "type": 3, + "type": 6, "value": 8844, }, "engine3TurbineIsFuelAvailable": Offset { @@ -1495,7 +1495,7 @@ Object { "mapping": undefined, "name": "engine3TurbineIsFuelAvailable", "permission": "r", - "type": 3, + "type": 6, "value": 8808, }, "engine3TurbineJetThrust": Offset { @@ -1550,7 +1550,7 @@ Object { "mapping": true, "name": "engine3TurbineTankSelector", "permission": "r", - "type": 3, + "type": 6, "value": 8788, }, "engine3TurbineTorque": Offset { @@ -1583,7 +1583,7 @@ Object { "mapping": undefined, "name": "engine3TurbineVibration", "permission": "r", - "type": 4, + "type": 8, "value": 8836, }, "engine3Vibration": Offset { @@ -1913,7 +1913,7 @@ Object { "mapping": undefined, "name": "engine4TurbineAfterburnerActive", "permission": "r", - "type": 3, + "type": 6, "value": 9032, }, "engine4TurbineAvailableTankCount": Offset { @@ -1924,7 +1924,7 @@ Object { "mapping": undefined, "name": "engine4TurbineAvailableTankCount", "permission": "r", - "type": 3, + "type": 6, "value": 9052, }, "engine4TurbineBleedPressure": Offset { @@ -2012,7 +2012,7 @@ Object { "mapping": undefined, "name": "engine4TurbineIgnition", "permission": "rw", - "type": 3, + "type": 6, "value": 9100, }, "engine4TurbineIsFuelAvailable": Offset { @@ -2023,7 +2023,7 @@ Object { "mapping": undefined, "name": "engine4TurbineIsFuelAvailable", "permission": "r", - "type": 3, + "type": 6, "value": 9064, }, "engine4TurbineJetThrust": Offset { @@ -2078,7 +2078,7 @@ Object { "mapping": true, "name": "engine4TurbineTankSelector", "permission": "r", - "type": 3, + "type": 6, "value": 9044, }, "engine4TurbineTorque": Offset { @@ -2111,7 +2111,7 @@ Object { "mapping": undefined, "name": "engine4TurbineVibration", "permission": "r", - "type": 4, + "type": 8, "value": 9092, }, "engine4Vibration": Offset { @@ -2177,7 +2177,7 @@ Object { "mapping": undefined, "name": "propeller1AutofeatherArmed", "permission": "rw", - "type": 3, + "type": 6, "value": 9264, }, "propeller1BetaBladeAngle": Offset { @@ -2199,7 +2199,7 @@ Object { "mapping": undefined, "name": "propeller1DeiceSwitch", "permission": "rw", - "type": 3, + "type": 6, "value": 9280, }, "propeller1FeatherSwitch": Offset { @@ -2210,7 +2210,7 @@ Object { "mapping": undefined, "name": "propeller1FeatherSwitch", "permission": "rw", - "type": 3, + "type": 6, "value": 9268, }, "propeller1Feathered": Offset { @@ -2221,7 +2221,7 @@ Object { "mapping": undefined, "name": "propeller1Feathered", "permission": "r", - "type": 3, + "type": 6, "value": 9252, }, "propeller1FeatheringInhibit": Offset { @@ -2232,7 +2232,7 @@ Object { "mapping": undefined, "name": "propeller1FeatheringInhibit", "permission": "rw", - "type": 3, + "type": 6, "value": 9248, }, "propeller1PanelAutofeatherSwitch": Offset { @@ -2243,7 +2243,7 @@ Object { "mapping": undefined, "name": "propeller1PanelAutofeatherSwitch", "permission": "rw", - "type": 3, + "type": 6, "value": 9272, }, "propeller1RPM": Offset { @@ -2276,7 +2276,7 @@ Object { "mapping": undefined, "name": "propeller1Sync", "permission": "rw", - "type": 3, + "type": 6, "value": 9276, }, "propeller1SyncDeltaLever": Offset { @@ -2287,7 +2287,7 @@ Object { "mapping": undefined, "name": "propeller1SyncDeltaLever", "permission": "r", - "type": 4, + "type": 8, "value": 9256, }, "propeller1Thrust": Offset { diff --git a/tests/offsets/plane/__snapshots__/fuel.spec.ts.snap b/tests/offsets/plane/__snapshots__/fuel.spec.ts.snap index 3345901..7aa2212 100644 --- a/tests/offsets/plane/__snapshots__/fuel.spec.ts.snap +++ b/tests/offsets/plane/__snapshots__/fuel.spec.ts.snap @@ -20,7 +20,7 @@ Object { "length": undefined, "mapping": undefined, "name": "fuelCenter2TankLevel", - "permission": "r", + "permission": "rw", "type": 3, "value": 4676, }, @@ -42,7 +42,7 @@ Object { "length": undefined, "mapping": undefined, "name": "fuelCenter3TankLevel", - "permission": "r", + "permission": "rw", "type": 3, "value": 4684, }, @@ -86,7 +86,7 @@ Object { "length": undefined, "mapping": undefined, "name": "fuelExternal1TankLevel", - "permission": "r", + "permission": "rw", "type": 3, "value": 4692, }, @@ -108,7 +108,7 @@ Object { "length": undefined, "mapping": undefined, "name": "fuelExternal2TankLevel", - "permission": "r", + "permission": "rw", "type": 3, "value": 4700, }, @@ -307,7 +307,7 @@ Object { "mapping": undefined, "name": "totalFuelCapacity", "permission": "r", - "type": 3, + "type": 6, "value": 4672, }, } diff --git a/tests/offsets/plane/engines/__snapshots__/engine1.spec.ts.snap b/tests/offsets/plane/engines/__snapshots__/engine1.spec.ts.snap index 2b20eab..0c17e72 100644 --- a/tests/offsets/plane/engines/__snapshots__/engine1.spec.ts.snap +++ b/tests/offsets/plane/engines/__snapshots__/engine1.spec.ts.snap @@ -318,7 +318,7 @@ Object { "mapping": undefined, "name": "engine1TurbineAfterburnerActive", "permission": "r", - "type": 3, + "type": 6, "value": 8264, }, "engine1TurbineAvailableTankCount": Offset { @@ -329,7 +329,7 @@ Object { "mapping": undefined, "name": "engine1TurbineAvailableTankCount", "permission": "r", - "type": 3, + "type": 6, "value": 8284, }, "engine1TurbineBleedPressure": Offset { @@ -417,7 +417,7 @@ Object { "mapping": undefined, "name": "engine1TurbineIgnition", "permission": "rw", - "type": 3, + "type": 6, "value": 8332, }, "engine1TurbineIsFuelAvailable": Offset { @@ -428,7 +428,7 @@ Object { "mapping": undefined, "name": "engine1TurbineIsFuelAvailable", "permission": "r", - "type": 3, + "type": 6, "value": 8296, }, "engine1TurbineJetThrust": Offset { @@ -483,7 +483,7 @@ Object { "mapping": true, "name": "engine1TurbineTankSelector", "permission": "r", - "type": 3, + "type": 6, "value": 8276, }, "engine1TurbineTorque": Offset { @@ -516,7 +516,7 @@ Object { "mapping": undefined, "name": "engine1TurbineVibration", "permission": "r", - "type": 4, + "type": 8, "value": 8324, }, "engine1Vibration": Offset { diff --git a/tests/offsets/plane/engines/__snapshots__/engine2.spec.ts.snap b/tests/offsets/plane/engines/__snapshots__/engine2.spec.ts.snap index be2c785..e65c82a 100644 --- a/tests/offsets/plane/engines/__snapshots__/engine2.spec.ts.snap +++ b/tests/offsets/plane/engines/__snapshots__/engine2.spec.ts.snap @@ -318,7 +318,7 @@ Object { "mapping": undefined, "name": "engine2TurbineAfterburnerActive", "permission": "r", - "type": 3, + "type": 6, "value": 8520, }, "engine2TurbineAvailableTankCount": Offset { @@ -329,7 +329,7 @@ Object { "mapping": undefined, "name": "engine2TurbineAvailableTankCount", "permission": "r", - "type": 3, + "type": 6, "value": 8540, }, "engine2TurbineBleedPressure": Offset { @@ -417,7 +417,7 @@ Object { "mapping": undefined, "name": "engine2TurbineIgnition", "permission": "rw", - "type": 3, + "type": 6, "value": 8588, }, "engine2TurbineIsFuelAvailable": Offset { @@ -428,7 +428,7 @@ Object { "mapping": undefined, "name": "engine2TurbineIsFuelAvailable", "permission": "r", - "type": 3, + "type": 6, "value": 8552, }, "engine2TurbineJetThrust": Offset { @@ -516,7 +516,7 @@ Object { "mapping": undefined, "name": "engine2TurbineVibration", "permission": "r", - "type": 4, + "type": 8, "value": 8580, }, "engine2Vibration": Offset { diff --git a/tests/offsets/plane/engines/__snapshots__/engine3.spec.ts.snap b/tests/offsets/plane/engines/__snapshots__/engine3.spec.ts.snap index ee25fe5..323388a 100644 --- a/tests/offsets/plane/engines/__snapshots__/engine3.spec.ts.snap +++ b/tests/offsets/plane/engines/__snapshots__/engine3.spec.ts.snap @@ -318,7 +318,7 @@ Object { "mapping": undefined, "name": "engine3TurbineAfterburnerActive", "permission": "r", - "type": 3, + "type": 6, "value": 8776, }, "engine3TurbineAvailableTankCount": Offset { @@ -329,7 +329,7 @@ Object { "mapping": undefined, "name": "engine3TurbineAvailableTankCount", "permission": "r", - "type": 3, + "type": 6, "value": 8796, }, "engine3TurbineBleedPressure": Offset { @@ -417,7 +417,7 @@ Object { "mapping": undefined, "name": "engine3TurbineIgnition", "permission": "rw", - "type": 3, + "type": 6, "value": 8844, }, "engine3TurbineIsFuelAvailable": Offset { @@ -428,7 +428,7 @@ Object { "mapping": undefined, "name": "engine3TurbineIsFuelAvailable", "permission": "r", - "type": 3, + "type": 6, "value": 8808, }, "engine3TurbineJetThrust": Offset { @@ -483,7 +483,7 @@ Object { "mapping": true, "name": "engine3TurbineTankSelector", "permission": "r", - "type": 3, + "type": 6, "value": 8788, }, "engine3TurbineTorque": Offset { @@ -516,7 +516,7 @@ Object { "mapping": undefined, "name": "engine3TurbineVibration", "permission": "r", - "type": 4, + "type": 8, "value": 8836, }, "engine3Vibration": Offset { diff --git a/tests/offsets/plane/engines/__snapshots__/engine4.spec.ts.snap b/tests/offsets/plane/engines/__snapshots__/engine4.spec.ts.snap index b27906d..e038696 100644 --- a/tests/offsets/plane/engines/__snapshots__/engine4.spec.ts.snap +++ b/tests/offsets/plane/engines/__snapshots__/engine4.spec.ts.snap @@ -318,7 +318,7 @@ Object { "mapping": undefined, "name": "engine4TurbineAfterburnerActive", "permission": "r", - "type": 3, + "type": 6, "value": 9032, }, "engine4TurbineAvailableTankCount": Offset { @@ -329,7 +329,7 @@ Object { "mapping": undefined, "name": "engine4TurbineAvailableTankCount", "permission": "r", - "type": 3, + "type": 6, "value": 9052, }, "engine4TurbineBleedPressure": Offset { @@ -417,7 +417,7 @@ Object { "mapping": undefined, "name": "engine4TurbineIgnition", "permission": "rw", - "type": 3, + "type": 6, "value": 9100, }, "engine4TurbineIsFuelAvailable": Offset { @@ -428,7 +428,7 @@ Object { "mapping": undefined, "name": "engine4TurbineIsFuelAvailable", "permission": "r", - "type": 3, + "type": 6, "value": 9064, }, "engine4TurbineJetThrust": Offset { @@ -483,7 +483,7 @@ Object { "mapping": true, "name": "engine4TurbineTankSelector", "permission": "r", - "type": 3, + "type": 6, "value": 9044, }, "engine4TurbineTorque": Offset { @@ -516,7 +516,7 @@ Object { "mapping": undefined, "name": "engine4TurbineVibration", "permission": "r", - "type": 4, + "type": 8, "value": 9092, }, "engine4Vibration": Offset { diff --git a/tests/offsets/plane/engines/__snapshots__/propeller1.spec.ts.snap b/tests/offsets/plane/engines/__snapshots__/propeller1.spec.ts.snap index 82b95d8..d5ef82c 100644 --- a/tests/offsets/plane/engines/__snapshots__/propeller1.spec.ts.snap +++ b/tests/offsets/plane/engines/__snapshots__/propeller1.spec.ts.snap @@ -10,7 +10,7 @@ Object { "mapping": undefined, "name": "propeller1AutofeatherArmed", "permission": "rw", - "type": 3, + "type": 6, "value": 9264, }, "propeller1BetaBladeAngle": Offset { @@ -32,7 +32,7 @@ Object { "mapping": undefined, "name": "propeller1DeiceSwitch", "permission": "rw", - "type": 3, + "type": 6, "value": 9280, }, "propeller1FeatherSwitch": Offset { @@ -43,7 +43,7 @@ Object { "mapping": undefined, "name": "propeller1FeatherSwitch", "permission": "rw", - "type": 3, + "type": 6, "value": 9268, }, "propeller1Feathered": Offset { @@ -54,7 +54,7 @@ Object { "mapping": undefined, "name": "propeller1Feathered", "permission": "r", - "type": 3, + "type": 6, "value": 9252, }, "propeller1FeatheringInhibit": Offset { @@ -65,7 +65,7 @@ Object { "mapping": undefined, "name": "propeller1FeatheringInhibit", "permission": "rw", - "type": 3, + "type": 6, "value": 9248, }, "propeller1PanelAutofeatherSwitch": Offset { @@ -76,7 +76,7 @@ Object { "mapping": undefined, "name": "propeller1PanelAutofeatherSwitch", "permission": "rw", - "type": 3, + "type": 6, "value": 9272, }, "propeller1RPM": Offset { @@ -109,7 +109,7 @@ Object { "mapping": undefined, "name": "propeller1Sync", "permission": "rw", - "type": 3, + "type": 6, "value": 9276, }, "propeller1SyncDeltaLever": Offset { @@ -120,7 +120,7 @@ Object { "mapping": undefined, "name": "propeller1SyncDeltaLever", "permission": "r", - "type": 4, + "type": 8, "value": 9256, }, "propeller1Thrust": Offset { diff --git a/tests/offsets/plane/engines/__snapshots__/propeller2.spec.ts.snap b/tests/offsets/plane/engines/__snapshots__/propeller2.spec.ts.snap index af66b75..57c876c 100644 --- a/tests/offsets/plane/engines/__snapshots__/propeller2.spec.ts.snap +++ b/tests/offsets/plane/engines/__snapshots__/propeller2.spec.ts.snap @@ -10,7 +10,7 @@ Object { "mapping": undefined, "name": "propeller2AutofeatherArmed", "permission": "rw", - "type": 3, + "type": 6, "value": 9520, }, "propeller2BetaBladeAngle": Offset { @@ -32,7 +32,7 @@ Object { "mapping": undefined, "name": "propeller2DeiceSwitch", "permission": "rw", - "type": 3, + "type": 6, "value": 9536, }, "propeller2FeatherSwitch": Offset { @@ -43,7 +43,7 @@ Object { "mapping": undefined, "name": "propeller2FeatherSwitch", "permission": "rw", - "type": 3, + "type": 6, "value": 9524, }, "propeller2Feathered": Offset { @@ -54,7 +54,7 @@ Object { "mapping": undefined, "name": "propeller2Feathered", "permission": "r", - "type": 3, + "type": 6, "value": 9508, }, "propeller2FeatheringInhibit": Offset { @@ -65,7 +65,7 @@ Object { "mapping": undefined, "name": "propeller2FeatheringInhibit", "permission": "rw", - "type": 3, + "type": 6, "value": 9504, }, "propeller2PanelAutofeatherSwitch": Offset { @@ -76,7 +76,7 @@ Object { "mapping": undefined, "name": "propeller2PanelAutofeatherSwitch", "permission": "rw", - "type": 3, + "type": 6, "value": 9528, }, "propeller2RPM": Offset { @@ -109,7 +109,7 @@ Object { "mapping": undefined, "name": "propeller2Sync", "permission": "rw", - "type": 3, + "type": 6, "value": 9532, }, "propeller2SyncDeltaLever": Offset { @@ -120,7 +120,7 @@ Object { "mapping": undefined, "name": "propeller2SyncDeltaLever", "permission": "r", - "type": 4, + "type": 8, "value": 9512, }, "propeller2Thrust": Offset { diff --git a/tests/offsets/plane/engines/__snapshots__/propeller3.spec.ts.snap b/tests/offsets/plane/engines/__snapshots__/propeller3.spec.ts.snap index db343b9..e2ef356 100644 --- a/tests/offsets/plane/engines/__snapshots__/propeller3.spec.ts.snap +++ b/tests/offsets/plane/engines/__snapshots__/propeller3.spec.ts.snap @@ -10,7 +10,7 @@ Object { "mapping": undefined, "name": "propeller3AutofeatherArmed", "permission": "rw", - "type": 3, + "type": 6, "value": 9776, }, "propeller3BetaBladeAngle": Offset { @@ -32,7 +32,7 @@ Object { "mapping": undefined, "name": "propeller3DeiceSwitch", "permission": "rw", - "type": 3, + "type": 6, "value": 9792, }, "propeller3FeatherSwitch": Offset { @@ -43,7 +43,7 @@ Object { "mapping": undefined, "name": "propeller3FeatherSwitch", "permission": "rw", - "type": 3, + "type": 6, "value": 9780, }, "propeller3Feathered": Offset { @@ -54,7 +54,7 @@ Object { "mapping": undefined, "name": "propeller3Feathered", "permission": "r", - "type": 3, + "type": 6, "value": 9764, }, "propeller3FeatheringInhibit": Offset { @@ -65,7 +65,7 @@ Object { "mapping": undefined, "name": "propeller3FeatheringInhibit", "permission": "rw", - "type": 3, + "type": 6, "value": 9760, }, "propeller3PanelAutofeatherSwitch": Offset { @@ -76,7 +76,7 @@ Object { "mapping": undefined, "name": "propeller3PanelAutofeatherSwitch", "permission": "rw", - "type": 3, + "type": 6, "value": 9784, }, "propeller3RPM": Offset { @@ -109,7 +109,7 @@ Object { "mapping": undefined, "name": "propeller3Sync", "permission": "rw", - "type": 3, + "type": 6, "value": 9788, }, "propeller3SyncDeltaLever": Offset { @@ -120,7 +120,7 @@ Object { "mapping": undefined, "name": "propeller3SyncDeltaLever", "permission": "r", - "type": 4, + "type": 8, "value": 9768, }, "propeller3Thrust": Offset { diff --git a/tests/offsets/plane/engines/__snapshots__/propeller4.spec.ts.snap b/tests/offsets/plane/engines/__snapshots__/propeller4.spec.ts.snap index 49b3156..8ba2756 100644 --- a/tests/offsets/plane/engines/__snapshots__/propeller4.spec.ts.snap +++ b/tests/offsets/plane/engines/__snapshots__/propeller4.spec.ts.snap @@ -10,7 +10,7 @@ Object { "mapping": undefined, "name": "propeller4AutofeatherArmed", "permission": "rw", - "type": 3, + "type": 6, "value": 10032, }, "propeller4BetaBladeAngle": Offset { @@ -32,7 +32,7 @@ Object { "mapping": undefined, "name": "propeller4DeiceSwitch", "permission": "rw", - "type": 3, + "type": 6, "value": 10048, }, "propeller4FeatherSwitch": Offset { @@ -43,7 +43,7 @@ Object { "mapping": undefined, "name": "propeller4FeatherSwitch", "permission": "rw", - "type": 3, + "type": 6, "value": 10036, }, "propeller4Feathered": Offset { @@ -54,7 +54,7 @@ Object { "mapping": undefined, "name": "propeller4Feathered", "permission": "r", - "type": 3, + "type": 6, "value": 10020, }, "propeller4FeatheringInhibit": Offset { @@ -65,7 +65,7 @@ Object { "mapping": undefined, "name": "propeller4FeatheringInhibit", "permission": "rw", - "type": 3, + "type": 6, "value": 10016, }, "propeller4PanelAutofeatherSwitch": Offset { @@ -76,7 +76,7 @@ Object { "mapping": undefined, "name": "propeller4PanelAutofeatherSwitch", "permission": "rw", - "type": 3, + "type": 6, "value": 10040, }, "propeller4RPM": Offset { @@ -109,7 +109,7 @@ Object { "mapping": undefined, "name": "propeller4Sync", "permission": "rw", - "type": 3, + "type": 6, "value": 10044, }, "propeller4SyncDeltaLever": Offset { @@ -120,7 +120,7 @@ Object { "mapping": undefined, "name": "propeller4SyncDeltaLever", "permission": "r", - "type": 4, + "type": 8, "value": 10024, }, "propeller4Thrust": Offset { diff --git a/tests/offsets/position-attitude/__snapshots__/position-attitude.spec.ts.snap b/tests/offsets/position-attitude/__snapshots__/position-attitude.spec.ts.snap index 9120646..3203702 100644 --- a/tests/offsets/position-attitude/__snapshots__/position-attitude.spec.ts.snap +++ b/tests/offsets/position-attitude/__snapshots__/position-attitude.spec.ts.snap @@ -153,7 +153,7 @@ Object { "mapping": undefined, "name": "machSpeed", "permission": "r", - "type": 2, + "type": 5, "value": 4550, }, "magVar": Offset { diff --git a/tests/offsets/simulation/__snapshots__/simulation.spec.ts.snap b/tests/offsets/simulation/__snapshots__/simulation.spec.ts.snap index b3df306..5602744 100644 --- a/tests/offsets/simulation/__snapshots__/simulation.spec.ts.snap +++ b/tests/offsets/simulation/__snapshots__/simulation.spec.ts.snap @@ -614,8 +614,8 @@ Object { "length": undefined, "mapping": undefined, "name": "textDisplayMode", - "permission": "r", - "type": 2, + "permission": "rw", + "type": 5, "value": 4724, }, "textureQuality": Offset { From 2145441ac9725aa4ef122d7d32156709697485d0 Mon Sep 17 00:00:00 2001 From: blackholegalaxy Date: Mon, 3 Feb 2020 19:37:10 -0500 Subject: [PATCH 16/20] add electric offsets --- src/lib/offsets/index.ts | 3 + src/lib/offsets/plane/electric.ts | 169 +++++++++++++ src/shared/offset-category.ts | 1 + .../offsets/__snapshots__/offset.spec.ts.snap | 220 +++++++++++++++++ .../plane/__snapshots__/electric.spec.ts.snap | 226 ++++++++++++++++++ tests/offsets/plane/electric.spec.ts | 26 ++ 6 files changed, 645 insertions(+) create mode 100644 src/lib/offsets/plane/electric.ts create mode 100644 tests/offsets/plane/__snapshots__/electric.spec.ts.snap create mode 100644 tests/offsets/plane/electric.spec.ts diff --git a/src/lib/offsets/index.ts b/src/lib/offsets/index.ts index 1a7d330..c7d786a 100644 --- a/src/lib/offsets/index.ts +++ b/src/lib/offsets/index.ts @@ -17,6 +17,7 @@ import { icing } from './plane/icing'; import { engines } from './plane/engines'; import { autopilot } from './plane/autopilot'; import { failure } from './failure/failure'; +import { electric } from './plane/electric'; export const OFFSETS: OffsetList = { // Position and Attitude @@ -47,6 +48,7 @@ export const OFFSETS: OffsetList = { ...icing, ...engines, ...autopilot, + ...electric, }; export * from './airport/runway'; @@ -65,3 +67,4 @@ export * from './plane/icing'; export * from './plane/engines'; export * from './plane/autopilot'; export * from './simulation/simulation'; +export * from './plane/electric'; diff --git a/src/lib/offsets/plane/electric.ts b/src/lib/offsets/plane/electric.ts new file mode 100644 index 0000000..8ce0e25 --- /dev/null +++ b/src/lib/offsets/plane/electric.ts @@ -0,0 +1,169 @@ +import { Type } from 'fsuipc'; + +import { OffsetCategory } from '@shared/offset-category'; +import { OffsetList } from '@shared/offset-list'; +import { Offset } from '@shared/offset'; + +export const electric: OffsetList = { + masterBatterySwitch: new Offset({ + value: 0x281C, + name: 'masterBatterySwitch', + category: OffsetCategory.ELECTRIC, + description: 'battery master switch', + convert: '!!{VAL}', + type: Type.UInt32, + permission: 'rw', + }), + totalLoadAmp: new Offset({ + value: 0x2824, + name: 'totalLoadAmp', + category: OffsetCategory.ELECTRIC, + description: 'total load amps', + type: Type.Double, + permission: 'r', + }), + batteryLoad: new Offset({ + value: 0x282C, + name: 'batteryLoad', + category: OffsetCategory.ELECTRIC, + description: 'battery load', + type: Type.Double, + permission: 'r', + }), + batteryVoltage: new Offset({ + value: 0x2834, + name: 'batteryVoltage', + category: OffsetCategory.ELECTRIC, + description: 'battery voltage', + type: Type.Double, + permission: 'r', + }), + mainBusVoltage: new Offset({ + value: 0x2840, + name: 'mainBusVoltage', + category: OffsetCategory.ELECTRIC, + description: 'main bus voltage', + type: Type.Double, + permission: 'r', + }), + mainBusAmps: new Offset({ + value: 0x2848, + name: 'mainBusAmps', + category: OffsetCategory.ELECTRIC, + description: 'main bus amps', + type: Type.Double, + permission: 'r', + }), + avionicsBusVoltage: new Offset({ + value: 0x2850, + name: 'avionicsBusVoltage', + category: OffsetCategory.ELECTRIC, + description: 'avionics bus voltage', + type: Type.Double, + permission: 'r', + }), + avionicsBusAmps: new Offset({ + value: 0x2858, + name: 'avionicsBusAmps', + category: OffsetCategory.ELECTRIC, + description: 'avionics bus amps', + type: Type.Double, + permission: 'r', + }), + hotBatteryBusVoltage: new Offset({ + value: 0x2860, + name: 'hotBatteryBusVoltage', + category: OffsetCategory.ELECTRIC, + description: 'hot battery bus voltage', + type: Type.Double, + permission: 'r', + }), + hotBatteryBusAmps: new Offset({ + value: 0x2868, + name: 'hotBatteryBusAmps', + category: OffsetCategory.ELECTRIC, + description: 'hot battery bus amps', + type: Type.Double, + permission: 'r', + }), + batteryBusVoltage: new Offset({ + value: 0x2870, + name: 'batteryBusVoltage', + category: OffsetCategory.ELECTRIC, + description: 'battery bus voltage', + type: Type.Double, + permission: 'r', + }), + batteryBusAmps: new Offset({ + value: 0x2878, + name: 'batteryBusAmps', + category: OffsetCategory.ELECTRIC, + description: 'battery bus amps', + type: Type.Double, + permission: 'r', + }), + generatorAlternator1BusVoltage: new Offset({ + value: 0x2880, + name: 'generatorAlternator1BusVoltage', + category: OffsetCategory.ELECTRIC, + description: 'generator alternator 1 bus voltage', + type: Type.Double, + permission: 'r', + }), + generatorAlternator1BusAmps: new Offset({ + value: 0x2888, + name: 'generatorAlternator1BusAmps', + category: OffsetCategory.ELECTRIC, + description: 'generator alternator 1 bus amps', + type: Type.Double, + permission: 'r', + }), + generatorAlternator2BusVoltage: new Offset({ + value: 0x2890, + name: 'generatorAlternator2BusVoltage', + category: OffsetCategory.ELECTRIC, + description: 'generator alternator 2 bus voltage', + type: Type.Double, + permission: 'r', + }), + generatorAlternator2BusAmps: new Offset({ + value: 0x2898, + name: 'generatorAlternator2BusAmps', + category: OffsetCategory.ELECTRIC, + description: 'generator alternator 2 bus amps', + type: Type.Double, + permission: 'r', + }), + generatorAlternator3BusVoltage: new Offset({ + value: 0x28A0, + name: 'generatorAlternator3BusVoltage', + category: OffsetCategory.ELECTRIC, + description: 'generator alternator 3 bus voltage', + type: Type.Double, + permission: 'r', + }), + generatorAlternator3BusAmps: new Offset({ + value: 0x28A8, + name: 'generatorAlternator3BusAmps', + category: OffsetCategory.ELECTRIC, + description: 'generator alternator 3 bus amps', + type: Type.Double, + permission: 'r', + }), + generatorAlternator4BusVoltage: new Offset({ + value: 0x28B0, + name: 'generatorAlternator4BusVoltage', + category: OffsetCategory.ELECTRIC, + description: 'generator alternator 4 bus voltage', + type: Type.Double, + permission: 'r', + }), + generatorAlternator4BusAmps: new Offset({ + value: 0x28B8, + name: 'generatorAlternator4BusAmps', + category: OffsetCategory.ELECTRIC, + description: 'generator alternator 4 bus amps', + type: Type.Double, + permission: 'r', + }), +}; diff --git a/src/shared/offset-category.ts b/src/shared/offset-category.ts index 9e78501..9e76d9c 100644 --- a/src/shared/offset-category.ts +++ b/src/shared/offset-category.ts @@ -3,6 +3,7 @@ export enum OffsetCategory { AUTOPILOT = 'autopilot', COCKPIT = 'cockpit', CONTROLS = 'controls', + ELECTRIC = 'electric', ENGINE = 'engine', ENVIRONMENT = 'environment', FAILURE = 'failure', diff --git a/tests/offsets/__snapshots__/offset.spec.ts.snap b/tests/offsets/__snapshots__/offset.spec.ts.snap index 540c579..d7c17d0 100644 --- a/tests/offsets/__snapshots__/offset.spec.ts.snap +++ b/tests/offsets/__snapshots__/offset.spec.ts.snap @@ -728,6 +728,28 @@ Object { "type": 3, "value": 588, }, + "avionicsBusAmps": Offset { + "category": "electric", + "convert": undefined, + "description": "avionics bus amps", + "length": undefined, + "mapping": undefined, + "name": "avionicsBusAmps", + "permission": "r", + "type": 8, + "value": 10328, + }, + "avionicsBusVoltage": Offset { + "category": "electric", + "convert": undefined, + "description": "avionics bus voltage", + "length": undefined, + "mapping": undefined, + "name": "avionicsBusVoltage", + "permission": "r", + "type": 8, + "value": 10320, + }, "bank": Offset { "category": "position_attitude", "convert": "+({VAL} * 360 / (65536 * 65536)).toFixed(2)", @@ -739,6 +761,50 @@ Object { "type": 3, "value": 1404, }, + "batteryBusAmps": Offset { + "category": "electric", + "convert": undefined, + "description": "battery bus amps", + "length": undefined, + "mapping": undefined, + "name": "batteryBusAmps", + "permission": "r", + "type": 8, + "value": 10360, + }, + "batteryBusVoltage": Offset { + "category": "electric", + "convert": undefined, + "description": "battery bus voltage", + "length": undefined, + "mapping": undefined, + "name": "batteryBusVoltage", + "permission": "r", + "type": 8, + "value": 10352, + }, + "batteryLoad": Offset { + "category": "electric", + "convert": undefined, + "description": "battery load", + "length": undefined, + "mapping": undefined, + "name": "batteryLoad", + "permission": "r", + "type": 8, + "value": 10284, + }, + "batteryVoltage": Offset { + "category": "electric", + "convert": undefined, + "description": "battery voltage", + "length": undefined, + "mapping": undefined, + "name": "batteryVoltage", + "permission": "r", + "type": 8, + "value": 10292, + }, "bleedAirSourceControl": Offset { "category": "cockpit", "convert": undefined, @@ -3885,6 +3951,94 @@ Object { "type": 3, "value": 3056, }, + "generatorAlternator1BusAmps": Offset { + "category": "electric", + "convert": undefined, + "description": "generator alternator 1 bus amps", + "length": undefined, + "mapping": undefined, + "name": "generatorAlternator1BusAmps", + "permission": "r", + "type": 8, + "value": 10376, + }, + "generatorAlternator1BusVoltage": Offset { + "category": "electric", + "convert": undefined, + "description": "generator alternator 1 bus voltage", + "length": undefined, + "mapping": undefined, + "name": "generatorAlternator1BusVoltage", + "permission": "r", + "type": 8, + "value": 10368, + }, + "generatorAlternator2BusAmps": Offset { + "category": "electric", + "convert": undefined, + "description": "generator alternator 2 bus amps", + "length": undefined, + "mapping": undefined, + "name": "generatorAlternator2BusAmps", + "permission": "r", + "type": 8, + "value": 10392, + }, + "generatorAlternator2BusVoltage": Offset { + "category": "electric", + "convert": undefined, + "description": "generator alternator 2 bus voltage", + "length": undefined, + "mapping": undefined, + "name": "generatorAlternator2BusVoltage", + "permission": "r", + "type": 8, + "value": 10384, + }, + "generatorAlternator3BusAmps": Offset { + "category": "electric", + "convert": undefined, + "description": "generator alternator 3 bus amps", + "length": undefined, + "mapping": undefined, + "name": "generatorAlternator3BusAmps", + "permission": "r", + "type": 8, + "value": 10408, + }, + "generatorAlternator3BusVoltage": Offset { + "category": "electric", + "convert": undefined, + "description": "generator alternator 3 bus voltage", + "length": undefined, + "mapping": undefined, + "name": "generatorAlternator3BusVoltage", + "permission": "r", + "type": 8, + "value": 10400, + }, + "generatorAlternator4BusAmps": Offset { + "category": "electric", + "convert": undefined, + "description": "generator alternator 4 bus amps", + "length": undefined, + "mapping": undefined, + "name": "generatorAlternator4BusAmps", + "permission": "r", + "type": 8, + "value": 10424, + }, + "generatorAlternator4BusVoltage": Offset { + "category": "electric", + "convert": undefined, + "description": "generator alternator 4 bus voltage", + "length": undefined, + "mapping": undefined, + "name": "generatorAlternator4BusVoltage", + "permission": "r", + "type": 8, + "value": 10416, + }, "groundElevation": Offset { "category": "position_attitude", "convert": "Math.round({VAL} * 3.28084 / 256)", @@ -4039,6 +4193,28 @@ Object { "type": 0, "value": 2925, }, + "hotBatteryBusAmps": Offset { + "category": "electric", + "convert": undefined, + "description": "hot battery bus amps", + "length": undefined, + "mapping": undefined, + "name": "hotBatteryBusAmps", + "permission": "r", + "type": 8, + "value": 10344, + }, + "hotBatteryBusVoltage": Offset { + "category": "electric", + "convert": undefined, + "description": "hot battery bus voltage", + "length": undefined, + "mapping": undefined, + "name": "hotBatteryBusVoltage", + "permission": "r", + "type": 8, + "value": 10336, + }, "hydFailure": Offset { "category": "failure", "convert": "{VAL} ? 1 : 0", @@ -4644,6 +4820,39 @@ Object { "type": 2, "value": 672, }, + "mainBusAmps": Offset { + "category": "electric", + "convert": undefined, + "description": "main bus amps", + "length": undefined, + "mapping": undefined, + "name": "mainBusAmps", + "permission": "r", + "type": 8, + "value": 10312, + }, + "mainBusVoltage": Offset { + "category": "electric", + "convert": undefined, + "description": "main bus voltage", + "length": undefined, + "mapping": undefined, + "name": "mainBusVoltage", + "permission": "r", + "type": 8, + "value": 10304, + }, + "masterBatterySwitch": Offset { + "category": "electric", + "convert": "!!{VAL}", + "description": "battery master switch", + "length": undefined, + "mapping": undefined, + "name": "masterBatterySwitch", + "permission": "rw", + "type": 6, + "value": 10268, + }, "maxMach": Offset { "category": "plane", "convert": "+({VAL} / 20438).toFixed(2)", @@ -6448,6 +6657,17 @@ Object { "type": 6, "value": 4672, }, + "totalLoadAmp": Offset { + "category": "electric", + "convert": undefined, + "description": "total load amps", + "length": undefined, + "mapping": undefined, + "name": "totalLoadAmp", + "permission": "r", + "type": 8, + "value": 10276, + }, "towerAltitude": Offset { "category": "environment", "convert": "+({VAL} * 3.28084 / (65536 * 65536)).toFixed(2)", diff --git a/tests/offsets/plane/__snapshots__/electric.spec.ts.snap b/tests/offsets/plane/__snapshots__/electric.spec.ts.snap new file mode 100644 index 0000000..1a2a25e --- /dev/null +++ b/tests/offsets/plane/__snapshots__/electric.spec.ts.snap @@ -0,0 +1,226 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`offset - plane/electric offsets list should have required properties 1`] = ` +Object { + "avionicsBusAmps": Offset { + "category": "electric", + "convert": undefined, + "description": "avionics bus amps", + "length": undefined, + "mapping": undefined, + "name": "avionicsBusAmps", + "permission": "r", + "type": 8, + "value": 10328, + }, + "avionicsBusVoltage": Offset { + "category": "electric", + "convert": undefined, + "description": "avionics bus voltage", + "length": undefined, + "mapping": undefined, + "name": "avionicsBusVoltage", + "permission": "r", + "type": 8, + "value": 10320, + }, + "batteryBusAmps": Offset { + "category": "electric", + "convert": undefined, + "description": "battery bus amps", + "length": undefined, + "mapping": undefined, + "name": "batteryBusAmps", + "permission": "r", + "type": 8, + "value": 10360, + }, + "batteryBusVoltage": Offset { + "category": "electric", + "convert": undefined, + "description": "battery bus voltage", + "length": undefined, + "mapping": undefined, + "name": "batteryBusVoltage", + "permission": "r", + "type": 8, + "value": 10352, + }, + "batteryLoad": Offset { + "category": "electric", + "convert": undefined, + "description": "battery load", + "length": undefined, + "mapping": undefined, + "name": "batteryLoad", + "permission": "r", + "type": 8, + "value": 10284, + }, + "batteryVoltage": Offset { + "category": "electric", + "convert": undefined, + "description": "battery voltage", + "length": undefined, + "mapping": undefined, + "name": "batteryVoltage", + "permission": "r", + "type": 8, + "value": 10292, + }, + "generatorAlternator1BusAmps": Offset { + "category": "electric", + "convert": undefined, + "description": "generator alternator 1 bus amps", + "length": undefined, + "mapping": undefined, + "name": "generatorAlternator1BusAmps", + "permission": "r", + "type": 8, + "value": 10376, + }, + "generatorAlternator1BusVoltage": Offset { + "category": "electric", + "convert": undefined, + "description": "generator alternator 1 bus voltage", + "length": undefined, + "mapping": undefined, + "name": "generatorAlternator1BusVoltage", + "permission": "r", + "type": 8, + "value": 10368, + }, + "generatorAlternator2BusAmps": Offset { + "category": "electric", + "convert": undefined, + "description": "generator alternator 2 bus amps", + "length": undefined, + "mapping": undefined, + "name": "generatorAlternator2BusAmps", + "permission": "r", + "type": 8, + "value": 10392, + }, + "generatorAlternator2BusVoltage": Offset { + "category": "electric", + "convert": undefined, + "description": "generator alternator 2 bus voltage", + "length": undefined, + "mapping": undefined, + "name": "generatorAlternator2BusVoltage", + "permission": "r", + "type": 8, + "value": 10384, + }, + "generatorAlternator3BusAmps": Offset { + "category": "electric", + "convert": undefined, + "description": "generator alternator 3 bus amps", + "length": undefined, + "mapping": undefined, + "name": "generatorAlternator3BusAmps", + "permission": "r", + "type": 8, + "value": 10408, + }, + "generatorAlternator3BusVoltage": Offset { + "category": "electric", + "convert": undefined, + "description": "generator alternator 3 bus voltage", + "length": undefined, + "mapping": undefined, + "name": "generatorAlternator3BusVoltage", + "permission": "r", + "type": 8, + "value": 10400, + }, + "generatorAlternator4BusAmps": Offset { + "category": "electric", + "convert": undefined, + "description": "generator alternator 4 bus amps", + "length": undefined, + "mapping": undefined, + "name": "generatorAlternator4BusAmps", + "permission": "r", + "type": 8, + "value": 10424, + }, + "generatorAlternator4BusVoltage": Offset { + "category": "electric", + "convert": undefined, + "description": "generator alternator 4 bus voltage", + "length": undefined, + "mapping": undefined, + "name": "generatorAlternator4BusVoltage", + "permission": "r", + "type": 8, + "value": 10416, + }, + "hotBatteryBusAmps": Offset { + "category": "electric", + "convert": undefined, + "description": "hot battery bus amps", + "length": undefined, + "mapping": undefined, + "name": "hotBatteryBusAmps", + "permission": "r", + "type": 8, + "value": 10344, + }, + "hotBatteryBusVoltage": Offset { + "category": "electric", + "convert": undefined, + "description": "hot battery bus voltage", + "length": undefined, + "mapping": undefined, + "name": "hotBatteryBusVoltage", + "permission": "r", + "type": 8, + "value": 10336, + }, + "mainBusAmps": Offset { + "category": "electric", + "convert": undefined, + "description": "main bus amps", + "length": undefined, + "mapping": undefined, + "name": "mainBusAmps", + "permission": "r", + "type": 8, + "value": 10312, + }, + "mainBusVoltage": Offset { + "category": "electric", + "convert": undefined, + "description": "main bus voltage", + "length": undefined, + "mapping": undefined, + "name": "mainBusVoltage", + "permission": "r", + "type": 8, + "value": 10304, + }, + "masterBatterySwitch": Offset { + "category": "electric", + "convert": "!!{VAL}", + "description": "battery master switch", + "length": undefined, + "mapping": undefined, + "name": "masterBatterySwitch", + "permission": "rw", + "type": 6, + "value": 10268, + }, + "totalLoadAmp": Offset { + "category": "electric", + "convert": undefined, + "description": "total load amps", + "length": undefined, + "mapping": undefined, + "name": "totalLoadAmp", + "permission": "r", + "type": 8, + "value": 10276, + }, +} +`; diff --git a/tests/offsets/plane/electric.spec.ts b/tests/offsets/plane/electric.spec.ts new file mode 100644 index 0000000..95a550c --- /dev/null +++ b/tests/offsets/plane/electric.spec.ts @@ -0,0 +1,26 @@ +import { electric as offsets } from '@offsets/plane/electric'; +import { replaceOffsetExpressionValue } from '@convert/apply-conversion'; + +describe('offset - plane/electric', () => { + const offsetsTestCases = [ + { name: 'masterBatterySwitch', value: 0, expectedResult: false }, + { name: 'masterBatterySwitch', value: 1, expectedResult: true }, + ]; + + describe('offsets list', () => { + it('should have required properties', () => { + expect(offsets).toMatchSnapshot(); + }); + }); + + offsetsTestCases.forEach(testedOffset => { + describe(testedOffset.name, () => { + it('should convert data properly', () => { + const convertExpression = replaceOffsetExpressionValue(offsets[testedOffset.name], testedOffset.value); + + // tslint:disable-next-line:no-eval + expect(eval(convertExpression)).toEqual(testedOffset.expectedResult); + }); + }); + }); +}); From bf1e6f7b87ad90f5c9cb9a6313d9d1825eef8309 Mon Sep 17 00:00:00 2001 From: blackholegalaxy Date: Mon, 3 Feb 2020 19:49:46 -0500 Subject: [PATCH 17/20] add standard pressures and temperatures --- .../environment/weather/at-aircraft.ts | 56 ++++++++++++++ .../offsets/__snapshots__/offset.spec.ts.snap | 77 +++++++++++++++++++ .../__snapshots__/weather.spec.ts.snap | 77 +++++++++++++++++++ .../__snapshots__/at-aircraft.spec.ts.snap | 77 +++++++++++++++++++ 4 files changed, 287 insertions(+) diff --git a/src/lib/offsets/environment/weather/at-aircraft.ts b/src/lib/offsets/environment/weather/at-aircraft.ts index f02c123..0750e2c 100644 --- a/src/lib/offsets/environment/weather/at-aircraft.ts +++ b/src/lib/offsets/environment/weather/at-aircraft.ts @@ -484,4 +484,60 @@ export const weatherAtAircraft: OffsetList = { type: Type.UInt16, permission: 'r', }), + ambientAirDensity: new Offset({ + value: 0x28C0, + name: 'ambientAirDensity', + category: OffsetCategory.WEATHER, + description: 'ambient air density - slug / sq ft', + type: Type.Double, + permission: 'r', + }), + ambientAirPressure: new Offset({ + value: 0x28C8, + name: 'ambientAirPressure', + category: OffsetCategory.WEATHER, + description: 'ambient air pressure - lbs / sq ft', + type: Type.Double, + permission: 'r', + }), + staticAirTemperatureF: new Offset({ + value: 0x28D0, + name: 'staticAirTemperatureF', + category: OffsetCategory.WEATHER, + description: 'static air temperature - F', + type: Type.Double, + permission: 'r', + }), + staticAirTemperatureR: new Offset({ + value: 0x28D8, + name: 'staticAirTemperatureR', + category: OffsetCategory.WEATHER, + description: 'static air temperature - Rankine degrees', + type: Type.Double, + permission: 'r', + }), + standardTemperatureRatio: new Offset({ + value: 0x28E0, + name: 'standardTemperatureRatio', + category: OffsetCategory.WEATHER, + description: 'theta - standard temperature ratio', + type: Type.Double, + permission: 'r', + }), + standardPressureRatio: new Offset({ + value: 0x28E8, + name: 'standardPressureRatio', + category: OffsetCategory.WEATHER, + description: 'delta - standard pressure ratio', + type: Type.Double, + permission: 'r', + }), + standardDensityRatio: new Offset({ + value: 0x28F0, + name: 'standardDensityRatio', + category: OffsetCategory.WEATHER, + description: 'sigma - standard density ratio', + type: Type.Double, + permission: 'r', + }), }; diff --git a/tests/offsets/__snapshots__/offset.spec.ts.snap b/tests/offsets/__snapshots__/offset.spec.ts.snap index d7c17d0..7740aab 100644 --- a/tests/offsets/__snapshots__/offset.spec.ts.snap +++ b/tests/offsets/__snapshots__/offset.spec.ts.snap @@ -409,6 +409,28 @@ Object { "type": 5, "value": 3610, }, + "ambientAirDensity": Offset { + "category": "weather", + "convert": undefined, + "description": "ambient air density - slug / sq ft", + "length": undefined, + "mapping": undefined, + "name": "ambientAirDensity", + "permission": "r", + "type": 8, + "value": 10432, + }, + "ambientAirPressure": Offset { + "category": "weather", + "convert": undefined, + "description": "ambient air pressure - lbs / sq ft", + "length": undefined, + "mapping": undefined, + "name": "ambientAirPressure", + "permission": "r", + "type": 8, + "value": 10440, + }, "angleOfAttack": Offset { "category": "position_attitude", "convert": "+(100 - (100 * {VAL} / 32767)).toFixed(2)", @@ -6151,6 +6173,39 @@ Object { "type": 0, "value": 876, }, + "standardDensityRatio": Offset { + "category": "weather", + "convert": undefined, + "description": "sigma - standard density ratio", + "length": undefined, + "mapping": undefined, + "name": "standardDensityRatio", + "permission": "r", + "type": 8, + "value": 10480, + }, + "standardPressureRatio": Offset { + "category": "weather", + "convert": undefined, + "description": "delta - standard pressure ratio", + "length": undefined, + "mapping": undefined, + "name": "standardPressureRatio", + "permission": "r", + "type": 8, + "value": 10472, + }, + "standardTemperatureRatio": Offset { + "category": "weather", + "convert": undefined, + "description": "theta - standard temperature ratio", + "length": undefined, + "mapping": undefined, + "name": "standardTemperatureRatio", + "permission": "r", + "type": 8, + "value": 10464, + }, "startupFlight": Offset { "category": "simulation", "convert": undefined, @@ -6162,6 +6217,28 @@ Object { "type": 11, "value": 36, }, + "staticAirTemperatureF": Offset { + "category": "weather", + "convert": undefined, + "description": "static air temperature - F", + "length": undefined, + "mapping": undefined, + "name": "staticAirTemperatureF", + "permission": "r", + "type": 8, + "value": 10448, + }, + "staticAirTemperatureR": Offset { + "category": "weather", + "convert": undefined, + "description": "static air temperature - Rankine degrees", + "length": undefined, + "mapping": undefined, + "name": "staticAirTemperatureR", + "permission": "r", + "type": 8, + "value": 10456, + }, "steeringTillerCalibratedValue": Offset { "category": "controls", "convert": "Math.round({VAL} / 16383 * 100)", diff --git a/tests/offsets/environment/__snapshots__/weather.spec.ts.snap b/tests/offsets/environment/__snapshots__/weather.spec.ts.snap index 7e2853d..fe0183e 100644 --- a/tests/offsets/environment/__snapshots__/weather.spec.ts.snap +++ b/tests/offsets/environment/__snapshots__/weather.spec.ts.snap @@ -13,6 +13,28 @@ Object { "type": 2, "value": 3724, }, + "ambientAirDensity": Offset { + "category": "weather", + "convert": undefined, + "description": "ambient air density - slug / sq ft", + "length": undefined, + "mapping": undefined, + "name": "ambientAirDensity", + "permission": "r", + "type": 8, + "value": 10432, + }, + "ambientAirPressure": Offset { + "category": "weather", + "convert": undefined, + "description": "ambient air pressure - lbs / sq ft", + "length": undefined, + "mapping": undefined, + "name": "ambientAirPressure", + "permission": "r", + "type": 8, + "value": 10440, + }, "cloudCoverageAtAircraftAltitude": Offset { "category": "weather", "convert": undefined, @@ -772,6 +794,61 @@ Object { "type": 5, "value": 3912, }, + "standardDensityRatio": Offset { + "category": "weather", + "convert": undefined, + "description": "sigma - standard density ratio", + "length": undefined, + "mapping": undefined, + "name": "standardDensityRatio", + "permission": "r", + "type": 8, + "value": 10480, + }, + "standardPressureRatio": Offset { + "category": "weather", + "convert": undefined, + "description": "delta - standard pressure ratio", + "length": undefined, + "mapping": undefined, + "name": "standardPressureRatio", + "permission": "r", + "type": 8, + "value": 10472, + }, + "standardTemperatureRatio": Offset { + "category": "weather", + "convert": undefined, + "description": "theta - standard temperature ratio", + "length": undefined, + "mapping": undefined, + "name": "standardTemperatureRatio", + "permission": "r", + "type": 8, + "value": 10464, + }, + "staticAirTemperatureF": Offset { + "category": "weather", + "convert": undefined, + "description": "static air temperature - F", + "length": undefined, + "mapping": undefined, + "name": "staticAirTemperatureF", + "permission": "r", + "type": 8, + "value": 10448, + }, + "staticAirTemperatureR": Offset { + "category": "weather", + "convert": undefined, + "description": "static air temperature - Rankine degrees", + "length": undefined, + "mapping": undefined, + "name": "staticAirTemperatureR", + "permission": "r", + "type": 8, + "value": 10456, + }, "stormCloudBase": Offset { "category": "weather", "convert": "+({VAL} * 3.28084).toFixed(2)", diff --git a/tests/offsets/environment/weather/__snapshots__/at-aircraft.spec.ts.snap b/tests/offsets/environment/weather/__snapshots__/at-aircraft.spec.ts.snap index 3b75a8f..2bb770d 100644 --- a/tests/offsets/environment/weather/__snapshots__/at-aircraft.spec.ts.snap +++ b/tests/offsets/environment/weather/__snapshots__/at-aircraft.spec.ts.snap @@ -2,6 +2,28 @@ exports[`offset - environment/weather/at-aircraft offsets list should have required properties 1`] = ` Object { + "ambientAirDensity": Offset { + "category": "weather", + "convert": undefined, + "description": "ambient air density - slug / sq ft", + "length": undefined, + "mapping": undefined, + "name": "ambientAirDensity", + "permission": "r", + "type": 8, + "value": 10432, + }, + "ambientAirPressure": Offset { + "category": "weather", + "convert": undefined, + "description": "ambient air pressure - lbs / sq ft", + "length": undefined, + "mapping": undefined, + "name": "ambientAirPressure", + "permission": "r", + "type": 8, + "value": 10440, + }, "lowerCloudBase": Offset { "category": "weather", "convert": "+({VAL} * 3.28084).toFixed(2)", @@ -277,6 +299,61 @@ Object { "type": 5, "value": 3782, }, + "standardDensityRatio": Offset { + "category": "weather", + "convert": undefined, + "description": "sigma - standard density ratio", + "length": undefined, + "mapping": undefined, + "name": "standardDensityRatio", + "permission": "r", + "type": 8, + "value": 10480, + }, + "standardPressureRatio": Offset { + "category": "weather", + "convert": undefined, + "description": "delta - standard pressure ratio", + "length": undefined, + "mapping": undefined, + "name": "standardPressureRatio", + "permission": "r", + "type": 8, + "value": 10472, + }, + "standardTemperatureRatio": Offset { + "category": "weather", + "convert": undefined, + "description": "theta - standard temperature ratio", + "length": undefined, + "mapping": undefined, + "name": "standardTemperatureRatio", + "permission": "r", + "type": 8, + "value": 10464, + }, + "staticAirTemperatureF": Offset { + "category": "weather", + "convert": undefined, + "description": "static air temperature - F", + "length": undefined, + "mapping": undefined, + "name": "staticAirTemperatureF", + "permission": "r", + "type": 8, + "value": 10448, + }, + "staticAirTemperatureR": Offset { + "category": "weather", + "convert": undefined, + "description": "static air temperature - Rankine degrees", + "length": undefined, + "mapping": undefined, + "name": "staticAirTemperatureR", + "permission": "r", + "type": 8, + "value": 10456, + }, "stormCloudBase": Offset { "category": "weather", "convert": "+({VAL} * 3.28084).toFixed(2)", From f46b7918065fb3749eb95aee26e8f829d3f6eb0f Mon Sep 17 00:00:00 2001 From: blackholegalaxy Date: Tue, 4 Feb 2020 08:15:37 -0500 Subject: [PATCH 18/20] change readme --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 38fcb6e..a684564 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,10 @@ # @fsuipc/api - FSUIPC Node API +Tooling to use FSUIPC external application interface, with nodeJS. + [![Coverage Status](https://coveralls.io/repos/github/fsuipc-node/api/badge.svg?branch=master)](https://coveralls.io/github/fsuipc-node/api?branch=master) ![branch-master](https://github.com/fsuipc-node/api/workflows/branch-master/badge.svg?branch=master) -Tooling to use FSUIPC external application interface, with nodeJS. - ## Disclamer This API is a wrapper around [fsuipc-node adapter by koesie10](https://github.com/koesie10/fsuipc-node) meant to create a simple API around all available fsuipc offsets. From bd9cb657e0afb27d2418b81282bff23e34ed224a Mon Sep 17 00:00:00 2001 From: blackholegalaxy Date: Tue, 4 Feb 2020 08:17:08 -0500 Subject: [PATCH 19/20] add badge --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a684564..1c01d90 100644 --- a/README.md +++ b/README.md @@ -3,6 +3,7 @@ Tooling to use FSUIPC external application interface, with nodeJS. [![Coverage Status](https://coveralls.io/repos/github/fsuipc-node/api/badge.svg?branch=master)](https://coveralls.io/github/fsuipc-node/api?branch=master) +[![npm version](https://badge.fury.io/js/%40fsuipc%2Fapi.svg)](https://badge.fury.io/js/%40fsuipc%2Fapi) ![branch-master](https://github.com/fsuipc-node/api/workflows/branch-master/badge.svg?branch=master) ## Disclamer From c22fcc4dc5f087750b8d417aeb2adbe301809843 Mon Sep 17 00:00:00 2001 From: blackholegalaxy Date: Tue, 4 Feb 2020 08:26:02 -0500 Subject: [PATCH 20/20] add tests and default --- src/lib/convert/mappings/engine-type.ts | 2 ++ src/lib/convert/mappings/fuel-tank.ts | 3 +- .../convert/mappings/precipitation-type.ts | 2 ++ .../mappings/runway-surface-condition.ts | 2 ++ src/lib/convert/mappings/seasons.ts | 2 ++ src/lib/convert/mappings/time-of-day.ts | 2 ++ src/lib/convert/mappings/vor-to-from.ts | 2 ++ tests/convert/mappings/applied-brakes.spec.ts | 1 + tests/convert/mappings/engine-type.spec.ts | 2 ++ tests/convert/mappings/fuel-tank.spec.ts | 36 +++++++++++++++++++ .../mappings/precipitation-type.spec.ts | 2 ++ .../mappings/runway-surface-condition.spec.ts | 2 ++ tests/convert/mappings/seasons.spec.ts | 2 ++ tests/convert/mappings/time-of-day.spec.ts | 18 ++++++++++ tests/convert/mappings/vor-to-from.spec.ts | 2 ++ 15 files changed, 79 insertions(+), 1 deletion(-) create mode 100644 tests/convert/mappings/fuel-tank.spec.ts create mode 100644 tests/convert/mappings/time-of-day.spec.ts diff --git a/src/lib/convert/mappings/engine-type.ts b/src/lib/convert/mappings/engine-type.ts index 2772428..d7940c8 100644 --- a/src/lib/convert/mappings/engine-type.ts +++ b/src/lib/convert/mappings/engine-type.ts @@ -14,5 +14,7 @@ export const engineType = (value: number): EngineType => { return EngineType.ROCKET; case 5: return EngineType.TURBOPROP; + default: + return null; } }; diff --git a/src/lib/convert/mappings/fuel-tank.ts b/src/lib/convert/mappings/fuel-tank.ts index 758ef8b..659c008 100644 --- a/src/lib/convert/mappings/fuel-tank.ts +++ b/src/lib/convert/mappings/fuel-tank.ts @@ -44,6 +44,7 @@ export const fuelTank = (value: number): FuelTank => { return FuelTank.LEFT_MAIN; case 20: return FuelTank.RIGHT_MAIN; - + default: + return null; } }; diff --git a/src/lib/convert/mappings/precipitation-type.ts b/src/lib/convert/mappings/precipitation-type.ts index 85dfd92..050bc43 100644 --- a/src/lib/convert/mappings/precipitation-type.ts +++ b/src/lib/convert/mappings/precipitation-type.ts @@ -8,5 +8,7 @@ export const precipitationType = (value: number): PrecipitationType => { return PrecipitationType.RAIN; case 2: return PrecipitationType.SNOW; + default: + return null; } }; diff --git a/src/lib/convert/mappings/runway-surface-condition.ts b/src/lib/convert/mappings/runway-surface-condition.ts index b404cb1..860d06b 100644 --- a/src/lib/convert/mappings/runway-surface-condition.ts +++ b/src/lib/convert/mappings/runway-surface-condition.ts @@ -10,5 +10,7 @@ export const runwaySurfaceCondition = (value: number): SurfaceCondition => { return SurfaceCondition.ICY; case 3: return SurfaceCondition.SNOW; + default: + return null; } }; diff --git a/src/lib/convert/mappings/seasons.ts b/src/lib/convert/mappings/seasons.ts index 2f8ee79..175151e 100644 --- a/src/lib/convert/mappings/seasons.ts +++ b/src/lib/convert/mappings/seasons.ts @@ -10,5 +10,7 @@ export const seasons = (value: number): Season => { return Season.SUMMER; case 3: return Season.AUTUMN; + default: + return null; } }; diff --git a/src/lib/convert/mappings/time-of-day.ts b/src/lib/convert/mappings/time-of-day.ts index fcafb55..26c7b67 100644 --- a/src/lib/convert/mappings/time-of-day.ts +++ b/src/lib/convert/mappings/time-of-day.ts @@ -8,5 +8,7 @@ export const timeOfDay = (value: number): TimeOfDay => { return TimeOfDay.DUSK_DAWN; case 3: return TimeOfDay.NIGHT; + default: + return null; } }; diff --git a/src/lib/convert/mappings/vor-to-from.ts b/src/lib/convert/mappings/vor-to-from.ts index 73c57ec..b735413 100644 --- a/src/lib/convert/mappings/vor-to-from.ts +++ b/src/lib/convert/mappings/vor-to-from.ts @@ -8,5 +8,7 @@ export const vorToFrom = (value: number): VorToFrom => { return VorToFrom.TO; case 2: return VorToFrom.FROM; + default: + return null; } }; diff --git a/tests/convert/mappings/applied-brakes.spec.ts b/tests/convert/mappings/applied-brakes.spec.ts index f39276a..c95a289 100644 --- a/tests/convert/mappings/applied-brakes.spec.ts +++ b/tests/convert/mappings/applied-brakes.spec.ts @@ -2,6 +2,7 @@ import { appliedBrakes } from '@mappings/applied-brakes'; import { Brakes } from '@shared/plane/brakes'; const TESTS = [ + { value: null, result: null }, { value: 0, result: null }, { value: 1, result: Brakes.LEFT }, { value: 2, result: Brakes.RIGHT }, diff --git a/tests/convert/mappings/engine-type.spec.ts b/tests/convert/mappings/engine-type.spec.ts index 14e6962..9ed7ed1 100644 --- a/tests/convert/mappings/engine-type.spec.ts +++ b/tests/convert/mappings/engine-type.spec.ts @@ -8,6 +8,8 @@ const TESTS = [ { value: 3, result: EngineType.HELO }, { value: 4, result: EngineType.ROCKET }, { value: 5, result: EngineType.TURBOPROP }, + { value: 6, result: null }, + { value: null, result: null }, ]; describe('engine-type mapping', () => { diff --git a/tests/convert/mappings/fuel-tank.spec.ts b/tests/convert/mappings/fuel-tank.spec.ts new file mode 100644 index 0000000..1c64989 --- /dev/null +++ b/tests/convert/mappings/fuel-tank.spec.ts @@ -0,0 +1,36 @@ +import { FuelTank } from '@shared/plane/fuel-tank'; +import { fuelTank } from '@mappings/fuel-tank'; + +const TESTS = [ + { value: 0, result: FuelTank.NONE }, + { value: 1, result: FuelTank.ALL }, + { value: 2, result: FuelTank.LEFT }, + { value: 3, result: FuelTank.RIGHT }, + { value: 4, result: FuelTank.LEFT_AUX }, + { value: 5, result: FuelTank.RIGHT_AUX }, + { value: 6, result: FuelTank.CENTER }, + { value: 7, result: FuelTank.CENTER2 }, + { value: 8, result: FuelTank.CENTER3 }, + { value: 9, result: FuelTank.EXT1 }, + { value: 10, result: FuelTank.EXT2 }, + { value: 11, result: FuelTank.RIGHT_TIP }, + { value: 12, result: FuelTank.LEFT_TIP }, + { value: 13, result: FuelTank.CROSS_FEED }, + { value: 14, result: FuelTank.CROSS_FEED_LTR }, + { value: 15, result: FuelTank.CROSS_FEED_RTL }, + { value: 16, result: FuelTank.CROSS_FEED_BOTH }, + { value: 17, result: FuelTank.EXTERNAL }, + { value: 18, result: FuelTank.ISOLATE }, + { value: 19, result: FuelTank.LEFT_MAIN }, + { value: 20, result: FuelTank.RIGHT_MAIN }, + { value: 21, result: null }, + { value: null, result: null }, +]; + +describe('fuel-tank mapping', () => { + TESTS.forEach(test => { + it(`should map value ${test.value} to engine-type ${test.result}`, () => { + expect(fuelTank(test.value)).toEqual(test.result); + }); + }); +}); diff --git a/tests/convert/mappings/precipitation-type.spec.ts b/tests/convert/mappings/precipitation-type.spec.ts index 10e02fb..30ad155 100644 --- a/tests/convert/mappings/precipitation-type.spec.ts +++ b/tests/convert/mappings/precipitation-type.spec.ts @@ -5,6 +5,8 @@ const TESTS = [ { value: 0, result: PrecipitationType.NONE }, { value: 1, result: PrecipitationType.RAIN }, { value: 2, result: PrecipitationType.SNOW }, + { value: 3, result: null }, + { value: null, result: null }, ]; describe('precipitation type mapping', () => { diff --git a/tests/convert/mappings/runway-surface-condition.spec.ts b/tests/convert/mappings/runway-surface-condition.spec.ts index da08afe..42c543c 100644 --- a/tests/convert/mappings/runway-surface-condition.spec.ts +++ b/tests/convert/mappings/runway-surface-condition.spec.ts @@ -6,6 +6,8 @@ const TESTS = [ { value: 1, result: SurfaceCondition.WET }, { value: 2, result: SurfaceCondition.ICY }, { value: 3, result: SurfaceCondition.SNOW }, + { value: 4, result: null }, + { value: null, result: null }, ]; describe('runway surface condition mapping', () => { diff --git a/tests/convert/mappings/seasons.spec.ts b/tests/convert/mappings/seasons.spec.ts index a514c36..1a8c743 100644 --- a/tests/convert/mappings/seasons.spec.ts +++ b/tests/convert/mappings/seasons.spec.ts @@ -6,6 +6,8 @@ const TESTS = [ { value: 1, result: Season.SPRING }, { value: 2, result: Season.SUMMER }, { value: 3, result: Season.AUTUMN }, + { value: 4, result: null }, + { value: null, result: null }, ]; describe('seasons mapping', () => { diff --git a/tests/convert/mappings/time-of-day.spec.ts b/tests/convert/mappings/time-of-day.spec.ts new file mode 100644 index 0000000..6dd842c --- /dev/null +++ b/tests/convert/mappings/time-of-day.spec.ts @@ -0,0 +1,18 @@ +import { timeOfDay } from '@mappings/time-of-day'; +import { TimeOfDay } from '@shared/environment/time-of-day'; + +const TESTS = [ + { value: 1, result: TimeOfDay.DAY }, + { value: 2, result: TimeOfDay.DUSK_DAWN }, + { value: 3, result: TimeOfDay.NIGHT }, + { value: 4, result: null }, + { value: null, result: null }, +]; + +describe('time-of-day mapping', () => { + TESTS.forEach(test => { + it(`should map value ${test.value} to time-of-day ${test.result}`, () => { + expect(timeOfDay(test.value)).toEqual(test.result); + }); + }); +}); diff --git a/tests/convert/mappings/vor-to-from.spec.ts b/tests/convert/mappings/vor-to-from.spec.ts index e6f43f1..d7098e8 100644 --- a/tests/convert/mappings/vor-to-from.spec.ts +++ b/tests/convert/mappings/vor-to-from.spec.ts @@ -5,6 +5,8 @@ const TESTS = [ { value: 0, result: VorToFrom.OFF }, { value: 1, result: VorToFrom.TO }, { value: 2, result: VorToFrom.FROM }, + { value: 3, result: null }, + { value: null, result: null }, ]; describe('vor-to-from mapping', () => {