View Full Version : (A/P-P/RST),(A/T-P/RST),(FMC-P/RST) Offset
zirakonium
01-23-2008, 11:46 AM
Hi.
I am using Project Magenta, Boing software..
I having trouble finding (A/P-P/RST),(A/T-P/RST),(FMC-P/RST) Offset's
for both switch function and annonciator light,(backlight)
I have run through pmsysvar.txt and ProjectMagenta Fsuipc offset's,
but with no luck....
Can anyone help with these offsets????:roll:
Regards John Hansen, Denmark
kevinE
02-06-2008, 02:23 PM
Hi john
I was about to ask the same thing :) and is this option on the flightdeck technology software and if so were is it ?
zirakonium
02-07-2008, 09:26 AM
Hi KevinE
I've got reply from ProjectMagenta, about this subject,
and there is no offsets for this funktion. You have to
program it your self...I have already made a script in
SIOC ( opencockpits )... So if you are using Opencockpits
hardware i can provide you with my ssi. script.( PROGRAM )
It is not finnist yet but it is working....
All the offsets to make this logic function work is advailerble in
FSUIPC and Project magenta....
Best regards John Hansen
Olympic260
02-07-2008, 10:50 AM
John I would be interesting to see this code, since I am using SIOC this will help a lot...
jberinge
02-07-2008, 06:48 PM
Good timing. I am also wiring up my MIP and use opencockpits code. If you could post it I would be most appreciative.
Thanks
Jason
zirakonium
02-08-2008, 04:43 AM
Hi
My sioc code is a beta, but working. Second...it is not a total
replica of the real logics but it's quite simple to modifi at your own
will. I have used Project Magenta's video called "Cockpit Test" to
compair with...In real read the Continental Boing 737 manual ( at this site)
to get the correct function. Sioc programming is quite new for me so
i challenge ny self with this little program incorporating a flash generator
for the Master Caution....
The function is simple : disconnect A/P and you get a flashing Master Caution
and i light in A/P P/RST sw. Push Master sw to reset Master Caution and push
A/P P/RST sw to reset that. Disconnection A/T will only get light in A/T P/RST
sw, push to reset..Thats it for now..I will find out next when FMC P/RST will
annonciate. Send a email to dsl325961@vip.cybercity, i'll send the ssi. code
to you of interrest.... Best regards John Hansen, Denmark
jberinge
02-08-2008, 05:37 AM
Hi John,
Your email address bounced. It would be great if you could send it to jason.beringer@arts.monash.edu.au If I modify it I will post it back to you
Thanks
Jason
zirakonium
02-08-2008, 05:50 AM
hi and sorry....
I can see my full email adresse is missing...
It is----- dsl325961@vip.cybercity.dk
Regards John Hansen
dcutugno
02-08-2008, 06:08 AM
More simple, why don't post the code here?
I did this in the past posting my SIOC codes.
zirakonium
02-08-2008, 10:45 AM
Hi here it is
RGD John Hansen, Denmark
// *****************************************************************************
// * Config_SIOC ver 3.5 - By Manolo Vélez - www.opencockpits.com
// *****************************************************************************
// * FileName : WithoutFlash&MasterReset.txt
// * Date : 08-02-2008
Var 0000, Value 0 // AutoDisconnectPanel
Var 0001 // disconnect flag pm
{
IF V0001 = 1
{
IF V0006 = 1
{
V0008 = 1
}
}
IF V0001 = 1
{
IF V0007 = 1
{
V0009 = 1
}
}
IF V0001 = 0
{
V0006 = 0
V0007 = 0
}
}
Var 0002 // A/P from 04F2 bit 0
{
V0003 = DELAY V0002 ,10
IF V0002 < V0003
{
V0006 = 1
}
ELSE
{
V0006 = 0
}
}
Var 0003 // delay A/P calc
Var 0004 // A/T from 04F2 bit 11
{
V0005 = DELAY V0004 ,10
IF V0004 < V0005
{
V0007 = 1
}
ELSE
{
V0007 = 0
}
}
Var 0005 // delay A/T calc
Var 0006 // A/P disconnect flag
{
IF V0001 = 1
{
IF V0006 = 1
{
V0008 = 1
}
}
}
Var 0007 // A/T disconnect flag
{
IF V0001 = 1
{
IF V0007 = 1
{
V0009 = 1
}
}
}
Var 0008, Link IOCARD_OUT, Output 12 // A/P disconnect led
Var 0009, Link IOCARD_OUT, Output 13 // A/T disconnect led
Var 0010, Link IOCARD_SW, Input 1 // A/P reset sw
{
V0008 = TOGGLE 0
V0014 = TOGGLE 0
}
Var 0011, Link IOCARD_SW, Input 2 // A/T reset sw
{
V0009 = TOGGLE 0
V0014 = TOGGLE 0
}
Var 0012, Link FSUIPC_IN, Offset $04FE, Length 2 // PM flag
{
V0001 = TESTBIT V0012 ,2
}
Var 0013, Link FSUIPC_IN, Offset $04F0, Length 2 // PM A/P & A/T read
{
V0002 = TESTBIT V0013 ,0
V0004 = TESTBIT V0013 ,11
}
Var 0014, Link FSUIPC_OUT, Offset $56F8, Length 2 // Master reset write
Var 0016, Link FSUIPC_OUT, Offset $050A, Length 2 // disconnect main sw
zirakonium
02-08-2008, 10:49 AM
Hi again
Here is another version
Rgd John Hansen, Denmark
// *****************************************************************************
// * Config_SIOC ver 3.5 - By Manolo Vélez - www.opencockpits.com
// *****************************************************************************
// * FileName : WithFlash&MasterReset.txt
// * Date : 08-02-2008
Var 0000, Value 0 // Flashing Generator
{
IF V0000 = 0
{
V0000 = TIMER 1 ,1 ,50
}
IF V0000 = 1
{
V0000 = DELAY 0 ,50
}
IF V0001 = 1
{
IF V0006 = 1
{
V0010 = V0000
}
}
ELSE
{
V0010 = 0
}
}
Var 0001 // disconnect flag pm
{
IF V0001 = 1
{
IF V0006 = 1
{
V0008 = 1
}
}
IF V0001 = 1
{
IF V0007 = 1
{
V0009 = 1
}
}
IF V0001 = 0
{
V0006 = 0
V0007 = 0
}
}
Var 0002 // A/P from 04F2 bit 0
{
V0003 = DELAY V0002 ,10
IF V0002 < V0003
{
V0006 = 1
}
ELSE
{
V0006 = 0
}
}
Var 0003 // delay A/P calc
Var 0004 // A/T from 04F2 bit 11
{
V0005 = DELAY V0004 ,10
IF V0004 < V0005
{
V0007 = 1
}
ELSE
{
V0007 = 0
}
}
Var 0005 // delay A/T calc
Var 0006 // A/P disconnect flag
{
IF V0001 = 1
{
IF V0006 = 1
{
V0008 = 1
}
}
}
Var 0007 // A/T disconnect flag
{
IF V0001 = 1
{
IF V0007 = 1
{
V0009 = 1
}
}
}
Var 0008, Link IOCARD_OUT, Output 12 // A/P disconnect led
Var 0009, Link IOCARD_OUT, Output 13 // A/T disconnect led
Var 0010, Link IOCARD_OUT, Output 11 // Master Caution led
Var 0011, Link IOCARD_SW, Input 1 // A/P reset sw
{
V0008 = TOGGLE 0
}
Var 0012, Link IOCARD_SW, Input 2 // A/T reset sw
{
V0009 = TOGGLE 0
V0016 = TOGGLE 0
}
Var 0013, Link IOCARD_SW, Input 0 // Master Reset sw
{
V0010 = TOGGLE 0
V0016 = TOGGLE 0
}
Var 0014, Link FSUIPC_IN, Offset $04FE, Length 2 // PM flag
{
V0001 = TESTBIT V0014 ,2
}
Var 0015, Link FSUIPC_IN, Offset $04F0, Length 2 // PM A/P & A/T read
{
V0002 = TESTBIT V0015 ,0
V0004 = TESTBIT V0015 ,11
}
Var 0016, Link FSUIPC_OUT, Offset $56F8, Length 2 // Master reset write
Var 0017, Link FSUIPC_OUT, Offset $050A, Length 2 // disconnect main sw
zirakonium
02-08-2008, 02:08 PM
Hi
With regard to disconnect A/P i have used Offset 04F0 in project magenta,
Light function for CMD led. Bescuse the sioc script using bit 0 of that offset,
the disconnect function only works for CMD A.. I soon modifi this, so the offsets will be Fsuipc 07BC (Autopilot Master Switch). Then will CMD B
also be covered, and I will post the script as soon as possible....
Best Regards John Hansen, Denmark
jfuenmay
02-12-2008, 11:08 AM
Hi all. I am also trying to program this function in my cockpit.
Unfortunately it is wired with a SYS3 board from FDS (FlightDeckSolutions).
The logic to be written should be quite simple since the conditions for
the functions could be easily implemented, The problem is that I do not
have enough documentation for the language used in pmSystems.
Interfaceit, the program that controls the I/O to the SYS cards is quite simple and not suited for this kind of logic. Therefore it should be implementes in the pmSystems code itself.
Does anybody know of any good documentation for implementing functions
in pmSystems logic since they seem to be reluctant to provide a solution
themselves.
I for one know there are a lot of people out there with this problem.
To give you an example, the A/T disengage light and pushbutton works
upon the following conditions :
Illuminates red:
1- Flashing : The A/T has been disengaged. Light can be extingushed
pushing the button. ( offset and respective bit need to be known )
2- Steady.The disengaged light test switch is position 2
Illuminates amber:
1- Flashing : The AP has automatically reverted to CWS pitch or roll
mode while in CMD mode. The light can be reset by
pushing the button or selecting the mode.
2- Steady : The disengage light test switch is in position 1.
This should not be so difficult to implement in any decent language.
Thanks folks
airsideservicesltd.
02-13-2008, 05:24 AM
This offset issue has been lurking for some time. We discussed when this issue would come to the fore for hobbyists early last year. The lack of information prompted an in-house solution.
Certain organisation has the relevant information to answer this question to help all with glass cockpit software (therein lies the clue). It would not be profitable for them to release to all and sundry due to hardware/software partnerships.
The afds coding for all of our current installations was mapped for our commercial hardware only.
jfuenmay
02-13-2008, 02:07 PM
Well, I think that it all comes down to that the wrong asumption was made
by those who purchased the pmSystems software when it was implied
that user define variables, functions and code could implemented
to suit individual needs. A $1000 piece of software is not really
what a "hobbyst" would purchase. That in conjunction with the rest
o PM software comes to several thousand dollars. Ceratinly what
professional packages run for. A license for ArcInfo for example runs
several thousand dollars and so on.
Is your solution pmSytems embeded code that can be applied to
any I/O card solution?
I for one, will start looking at pmSystems logic and try to understand it.
I you can program in C you can porgram in "anything" :)
airsideservicesltd.
02-14-2008, 02:52 AM
I will contact our tech partners.
John (zirakonium) - thanks very much for posting up your SIOC code.
Just wondering ... does your code include the FMC warning light/switch ? Just not sure from your code whether you are referring to that in these lines:
Var 0010, Link IOCARD_OUT, Output 11 // Master Caution led
Var 0013, Link IOCARD_SW, Input 0 // Master Reset sw
or whether that's just the main Master Caution on the glareshield ?
(BTW I saw on another forum where the FMC warning can be derived from the FMC-Message offset flag in PM, I'm thinking of trying that)
thanks
airsideservicesltd.
02-14-2008, 07:42 AM
The FMC message flag will illuminate and if programmed a reset action offset will occur. This will replicate pm cdu inputs. A CDU message action does not change a state it simply reports.
A/T and A/P FS offsets both report and cause a change. The report condition may be used to show the state but the hardware needs to be reset without a change in fs state. FS has no offsets for this. They are second party and generally concerned with local hadware.
zirakonium
02-21-2008, 01:05 PM
Hi Again.....
I will post a modified version, today or tomorrow....
A slight difference in offsets, the will improve the script.
Best regards John Hansen, Denmark
zirakonium
02-21-2008, 02:46 PM
Hi
I will try to acommidate the FMC function, but i have to find out when this
annonciator is flashing....If any one of you know, please write...The only
documention i have is the Continential Boeing Manual on this site.
This version of my script i have added Master Caution annonciation when
a situtation occours, and also the reset of it.
I know that my script is not reflecting the real logics, because i have added
i flashing Master caution when A/P is disconnected but it was just a challange
when learning sioc programming...I will ofcause try to make a replica of the real logics.... But until then i'll post my latest script....
// *****************************************************************************
// * Config_SIOC ver 3.5 - By Manolo Vélez - www.opencockpits.com
// *****************************************************************************
// * FileName : AP-AT-MasterCaution.txt
// * Date : 21-02-2008
Var 0000, Value 0 // Flashing Generator
{
IF V0000 = 0
{
V0000 = TIMER 1 ,1 ,50
}
IF V0000 = 1
{
V0000 = DELAY 0 ,50
}
IF V0001 = 1
{
IF V0006 = 1
{
V0010 = TESTBIT V0000 ,0
}
}
}
Var 0001 // disconnect flag pm
{
IF V0001 = 1
{
IF V0006 = 1
{
V0008 = 1
}
}
IF V0001 = 1
{
IF V0007 = 1
{
V0009 = 1
}
}
IF V0001 = 0
{
V0006 = 0
V0007 = 0
}
}
Var 0002 // A/P from $07BC
{
V0003 = DELAY V0002 ,10
IF V0002 < V0003
{
V0006 = 1
}
ELSE
{
V0006 = 0
}
}
Var 0003 // delay A/P calc
Var 0004 // A/T from $0310A bit 3
{
V0005 = DELAY V0004 ,10
IF V0004 < V0005
{
V0007 = 1
}
ELSE
{
V0007 = 0
}
}
Var 0005 // delay A/T calc
Var 0006 // A/P disconnect flag
{
IF V0001 = 1
{
IF V0006 = 1
{
V0008 = 1
}
}
}
Var 0007 // A/T disconnect flag
{
IF V0001 = 1
{
IF V0007 = 1
{
V0009 = 1
}
}
}
Var 0008, Link IOCARD_OUT, Output 12 // A/P disconnect led
Var 0009, Link IOCARD_OUT, Output 13 // A/T disconnect led
Var 0010, Link IOCARD_OUT, Output 11 // Master Caution led
Var 0011, Link IOCARD_SW, Input 1 // A/P reset sw
{
V0008 = TOGGLE 0
}
Var 0012, Link IOCARD_SW, Input 2 // A/T reset sw
{
V0009 = TOGGLE 0
V0017 = TOGGLE 0
}
Var 0013, Link IOCARD_SW, Input 0 // Master Reset sw
{
V0010 = TOGGLE 0
V0017 = TOGGLE 0
}
Var 0014, Link FSUIPC_IN, Offset $04FE, Length 2 // PM flag
{
V0001 = TESTBIT V0014 ,2
}
Var 0015, Link FSUIPC_IN, Offset $07BC, Length 4 // A/P read
{
V0002 = V0015
}
Var 0016, Link FSUIPC_IN, Offset $310A, Length 1 // A/T read
{
V0004 = TESTBIT V0016 ,3
}
Var 0017, Link FSUIPC_OUT, Offset $56F8, Length 2 // Master Caution write
Var 0018, Link FSUIPC_IN, Offset $5530, Length 2 // Master Caution SixPack read
{
V0010 = TESTBIT V0018 ,1
}
Injoy regards John Hansen, Denmark