[21:26:24] NASSP Logging has been started by n7275 [21:26:29] Guenter! [21:31:37] Huh why did he leave [21:47:22] thewonderidiot: I have concluded that simulation in Quartus is permanently broken. Are there any standalone simulators that support VHDL that you can recommend? [21:47:49] I've only used Icarus Verilog.... whose name suggests that it might not do VHDL [21:47:56] I've never used VHDL, so I'm not sure [23:17:24] Allegdly Icarus Verilog has a VHDL preprocessor. I might test it out [06:22:46] Hey good morning/evening [11:31:44] He [11:31:45] y [11:38:25] How are things goind? [11:38:30] *Going [11:40:04] Pretty good. Doing some scripting to take a set of directory names from a CSV and creating the dir + share URL in Nextcloud [11:43:14] Interesting [11:44:44] There is scouting event this weekend and they want to give each group a QR code to a Nextcloud filedrop so they can hand in media files that gets dropped in a folder with their name so the jury can view it. [11:45:06] Nice combination of bash, curl, awk and qrencode to make it work. :) [11:46:48] awk? [11:46:58] I heard it only once [11:47:08] And I heard that only gods can use it [11:47:10] :D [11:47:28] It's quite versatile [11:47:28] Sounds fun [11:47:55] This one shows it quite well https://github.com/patsie75/awk-demo [11:48:47] I'm only using it to use the comma delmited data from the CSV to format it as a directory name [11:50:33] BRB [12:11:48] Same. Lunch [12:27:27] back [13:01:27] hey guys [13:08:18] Hey Mattew [14:04:30] hey [14:05:26] Hey Indy [14:13:56] how is the countdown going? [14:14:13] Setting up the set [14:14:22] Going nicely [14:14:40] I am 2000 times better prepared this year than on last year [14:16:03] when are you launching? [14:16:47] 7:51 CEST, may 18th [14:17:13] That is 5:51 UTC [14:17:18] good time, I'll be there I think [14:17:28] Early :D [14:19:36] I had a question about the crew egress after splashdown. I think I have it solved. They had to wait for sunrise right? It was too dark. I think, if my source is accurate (Transcriptions from PAO), that the crew egressed at 12:04 Houston time, that is around the hour 148 [14:19:53] I assume after the sun went up and visibility was good... [14:22:25] postlaunch report has [14:22:29] 10:52 EST landing [14:22:38] 11:48 flotation collar installed and inflated [14:22:45] 12:20: astronauts onboard recovery ship [14:22:52] 13:18 CM onboard recovery ship [14:24:53] "At 11:04 Houston time we received the report the hatch was open." [14:26:14] so at about 149h GET I guess? [14:26:37] lol, all these time conversions [14:26:58] landing was at 147h GET, that is sure [14:27:11] so at 148h, not 149 [14:27:55] so yeah, egress about an hour after landing, maybe a bit more, seems right [14:30:35] Yeah, must have taken the 12:04 wrong [14:30:44] 11:04 makes much more sense [14:30:56] As per the 148h [14:35:54] This wold be: [14:35:55] 10:52 EST landing, (147:01 GET), 11:48 EST Flotation collar installed and inflated (147:57 GET), 12:04 EST Hatch Open (148:13 GET) [14:35:59] Correct? [14:37:47] yeah [14:38:47] Be back in around half an hour [14:46:26] I think when I get these lights merged I'm going to do a deep dive into rewiring some stuff [14:48:52] I don't like making "controller" classes that just check the position of a switch. [14:56:40] ah you put the PR up, I'll take a look [14:59:31] why are you converting VESSEL* to OBJHANDLE and then when it gets used in the electric light class back to VESSEL? [15:08:28] oh whoops [15:08:47] I probably shouldn't do that [15:10:32] yeah VESSEL pointer should work fine [15:17:26] I'm fairly certain that I'm freeing the right memory on those but not 100% sure [15:21:25] what memory needs to be freed? [15:21:33] electricLight* newLight = new electricLight [15:21:35] from this? [15:29:40] need to dig into the API reference a bit more, but I'm pretty sure you have to call the oapi deleteLightemitter and it does some internal directx freeing [15:31:08] I'f I don't do that I get crashes on exist sometimes, and extra phantom lights showing up if I relaunch without closing first [15:31:45] calling those delete functions in the electric light destructor seems to fix it [15:32:28] electriclight itself should get deleted by pannelSDK on exit because it's an e_object [15:32:56] yeah [15:35:48] Hey guys [15:36:13] Do you recommend this for fixing the "pixelated" clouds on LEO/EPO? https://www.orbithangar.com/showAddon.php?id=abfd8649-ea3d-42c9-8e1c-6155d0e0e9d6 [15:36:51] hmm, I don't think SSU is calling the delete functions [15:37:01] DelLightEmitter or ClearLightEmitters [15:37:18] TurryBoeing, never tried it [15:37:56] Me neither, but my clouds are a little weird. Some viewer "complained" during 7 [15:41:06] These are my settings. Maybe something to improve ? https://prnt.sc/a4F9_dtvvP0j [15:41:15] n7275, for your new light class, the position is kept in the class itself, right? [15:41:24] Then it will need a function to be shifted [15:41:31] LightPosition [15:41:41] which will need to be called from [15:41:44] Saturn::UpdateMassAndCoG() in saturn.cpp [15:57:24] should I put the position somewhere else? [15:57:44] nah I think it's fine [15:57:53] often the VECTOR3 for the position is directly in the vessel class [15:57:57] it just can't be a constant [15:58:25] and the function you need to add gets the CG shift, so not total CG [15:58:33] function(-CoGShift) [16:15:28] okay [16:17:25] what's the best way to work out their initial positions? [16:20:53] the mesh is shifted by 24.538 meters from the CSM coordinate system [16:21:08] so I am calculating the CG in CSM coordinates and then apply the 24.538 meters [16:21:22] so you should also figure out the position in the CSM coordinate system [16:21:34] and then subtract 24.538 meters [16:22:10] aha! [16:22:14] systems handbook [16:22:19] has "SM axis +X location" [16:22:35] those are exactly the numbers we need [16:22:47] they are in inches of course [16:23:00] with that you can easily get the +X axis position [16:23:12] morning! [16:23:15] you probably already figured out Y and Z [16:23:16] hey [16:23:29] and of course the coordinate system in Orbiter is different [16:23:58] Hey thewonderidiot [16:24:05] n7275, drawing 11.2 on the left side [16:25:54] okay cool. that should be fairly easy then [16:27:31] they're in a rough placeholder spot for testing color/intensity at the moment. easy to move. [16:58:06] Installed the addon said above, seems to work [16:58:23] Just got one more question, Houston [16:59:34] What was or final statement on the LM/CM DV valve position? [16:59:53] (Tunnel vent valve) [17:00:03] Off or LM/CM DV ? [17:18:54] I'd go with off [17:18:59] and never touch it again [17:20:04] Off on prelaunch and no touch? [17:20:07] I agree [17:20:25] I believe it´s what we thought, but couldn´t remember [17:23:40] on missions with docking equipment it's also off until the backup crew procedures [17:24:22] and I hope you aren't actually landing the CSM on the Moon :D [17:30:57] I havn´t decided yet [17:31:25] would make the mission and especially the day in lunar orbit shorter [17:31:30] Been told stories about the beauty of the moon, and that it can tempt you... [17:31:54] indy91 but then we lift-off, no? [17:32:11] yeah just start P12 in the CMC [17:32:18] Touch and go [17:38:45] donation goal [17:38:53] for landing :D [17:45:30] Guys! Going to bed [17:45:32] :) [17:45:35] See you! [17:45:42] cya! [17:56:41] hahahahahaahaha [17:56:58] Marc just got specification documents about the Central Timing Equipment from NARA [17:57:10] and it has way more environmental requirements than I expected [17:58:06] (j) Hail: Hailstone accumulating to a maximum depth of 2.0 inches on horizontal surfaces in 15 minutes having an average diameter of 0.3 inches, a density of 50 lbs/ft3 and a hardness of 3 on Mohs' scale. Impact velocity shall be based on a fall rate of 100 ft/sec maximum, with a wind speed of 33 ft/sec maximum. [17:58:17] wtf were they doing to this poor box? it goes inside the CM! [18:06:09] astronauts throwing the CM out of the hatch while they are on the chutes? :D [18:06:15] the CTE* [18:17:03] but to be fair, those requirements will be driven by CM landing, water splashdown or not, more than anything else [18:17:46] still [18:17:47] hail [18:17:48] lol [18:19:40] yeah lol [18:19:47] I mean there's plenty of shock and vibe requirements as well [18:20:13] sea spray.... 4 explicitly listed types of fungus... but hail? [18:53:57] Florida has some weird weather [18:54:27] but still... [18:56:27] very odd [19:10:28] https://www.orbiter-forum.com/threads/orbiter-screenshot-thread.8/post-595014 [19:23:18] NASSP on Linux, nice [19:26:41] could our connector classes have problems with Linux? Maybe the command for S-IC/S-II sep isn't coming through [19:30:19] probably [20:24:57] night! [20:34:58] Wow! That's neat! [20:35:17] Obviously this is running in Wine. Connectors, and telemetry are Windows only. [20:35:26] Probably other things too. [21:14:01] someone did just get a Linux build working I thought [21:40:03] https://www.orbiter-forum.com/threads/linux-playground.40476/ [22:35:20] thewonderidiot, did you find any light documentation? [22:35:38] haven't had a chance to look through my CSM box, but will do so as soon as the work day is out [22:49:48] do you know how much, if at all, the lights differed between Block I and Block II? [22:49:55] (did Block I even have the lights?) [22:55:51] not sure about Block I vs II. the extent of what I know is that they were wired to the same thing for CSM-104 and CSM-114, at least as far as the wiring diagrams in the systems handbooks can be trusted [22:58:07] hmmm okay [01:23:56] n7275: no luck -- nothing unscanned that mentions lights in the CSM box [01:32:37] darn [01:41:27] well thanks for looking [11:16:54] .ask indy91 I've pushed my dsky changes to NASSP/agc. I'm having trouble finding out why the DSKY can't resolve the symbols for LEM_LCA in Saturn5NASP and Saturn1b. I've played with pretty much all the linker options I can think of and am a little out of ideas. Could you take a look to see what's wrong? [13:12:48] Thymo, I think the circuit breakers you added wiring for should be connected to specific phases of the AC busses rather than the bus itself [14:59:35] hey [15:00:57] sure [15:07:11] it's probably not a good idea to directly connect the LCA to the DSKY though [15:07:36] DSKY should have no LM or CSM specific stuff like that [15:12:39] Thymo, GetAnnunVoltage needs to be a virtual function if you don't include the lm_eps files in the Saturn projects [15:12:48] then it builds [15:38:02] hey Niklas [15:38:06] hey hey [15:39:36] yesterday evening I did a very rare rendezvous procedure, calculated with my new DKI processor. Still working on it. I thought I was nearly done, but there are so many details that still needed work. [15:39:47] one thing I need to check, the CSI burn didn't go well [15:40:04] when I started P33 it came up with a TPI slip time of 16 minutes [15:40:07] oh that's kind of an important one [15:42:37] with this procedure CSI burn was 370 ft/s, 18 seconds [15:42:42] and a quite high altitude rate [15:43:01] so I wonder if the finite burn time is a problem there [15:43:17] but I also had VHF ranging errors larger than normal, so could just be the state vector [15:47:51] but P32 did come up with a good solution [15:47:57] even if the burn wasn't great [15:48:14] so the RTCC calculated phasing burn was good, which is all I wanted to see [16:17:16] uh oh [16:17:32] I think I just found a bug if both Apollo 8 MCC-1 and 2 are being scrubbed [16:18:04] which is likely to affect Turry [16:23:45] morning! [16:23:52] uh oh, what is the bug? [16:24:55] LOI time never being calculated [16:25:01] which is used to schedule MCC events [17:15:16] it was a very different bug, but the exact same variable caused the issue he had in his last Apollo 8 attempt using NASSP 7 [17:28:42] what are the chances of that haha [17:42:36] indy91: You can move that block outside of if (scrubbed) now can't you? They're identical. [17:45:20] not quite the same [17:46:14] scrubbed && fcn == 20 [17:46:21] notscrubbed && fcn == 20 or 21 [17:46:39] so basically, it doesn't update the LOI time if it is the MCC-2 calculation and it's getting scrubbed [17:46:46] but do I want that... [17:46:56] yeah I think I want that [17:47:06] MCC-3 or 4 will be calculated on the basis of MCC-1 data [17:47:20] so the MCC-2 calculation shouldn't update anything if MCC-2 is scrubbed [17:48:40] https://github.com/orbiternassp/NASSP/blob/b73839c5820f8b538cab89148f516f84886ee010/Orbitersdk/samples/ProjectApollo/src_launch/RTCC_Mission_C_PRIME.cpp#L461 [17:48:41] https://github.com/orbiternassp/NASSP/blob/b73839c5820f8b538cab89148f516f84886ee010/Orbitersdk/samples/ProjectApollo/src_launch/RTCC_Mission_C_PRIME.cpp#L472 [17:48:49] Both those blocks are identical. [17:49:57] You don't want insert LOI time on a non-scrubbed MCC-2? [17:50:15] s/non-// [17:50:19] correct [17:51:53] I think that is slightly closer to the procedures they would have done there [17:52:30] So (fcn == 20 || (!scrubbed && fcn == 21)) [17:52:46] Meh. Probably warrants a little duplication over being easier to understand the condition [17:53:11] yeah. I had thought about moving the block to a separate one, but for now it's ok as it is [17:53:29] if anything more gets added to both scrubbed and not-scrubbed blocks I'll probably make it some common code [17:53:49] Agreed, sounds good. [18:47:31] I also want to adjust the Apollo 8 criteria for MCC-3 and 4 [18:48:10] if Turry didn't do that extra burn then MCC-1 and 2 would be scrubbed, but likely not MCC-3 [18:48:14] and then MCC-4 is near 0 [18:48:30] there are no criteria to scrub MCC-4 really for Apollo 8 [18:48:40] but it does says "trim residuals to 0.2 ft/s" [18:48:49] so I think I'll just use the 0.2 as the threshold [19:54:44] Okay I'm confused why marking that function virtual works exactly. Obviously I have some stufying to do on how the virtual table is being used by the linker [19:59:26] all I know is, that across dll modules you need to use virtual [19:59:35] like interaction between mobile launcher and Saturn for example [19:59:48] I only know it works, not sure why or if it's the best way :D [20:01:13] Okay, found something. If you mark it virtual a pointer to the function is retrieved from the VTABLE at runtime. If you don't mark it virtual the address of the function is resolved at compile time but obviously that won't work for DLLs. [20:45:16] This answer gives a decent explanation https://stackoverflow.com/questions/56247091/why-invoking-class-method-from-dll-requires-virtual-specifier/56247949#56247949 [20:49:12] ah nice [20:51:30] good night! [13:32:31] hey [13:36:57] hey [13:37:08] what's up? [13:49:20] Went home ealy from college. Massive thunderstorm. I should have left 2 minutes earlier, got back soaked lol [14:58:14] hey [14:59:00] hey Matt [15:00:42] Hi [15:05:39] MCC bug successfully avoided [15:06:41] should hopefully be the only problem of that sort [15:25:07] nice [15:25:38] I got my lights to shift with shifting cg last night [15:30:00] ah so each of your lights has a spotlight and a beacon [15:30:01] I need someone to add a little animated spotlight door now. [15:30:26] yes [15:32:35] weird that you need to treat spotlight and beacon differently with the CG location [15:32:48] that made it slightly more complicated because one of them has a *VECTOR3 position, and the other one is created by passing in a const reference [15:35:38] hmmmm [15:35:43] looking at the Orbiter code [15:35:55] spotlights seem to be managed by ShiftCG?? [15:36:25] so I don't think you need to manually call SetPosition even [15:36:33] it might work without [15:36:57] the LightEmitter class is what Orbiter manages [15:37:06] so AddPointLight and AddSpotLight [15:37:37] I'll do some more testing. it's a lot easier to see the beacon moving [15:39:31] there are some confusing notes in the API reference that made me think I needed to [15:40:54] yeah, and the Open Orbiter version is slightly modified from the last Beta I think [15:41:08] so not guaranteed that it actually works [15:42:06] openorbiter is going in so many directions... [15:44:16] there is a GetPosition function you can call [15:44:19] to check on the position [15:44:32] if that changes with a CG shift then we are good and you don't need to call SetPosition [15:44:50] is openorbiter going in many directions? I'm not really seeing it going anywhere. Just ideas [15:45:22] almost better than having 10 forks that become impossible to merge together at some point [15:46:55] well, that's what I meant. the ideas are all over the place. as long as what just happened to SimH never happens, I'll be happy though. [15:47:40] googles SimH [15:53:09] the current maintainer added a feature that no one wanted. people asked him to change it slightly. he added a clause to the mit-like license, saying no one is allowed to fork and change the feature... [15:53:20] and everyone jumped ship [15:54:36] how to remove yourself from a project in 4 easy steps [15:56:15] LOL! [15:56:35] So what do people do? Revert to a commit before the license change and fork from there. :P [16:02:52] yep [16:05:33] the IBM7094 and 360 emulators that I use, come from one of the "good guys" in that mess. so development will continue thankfully [16:07:07] imagine if someone would decide our DSKY should be pink [16:07:12] that would warrant a fork, too [16:08:34] hey gondos [16:08:38] hi [16:08:56] I need some help with apollo5 mission [16:09:27] how so? [16:10:00] did I break it again [16:10:54] we have two scenarios, one is cold and dark and one is at T-60 seconds. [16:11:03] which one causes problems? [16:15:23] sorry, got interrupted IRL... [16:15:35] I try the T-60s but it crashes [16:16:29] null pointer exception on vessel2->dock [16:16:55] but I see no docking point declared in nsat1stg1.cfg [16:17:04] so I think it's normal that it crashes... [16:17:11] interesting [16:17:14] I'll have to try it [16:17:25] I'm in linux though so it may explain the problem :\ [16:17:34] oooooooh [16:17:40] so about that [16:18:17] there are also docking ports only declared in code [16:18:35] we do a lot of inter-vessel communication with the windows, SendMessage() function [16:18:37] ah, interresting [16:19:16] via winsock you mean? [16:19:57] https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-sendmessage [16:20:32] strange, I had no compile problem with that, I'm on the Orbiter2016 branch BTW [16:20:35] does the scenario crash when you load it? [16:20:39] or during launch [16:20:47] when I load [16:20:59] a better method would be to overload the Vessel classes a clbkGeneric() [16:21:18] Apollo 11 work for exemple [16:21:21] and which dll has the exception? [16:21:35] Apollo 5 uses stages docked together [16:21:48] and they talk to each other with the connector classes [16:22:10] ok [16:22:15] it crashes in the core [16:22:20] SuperVessel.cpp [16:22:21] Vector as(vessel2->dock[port2]->dir); [16:22:25] dock in nullptr [16:22:34] I see [16:22:35] vessel2->dock I mean [16:22:50] might be something we can change for it to work on Linux [16:22:55] sorry, have to go for a bit [16:22:57] and I see CreateDock is not called on the S-IB-4 vessel [16:23:38] I'll look around the connector stuff to see if I can work something out [16:23:41] thx [16:27:35] Are the MFDs necessary for it to work BTW? I don't know how to use them and I see no socket trafic going on during a launch^^ [16:38:23] :facepalm: [16:39:15] nah, none of the MFD are essential for the simulation to work [16:39:17] CreateDock was not called because I did not add s1b.cpp in the module [16:39:29] although the Checklist MFD does also use the connector class I believe [16:39:32] what a booboo^ [16:39:38] that'll do it haha [16:39:40] now it starts [16:39:51] oh you already did a bunch of code changes to make it work? [16:39:53] but the rocket wobbles on the pad [16:40:21] yes, mostly the socket API and lots of DWORDs to change [16:41:49] oh I just saw something in the screenshot thread. What Thymo said was partially wrong, the tower is not jettisoned automatically [16:41:59] yeah I figured it out ;) [16:42:07] it's only automatic when you do a Mode 1 abort [16:42:18] then the tower gets jettisoned when it's time for the chutes [16:42:28] that's what the auto position of the switches is for [16:42:39] I watch some videos on youtube and noticed some fidgeting with aborts nobs [16:42:55] morning! [16:42:59] but if staging doesn't work, the command for that goes through, you guessed it, the connector class [16:43:02] hey Mike [16:43:55] but since I got cheap and shared meshes instead of copying them in the graphics client, the offset added during stage separation messes with the camera in the VC and I can no longer flip switches^^ [16:44:04] morning [16:44:35] the staging is fixed, it was some CRLF problem in the config files, same old problem... [16:45:37] apollo 5 still gogin strong T+420s :) [16:45:43] *going [16:46:02] is it a suborbital mission? [16:46:21] not if things go as planned... [16:46:47] arf [16:46:51] there are suborbital abort modes the LM can do [16:46:55] but not normally :D [16:47:40] if you get Orbiter and NASSP working on Linux I will never use windows again [16:48:49] lol, it's on the way ;-) [16:48:58] just missing a good Graphics Client [16:49:17] and pushing some stuff in main will be a problem I guess [16:49:55] it pains me so much to see all the winapi stuff that's being used and that will break every mods [16:50:21] but I hope we can do something when goind 64bit because it'l break every binaries anyway [16:50:51] ok, got MECO [16:51:04] 163x238 orbit [16:52:01] that sounds right [16:52:08] that is kilometers I hope, not nautical miles [16:54:53] yep:) [16:56:06] a shame I don't have a windows box because I could push some PRs with moving GDI to sketchpad in NASSP [16:56:08] hopefully it can get rid of the nosecap and that isn't a Windows only feature [16:56:41] but right now everything does not line up and I don't know if it a bug on my side... [16:59:03] BTW, how di you reverse engineer the RTCC stuff? [16:59:19] I felt your pain going through all the gotos^^ [17:00:13] looks like assembler rewritten in C... [17:00:13] oh that is me foolishly trying to implement flowcharts for RTCC equations I have [17:00:21] ah, I see [17:00:32] hehehe [17:00:43] I should stop doing it. But whenever I find a new document I think "great, I can implement this 1:1" [17:00:55] just so you know, g++ does not allow declaring variables across goto labels [17:00:58] and likely, in Fortran, they did implement it that way with lots of goto [17:01:20] had to move every declaration on top of the function, it's even less readable now, lol [17:01:27] oh no [17:01:38] yeah I can at least avoid doing that in the future haha [17:02:26] anyway, that's a nice piece of work you've done :) [17:03:12] thanks! [17:03:16] lots of lines of code... [17:03:27] this is from a Shuttle document, not RTCC, but you get the idea: https://i.imgur.com/V1rQeBY.png [17:04:12] three do untils within each other [17:04:22] and you bet there are some gotos in there, too [17:04:55] yeah, I saw a video once, the guy was saying "the diagram *is* the source code" ^^ [17:07:02] if we had actual RTCC code we could run it as a black box and not worry about it using bad code from a modern point of view [17:07:26] Had one last question as I wrap up the first round of the failure code. Currently I have it in the MFD refresh function. For obvious reasons it should actaully be in timestep. This uses "g_Data.progVessel->MainPanel.SetFailedState("system", 1, 0);" It looks like it would require MainPanel to be public instead of protected? [17:07:29] but in like 80% of the cases I should not have used it [17:08:52] which timestep is that? Often we have avoided the public/protected thing by adding a new class as a friend class in the Saturn class [17:09:01] not sure if that is really a good solution though [17:10:53] The PAMFD timestep. I could also just stick it in the individual vessels (not sure where would make sense) and have PAMFD save and load the failure rate. Just not sure how to get the vessel to read a PAMFD var [17:11:57] what you could do is add a public function in the Saturn class [17:12:07] and that calls MainPanel.SetFailedState [17:12:15] probably the best solution really [17:24:06] I wonder if we could link gfortran and g++ objects... [17:24:25] I don't see why not [17:25:24] at least linking into a c++ binary, not the other way around [17:25:44] not sure gfortran supports c++ mangling [17:28:31] dangerous ideas haha. but that would be one [crazy] way to preserve the flowchart structure in the rtcc code. [17:29:29] isn't the main problem there that I didn't put all the declarations on top of the function? [17:29:40] I can fix that [17:31:17] well that would probably be easier. was just a musing. [17:31:55] the ideal would be to have the binaries and an emulator :p [17:33:58] https://github.com/n7275/HistoricAerospaceSoftware/blob/main/fortran/routines/ALEFEM.f [17:34:41] a few hundred more years and I will have the limited code we have, transcribed :) [17:37:05] lol [17:37:27] and that is only the best next thing to RTCC code [17:37:36] it's very close [17:37:52] did some fortran at school like 25 years ago, don't remember much but that brings back some memories^^ [17:38:49] RTCC code was mostly in Fortran [17:38:56] with some assembly [17:39:19] I have a small collection of documents with interesting code that I want to preserve http://mwhume.space/Files/TranscribeMe/todo/ [17:40:24] anybody knowns if it's possible to show a commit diff for one file only in github? [17:41:10] it craps up with big diffs... [17:46:34] dinner time, see you around [17:47:35] not sure if you can on GitHub. maybe just use vimdiff [19:54:04] https://stackoverflow.com/questions/5663083/linking-fortran-and-c-binaries-using-gcc [19:54:12] for what it's worth ;) [20:24:55] oh nice. [20:43:29] if we were ever to run a substantial amount of fortran code for our rtcc, I would prefer it be in an emulator [20:43:57] very much a hypothetical idea right now [20:45:48] night! [02:49:44] literally all problems stem from uninitialized variables. my mind cannot be changed. [03:06:43] hehehe [13:47:19] hey [13:48:30] hello [14:49:22] getting to the finish line with the DKI update [14:49:48] a few remaining problems, but they should be very rarely an issue and can be avoided [14:56:15] and missing features [14:56:47] but after I'll give another Skylab rendezvous a test, I am happy that it works well [15:35:20] nice [15:35:59] if you want to test out my spotlight update, the branch should be up to date [15:41:54] ah great [15:42:08] the only thing I would like to see changed is the OBJHANDLE vs. VESSEL pointer thing [15:43:02] and is the this_V variable even needed now? [15:53:10] oh yes. that can and should be changed [16:24:25] morning! [16:34:25] hey [11:02:37] good morning [12:37:36] hey [12:37:43] n7275, I'm in your branch [12:38:47] how does it look? [12:39:54] not seeing much yet, have to enable local lights probably [12:40:03] your lamp pointer is of the SpotLight class [12:40:13] does it need any SpotLight specific features? [12:40:23] otherwise it could also be a LightEmitter pointer [12:40:51] you posted some screenshot with the lights working, but I couldn't find it anymore [12:51:40] can you post that again? [12:51:43] especially the spot light [13:02:34] I am out at the moment, but I might be able to later. [13:03:07] should look like this though https://youtu.be/8y6erPFLWTk [13:04:25] ooooh [13:04:33] I had local light sources completely disabled [13:04:44] I think I reverted my Orbiter settings a few months ago [13:05:25] when I had weird issues with terrain and texture loading [13:13:49] I had mine disabled when I first started this project [13:14:31] only took like 2 days to figure out haha [13:48:26] I'm not convinced that I have the color right yet. will probably be like the dsky [16:25:14] morning! [16:30:59] hey mike [16:33:57] does CHM have scans of stuff like this https://www.computerhistory.org/collections/catalog/102775895 [16:42:31] if it's not on their website, not currently [16:45:32] I have volumes 1 and 4 from bitsavers. trying to track down the others [16:46:03] I think they will scan it for you for $1/page, if you're not able to find it elsewhere [16:52:18] hey Mike [16:55:18] alternatively, I've been needing to schedule a research appointment to take a look at https://www.computerhistory.org/collections/catalog/102785203 [16:56:02] so if there's something particular you're looking for I can ask to see that too and take pictures (but probably won't be able to do a proper scan myself) [16:56:04] 1962-1963 [16:56:12] yeah, extremely early [17:06:06] it's nice that they have the page count for a lot of things, gives good idea if it's what you're looking for [17:36:59] indy91, thoughts on the lights? [17:38:40] ah I actually only quickly tested it after enabling local lights [17:38:55] I'll try to track down this VC bug that Turry found then I'll look at it again [20:39:47] thewonderidiot, somehow on the Orbiter Forum had asked for the spacecraft countdown procedures. Is Ron going to put that on the website? [20:40:04] https://www.orbiter-forum.com/threads/apollo-csm-power-up-power-down-procedure.40473/#post-595100 [20:41:50] oh yeah, he will when I email it to him [20:42:02] I've been kinda distracted lol [20:42:10] will try to get caught up on sending things to Ron in the next few days [20:43:09] I'm not sure how many layers of distracted I am right now [20:43:24] still looking at this clickspot issue haha [20:43:29] I think I'm at least four :P [20:43:31] hehehe [20:54:29] night! [09:24:40] hello [09:26:05] hey, good morning [09:35:08] if I move the CG by one millimeter the pitch thumbwheel in Turry's scenario works :D [09:35:25] there is some double to float conversion, I wonder if that is the problem. That would be in the Orbiter code [09:37:49] that could do it [09:41:36] your lights are quite bright [09:41:50] I like how even the blinking rendezvous light is reflecting off the LTA on Apollo 8 :D [09:44:24] I think I'll add the same thing to the LM tracking light next [09:47:46] I'll be very happy when there's no more dx7 code in Orbiter [12:11:09] do you think the spotlight needs to be dimmed a bit? [12:51:54] maybe a little bit [12:52:01] it could also depend a bit on the settings [17:09:51] did you discover anything in the orbiter source? [17:33:59] not much more than I already had yesterday [17:34:16] nothing that is concrete and points to what really the problem is [17:34:45] I kind of want to blame a double to float conversion, but that seems to easy [17:38:50] too* [17:43:48] it could be. there are some values that are exactly representable in 23 bits but not in 52 [17:46:06] where is the float to double conversion? [17:49:12] https://github.com/orbitersim/orbiter/blob/main/Src/Orbiter/VCockpit.cpp#L300 [17:49:34] that's the function that defines a rectangular click zone [17:49:42] also used by ShiftCG [17:50:19] and it stores some numbers for the purpose of later calculating if a click was done on the area [17:50:37] area[i]->a [17:50:42] a, b, c and d [17:50:48] and further down [17:50:53] four dimensional vectors u and v [17:50:59] allo of those are stored as floats [17:51:21] but then when they are actually used it's mostly done as double it seems [17:51:33] so maybe stored as float to cut down on storage space? not sure [17:52:34] and yeah it's very strange, if I shift the CG by 1 millimeter the thumbwheel works [17:53:13] and I am surprised that SSU never had this issue should it be an Orbiter bug [17:53:23] they do also have a bunch of switches and they do shift their CG [17:55:26] "if I shift the CG by 1 millimeter" not an additional shift [17:55:43] let it calculate the CG normally and just change that slightly before it's being used by ShiftCG [17:58:56] uhh [17:59:20] that code is different from what I was always looking at [17:59:32] https://github.com/orbitersim/orbiter/commit/8287a37cfc61602cdd218b836129030572756da9 [17:59:42] https://github.com/orbitersim/orbiter/issues/104 [17:59:56] lol [18:00:10] so maybe it's this issue that has already been fixed haha [18:02:07] oh wow [18:02:17] that was a while ago too [18:09:19] I wouldn't have found this if my Orbiter code was up to date haha [18:14:34] I have a bad feeling that there's a fair amount of Orbiter development going on, and no one's talking about it or to each other... [18:21:45] and in too many directions [18:21:51] so how do you build open orbiter... [18:23:08] have you had success with that yet? [18:24:13] if you use "open folder" in visual studio to open the OpenOrbiter directory, it will start visual studio's built-in version of cmake. then you can build and it will output to an ./out directory [18:25:43] there is a d3d9 native branch on github, which builds for me, but then orbiter can't find the right dll in windows, even though it's there. so that's where I got stuck. [18:26:36] which version of Visual Studio? [18:26:40] 2019 [18:26:56] I have 2019 installed, that's what Github suggested. I probably don't have the necessary things installed [18:27:33] I'm going to close NASSP, and open it, so I'm not going on memory, one sec [18:28:29] I don't think I use 2019 much yet [18:28:32] used* [18:28:53] maybe I didn't even install CMake or so [18:30:09] 3GB required, lol, of course [18:31:12] but yeah, I think I just have to install this and then I can do it [18:39:41] restarting [18:43:30] welcome back [18:45:39] thanks. Now CMake is doing things [18:45:45] didn't even ask it to yet [18:46:07] that part I don't like too much [18:46:31] it says x64-Debug, will it try to build it like that [18:50:16] well it did build something [18:50:21] but no graphics client [18:50:26] just says console mode [18:50:30] not even DX7 [18:53:24] there's this branch https://github.com/orbitersim/orbiter/tree/d3d9client [18:56:55] I'm trying main right now [18:56:57] https://github.com/orbitersim/orbiter/blob/main/README.compile [18:56:58] this helps [19:25:08] yeah, if you do build, and then install in the d3d9 branch it will load with graphics [19:38:15] the install option in VS? [19:38:18] What does that even do [19:41:22] the first two items on the log were [19:41:24] [1/4] Building CXX object OVP\D3D9Client\CMakeFiles\D3D9Client.dir\gcCore.cpp.obj [19:41:24] [2/4] Linking CXX shared module Modules\Plugin\D3D9Client.dll [19:45:13] so you recommend building that branch? [19:55:06] i think its the only one with a graphics client [19:55:48] nah, CaptainSwag and I were talking on the Discord, we got DX7 client working [19:56:22] got a build error there [19:56:30] afxres.h not found [19:56:33] sounds familiar [19:59:47] missing some build tools? [20:09:01] i have no idea [20:10:02] it's probably that. And of course VS has 20 different versions I can install [20:24:21] oh now it fails because it's missing d3dx9.h [20:24:46] lol, am I missing DX9 itself somehow [20:26:53] uhh, enough fun with VS for today [20:29:45] that's usually how it goes for me [20:56:20] night! [13:16:30] hi Abr35 [13:18:35]  Morning! [15:17:21] hey [16:06:30] hey [16:18:33] Saw your message - no more to add for now [16:19:29] Next up would be doing the same stuff for the LEM so this looks like a good stopping point [16:23:08] is there anything in here that might suprise a user if they updated to a version that had this feature? or anything that would break old scenarios? [16:33:40] The failures need to be activated through the MFD so you would have to know how to do it. The only change to scenarios is the addition of a FAILURE_MODE field in the vessel, and appending another field onto the end of circuit breakers. 0 is its off state, so old scenarios that dont have it will default failures to off and everything working [16:37:08] Meaning in order to make stuff start to break you would have to know where in the MFD to look in the first place. [16:46:37] okay. nice. that's how it should be. [17:47:41] n7275, one thing I wanted to ask about your PR, you moved a bunch of includes from toggleswitch.cpp to the header [17:47:54] I guess you got a bunch of build errors otherwise? [17:49:53] Something with our includes structure is a bit of a mess [17:50:37] if you need to include anything from toggleswitch then you only need to include a bunch of other things like soundlib [17:50:50] maybe your change there fixes that for good, Thymo should also have a look at that [17:50:57] yes, if i wanted to include toggleswitch.h in anything else, I also needed to include a bunch of other things [17:53:01] I'm of the opinion that if you need to include a header, you should only need to include that header, and the include guards should take care of the rest [17:53:29] yeah [17:53:37] I added Thymo as a reviewer [17:53:45] I just didn't know where I needed to fix that or didn't look much for it [17:54:01] There will be a lot of places now that can remove includes of soundlib etc [18:38:40] had a thought on switches [18:39:04] each switch has a source that it's wired to [18:40:46] in a lot of cases we could simplify switches by having 2 or 3 "outputs" [18:41:02] wireto(switch.up) [18:43:53] that is a good idea, could also help with mission specific switches [18:52:30] we do also have switches that have multiple sources though [18:52:55] but that wouldn't work much different [19:08:10] don't those go through a powermerge though? [19:14:13] nah, I mean the ThreeSourceSwitch class [19:14:22] and TwoSourceSwitch [19:14:33] lol, what is ThreeSourceTwoDestSwitch [19:15:11] we have that class, but I think it's unused [19:40:20] looks like a lot of the groundwork is done for this [20:38:22] https://wehackthemoon.com/sites/default/files/styles/related_media_large_1500x1090_/public/media/photograph/52512.jpg [20:38:26] Apollo 8 P23 data [20:38:29] the actual DR and DV [20:38:37] I could never find something like this anywhere [20:39:02] mission report supplements have it as an angle, measurement error [20:39:44] I think that shows that Jim Lovell could consistently get the errors to one digit, at least after some marks [20:42:21] oh nice! [20:44:21] there is another picture with the chart but I couldn't find it in the better resolution [20:44:26] that page isn't so each to search [20:44:45] so easy* [20:45:16] I guess my best bet why we still have issues and don't get to that level is horizon altitude padload and shape of the Earth [20:46:54] good night! [21:34:13] hey Mike [21:38:53] yo [12:59:08] Hey guys [12:59:16] On land :) [12:59:35] But found a possible ECS Issue, wich bothered me [12:59:57] I am preparing the clip of the video, as the recording is not available. [13:16:49] https://youtu.be/gfDgvRnJfgE?t=35 [14:36:15] good morning [14:36:56] hu [14:36:59] s/u/i [14:38:06] what's up? [14:41:05] Not much. Reading some VHDL stuff [14:59:23] what are you doing with VHDL? [15:03:58] It's the last college course I have to complete. It's a bunch of assignments writing circuits working up to a very rudimentary microcontroller [15:13:11] oh cool [15:27:18] Hey sirs [15:27:46] hey [15:28:01] Dead or alive? [15:28:29] Been talking yhrough discord with Ryan [15:28:59] Seems like the Post Landing valve not working right, correct? [15:55:53] hello TurryBoeing how was the landing? [15:56:08] Landing nice [15:56:38] Have you seen the thread I created on discord? [15:57:10] No problems with Switch Covers, no Nose-First, No fireball [15:57:22] crew dead [15:57:39] Shhhhhh, don´t say it aloud :D [15:57:54] I think we don't have enough atmosphere exchange [15:58:13] Yeah, I was talking with Ryan about that... [15:58:35] I think our ECS has a fundamental flaw there [15:58:55] if Earth and cabin atmosphere are equal pressure, there is no exchange of anything [15:59:08] even if CO2 is high in cabin and zero in the atmosphere [15:59:21] then that doesn't get equalized because there is zero flow [15:59:29] I see... [15:59:43] And you were waiting for an hour to sunrise I guess [15:59:50] Yeah [15:59:59] Wanted to do the times we discussed... [16:00:14] I don´t know at what minute it was [16:00:25] (Splashdown +) [16:01:43] indy91 I´ve seen two releases done with fixes for my reports, thanks a lot for that [16:01:54] I am glad to contribute :) [16:02:11] got one more ready [16:02:32] which should hopefully make the REFSMMAT issue before MCC-5 better [16:02:40] flow should be based on diffusion not just pressure [16:04:45] heat transfer works like that [16:04:47] without flow [16:05:01] but not any partial pressures taken into account or so [16:05:12] have a look out the h_pipe class [16:05:15] at* [16:08:58] Going to the supermarket, BRB [16:09:10] Will start uploading the parts maybe tonight [16:19:49] morning! [16:21:55] hey Mike [16:22:01] what's up? [16:22:18] just did a few more fixes based on TurryBoeing's mission [16:22:33] and you? [16:22:46] making more progress on understanding the CDU [16:23:17] I understand the need for the quadrature rejection half of the MSA&QR module now, and am about halfway to understanding how it works [16:24:11] so why is it needed haha [16:25:04] because the resolver is imperfect, and there will almost certainly be a tiny phase mismatch between the cosine output and the sine output [16:26:16] and that can lead to quadrant issues? [16:26:23] not quadrant, quadrature [16:26:29] i.e. out-of-phase component [16:26:59] when you scale those two outputs to be the same amplitude, and sum them together -- as the CDU does in the course of its nulling -- the sum is therefore never perfect, but reduces to a small sine wave that is 90 degrees out of phase with the resolver signals [16:28:40] ah I was thinking of this: https://en.wikipedia.org/wiki/Quadrant_(plane_geometry) [16:29:50] sounds more like a complicated electronics issue then [16:29:53] https://en.wikipedia.org/wiki/In-phase_and_quadrature_components [16:29:55] it's more that ^ [16:32:03] but the end result is, if the phase between your two resolver signals is big enough, the resulting sum can be big enough to make the CDU try to count [16:32:20] very similar to what happened with the out-of-phase ATCA thing that happened on Apollo 11 [16:32:42] so the CDU has to generate its own 90-degree-out-of-phase signal to cancel out the one accidentally created during the summing [16:36:15] anyone surprised that the CDU was the most failure prone part of the PGNS? :D [16:36:21] hehehe [17:30:43] indy91 Cannot remember my "MCC-5 refsmmat issue" [17:30:53] Was it the Gimbal Lock? [17:35:14] where the uplink replaces the REFSMMAT directly and you get a P52 with 4° torquing angle [17:36:09] the REFSMMAT uplinked for a P52 option 1 just after TEI was based on the entry interface location of that post TEI trajectory [17:36:14] without a midcourse correction [17:36:33] and that location seems to change quite a bit if you correct the trajectory [17:36:51] the update REFSMMAT (at MCC-5) is then based on the trajectory including MCC-5 [17:37:21] with my update it will use the planned entry interface location [17:37:56] I think that should give a much smaller difference between the REFSMMAT uplinked just after TEI and the REFSMMAT uplink before MCC-5 [17:38:38] if you perform TEI badly then with the previous logic the trajectory might not even reach entry interface altitude [17:39:22] Oh I understand [17:40:47] I can't know for sure without having listened to the Apollo 8 MOCR audio tapes or find some report on it [17:41:04] but I bet they had that REFSMMAT uplink prepared before TEI [17:41:16] or already calculated MCC-5 [17:41:37] Kranz explains REFSMMAT on his book... [17:42:06] Now that you mention it I recall reading about how it was used on a lunar mission... [17:42:27] I believe yout bet is correct [17:43:30] Well, guys. Onto Sony Vegas :) [17:43:48] See you around... Will start publishing the debrief later this week [17:44:05] nice [17:44:09] Got to recover sleep, and got to put myself up to date on job tasks [17:44:26] However as I say I will begin uploading the parts by tomorrow [17:58:02] I put up a GitHub issue for diffusion. the way I'm thinking of doing it, it should be simple to implement and compute [18:02:09] yeah probably a good idea. Can of course change the behavior quite a bit, so any change there will require lots of testing [18:02:16] but essentially it shouldn't be complex [19:40:13] aha! and now I finally am understanding why there are 8 normal switches in the CDU coarse system and 4 ladder switches, instead of 4 and 5, respectively :D [19:40:53] I think I can fully derive the design of the coarse system now [19:49:53] great! [19:53:51] this doesn't make me any less afraid of the fine system though :P [19:57:28] "For the AGS alignment and calibration, the CSM is used to orient the LM to an AGS calibration attitude by displacing all three LM axes at least 11.5 degrees from zero or multiples of 45 degrees from the IMU principle axes. This technique will permit the AGS alignment and calibration to be performed without CDU transients." [19:58:07] Is that because of how the coarse system works or... [19:58:58] Well guys, going to normal sleep cycle [19:59:05] See you! [19:59:43] goodnight! [19:59:59] cya [20:00:24] hmmmm [20:00:31] I kind of remember looking into that before [20:00:38] but I don't remember what the issue was exactly [20:01:05] we probably asked that before haha and maybe even found the answer, but I forgot [20:17:04] well if it's concerned about 45 degree increments from 0, that must be switch 9 going on and off in the coarse system [20:18:35] oh shit wait my CDU simulator might actually show those transients [20:19:23] I mean it's definitely a deliberate attitude to prevent something switching in the CDU [20:20:31] mainly they yawed 14° out of plane [20:20:54] and pitched, too, I guess [20:23:39] I actually never looked much into it, but the way the AGS calibration must work is it compares the drift rates of the ASA and the PGNS, with attitude data coming from the CDUs, like in the PGNS to AGS alignment [20:23:56] and it takes 5 minutes [20:24:21] so in those 5 minutes you don't want the CDU to have a transient that causes a bad calibration somehow [20:24:33] yeah that's cute [20:24:36] https://i.imgur.com/aDAhCCV.png [20:24:56] nice spike in coarse error at the instant switch 9 changes state (which happens every 45 degrees from 0) [20:26:08] makes sense to avoid that [20:26:24] yup [20:26:54] what a janky box the CDU is :D [20:28:42] ah there is a Tindallgram [20:29:05] "I am certainly no authority on CDU transients and only attempt the following brief description so that the rest of the memo will make some sense to you. If you are interested in what CDU transients really are, I recommend that you find an authority on them. There are lots of 'em - and as many versions." [20:29:08] Bill Tindall [20:29:19] hehehehe [20:29:40] the first memo of the ECDU papers I found at Don's says "Development of the electronic CDU began in May of '63 and is to replace the mechanical gear box of Block I. Development continued to October and at this time three different systems were operating. Two of the approaches were then discarded and the third was further developed to its present configuration." [20:29:53] I really wish we knew what the other two approaches looked like, for this one to be the winner :P [20:58:10] night! [23:47:58] finally have my web server not connected by wifi any more. this was a good move. [14:30:04] indy91, was a a CSM slot or LM slot uplink? I see MCC 5 thru 7 uplinked to the LM slot [14:30:20] if not scrubbed, of course [14:30:37] LM [14:30:53] almost always was LM slot uplink to not mess with the P23 state vector [14:31:09] only before LOI and reentry did they uplink to the CSM one I think [14:31:11] Got it [14:31:33] Yeah I see MCC-7 did a CSM slot? [14:32:08] ah right [14:32:15] after the last P23 I guess [14:32:34] so there was nothing to destroy [14:32:46] doesn't make it easy for the checklist :D [14:32:58] oh [14:33:07] hmm [14:33:13] then I did it wrong [14:33:20] with my PR it would be [14:33:26] MCC-7 was to be done: CSM slot [14:33:32] MCC-7 scrubbed: LM slot [14:33:35] Ok [14:34:06] Also, I have V47's after the uplinks, this was done only for an MCC and omitted if scrubbed? [14:34:14] Again to preserve the P23 SV [14:34:40] 132:06:29 Collins: Okay. Sending up a state vector to LM slot. [14:34:46] that's preliminary MCC-7 update [14:35:03] hmm [14:35:11] hmm, they probably always did the V47 when they were done with all P23 [14:35:18] all P23 in a sequence [14:35:27] at least if Lovell was happy to do that [14:35:50] "We'll be giving you an updated entry PAD on the scheduled time of 143:30. At the same time, we'll be giving you an update of your state vectors for the LM and CSM." [14:36:07] what a mess [14:36:17] uhh [14:36:56] Ok so if they had a burn the V47 was done before the P30, and if scrubbed after the following P23 sequence? [14:38:30] they probably did the V47 in any case, they just wanted to have the crew do that step and not destroy any P23 progress that Lovell still wanted to keep [14:38:56] so it's more a case of the CMP "owning" the CSM slot [14:39:06] than really preserving P23 results [14:41:05] so I am pretty sure for MCC-1 through 6 and preliminary MCC-7 it was always LM slot uplink [14:41:09] always folowed by V47 [14:41:25] scrubbed or not [14:42:10] and MCC-7 update is CSM+LM state vector uplink [14:42:15] in any case [14:42:31] that's what the checklists should have [14:42:39] and I'll correct the MCC where that isn't currently the case [14:45:10] Gotcha, I will edit the checklists to reflect it [14:51:05] oh come on [14:51:12] 059:42:26 Mattingly: Okay. We'd like to update CMC. The order that we'll update will be the LM state vector, the CSM state vector, and then the external Delta-V and the REFSMMAT. [14:51:15] that's MCC-4.... [14:51:29] it's consistent with the flight plan though [14:51:31] no V47 there [14:53:14] Yeah makes sense if they uplink to both slots you would omit a V66 or V47 [14:53:19] yeah [14:53:30] flight plan never says CSM or LM [14:53:34] but it has the V47 [14:53:37] or lack of it [14:54:38] hey guys [14:54:56] Ok so are we going to uplink both slots for MCC4? [14:55:03] Right now I have it LM slot/V47 [14:55:11] Morning! [14:56:12] I also have LM only in the MCC right now, but I will fix it all like in the flight plan and the real mission [14:56:28] MCC-1, 2, 3, 5, 6 and preliminary 7: LM slot [14:56:32] MCC-4 and 7: both [14:56:34] scrubbed or not [14:56:38] hey Mike [14:57:39] almost... [14:58:15] oh [14:58:24] Oof [14:58:29] Ryan copying Mike I see [14:58:35] Haha yes [14:58:41] didn't even checked who wrote it hahaah [14:58:44] Hahaha [14:58:54] Smooth ;) [14:59:19] n7275, making use of ThreeSourceTwoDestSwitch I see [14:59:26] that really wasn't used previously, was it? [14:59:47] useful class? [15:02:05] So should we just do the V47's for the scrubbed MCCs? [15:02:11] Or should I omit them [15:02:52] yeah, I think we should do V47 on scrubbed MCCs [15:03:42] to keep it simple scrubbed vs. not scrubbed will not do things differently [15:04:04] MCC-4 and final MCC-7 update won't need V47 of course [15:04:46] Sounds good, that makes it easy for a scrubbed tab as well [15:05:22] I guess for MCC-4 they also uplinked CSM state vector to make sure the maneuver is done with the right state vector [15:05:26] even if there are P23s after it [15:05:50] so hypothetically, if MCC-4 was scrubbed, maybe they would have only uplinked to the LM slot. But that gets too complex [15:06:20] Right [15:06:31] So I will add a MC4 scrubbed as well, but have it uplink to both slots [15:06:34] MCC4 [15:06:40] And change the current MCC4 to uplink to both? [15:07:11] hmm, does it need a separate tab for scrubbed? [15:07:22] There is only an uplink and that would be the case for scrubbed and not scrubbed [15:07:37] Maybe you can add the uplink to the flight plan tab [15:07:47] and then the MCC-4 tab has copy PAD and the other procedures [15:07:54] in that order? [15:08:28] And the V47 also in the flight plan tab when it's needed [15:09:00] Separate tab makes it easier to omit all the burn stuff [15:09:19] And the uplinks would be different since one contains a target load [15:10:29] ok [15:10:41] well you know that best, just thought we could simplify it [15:11:19] indy91, yes. very useful [15:12:13] Anything on the flightplan would always be performed, so having a MCC4 and MCC4 scrubbed tab prevents the confusing of having to "fail" a bunch of things to skip...its easy to accidently proceed and run them [15:12:26] Where the tabs are a little more idiot proof lol [15:13:46] right [15:13:56] although that uplink will then always be performed [15:14:07] and the uplink tab itself doesn't say what type of uplink it is, right? [15:15:19] No but the yellow text preceding it does [15:15:34] ah true [15:15:52] I almost did an Apollo 8 MCC update that had MCC-4 scrubbed without any uplinks haha [15:15:59] not even the REFSMMAT... [15:17:06] so yeah, MCC-4 scrubbed, CSM+LM state vectors and REFSMMAT [15:17:13] because that REFSMMAT is somewhat important [15:20:37] Just a little ;) [15:21:04] Though I wonder what attitude the LOI target load would have with a launch REFSMMAT :P [15:21:25] I'd imagine it would still be somewhat in plane [15:21:59] yeah, probably not in gimbal lock [15:22:14] it then just becomes a bit bad for the ORDEAL in lunar orbit [15:32:47] Just a bit [15:45:28] And to clarify, MCC-7 and scrubbed both get CSM & LM SV and the entry REFSMMAT? [15:48:45] yes [15:49:09] or they will [16:09:12] Ok changes all made [16:10:23] I'll stage them and PR when your changes are up [16:10:36] Just in case I need to alter anything [16:13:59] sure. I'll put another PR up with the further changes when the current one gets merged [16:29:40] morning! [16:33:29] hey (checks name) Mike [16:34:52] hehehe [16:40:36] haha [16:59:30] For your current PR indy91, do any other post TEI scn's need tweaked or is that the only scn REFSMMAT that needs fixed? [16:59:49] And sorry about the wrong comment, without reading I thought this was the uplink PR :P [17:00:35] That REFSMMAT is just saved for the REFSMMAT uplink 45 minutes after TEI [17:00:49] the later uplinks are newly calculated ones [17:01:52] what we did before was, calculate the entry REFSMMAT with the actual post TEI trajectory [17:01:57] which will not be ideal [17:02:09] so it can be quite far off the actual entry interface conditions after any MCC [17:02:36] so now I let it calculate and then later uplink the entry REFSMMAT using the planned post TEI trajectory [17:02:42] as a result of the TEI calculation [17:02:49] should be closer [17:04:27] Ahh ok makes sense' [17:26:36] thewonderidiot, sorry about the random text [17:31:16] haha no worries [20:47:49] night! [21:22:29] Those Create_X functions in E_system are a bit of a half-assed attempt at using the factory pattern. Not really fond of them. If we do a rewrite I'll have to redo that lol [21:28:55] how would you do them? [22:06:00] I would put all common code inside a single factory function. Right steps like setting the name, source etc. are repeated for each type. This can be done inside a common constructor or factory [22:06:34] Not sure if I would keep it under Esystem or move it to eobject or something without taking a deep dive [16:29:58] morning! [16:35:36] hey guys [16:36:13] what's up? [16:47:37] not too much [16:49:52] I added a new diffusion feature to our systems last night, so that connected fluid volumes would eventually mix even if they were at the same pressure [16:50:15] ...but the way I did it kinda violates conservation of mass [17:16:33] heh [15:54:32] hey [15:57:16] hey Matt [16:11:47] I added my one line solution for mixing fluids [16:13:02] seems simple enough, but it causes NaNs somewhere so maybe that's not so simple... [16:21:30] morning! [16:23:25] hey [16:23:30] haha, return of the NaN [16:43:15] hahahahahaha [16:43:17] I love Ron [16:43:18] https://virtualagc.github.io/virtualagc/changes.html [16:46:54] shooting at the ocean, is that like screaming into the void [16:48:18] lol something like that [16:54:19] Soyuz has a gun for shooting wildlife, CM only had machetes :D [18:14:33] n7275: Post landing ventilation is a fan if I'm not mistaken. So can't you do forced convection between the cabin and atmosphere instead of upsetting Newton? [18:33:37] well that would be easier [18:39:09] I went straight for fixing the physics. [19:46:32] Eldon Hall apparently passed away a couple days ago :( [19:50:17] that's very sad :( [19:50:47] a long and meaningful life [19:52:16] yeah 98 years old is pretty good [19:59:52] where has the time gone. Last I remember that generation of young WW2 soldiers were all the old people, now they are mostly passed away :( [20:50:17] night! [12:04:22] good morning [12:34:33] good afternoon [12:37:33] :) [12:38:06] we can both be right :D [12:38:38] I have 3 RTCC related branches right now... [12:46:12] what are you working on? [12:48:35] the Apollo 8 MCC state vector uplink stuff I was working out with Ryan, he already did the checklist changes. PR is up for that. [12:49:23] Then I finally wanted to make the TLI PAD in the RTCC MFD use the "new" functions for that [12:49:27] the same functions used by the MPT [12:49:44] the TLI PAD is about the only case where the MCC uses more up-to-date calculations than the RTCC MFD [12:49:50] normally it's the other way around [12:50:22] and I am also still in the final fixes for the Docking Initiation Processor. Mostly am testing stuff and I guess I should update documentation [12:51:23] all very separate projects and aside from the DKI not huge projects, so it can be done simultaneously :D [14:00:09] that's always good [14:00:43] I'm finding that I'm more and more easily distracted these days [14:19:54] For most projects I just need a quiet 2 hours or so of testing and writing documentation to finish it, but somehow that always takes many days until I am sure that an update is done. [15:28:32] morning! [15:41:10] hey Mike [15:41:23] nice rope reader you have there [15:48:12] thanks :D [15:48:18] I need to work on the electronics for it today haha [15:50:09] lots of layout left to do [15:50:25] more of a rope reader boilerplate still? :D [15:53:18] yeah 100% [15:53:27] the board in it right now is still the 8-bit test version [15:53:33] and there is no backplane board yet [20:58:19] night! [15:05:41] hey Niklas [15:33:53] morning! [15:50:12] hey guys [19:38:24] Hiya [19:38:42] Sooo I'm just browsing TheGondos' NASSP fork [19:39:04] He added CMake support in his Linux branch. I've wanted that for a long time :D [19:39:25] I'll shoot him a message to see if he wants to work with us to move it upstream. [19:41:07] that sounds good [19:41:42] I'm not sure I want to get rid of all "goto", but I think there were also some Linux problems with defining variables after labels [19:41:44] It's the groundwork needed for better CI and release models [19:41:45] that I can easily fix [19:42:12] And people can choose to yeet VS and use CLion or any other IDE of choice. [19:43:27] makes sense, Orbiter slowly transitioning to multi platform, and so can NASSP [19:47:06] Hey everyone [19:47:11] How is it going? [19:50:26] hey hey [19:50:39] testing some RTCC stuff, as usual [19:50:55] had a few more Apollo 8 MCC changes, currently up for review on Github [19:51:03] Then I am happy with Apollo 8 [19:51:44] Good :) [19:52:19] n7275 Does the quicksave I sent you via Discord feet your needs? [19:52:23] *fit [19:53:20] Correct me if I am wrong, this question is about Apollo 9; after LM jettison, the workload reduced... Dramatically... correct? [19:53:27] Just the S065 pictures [19:53:34] Wich were kinda auto [19:53:47] You just need to maintain the proper attitude, right? [19:54:05] That is for the last days of mission [19:55:22] it's similar to Apollo 7 I would say [19:57:01] I have a problem [19:57:14] That consists that I don´t remember apollo 7 very much :D [19:57:23] The rendezvous I do remember, of course [19:57:31] But the superclruise not... [19:57:48] Well, on Apollo 7 they had the P 22´s, for the last days [19:58:05] Apollo 9 has P22s, too [19:58:10] But on 9 I am seeing just the S065 photos [19:58:17] Maybe I am wrong... [19:59:06] 143h GET for example [20:01:58] but yeah, a lot of photography [20:03:57] Yeah [20:04:40] I will start this weekend with 9, maybe [20:04:46] Cannot wait :) [20:05:31] the LM is a fun spacecraft [20:07:20] See you, guys [20:07:32] Goint to feed my pet snail and to VR [20:07:42] Nite! [20:09:32] didn't know VR headsets needed to eat snails for power [20:47:45] ? [20:48:51] woosh [20:49:55] Perhaps with [20:50:05] TurryBoeing: s/and to/to my/ [20:54:53] isn't wasn't quite clear with the typos haha. But the joke wasn't very good. [20:54:57] it* [21:02:59] good night! [15:04:19] hey [15:59:29] hey [16:03:50] in my DKI branch I had this feature, but I'm not sure it really works right. [16:04:04] basically, there is a display with the results of a rendezvous calculation [16:04:12] and it gets used by two of the rendezvous processors [16:04:34] so which page should the back button take you from that display? [16:04:52] the feature I implemented was that the MFD remembers the page where you there before [16:05:21] where you were before* [16:05:51] but the problem with that is, that data gets stored in the MFD instance [16:06:13] and when you change panels in 2D or simply just resize the External MFD, the MFD gets reloaded and that data is lost [16:06:25] in that case it just defaults to the main page of the RTCC MFD [16:07:10] so because of those problems I will probably remove this feature again... and that rendezvous display will take you to the main rendezvous page and not to one of the rendezvous processor input pages [16:07:16] what do you think? [16:09:55] hmmm [16:10:49] intuitively you've want those buttons for navigating menues to feel like navigating a tree structure [16:11:56] would this feel like "jumping" a level? [16:12:16] it can be confusing yeah [16:12:26] it also happens with a few of the MCC displays [16:12:39] I have a page that lists a lot of displays that are 1:1 MOCR displays [16:12:57] but those also get used elsewhere in the MFD [16:13:07] so you don't go back to where you came from either [16:13:13] could you "flatten" the tree a bit so the back buttons would take you to the right place [16:13:31] or save mfd info in the scenerio? [16:13:44] I mean, one thing I could do is not have a button to go to that display on the DKI or SPQ page [16:13:51] so you always need to go back to the main rendezvous menu [16:13:58] and from there to the rendezvous evaluation display [16:14:08] and the back button then takes you to the main rendezvous menu [16:14:18] So then the structure is logical [16:14:37] but it takes a few button presses more to get from the rendezvous calculation to seeing most of the results [16:15:41] there are functions to temporarily store data when you close an MFD [16:15:58] but it doesn't work well with having more than one MFD of a type open at a time [16:17:02] although, there is one thing I need to research. There are MFD IDs [16:17:25] like, on the CSM and LM 2D main panels, the left and right MFDs have a specific ID [16:17:40] so maybe data can be temporarily stored for those [16:24:09] There is a problem right now with storing data already. [16:24:26] if you have 4 RTCC MFDs open, then got to a 2D panel without any MFDs, and then back [16:24:35] then all 4 MFDs have the same page open [16:24:55] and not the one from before. But just one page of one of the MFDs that were open [16:28:03] I recall some MFDs had the ability to save data and link to each other, like imfd and transX [16:30:22] morning! [16:35:04] hey mike [16:44:55] hey [16:45:11] yeah I might need to check how other MFDs deal with this [16:45:41] not that any other MFD has over 100 pages I don't think haha [17:58:43] yeah that's probably a few more than most [18:21:23] I think I am going to just remove that "saving previous pages" features, it just gets confusing with changing pages. I'll revisit this some time though. [18:21:37] Onto writing documentation then [18:25:28] when we release 8.0, I'm going to print and bind the RTCC manual. [18:29:44] Then that manual needs to become a bit better haha. For a lot of things in the RTCC MFD it mainly describes what each button does. What it is missing a lot is describing things in context and examples. [18:31:39] we should start keeping track of common questions through the forums and discord. [18:34:09] common questions also seems like a good inclusion for the manual [20:06:59] I started preparing for an Apollo 12 run, so I'm sure I'll have many haha [20:28:13] I flew Apollo 12 not that long ago, I'm sure I can answer them [21:01:22] night! [16:53:43] morning! [17:03:23] afternoon! [17:04:16] what's up? [17:39:48] oh not too much [17:39:51] you? [17:40:04] very slowly making sense of CDU interconnections [17:40:18] I've gotten myself down to ~30 net errors in my database for Tray X [17:40:42] although I've ramped up on the number of "unknown" pins that I need to confirm via beeping [17:41:10] the schematics are very not good at mentioning CM and LM wiring differences [17:42:07] and also what the expect you to substitute for underscores is complete chaos [17:42:16] s/the/they [17:43:21] like case in point, something that was driving me crazy this morning... usually the five axes are A, B, C, D, and E, for Inner, Middle, Outer, Shaft, Trunnion [17:44:11] so for the shaft if you're wiring signal _DEL0H, that becomes DDEL0H [17:44:54] so I had a net error on FDP+HI, which was being generated by F_P+HI [17:45:13] clearly being generated by the error counter module, but I could not figure out where it was supposed to go [17:45:50] and unlike many other pins in the module, there was not annotation for the F_P+HI pin that it should be LM-only or CSM-only, or different between axes [17:46:05] so I assumed by default that it was always wired for all axes in all vehicles [17:46:38] but no, turns out that it's completely unwired in the CSM, and only wired for the three IMU axes in the LM [17:46:56] .......and also, they broke the A, B, C, D, E naming convention for the axes [17:47:22] so F_+PHI actually becomes FI+PHI, FM+PHI, and FO_PHI, for Inner, Middle, Outer [17:47:46] s/FO_PHI/FO+PHI [17:47:53] there's so many special cases it's killing me haha [18:26:37] that sounds frustrating [18:41:17] just a bit [18:41:33] it is nice that I have unlimited time to confirm everything against a real unit haha [21:56:40] I gave up on using Questa. I've been going back and forth with Intel. First their licensing system was down. When they fixed that I could generate a license but that only contained text comments. After telling them they took more days to fix it and I know get a license but it's still not being recognised by Questa. [21:56:55] I installed GHDL and GTKWave and all my troubles have gone away. :) [21:57:32] Now to figure out why all my testbench assertions are failing...