RCS and DAP development

DaveS

Addon Developer
Addon Developer
Donator
Beta Tester
Joined
Feb 4, 2008
Messages
9,434
Reaction score
689
Points
203
Getting these LNK2019 errors when trying to compile the latest sources:

1> Creating library .\..\..\Modules/MG_Atlantis.lib and object .\..\..\Modules/MG_Atlantis.exp
1>Atlantis.obj : error LNK2019: unresolved external symbol "public: __thiscall vc::DAPControl::DAPControl(class Atlantis *)" (??0DAPControl@vc@@QAE@PAVAtlantis@@@Z) referenced in function "public: __thiscall Atlantis::Atlantis(void *,int)" (??0Atlantis@@QAE@PAXH@Z)
1>PanelC3.obj : error LNK2019: unresolved external symbol "public: bool __thiscall vc::DAPControl::VCMouseEvent(int,int,union VECTOR3 const &)" (?VCMouseEvent@DAPControl@vc@@QAE_NHHABTVECTOR3@@@Z) referenced in function "public: bool __thiscall PanelC3::VCMouseEvent(int,int,union VECTOR3 &)" (?VCMouseEvent@PanelC3@@QAE_NHHAATVECTOR3@@@Z)
1>..\..\Modules\MG_Atlantis.dll : fatal error LNK1120: 2 unresolved externals
1>Build log was saved at "file://c:\Orbiter_SSU\Orbitersdk\Space Shuttle Ultra\Release\BuildLog.htm"
1>Atlantis - 3 error(s), 58 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
 

SiameseCat

Addon Developer
Addon Developer
Joined
Feb 9, 2008
Messages
1,699
Reaction score
1
Points
0
Location
Ontario
Have you added the DAPControl files to the project? I forgot to mention that I added these two files.
 

DaveS

Addon Developer
Addon Developer
Donator
Beta Tester
Joined
Feb 4, 2008
Messages
9,434
Reaction score
689
Points
203
Have you added the DAPControl files to the project? I forgot to mention that I added these two files.
No such files to add. Maybe you forgot to check them in?
 

DaveS

Addon Developer
Addon Developer
Donator
Beta Tester
Joined
Feb 4, 2008
Messages
9,434
Reaction score
689
Points
203
They should be in the VC folder.
There they were! Added them and now it compiles nicely.

BTW, the DAP lights on the C3 DAP doesn't work. Responds to mouse-clicks though.
 

SiameseCat

Addon Developer
Addon Developer
Joined
Feb 9, 2008
Messages
1,699
Reaction score
1
Points
0
Location
Ontario
At the moment the pushbuttons display a debug string message and that's it. I'm working on adding functionality to them.


-----Posted Added-----


I'm planning to use 'dummy thrusters' to get thruster commands and use these to fire the real RCS thrusters. This will have the side effect of preventing any other autopilots from controlling the shuttle.

How should the RHC softstop be handled? In real life, moving the RHC past the softstop causes continuous RCS firings, whereas if the RHC is moved up to the softstop the thrusters will fire to match the mode selected on the DAP. I think the best way of simulating this is to treat a thruster command of less than 75% as moving the RHC within the softstop and a thruster command greater than 75% as outside the softstop.

Any comments?
 
Last edited:

SiameseCat

Addon Developer
Addon Developer
Joined
Feb 9, 2008
Messages
1,699
Reaction score
1
Points
0
Location
Ontario
I've checked in the new RCS handling code. For RCS commands of less than 75%, the DAP will use the DISC RATE rotation mode, otherwise, the thrusters will fire continuously. When the RHC is released, the DAP will hold the inertial attitude. At the moment, it will maintain the attitude when the RHC was released; I'm not sure if it should do this or simply null the rotation rates.

The RCS sounds don't quite work properly, due to the use of dummy thrusters. Also, the PULSE mode is not simulated yet.
 

DaveS

Addon Developer
Addon Developer
Donator
Beta Tester
Joined
Feb 4, 2008
Messages
9,434
Reaction score
689
Points
203
A bunch of errors:

