View Full Version : Press for current HDG/CRS
Tomlin
06-29-2008, 02:09 PM
Is there a way to program a rotary encoder with a push function to jump the heading or course bug from any position to the current heading (push to reset?) ? Would this require the PM MCP software?
Thanks,
Michael Carter
06-29-2008, 02:20 PM
I don't see why you couldn't program the switch to do that. The command is available in FS and FSUIPC.
I used it myself for awhile. Upon departure, the CDI is always set for the first course intercept and the heading bug is set for the initial heading turn after lift-off.
I used to have it programmed to have the heading bug jump to the current course selected before engaging the heading hold funtion on the AP. I stopped using it after a few flights as I wasn't always flying the CDI course, but sometimes an ADF course waiting for a course intercept from the CDI.
I now use the heading control manually.
Tomlin
06-29-2008, 02:32 PM
Thanks, do you know what it's called btw in fsuipc?
Michael Carter
06-29-2008, 02:54 PM
Heading bug select I think, but don't quote me on it.
acolvard
06-30-2008, 12:51 PM
I hope this helps. Here is some chopped up code using simconnect for heading bug sync. Works for me but this is just a few cut and paste parts myh complete code is for the complete G1000 functionality. I forgot about the Course sync, I will have to add that funtionality to my code, thanks.
hr = SimConnect_MapClientEventToSimEvent(hSimConnect, f, "Heading_bug_set");
hr = SimConnect_AddToDataDefinition(hSimConnect, DEFINITION_READ, "Plan Heading Degrees Gyro", "Degrees");
hr = SimConnect_RequestDataOnSimObject(hSimConnect, REQUEST_READ, DEFINITION_READ, SIMCONNECT_SIMOBJECT_TYPE_USER, SIMCONNECT_PERIOD_SIM_FRAME, SIMCONNECT_DATA_REQUEST_FLAG_CHANGED);
hr = SimConnect_GetNextDispatch(hSimConnect, &pData, &cbData);
case REQUEST_HEADING:
DWORD ObjectID = pObjData->dwObjectID;
Struct2 *pS = (Struct2*)&pObjData->dwData;
hr = SimConnect_TransmitClientEvent(hSimConnect, INPUT0, f, pS->headingn, SIMCONNECT_GROUP_PRIORITY_HIGHEST, SIMCONNECT_EVENT_FLAG_GROUPID_IS_PRIORITY);
Michael Carter
06-30-2008, 12:58 PM
It's really not all that complex. It's a simple keystroke command that can be assigned in FSUIPC or FS itself using a pushbutton switch.
As I wrote earlier, it does have its uses, but it can be tricky if you're not watching what you're doing while navigating.