Skip to content

Commit

Permalink
persist transponder mode and code (#24)
Browse files Browse the repository at this point in the history
* working transponder state, broken transponder code

* fix transponder code

* update readme
  • Loading branch information
AlexChesters authored Jun 22, 2023
1 parent 11f729c commit 6caa8f5
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 2 deletions.
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ c182rg-improvement-project/
* heading bug
* elevator and rudder trim
* altimeter setting
* transponder mode and code

# Planned features
Planned features can be found by looking at the
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,9 @@ type AC182RGPersistentStorageIds = {
},
instruments: {
altimeter: string,
headingBug: string
headingBug: string,
transponderMode: string,
transponderCode: string
},
controlSurfaces: {
rudderTrim: string,
Expand Down Expand Up @@ -62,7 +64,9 @@ class AC182RG extends BaseInstrument {
},
instruments: {
altimeter: `AC182RG_ALTIMETER_${this.aircraftIdentifier}`,
headingBug: `AC182RG_HEADING_BUG_${this.aircraftIdentifier}`
headingBug: `AC182RG_HEADING_BUG_${this.aircraftIdentifier}`,
transponderMode: `AC182RG_TRANSPONDER_MODE_${this.aircraftIdentifier}`,
transponderCode: `AC182RG_TRANSPONDER_CODE_${this.aircraftIdentifier}`
},
controlSurfaces: {
rudderTrim: `AC182RG_RUDDER_TRIM_${this.aircraftIdentifier}`,
Expand Down Expand Up @@ -126,12 +130,18 @@ class AC182RG extends BaseInstrument {
persistInstrumentsState() {
var altimeter = SimVar.GetSimVarValue('KOHLSMAN SETTING MB', 'millibars scaler 16')
var heading = SimVar.GetSimVarValue('AUTOPILOT HEADING LOCK DIR', 'degrees')
var transponderMode = SimVar.GetSimVarValue('TRANSPONDER STATE:1', 'Enum')
var transponderCode = SimVar.GetSimVarValue('TRANSPONDER CODE:1', 'Bco16')

logger.debug('persisting altimiter', altimeter)
logger.debug('persisting heading', heading)
logger.debug('persisting transponder mode', transponderMode)
logger.debug('persisting transponder code', transponderCode)

SetStoredData(this.storageIds.instruments.altimeter, altimeter.toString())
SetStoredData(this.storageIds.instruments.headingBug, heading.toString())
SetStoredData(this.storageIds.instruments.transponderMode, transponderMode.toString())
SetStoredData(this.storageIds.instruments.transponderCode, transponderCode.toString())
}

persistControlSurfaces() {
Expand Down Expand Up @@ -222,12 +232,18 @@ class AC182RG extends BaseInstrument {
applyInstrumentState() {
var altimeter = GetStoredData(this.storageIds.instruments.altimeter)
var heading = GetStoredData(this.storageIds.instruments.headingBug)
var transponderMode = GetStoredData(this.storageIds.instruments.transponderMode)
var transponderCode = GetStoredData(this.storageIds.instruments.transponderCode)

logger.log('applying altimeter state', altimeter)
logger.log('applying heading state', heading)
logger.log('applying transponder mode state', transponderMode)
logger.log('applying transponder code state', transponderCode)

SimVar.SetSimVarValue('K:KOHLSMAN_SET', 'millibars scaler 16', Number(altimeter))
SimVar.SetSimVarValue('AUTOPILOT HEADING LOCK DIR', 'degrees', Number(heading))
SimVar.SetSimVarValue('TRANSPONDER STATE:1', 'Enum', Number(transponderMode || 0))
SimVar.SetSimVarValue('TRANSPONDER CODE:1', 'Bco16', Number(transponderCode || 7000))
}

applyControlSurfacesState() {
Expand Down

0 comments on commit 6caa8f5

Please sign in to comment.