1>.\GPC.cpp(758) : error C2065: 'RHCInput' : undeclared identifier
1>.\GPC.cpp(758) : error C2228: left of '.x' must have class/struct/union
1> type is ''unknown-type''
1>.\GPC.cpp(758) : error C2065: 'RHCInput' : undeclared identifier
1>.\GPC.cpp(758) : error C2228: left of '.y' must have class/struct/union
1> type is ''unknown-type''
1>.\GPC.cpp(758) : error C2065: 'RHCInput' : undeclared identifier
1>.\GPC.cpp(758) : error C2228: left of '.z' must have class/struct/union
1> type is ''unknown-type''
1>.\GPC.cpp(764) : error C2065: 'RHCInput' : undeclared identifier
1>.\GPC.cpp(764) : error C2228: left of '.data' must have class/struct/union
1> type is ''unknown-type''
1>.\GPC.cpp(765) : error C2065: 'RHCInput' : undeclared identifier
1>.\GPC.cpp(765) : error C2228: left of '.data' must have class/struct/union
1> type is ''unknown-type''
1>.\GPC.cpp(768) : error C2065: 'RHCInput' : undeclared identifier
1>.\GPC.cpp(768) : error C2228: left of '.data' must have class/struct/union
1> type is ''unknown-type''
1>.\GPC.cpp(769) : error C2065: 'RHCInput' : undeclared identifier
1>.\GPC.cpp(769) : error C2228: left of '.data' must have class/struct/union
1> type is ''unknown-type''
1>.\GPC.cpp(773) : error C2065: 'RHCInput' : undeclared identifier
1>.\GPC.cpp(773) : error C2228: left of '.data' must have class/struct/union
1> type is ''unknown-type''
1>.\GPC.cpp(774) : error C2065: 'RHCInput' : undeclared identifier
1>.\GPC.cpp(774) : error C2228: left of '.data' must have class/struct/union
1> type is ''unknown-type''
1>.\GPC.cpp(777) : error C2065: 'RHCInput' : undeclared identifier
1>.\GPC.cpp(777) : error C2228: left of '.data' must have class/struct/union
1> type is ''unknown-type''
1>.\GPC.cpp(778) : error C2065: 'RHCInput' : undeclared identifier
1>.\GPC.cpp(778) : error C2228: left of '.data' must have class/struct/union
1> type is ''unknown-type''
1>.\GPC.cpp(782) : error C2065: 'RHCInput' : undeclared identifier
1>.\GPC.cpp(782) : error C2228: left of '.data' must have class/struct/union
1> type is ''unknown-type''
1>.\GPC.cpp(783) : error C2065: 'RHCInput' : undeclared identifier
1>.\GPC.cpp(783) : error C2228: left of '.data' must have class/struct/union
1> type is ''unknown-type''
1>.\GPC.cpp(786) : error C2065: 'RHCInput' : undeclared identifier
1>.\GPC.cpp(786) : error C2228: left of '.data' must have class/struct/union
1> type is ''unknown-type''
1>.\GPC.cpp(787) : error C2065: 'RHCInput' : undeclared identifier
1>.\GPC.cpp(787) : error C2228: left of '.data' must have class/struct/union
1> type is ''unknown-type''

1>.\Atlantis.cpp(730) : error C2065: 'RHCInput' : undeclared identifier
1>.\Atlantis.cpp(730) : error C2228: left of '.data' must have class/struct/union
1> type is ''unknown-type''
1>.\Atlantis.cpp(731) : error C2065: 'THCInput' : undeclared identifier
1>.\Atlantis.cpp(731) : error C2228: left of '.data' must have class/struct/union
1> type is ''unknown-type''
1>.\Atlantis.cpp(4760) : warning C4244: 'initializing' : conversion from 'double' to 'int', possible loss of data
1>.\Atlantis.cpp(5063) : error C2065: 'RHCInput' : undeclared identifier
1>.\Atlantis.cpp(5063) : error C2228: left of '.data' must have class/struct/union
1> type is ''unknown-type''
1>.\Atlantis.cpp(5064) : error C2065: 'RHCInput' : undeclared identifier
1>.\Atlantis.cpp(5064) : error C2228: left of '.data' must have class/struct/union
1> type is ''unknown-type''
1>.\Atlantis.cpp(5065) : error C2065: 'RHCInput' : undeclared identifier
1>.\Atlantis.cpp(5065) : error C2228: left of '.data' must have class/struct/union
1> type is ''unknown-type''
1>.\Atlantis.cpp(5066) : error C2065: 'RHCInput' : undeclared identifier
1>.\Atlantis.cpp(5066) : error C2228: left of '.x' must have class/struct/union
1> type is ''unknown-type''
1>.\Atlantis.cpp(5066) : error C2065: 'RHCInput' : undeclared identifier
1>.\Atlantis.cpp(5066) : error C2228: left of '.y' must have class/struct/union
1> type is ''unknown-type''
1>.\Atlantis.cpp(5066) : error C2065: 'RHCInput' : undeclared identifier
1>.\Atlantis.cpp(5066) : error C2228: left of '.z' must have class/struct/union
1> type is ''unknown-type''
1>Generating Code...
1>Build log was saved at "file://c:\Orbiter_SSU\Orbitersdk\Space Shuttle Ultra\Release\BuildLog.htm"
1>Atlantis - 46 error(s), 1 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
 

SiameseCat

Addon Developer
Addon Developer
Joined
Feb 9, 2008
Messages
1,699
Reaction score
1
Points
0
Location
Ontario
Fixed. I forgot to add a variable declaration to Atlantis.h
 

DaveS

Addon Developer
Addon Developer
Donator
Beta Tester
Joined
Feb 4, 2008
Messages
9,434
Reaction score
689
Points
203
Compiles, but attitude controls is totally dead. No keyboard inputs or joystick inputs.
 

SiameseCat

Addon Developer
Addon Developer
Joined
Feb 9, 2008
Messages
1,699
Reaction score
1
Points
0
Location
Ontario
The 'Atlantis Cockpit' scenario should work now. I had to add a new propellant tank for the fake thrusters and forgot to update the scenario files.
 

DaveS

Addon Developer
Addon Developer
Donator
Beta Tester
Joined
Feb 4, 2008
Messages
9,434
Reaction score
689
Points
203
The 'Atlantis Cockpit' scenario should work now. I had to add a new propellant tank for the fake thrusters and forgot to update the scenario files.
Works now.
 

DaveS

Addon Developer
Addon Developer
Donator
Beta Tester
Joined
Feb 4, 2008
Messages
9,434
Reaction score
689
Points
203
Checked an updated C3.dds with corrected DAP panel. Now matches today's Orbit DAP panel. I hope Donamy doesn't mind.
 

Donamy

Addon Developer
Addon Developer
Donator
Beta Tester
Joined
Oct 16, 2007
Messages
6,917
Reaction score
211
Points
138
Location
Cape
Not at all !!
 

DaveS

Addon Developer
Addon Developer
Donator
Beta Tester
Joined
Feb 4, 2008
Messages
9,434
Reaction score
689
Points
203
Not at all !!
Then I'll just update the A6U DAP panel and check it in.


-----Posted Added-----


And that has been done. Also issued an updated C3 DAP panel as I had forgot to add the DISC RATE buttons.
 

tblaxland

O-F Administrator
Administrator
Addon Developer
Webmaster
Joined
Jan 1, 2008
Messages
7,320
Reaction score
25
Points
113
Location
Sydney, Australia
I've checked in the new RCS handling code. For RCS commands of less than 75%, the DAP will use the DISC RATE rotation mode, otherwise, the thrusters will fire continuously. When the RHC is released, the DAP will hold the inertial attitude. At the moment, it will maintain the attitude when the RHC was released; I'm not sure if it should do this or simply null the rotation rates.
I would expect the DAP to just null the rates upon releasing the RHC. But then I know nothing of how the real thing operates, that is just my opinion.

BTW, I like your "soft-stop" solution. Minor issue, but can you get a DISC RATE using the keyboard, ie, numpad keys by themselves give you continuous firing but CTRL-numpad keys give you DISC RATE?
 

SiameseCat

Addon Developer
Addon Developer
Joined
Feb 9, 2008
Messages
1,699
Reaction score
1
Points
0
Location
Ontario
CTRL+numpad keys fire the thrusters at 10%, so this would give you DISC RATE. The numpad keys alone will provide continuous thruster firing.
 

Donamy

Addon Developer
Addon Developer
Donator
Beta Tester
Joined
Oct 16, 2007
Messages
6,917
Reaction score
211
Points
138
Location
Cape
DaveS,

I can give you the .psd files, for any panel you want to change, if that helps.
 
Top