[15:37:05] NASSP Logging has been started by n7275 [15:37:07] good morning [15:38:22] hey [15:44:50] I see a new PR for review [15:48:41] two even :D [15:49:00] one just a few font adjustments for the RTCC MFD so that there aren't as many text overlaps [15:49:11] the other are the AGOP options I had already fully implemented [15:49:24] so not the "Point AOT with CSM" stuff yet [15:50:09] the other options were already pretty well tested, so, I thought I'd make a PR now before I get distracted by another project and never even finish the options that fully work already... [16:39:20] I'll review and approve later today [16:40:07] great thanks [16:40:18] both of them are quite harmless [16:40:37] the font size change is small so that it's at worst 1 pixel difference on the 2D panel [16:40:55] and the AGOP isn't being used by the MCC or anything yet, so nothing that can critically fail for a mission [16:43:27] morning! [16:51:23] hey Mike [16:53:27] what's up? [16:54:45] I think I'm finally going to implement that RTCC MFD feature to uplink EMPs from text files. Not a super important features, but, I've been talking about it for too long and it would have been useful for a bunch of people already. [16:55:04] ooooh, exciting! [16:56:52] should be better than manually inputting them haha [16:57:23] I want one file = one EMP, so, I just need to come up with a way to have a text file format that has multiple loads [17:04:39] we do have a lot of fun EMPs to put into it. maybe not useful for NASSP, but fun to mess with :D [17:07:22] some definitely useful [17:07:24] shortened P23 [17:07:40] SPS gimbal trim check without P40 is one I have tried [20:20:01] there's an ongoing discussion on the forum about Lua. I know we have a simple implimentation. but I wonder if there is any benefit to expanding that further. I keep thinking there is, but never come up with any good ideas [20:20:35] scripting for tutorials and demonstrations [20:27:47] oh that's a great idea [20:29:55] and I have done a challenge with it [20:30:06] for the least amount of propellant spent during TD&E [20:30:11] half a year ago [20:30:34] I see I have a "SPSTutorial.lua" file from middle of 2022, but, I did not get far at all [20:32:21] oh I remember that one [20:47:34] we have a way to cheat in that scenario now [20:47:45] you just have to do a 180° and 60° roll [20:47:50] ... and enable LH2 venting :D [20:57:50] night! [16:02:07] good morning [16:18:33] hello [16:19:30] hey [16:56:23] do we need a naming system for EMP files? [16:56:37] right now I just have P99 LUM210.txt and Short P23 ART072.txt [16:56:45] but when we have lots of files it can get confusing [16:57:02] on the other side, just naming it "EMP 99" is also not very good [16:57:46] well, I could include the GSOP list of EMP names in the RTCC MFD manual [16:57:54] then it could be numeric [16:58:06] seeems like they started CMC EMPs with the number 500 [17:01:24] We probably should have a naming or numbering scheme [17:01:56] maybe the files need a metadata header? [17:02:39] CMC/LGC, software version, name/description [17:04:30] yeah that makes sense [17:04:43] the MFD page could display that data [17:47:49] morning! [17:57:22] hi Mike [17:59:31] everything is booked for the trip :D and I'm making good progress bringing up the backup reader board [18:07:49] hey Mike [18:07:54] awesome [18:08:28] I think a week before I will create the branch to add it to NASSP. I still have some tests to do with the 1950 coordinate system. [18:08:53] but at worst our Skylab MCC support fails and I have to go all CMC :D [18:09:18] hehehe [18:11:05] I think my artemis branch is as ready as I can make it, with code removal and new flags added [18:16:57] fun [18:27:32] really the only thing I need to check before merging it into NASSP would be a RTCC state vector uplink and then a P21 test if it gives the right coordinates. [18:27:52] then just in terms of pure AGC coordinate system Skylark is supported [18:31:31] I should create a launch scenario for 2024 [18:31:47] because there is no reason to not launch there [18:32:48] oh man that would be great haha [18:33:00] I'm using the Orbiter ephemerides for the padload generator, so, no restriction there either [18:33:09] works at all times [18:34:29] I am very excited :D [18:34:46] it's going to be fun to disassemble a new rope that's so different, but that we have the Norton document for [18:35:17] yeah, it's really like halfway to discovering a new type of AGC software besides CMC and LGC [18:55:19] n7275, I think I will just add two lines at the top of EMP files [18:55:26] Name/Description and rope [18:55:39] EMP 99: Guided RCS Translation Maneuver [18:55:41] Luminary 210 [18:55:46] in the case of P99 [19:08:47] there could be EMPs that apply to all CMCs. Or even CMC and LGC. Then we could say that instead of the rope name [19:09:15] I don't want to deprive people from uplinking LGC EMPs to the CMC, so, I will not directly prevent that :D [19:31:42] that sounds good [22:12:06] night! [15:23:42] hey [15:24:32] hey Nik [15:27:13] I wasn't sure if I needed a manual uplink editing capability for the new displays [15:27:19] but some EMPs need it [15:27:38] there is one for a failed DSKY button [15:27:50] and you have to adjust one value in the uplink to the failed button code [15:28:57] so I guess for us, you load the specific EMP load that needs one thing edited. And then you use the MFD button to do the edit. Should be simple enough, give it line and value to change. [15:31:49] there are also some fun Skylark EMPs... [15:41:59] maybe we need an intermediate stage between uplink creation and the actual uplinking [15:42:13] some kind of "load editor" [15:42:18] oh I definitely have that already [15:42:32] the load button gets an uplink load from the file to the display [15:42:43] then you could edit it, which I now need to implement [15:42:49] and then you press UPL [15:43:16] I'm sticking pretty closely to how the real inputs and displays worked [16:07:41] hey [16:30:37] hi Alex [16:31:13] hey Alex [16:50:43] uplink editing works. I guess I can already make a draft PR today [16:53:34] ah nice [16:53:43] is that for custom EMPs? [16:55:12] yeah, we can then put EMPs in text files that a new uplink page in the RTCC MFD can load and then uplink [16:55:26] and editing the uplinks can also be done [16:55:29] in some cases has to be done [17:02:57] AlexB_88, how did the rest of your mission go? [17:05:38] morning! [17:09:09] hey Mike [17:19:38] n7275, went well other then the CO2 in the LM suit circuit went way up after my final EVA so I had to leave the astronauts in cabin for liftoff and rendezvous [17:19:53] but I think that I had that happen also before your update [18:40:41] draft PR is up [18:42:29] I wonder how hard it would be to get yaYUL to assemble EMPs [18:42:47] it would be nice if we could transcribe the code and then just assemble it for whatever rope we want [18:43:10] instead of having to transcribe octals for each different rope, and then have to manually massage the octals if we want to run the EMPs with different ropes [18:46:47] oh yeah that would be interesting [18:47:50] I guess EMPs mainly became a thing because the development of the software got frozen? [18:47:59] but they started appearing with P99 already a bit earlier [18:48:18] but we then could have the same EMPs for earlier ropes without too much trouble [18:50:12] there were all sorts of EMPs used for testing on the ground too, much earlier [18:50:14] but yeah [18:50:34] if I find time soon I'll mess with that [18:50:53] lots of stuff going on at the moment :D [18:53:19] when my PR is done I can at least transcribe all the EMPs we already know about [18:53:35] even the Skylark ones :D [18:55:11] :D [18:55:29] I was looking for a weird Skylark EMP the other night [18:55:46] I thought we had one that was used to test IRIGs or the IMU somehow on the ground, published in some testing memo [18:55:49] but I'm having a hard time finding it [18:56:54] we have GSOP section 7 rev 0 and rev 2 for Skylark I think [18:56:58] rev 2 is for ASTP [18:57:02] yeah, it's not in those [18:57:24] sadly there is at least one EMP they removed from the ASTP document which had an update in rev 1 [18:57:37] oh that sucks [18:57:43] so we don't have that updated version [18:57:57] which one is that? [18:58:48] Generalized Rotational Rate Generator [18:58:55] a pretty substantial EMP, requires 10 uplinks [18:59:18] "This EMP provides a means of imparting a rotational rate to the Orbital Assembly." [18:59:38] boo [18:59:42] do you have any idea what they changed? [18:59:45] "This capability can be of use in conjunction with docked +X translation maneuvers, CMG desaturation and the initiation of "Wide Deadband Attitude Hold"" [19:00:06] no it just says in the changelog in rev 2 that there was an update to that EMP in rev 1 [19:00:25] rev 2 has an "IMU slip ring program", but that's probably not what you mean [19:01:02] oh actually it might be [19:01:14] "This EMP provides a means of simultaneously rotating all [19:01:20] three gimbals about their axes at a 35° per second rate to [19:01:20] clean the Slip Rings" [19:01:34] yeeaah you got it :D [19:01:41] this is the memo I was thinking of: https://www.ibiblio.org/apollo/Documents/slipring_program_and_kstart_tape.pdf [19:05:20] that sounds like something that is fun to watch [19:40:11] lol [19:40:35] well in searching for a copy of Rev 1, I've discovered that NARA has Rev 3 [19:44:12] haha wow [19:44:19] rev 2 is from October 1974 [19:44:26] they didn't want to let go :D [19:46:07] this rev 3 is from June 1975 [19:46:11] right before ASTP launch [19:46:38] an interestingly it has an instrumentation laboratory cover again instead of the CSDL cover of rev 2 [19:48:04] Skylab + ASTP, using spare parts as much as possible for everything :D [19:48:32] hehehe [19:53:53] the two ASTP exclusive EMPs also look quite fun [20:42:14] yeah they do! especially the raster scan [21:37:56] night! [15:20:50] good morning [15:21:12] hey Matt [15:43:17] hey [15:46:09] hey Alex [15:47:17] will the new EMP uplink functions be already accessible by the MCC? [15:47:39] oh [15:47:40] hmm [15:47:45] didn't think of that actually [15:47:51] definitely no at the moment [15:47:59] the function to load the file is in MFD code [15:48:02] ah ok just curious [15:52:59] I guess you would like to include the P99 uplink for the Apollo 17 MCC [15:53:50] I might move the EMP file load function to RTCC code then [16:10:17] I'll create a nice wrapper function so that you can do this pretty easily [16:10:38] it's not just one mission with scheduled EMP uplinks, so, it should be possible [16:11:57] I don't know though if it isn't safer to just hardcode EMPs in the MCC [16:12:10] people can mess with their EMP files :D [16:25:52] hmm yeah [16:26:00] do you really need to load from EMP files? [16:27:36] but at least something better than hardcoding should be available in the RTCC... [16:31:07] I am fine with keeping the MCC with hardcoded EMPs if its safer [16:39:17] I would also have to change the current code quite a bit [16:39:37] I have no good way of testing that code either. Let us maybe do that at some later point. [16:43:10] sure [17:04:10] btw I launched a new mission yesterday, now up to MCC-4. MCC-2 DV was 12 ft/s so I guess that is quite good with the SIVB venting [17:34:34] was that with your usual, unsupported TLMCC mode 4 shenanigans? :D [17:34:46] but yeah in general we will get a slightly higher DV with the venting [17:34:54] just because of more state vector uncertainties [17:46:19] 4 impulse LOI with a far side landing [17:46:25] just kidding :D [17:46:36] but yeah I am doing a CSM DOI so mode 4 [18:12:45] morning! [18:14:50] hey Mike [18:16:01] what's up? [18:18:25] about to LOI [18:19:41] target is near Stevinus crater [18:19:46] nice :D [18:19:54] and you? [18:20:50] not much, just feeling simultaneously excited and anxious about rope reading :D [18:25:29] haha [18:25:50] well following the private chat, seems like your well prepared [18:27:11] you're* [18:36:16] yeah, getting there :D [18:37:17] I did find one suspect Malco/Samtec pin on the Block II reader -- it must have gotten damaged by the Colossus 236 scrap unit that I last read [18:45:23] got plenty of spare pins? [18:51:01] oh yeah [18:51:29] Samtec made like 2000 of these female contacts for us and we used essentially 0 during the AGC restoration. that needed almost exclusively male contacts [18:51:45] Carl's DSKY display setup and my rope reader are the first things we've needed the female contacts for [18:55:41] oh yeah that is plenty of spare :D [15:49:16] hey [16:05:18] hey Nik [16:24:19] What's the plan for XRSound? [16:39:53] I think we are switching to it sooner rather than later! [16:40:10] awesome [17:13:08] hey [17:23:12] hey Alex [17:48:54] morning! [17:57:48] hey [18:24:40] what's up? [18:25:54] EMP PR is basically done, just has to have people test and approve it [18:26:01] nice :D [18:26:16] now I am looking (for the xth time) into improving resolution of AGC RCS commands... [18:26:21] I did quick review pass of the Luminary 210 EMPs last night and didn't spot any typos [18:26:37] ah great, thanks! [22:00:17] ah awesome, just discovered a big flaw in my AGC RCS code [22:00:21] and that is the time to say [22:00:23] night! [22:00:25] :D [16:02:36] hey [16:05:41] hey Alex [16:08:31] the RCS min impulse update is really nice, I can use 10x now during maneuvering with the CSM. Is something similar planned for the LM? [16:09:12] yeah I am working on it. A bit of a different approach though. [16:09:21] Trying to properly resolve PGNS RCS commands [16:09:24] without timestep issues [16:09:41] the thing about the CSM update is, it's a bit cheaty for time acceleration [16:10:05] I don't really expect my new solution to be as good for time accel [16:10:15] the issue is, the DAP runs 10x per second [16:10:32] so if you get 2 (or more) DAP runs per timestep the AGC is a bit confused why the attitude hasn't changed at all [16:11:31] it only works for the CSM because the thrust is increasing slowly, artificially [16:12:03] so I am not sure yet how well it will work in the LM [16:12:09] At least at 1x it should become really nice [16:12:17] no matter your framerate [16:12:29] well, you need above 10 fps with the DAP running that fast :D [16:14:57] right [16:21:45] it would likely still be a vast improvement to before [16:22:04] no huge RCS spikes [16:26:48] that will be nice to have [16:28:25] I had some code nearly ready for testing, but I overlooked something [16:28:36] I think I know what to do though [16:29:02] would this update be for both CMC and LGC at once? [16:29:40] doesn't have to be. The core of the code is in ApolloGuidance, so it will eventually apply to both. But I can put it in the LGC timestep only at first. [16:30:01] ah [16:30:07] it would require a bit of rewriting the RJEC timestep in the SCS code [16:30:31] I've already done the same for the ATCA [16:31:11] and I have tried to give the AGS the same behavior as we currently get in the CSM [16:31:34] haven't test anything yet though [16:31:36] tested* [16:32:39] that would be the same in the CSM. Trying to retain this improved behavior that the CSM in general currently has [16:35:41] for the SCS [17:57:22] n7275, I simply merged it because it looks right, but, what did your fuel cell fix PR do? [18:18:28] the fuel cell constructor expexts a pointer to the N2 tanks. I forgot to add those [18:19:43] I don't check any N2 pressures in the FC code yet, but they were technically uninitialized pointers [18:19:46] that's all [18:22:22] ah ok, yeah I wasn't expecting anything major [18:23:21] morning! [18:24:04] hey Mike [18:24:34] what's up? [18:24:45] I created a branch starting with S today. Has a changed mission file, RTCC file and padload in the scenario. Just in case it is needed :D [18:24:59] hehehe [18:25:39] I made a new similarly named repo last night. gathering symbol addresses from EMPs, Norton, etc. to start putting together a rough memory map [18:26:12] yeah that sounds useful. Will this be the best support source code reconstruction so far? [18:26:18] supported* [18:26:23] supported with documentation etc. [18:27:20] hmmm, that title probably belongs to Luminary 69R2 or something where we didn't have to come up with any custom names for anything [18:27:48] but as far as recent rope dumps yeah, this will be the best by far. Norton should be able to give us an incredible number of names [18:28:09] ah true. Difficult comparison as some reconstructions were a lot smaller in changes. [18:28:25] yep [18:28:46] but for Sundial E, Aurora 88, Corona 261, Sunspot, etc.... there is no comparison :D [18:29:04] all of those have huge chunks of total mystery code that needed a lot of modern naming haha [18:29:11] I just need to read Corona and think of, no not a virus, a square root of mu. [18:29:41] hahaha AS-202 has firmly supplanted the virus in my mind now when I hear "corona" [18:29:50] I spent too much time on that source reconstruction :D [18:31:03] the Discord will probably be a pool of sharks with the rope being the prey. Who knows at what time of day you will be done with it (timezones are fun), so, I'll have the branch ready on Github if people want it. [18:37:49] yeah I don't even know the exact day yet, much less the time of day lol [18:38:22] haha [18:39:13] and of course with anything we do, it's not certain until it's already happened [18:41:00] yeah [21:48:24] night! [13:55:45] good morning [13:59:39] hello hello [14:03:30] I finished up my Airfoil4 project last night [14:04:55] oh nice! [14:08:06] I think I had one other small Orbiter project I wanted to add, but I have no idea what it was now [14:08:28] I should probably finish up the IMU project next though [14:10:04] hmm yeah I don't remember what project you had in mind haha [14:30:01] I remember [14:30:35] I wanted to give thrusters an optional second propellant handle [14:35:42] I'm not sure I want to jump directly into that though [14:46:50] also don't forget I added this debug thing to the RTCC MFD that shows the current IMU misalignment. Maybe it's helpful. [14:49:28] I think that will be very helpful. [14:52:32] I think most of the work I have left to do is just collecting all of the data from each mission and getting it into our mission files/scenerios [14:52:52] I guess I also have a part in this [14:52:57] with the padload generator [14:58:36] ok so in a script my new method to resolve LGC RCS commands works now. Let's see if that also translates to NASSP. [15:01:55] this is the type of project where I need to run my monitor in 60 Hz (instead of 144) to simulate the "average NASSP experience" :D [15:02:44] there's also the "fixed timesteps" option if you want to test a spcific timestep length [15:03:04] hmm but the simulation then runs at variable speed [15:03:15] pretty sure I've tried it [15:03:36] yeah, its kinda weird to interact with [15:03:58] could still be useful for testing very specific framerates [15:04:49] with this new system we should get very realistic behavior down to 10 fps. Or 100 fps at 10x etc. [15:05:23] below that the DAP runs twice on an Orbiter timestep and would command two short RCS commands instead of one. [15:05:28] For the LM ascent stage [15:05:36] that one is mainly the problem [15:06:11] so with 144 Hz I should be able to run a powered ascent at 10x without any changed behavior at all [15:06:28] changed as in, too much (or too little) RCS [15:07:39] the big oversight I had a few days ago was that, for a min imp command, the RCS is already being commanded off again before the thrust even develops [15:08:00] in that case my logic didn't give any thrust at all [15:08:22] so the very thing I wanted to improve, very small RCS commands, didn't do anything haha [15:27:51] I find one of the things that makes my missions take so long to complete (other that getting lost in systems updates for a year), is the time I have to spend at 1x for attitude holds [15:31:04] with the last CSM update that should have improved a lot [15:31:13] you can even do V49 with 10x [15:31:55] so you can play with that on your next mission [15:33:04] do you have any difficulty with S-IVB attitude control? [15:33:09] on 144 Hz it's no problem [15:33:22] but I could use the solution I had for the CSM for it as well [15:34:59] S-IVb attitude is generally no issue for me, even at 10x. Sometimes if I get a long timestep at 10x it'll mess it up though [15:35:03] yeah [15:35:13] and a light S-IVB is more of a problem, like, Apollo 7 [15:35:18] no LM, too [15:35:55] I believe so, based on my memory [15:43:04] "the minimum engine firing pulse duration is approximately 70 milliseconds" pretty long, comparatively [15:43:59] I can implement the same logic as for the CSM, you would run into this during time accel only [15:44:34] the concept being: thrust can only increase by a minimum impulse firing during a timestep [15:57:58] what sort of framerates do you get with vsync off, just out of curiosity [16:00:43] not that much more [16:02:14] Apollo 11 MCC-2 scenario [16:02:22] 2d panel, one MFD open, 178 fps [16:02:36] hmm, not it's settling at 200 [16:02:40] now* [16:02:52] 244 in the VC [16:03:05] 400 fps external view [16:03:43] nice coil whine from my GPU at 400 fps :D [16:08:09] oh wow [16:08:25] I think I need a better GPU [16:11:05] I have a GTX 970 [16:12:27] I have a 1050, and I can only hit like 120 fps in external [16:12:53] maybe it's just full of cat hair again... [16:13:22] oh yeah, mine needs a good dedusting [16:19:19] I've been mostly CPU limited probably, that's why I hated the 2D panel with its inefficient meters [16:19:28] not anymore :D [16:24:56] yeah, that was a pretty incredible performance boost [16:26:18] I have quite a bit of CPU capacity, it just happens to be paralell rather than speed, capacity [16:31:51] I think I will fly an Apollo 12 mission. I want to see how it is in general now with the latest updates. I want to see how the MCC behaves, as Alex implemented it. I want to add a few things the Checklist MFD currently doesn't have access to. [16:32:03] and the RCS behavior [16:32:31] let's see how far I get before I find something I don't like that distracts me from continuing with the mission... [16:35:50] hopefully it isn't fuel cells or LM temperatures :) [16:36:04] 100% not [16:36:17] for those I'd rather use malfunction procedures than try and fix code :D [16:45:59] morning! [16:56:24] hey Mike [17:00:57] what's up? [17:05:06] hey [17:05:18] just launched Apollo 12, just wanted to see how everything is with the latest updates [17:05:26] nice :D [17:32:28] ah found the first thing I need to implement for checklists [17:32:36] set the ORDEAL to a specific altitude [17:53:07] for TLI? [17:53:30] yeah [18:33:37] although thinking long term, I wanted to implement a generic rotational switch class that doesn't have just the few discrete switch positions [18:35:31] see, this is how it happens and I get off track :D [18:46:09] it was inevitable :D [18:47:25] this is why I never make it much further than TLI :) [18:48:40] yeah now I am stopped before TLI, thinking if implementing a dummy switch for the Checklist MFD is a good idea :D [18:48:58] for the rotational switch, it would be nice if it actually worked like a potentiometer: power source input, voltage output [18:49:19] yeah [19:03:33] I think I will implement that new rotational switch class at some point, but for now I will skip implementing the dummy switch. Otherwise Ryan will have to adjust a bunch of checklists twice [19:03:58] so only non-rotational dummy switches on this mission :D [19:12:28] Are we considering Apollo 12 part of our 8.0 eventual "Release" now? [19:14:29] more as a bonus, but, there isn't that much different between 11 and 12 [19:14:40] so wouldn't be a problem [19:17:30] it seems like we have it fairly well suported at this point. it'll be nice to have, especially when we have the CMC software for it [19:20:14] Alex's method for getting the LOI-1 TIG right with the MCC-2 calculation is a bit overkill haha, it takes a while [19:20:47] but I haven't heard complaints about it not converging reliably, so, that's not really a problem [20:25:24] is the plan still to wait for some form of an official OpenOrbiter "release" before NASSP 8.0? [20:32:20] sort of. I can't say have much of a plan... I was more enthusiastic about OpenOrbiter a few years ago. Hopefully it becomes more stable and such. Then we can think about a release. [20:33:37] has it already been a few years? holy cow [20:37:34] I think it went open source in 2021 [21:17:14] https://www.orbiter-forum.com/threads/orbiter-startup-issues.41517/post-614603 [21:19:46] Maybe I should stop sending in new PRs haha [21:22:21] hahaha [21:22:24] As far as I can tell from Jarmo's forum posts and github messages, the "plan" is an early 2024 release, then starting work on a replacement for DX9 [21:39:05] night! [15:06:39] n7275, filling the repress tank is quite slow now. [15:18:38] it might need to be tuned a bit to make it more realistic [15:21:17] I think it's due to the surge tank also dropping in pressure quite a bit [15:21:41] they are both still recovering basically [15:21:49] both tanks [15:22:18] I got pretty close to LM ejection because this took longer [15:24:14] I definitely can't do my usual procedure at the moment. At least the refilling is faster than the LM filling up [15:24:29] I just had the repress package in fill and also the repress open [15:26:15] I went by this, for the implementation https://www.ibiblio.org/apollo/Documents/HSI-208962.pdf#page=203 [15:26:42] it does seem quite long though [15:29:31] oh [15:29:35] I didn't expect this graph [15:29:49] I'd say it's probably realistic then [15:30:14] it does mean though that you really only get one good pressurization from the repress package [15:30:36] can't fill it up quickly and do another full repress [15:37:49] I just need to get used to it then [15:38:02] the pressure behavior agrees closely with the graph [16:51:15] hey [16:55:32] hey Alex [16:56:38] I'm going to fix the timing of the S-IVB uplinks. It uplinks the signal to do the yaw evasive maneuver when it should already do the APS evasive burn [16:56:43] Apollo 12 MCC [17:00:19] ah right [17:01:13] I saw the conversation on Discord, I guess I was following the flight plan but it must be an older iteration than what actually was preformed on the mission? [17:03:05] the flight plan page we have is right. Maybe it was confusion about yaw maneuver vs. evasive burn. Both are sometimes called evasive. But I have a bunch of pre mission documents that are all wrong. [17:04:06] ah [17:04:19] well I must have been drunk :D feel free to change away [17:05:29] yeah, luckily it's a pretty small change. And I was flying this mission anyway, I can test it right away [17:07:44] our LVDC currently doesn't enforce yet the condition that 8 minutes have to pass from yaw maneuver enable to TB8 [17:07:53] so I will add that in the MCC instead [17:08:53] or I try to implement that now... [17:22:47] interesting how that worked in the real thing [17:23:16] the command for the yaw maneuver does "queue-in TB8 enable" [17:23:49] also schedules it. Maybe for a time in 8 minutes? [17:24:05] thewonderidiot, you could answer that :D [17:24:10] D.S860 [17:24:19] is where the yaw maneuver command is [17:24:43] there is a "schedule TB8 enable" [17:25:01] can it schedule that for no earlier than current time plus 8 minutes? [17:25:19] I have to check though if this implementation is compatible with all missions [17:25:36] I might not be able to implement it like the real thing because it would be a problem for Apollo 10 and 11 [17:31:12] yes, D.S860 explicitly schedules TB8 enable for (current total time in mission) + 480 seconds [17:33:05] fun :D [17:34:09] but maybe not for us, the logic for Apollo 10 and 11 seems a bit different [17:34:24] have to think about a solution that covers all missions [17:36:41] I'll just put it as a condition in the MCC code for now [17:54:15] AlexB_88, I've already got a PR on Github btw. I've had to make the TEPHEM address a variable for the RTCC. Otherwise it wouldn't be able to get the TEPHEM from Skylark, to get the actual liftoff time [17:54:38] so a test for the PR would be to check if that UPD button still works for CMC and LGC [17:59:38] I really need to get a telemetry processor working so we can just read stuff like this out of the Intermediate Data Array [18:02:55] I'm still torn if we should have this in-sim or just as an extension to the telemetry client [18:05:58] if I did it in-sim, I would do it so it could be disabled. [18:06:25] my thought was to have it run as an orbiter plugin. [18:08:48] I could probably be talked into something else though [18:10:02] but it would be nice to move the TCP code out of the vessels and into something centralized that could support multithreading/logging/databases [18:10:33] and I'd like to be able to access it with the RTCC [18:10:52] this landmark tracking data processing for example, it really needs an ephemeris for the CSM trajectory [18:14:30] indy91, ill give it a test in a few mins [18:17:17] thanks! I'm just testing the Apollo 12 S-IVB commands now [18:24:58] AlexB_88, if (cm->GetStage() >= CSM_LEM_STAGE) [18:25:10] this doesn't work anymore as a condition for checking on LM ejection :D [18:25:32] hmm, never really worked. Need to check on the docking port [18:51:17] I'm getting some pretty serious AGC whiplash, changing my attention back and forth between the very first manned rope and the very last one :D [18:54:58] oh, why are you looking at Sundisk? [18:55:33] Sunspot [18:55:38] oh haha [18:55:47] of course [18:56:26] I wish I had a reason to be looking at Sundisk, but alas, not yet [18:56:34] haha yeah [18:57:59] somehow with "first manned" I wasn't thinking about Apollo 1 at all and got confused lol [18:59:13] hahaha I mean to be fair, Sundisk was the first flown manned rope [19:04:00] with Skylark addresses being so different I need to do another RTCC sweep, to see if there is anything else hardcoded that simply is always the same in Colossus and Luminary [19:04:43] with TEPHEM I had thought of it and implemented some stuff, but it wasn't 100% there yet [19:05:18] I think I had checked the GSOP section 2 at least, so all typical uplink addresses are accounted for [19:05:45] https://pastebin.com/raw/6ByErFSU [19:05:52] this is my full collection of known addresses so far [19:06:28] E7,1400 LAT(SPL) [19:06:29] E7,1402 LNG(SPL) [19:06:31] E7,1404 DELVSLV [19:06:37] thankfully they left these alone [19:06:44] so that is a few uplink address issues less [19:08:57] oh I just remembered the Skylab deorbiting study document [19:09:37] oh yeah, I forgot about that. does that have anything good in it? [19:10:31] might have a few more addresses for you [19:12:11] I should set up the changed DAP parameters as an EMP [19:12:23] it's in the form of a padload in this document, not an uplink [19:13:57] but there is also some more DAP manipulation procedures it seems, that might have new addresses [19:14:07] but it doesn't give variable names, so... [19:15:00] hmm, do you have a link handy? [19:15:49] https://forum.nasaspaceflight.com/index.php?action=dlattach;topic=25086.0;attach=2217612 [19:16:06] thanks! [19:17:20] oh yeah, there are some new addresses for me in here :D [19:17:43] oh really? now that I was looking in it I wasn't seeing any new ones [19:19:03] because it's just a padload, which you already know [19:19:50] oh, yeah. apparently I just have the memory of a peanut [19:19:56] I do already have these haha [19:24:19] E3,1516 TET [19:24:35] this stayed the same, so state vector "downlinks" to the RTCC MFD should still work [19:25:22] yep [19:25:40] splashdown coordinates are hardcoded in one place in the RTCC MFD. Need to change that, but also stayed the same [19:26:03] REFSMATT shifted up in that bank because UNITW moved to a different bank [19:26:07] *REFSMMAT [19:26:17] yep, I got that one [19:26:21] saw it in the padloads [19:26:34] definitely something that is being uplinked and downlinked often [19:26:43] UNITW barely exists anymore haha [19:26:48] hehehe [19:27:00] it's a part of the LMATRIX now [19:27:08] I was kind of surprised to realize yesterday that a lot of the optics code changed [19:27:16] the rate-aided optics variables appear to all be gone [19:28:19] I guess it's only needed for P24, which is gone [19:28:42] but that was responsible for a lot of erasable movements [19:29:24] and P22 is gone, too, so, all of landmark tracking [20:40:10] cya! [00:08:19] .tell just did the test you suggested for the Tephem branch, all is good on my end. PR approved [13:40:17] good morning [13:42:23] hey Matt [13:43:39] I'm noticing more new things with the ECS [13:43:46] the O2 tank heater have a lot to do [13:43:50] heaters* [13:44:11] every few minutes the pressure drops enough that the heaters have to do a cycle [14:05:21] how full are the tanks? [14:07:07] 95% [14:09:47] pdf page 128 of that databook I linked yesterday should have O2 duty cycles [14:10:13] looking at it, it could be as high as 65% [14:10:42] https://www.ibiblio.org/apollo/Documents/HSI-208962.pdf#page=128 [14:11:00] I prefer the other scan of the CSM Data Book, it's only 10% of the size haha [14:11:07] but I have downloaded both of course [14:12:06] I will try to time the duty cycle [14:14:43] heaters on: 17:21:30 [14:14:44] heaters off: 17:23:30 [14:14:45] heaters on: 17:32:30 [14:15:35] 18% [14:15:45] maybe slightly high but, pretty close [14:16:02] I wasn't doubting the behavior (this time), I am learning haha [14:22:41] it's very different from what we had before [14:23:25] yeah and I hadn't really flown a proper mission yet [14:24:01] the way this behaves, I'd really like it for the S-IVB... [14:24:57] : ) [14:26:12] can't be done yet of course. the main feature of S-IVB venting, the boiling of a liquid, isn't properly implemented [14:27:20] first we need to understand h_substance::Condense and h_substance::Boil :D [14:27:24] and then change it [14:28:00] yeah, those need a rewrite [14:30:41] in a first implementation I would just completely close off all input and output of energy into the tanks and only allow in the simple heat function I am already using [14:31:03] because this heat directly influences the trajectory [14:31:11] so at least at first we can't have it be too random [14:33:05] but that can happen whenever you feel like working on the systems again. What we have now works fine [17:27:17] hey [17:32:05] hi Alex [17:34:56] hey Alex [17:45:00] Alex, I don't think your message went through [17:45:08] from yesterday. [17:47:41] oh haha [17:47:44] .tell [17:47:59] thats what I mean, I didn't specify :D [17:48:44] indy91, this was the message from last night: just did the test you suggested for the Tephem branch, all is good on my end. PR approved [17:49:13] yep haha, I saw. I check the IRC log occasionally [17:49:34] there already is the next one: https://github.com/orbiternassp/NASSP/pull/1151 [17:50:31] yep just firing it up right now [17:52:20] I first had some guesstimates for the timing of this, derived from the flight plan [17:52:53] but then I found some very exact timing how they wanted to do all this in the separation procedures document for Apollo 12 [17:59:08] Just started with the scenario you provided and I'm following the procedure you outlined on github. [17:59:16] anything else to look out for? [18:02:52] not really. I have fully tested it already. [18:03:18] the one new thing is really that the logic checks on the state of the S-IVB "docking port" to the LM [18:03:36] but that works, I even delayed LM ejection on purpose, to test that it doesn't command the yaw maneuver too early [18:23:02] ah so I see where I got confused [18:23:23] the yaw maneuver is not actually shown inb the flight plan it seems [18:23:27] in* [18:24:56] aaah yeah [18:25:08] in the Apollo 13 flight plan it is at least in the notes on the side [18:25:37] and even later it is very explicit in the flight plan what and when a ground command is sent [18:28:45] so the normal timeline works well [18:29:07] now Ill test a late LM ejection [18:30:15] the logic basically wants to do the two commands at a specific time from TLI, but also has an earliest possible time relative to the previous event [18:30:43] so a late ejection means a late yaw maneuver. And TB8 starts 8 minutes after that [18:33:11] late ejection looks good too, did as expected [18:33:34] APS burn, too? [18:34:12] no need to wait for the LOX dump/slingshot maneuver, that just happens on a schedule in TB8. APS burn starts when the TB8 start command is sent [18:34:13] APS burn, slingshot maneuver [18:34:31] PR approved [18:34:37] great [18:35:08] I feel like with Apollo 13 it will be back to the drawing board on the exact sequence [18:35:20] yeah [18:35:31] my Apollo 17 sequence might need a revisiting [18:35:49] and it doesn't have the impact burn yet [18:36:01] the last few missions probably do it all the same [18:36:08] 13 was the first impact mission [18:36:14] don't think much changed from there [19:27:14] I think I might start looking into fine control of VC rotaries [19:31:11] great! But don't think of it as VC rotaries. Think of it as potentiometers and such, which have only one problem, that their actual state can't always be visually represented properly on the 2D panel [19:31:26] they should be implemented along those lines [19:48:50] and of course it needs to be a class separate from rotational switches that actually only have a few discrete positions [20:05:16] right [20:17:35] RotationalSwitch class has some stuff to try and deal with this [20:17:48] maybe the best approach is to implement a new class not derived from RotationalSwitch [20:18:08] and eventually get rid of RotationalSwitch code that deals with this [20:19:34] so basically the VC would call the new class, while the 2D panel still uses the old? [20:19:50] oh no [20:20:25] but it might be easier to transition our current switches that are basically potentiometers to the new system [20:21:06] the new class should work for both VC and 2D [20:21:18] and you can borrow lots of code from RotationalSwitch [20:21:47] at its core the difference between the two classes should be that RotationalSwitch has an integer state and in the new class it's a double. That's basically it. [20:22:02] right [20:22:46] I'm just seeing the problem of RotationalSwitch having some "baggage" [20:22:51] that will make it harder [20:24:50] or make a copy of the whole RotationalSwitch class or so [20:24:55] and change it [20:24:58] whatever is easier [22:16:46] night! [15:07:44] hey [15:29:34] hey Nik [15:39:19] time for some more Apollo 12 coasting [15:40:32] and watching cryo O2 pressure go up and down :D [16:37:44] that'll be fun to have on a strip chart some day [16:41:40] up to LM familiarization, crew in the LM is critical. [16:41:47] they are in the cabin [16:41:51] not sure if temp or CO2 [16:42:31] must be temperature really, don't think we ever had CO2 trouble in the cabin [16:43:54] yeah temperature is offscale high [16:45:37] one thing our systems don't do is exchange Q without mass flow [16:45:46] that might be something to look into [16:45:51] temperature equalization [17:06:10] oh no [17:06:20] I thought I solved that [17:08:00] I used high time acceleration sometimes, but with a high framerate [17:08:30] what were the glycol temps? [17:08:43] when the cabin temp was high [17:08:52] 60°F [17:08:57] hmm [17:09:17] suit loop temp was also high, but not offscale [17:09:19] 90°F i think [17:09:30] I didn't put anything in the suit loop on this occasion [17:11:01] the math works out correctly for how quickly the crew metabolic heat should warm up the cabin, but something about that just doesn't make intuitive sense [17:12:20] I'd have to go back, I'm not sure what the temp was when I first entered the LM [17:12:31] I didn't see the "critical" then, but I could have overlooked it [17:12:57] I will check [17:18:39] oh wow [17:18:55] when the CDR and LMP entered the LM the temperature were perfectly normal [17:19:01] was* [17:19:45] we need those window shades :D [17:19:57] rising pretty fast when I put the 2 in the cabin [17:20:24] even without floodlights, which I believe also puts a bunch of heat into the cabin [17:20:46] it's definitely the crew doing the heating up [17:20:57] easy to see with adding/removing them from the cabin [17:25:23] yeah, I even have a dummy "heat exchanger" in there to move heat from the cabin into the glycol to simulate conducted heat when there is no LM ECS airflow [17:26:23] and the crew heat output is still scaled lower than it should be in reality [17:30:13] yeah we have it set to 30W/crewmember [17:30:58] glycol is already somewhat high when I enter the LM [17:31:02] 60°F [17:31:06] might be normal though [17:31:58] I have a good scenario where the next step in the checklist is putting the CDR and LMP into the LM cabin, if it is of any help [19:06:52] sure, I'll take it. [19:25:57] https://drive.google.com/file/d/1SoVQfV8wMEWcnm0iFxpXYAgW7Y9RYynq/view?usp=sharing [19:26:55] I know how it is with these kind of scenarios. Half the time I have 20 scenarios I could use to do the same testing. But then sometimes I get a scenario that is at the perfect place in a mission and I have to load it 20 times for debugging. Then it has saved a bunch of timing using that one :D [21:47:16] night! [16:10:18] hello [16:20:55] hey [16:48:02] I've definitely been using a lot of 10x with CSM att hold on this mission [16:48:09] makes the mission go faster for sure [17:18:00] awesome [17:19:06] my limiting factor on missions is always the time I have to actually sit at my desk [17:30:54] in lunar orbit now, LM comm checks [17:31:04] first I had the same behavior with the temperature being high [17:31:21] but on this LM entrance they are activating more things, especially a glycol pump [17:31:33] and now the temperature is coming slowly down [17:31:39] and the crew is not critical anymore [17:37:44] I feel like the fact that our crew metabolic heat output is capable of heating the air temperature to well above normal human body temperature is an indication that we're not doing it quite right [17:41:02] morning! [17:41:58] hey Mike [17:42:03] hi Mike [17:42:08] what's up? [17:42:16] yeah it feels like a car in the summer, that heating up rate... [17:42:34] mostly flying Apollo 12, just past LOI-2 [17:43:07] I guess I will switch to 60 fps soon, for testing the LM RCS behavior in my branch [17:43:53] https://www.zuniv.net/physiology/book/images/21-8.jpg [17:45:08] random image I found in google image search [17:46:05] It would be interesting to see what just throwing those curves at our thermal simulation resulted in for a T_equlibrium [17:55:36] oh yes, this makes a lot of sense [17:55:55] of course the heat output is a function of temperature [17:59:34] I'll try hitting it with one of my [in]famous curve-fitting experiments [18:03:58] so I guess what we have established is that our astronauts are in fact not lizard people. They just output heat no matter what, cold or hot environment. [18:05:17] they even sweat [18:06:00] another conspiracy theory defeated [18:06:50] oh yeah, that would really give the water seperators a good workout [21:24:32] night! [15:14:54] good afternoon [15:37:50] hi Niklas [15:40:12] what's up? [16:18:12] https://gist.github.com/n7275/f05c30d53b180ffe93e1911e3997081e [16:20:46] my astronauts would appreciate it :D [16:29:12] I definitely got myself on a few watch lists by googeling things like "typical human surface area" [16:41:18] haha [16:41:41] I hate to say it though, but the LM cabin (and suit loop) can heat up on their own during coasting periods, too [16:42:08] it recovers with the help of glycol and suit fans [16:42:13] but it still happens [16:51:25] how warm? [17:34:16] morning! [17:39:27] hi Mike [18:20:53] n7275, offscale high and critical. Took a bit, but not super long to normalize after the LM was up and running. [18:29:43] hmm, I might have a hard drive problem. Have to some restart. [18:29:51] to do* [18:39:22] hard drive problems are no fun [18:40:30] I was afk long enough that my PC turned to energy saving mode. Something must have happened at that point. [18:40:35] everything seems fine now [18:40:58] but I still better make sure everything important is backed up [19:00:55] I'll need to git into the heating issue a bit more [19:01:16] /s/git/dig [19:01:28] or however that works [19:03:43] git fix heating issue [19:03:50] git is very powerful [19:20:59] damn, that would be awesome [19:21:18] we could ask it to fix other issues too [19:23:14] ChatGPT, convert Artemis 72 to the 1973 coordinate system [19:44:28] lol [21:25:38] night! [16:25:17] hey [16:55:12] morning! [16:57:21] hey Mike [16:58:22] what's up? [16:58:34] downgrading from 144 Hz to 60 Hz for LM RCS testing [16:59:09] with my branch where I am monitoring the channel 5/6 activity at a rate equal to what TIME6 can resolve [16:59:27] to capture exactly how long the DAP wants to switch on thrusters [16:59:45] nice :D [17:05:04] seems to all work in principle how I want it [17:05:18] but I am still docked, more interesting will be the behavior with a light ascent stage [17:47:55] hey [17:52:10] hey Alex [18:29:01] hey Alex [20:11:50] hey guys [20:13:26] hey Matt [20:13:41] I just realized, I should just rename Artemis to Skylark and do a bit of testing with that [20:13:50] I can check e.g. the clock initialization [20:15:27] see if the RTCC (for some reason) totally breaks down with the 1950 coordinate system [20:22:13] oh yeah, good call :D [20:33:17] is it time for me to start getting hyped about skylab systems yet. :) [20:37:19] haha are you going to start working on those? [20:39:24] probably not in the very near future, but eventually [20:41:21] I remember seeing some Shuttle equations for simulating a star tracker [20:42:11] I'm still no expert on P50/P55 but (for some modes) they need some input from Skylab [21:05:48] I've reached out again on that ATMDC document, btw [21:10:35] indy91, question about the CMC padload generator [21:12:15] sure [21:12:37] I was using the wrong time for Launch MJD, (the T-4h MJD) so I generated new padloads with the correct launch time. Despite this the TEPHEM is unchanged from the 1st iteration, shouldn't it reflect the new launch time? [21:13:05] not for the CMC [21:13:26] the padloaded TEPHEM for the CMC is midnight GMT on the day before launch [21:13:33] ahh [21:13:50] because the CMC is really up and running since then and they are doing a GMT sync with the CMC using actual GMT [21:14:08] so the CMC clock is counting up from that midnight, too [21:14:28] and then at liftoff it adds the clock to the TEPHEM, which is the actual launch time, and zeros CMC clock [21:14:36] all the actual padloads have it like this [21:14:48] we used to have the actual launch time loaded as TEPHEM in old padloads [21:14:55] the only 2 padloads that changed are 1043 and 1044, but they are not listed in the padload worksheets so not sure what those are without digging deeper [21:15:08] I think it's PIPTIME, which they load for some reason [21:15:18] let me check [21:16:38] yeah, it's basically the time associated with a state vector [21:16:53] and for that they are loading the time the CMC clock would actually have at liftoff [21:17:03] not really sure, it's not needed [21:17:14] maybe something for prelaunch checkout stuff [21:17:23] but it's in the real padloads, so I added it [21:17:56] right [21:18:02] still good to use the actual MJD in the padload generator. There could be day of launch confusions [21:18:17] and for the LGC they are loading the predicted TEPHEM as backup [21:18:28] even though you of course overwrite it during LGC activation [21:18:36] I guess it can't hurt to already load something [21:18:38] if you launch before 4:00 AM :D [21:19:00] I guess it would use midnight of the day before [21:19:13] yeah [21:19:37] still wouldn't be a problem, our CMC init code uses whatever TEPHEM is loaded as reference [21:20:02] would just have 24 hours larger clock time when you first boot it up [21:20:17] I mean eventually the mission time overflows, there is a limit to AGC scaling [21:20:24] so you can't use a random MJD :D [21:22:36] most calculations in the padload generator really use variable "PrelaunchMJD" as a reference, which is rounded down to midnight [21:23:06] so that's why you see no difference even in the correction vectors for Earth and Moon rotation. Or the lunar/solar ephemerides. [21:24:25] I figured is wasn't too important...I have been using the T-4h MJD in all my custom missions so far without realizing :D [21:25:11] as far as Skylark is concerned, how far into the "future" could we actually launch [21:25:57] in Orbiter, any time [21:26:02] realistically the stars drift [21:26:16] but for us that's even better with Skylark than any other ropes [21:26:21] it's using 1973 star positions [21:26:27] Orbiter has 2000 [21:26:36] I really don't think there is any other limit [21:26:58] oh wow, cool [21:27:24] I can't think of any [21:27:46] so mid 1990s Apollo-Mir would be possible [21:27:58] like the Shuttle computer Skylark has a precession/libration matrix instead of a vector that uses small angle approximation [21:28:20] precession/nutation* [21:28:26] libration is more of a Moon thing [21:29:06] in the ATDP I uses ephemeris "tapes" up to the year 2000, but not in the padload generator [21:29:24] used* [21:29:36] padload generator should work past the year 2000 [21:30:05] oh I was just wondering about the star tables [21:30:10] so those didn't make it to erasable? [21:30:16] nope [21:30:24] 1950 coordinate system, proper motion for 1973 [21:30:37] hmmm interesting [21:31:00] but like, we can use the stars in Orbiter (year 2000) for P52 [21:31:07] even though the star tables are 1969, 1970 etc. [21:31:48] hmmm I was under the impression that we had to use star markers to account for the difference between orbiter stars and what the AGC was expecting [21:32:00] yes and no [21:32:16] some stars in Orbiter are noticable different than our marker file, which has 1970 AGC star positions I think [21:32:31] but really not a lot [21:32:49] like, I don't think you can even get a 0.02° (+00002) star angle error in P52 if you only use the Orbiter stars [21:33:11] always better than that [21:33:20] it's really not a problem [21:33:25] not perfect precision maybe [21:33:42] but since our sextant reticle update a few years ago I prefer doing P52 without markers [21:33:47] they sort of get in the way [21:35:10] gotcha gotcha [21:35:21] you also had a project to replace Orbiter's star file, didn't you? :P [21:35:45] haha yeah [21:35:49] Axiom 3 launch coming up [21:36:05] I could never 100% replicate the Orbiter star file [21:36:18] that's how I wanted to start before making changes [21:36:34] didn't want to add/remove stars from the Orbiter file [21:37:27] oh hmm, just found something [21:37:36] Skylark has part of the solar ephemeris hardcoded [21:38:07] but I remember playing around with that for Shuttle, it has a very similar calculation for that as Skylark [21:38:26] you can easily hardcode some values that are valid for a century [21:38:55] so that probably would become a problem on a similar timescale as the stars in reality [21:39:05] and it's actually relevant for Orbiter [21:39:26] need to do some analysis on that, but, it's probably still pretty good in the year 2000 [21:39:42] and the direction of the sun is not all that relevant in Skylark [21:40:01] not used for gravity calculations, as during cislunar flight in Colossus/Luminary [21:41:30] indy91, we now have the source code for the Orbiter star file, and the functions that load it [21:41:39] which we did not initially [21:41:46] oooh I didn't know that [21:41:51] yeah we didn't initialize have it [21:41:56] initially* [21:42:11] that's good to know [21:44:04] https://github.com/orbitersim/orbiter/blob/b0b72f3e989451d012fa2b35d7a4d5074e8e5fd7/Orbitersdk/include/CelSphereAPI.h#L37 [21:44:45] whoops wrong copy-paste [21:45:06] I think I had figured out which star catalog martins was using [21:45:12] but he did some cleaning up of it [21:45:29] that's the part I couldn't duplicate [21:49:18] here's the actual loading function: https://github.com/orbitersim/orbiter/blob/b0b72f3e989451d012fa2b35d7a4d5074e8e5fd7/Src/Orbiter/CelSphereAPI.cpp#L165 [21:50:27] yeah, the Hipparcos catalogue [21:54:44] I guess with Skylark and the possibility of missions in years much after 1975 we don't have quite as good a reason anymore to try and change our stars [21:55:10] it will still mainly be 1968-1972 of course [21:55:21] those are still the most important missions for NASSP [21:56:12] but changing the star file is not at the top of my priority anymore haha [21:57:50] if anything I think I'd just want Orbiter to move them correctly over time [21:57:50] one thing I'm surprised I haven't been able to find any trace of is the skylark program notes [21:58:29] EMP SL-1 had me thinking about that -- it seems likely that we'll run into anomaly SKY-001 at some point. and the EMP gives recovery procedures but doesn't say what causes it [22:02:27] hmm [22:03:43] the document title was apparently "Program Notes for Skylab CMC Flight Program Skylark 48" [22:03:50] but I have only found one reference to it [22:04:05] definitely possible we will run into it [22:04:31] haha [22:04:35] speaking of star tables [22:04:58] Skylark Users Guide: " See SKYLARK Anomaly No. 3 describing the CMC star [22:04:58] catalogue error in Navi's position." [22:05:34] hahaha oh boy [22:06:09] the users guide also has something on anomaly no. 1 [22:06:17] oh? [22:06:25] PDF page 139 [22:06:32] 4% chance apparently [22:06:52] oh we are *definitely* going to run into that then [22:07:06] and anomaly 2 on page 140 [22:07:09] it's related I guess [22:08:07] huh [22:08:47] I'm kind of surprised there wasn't a Skylark 49 [22:10:53] so I guess we should avoid using star 3 [22:11:02] I will have to check how far off it really is [22:11:15] we already have the star positions from the GSOP right? [22:11:19] yeah [22:11:21] or from Norton [22:11:37] I can check them all against Orbiter [22:11:50] how far off is it? can't check the document right now [22:11:59] it doesn't say [22:12:34] that's one of the easiest stars to find visually too [22:12:41] at least for me [22:13:34] *one of the easiest that isn't one of the super bright ones [22:13:37] just says you could potentially get "unacceptable torquing angles" [22:23:24] I guess it's not as easy as comparing against Artemis because of the coordinate system change [22:23:29] no time to transcribe the whole Skylark star table today, but I am quickly comparing the first three [22:23:40] it's the same coordinate system type [22:23:52] Skylark has 0.4792524242, 0.1143361938, 0.8701978789 for star 3 [22:23:53] just defined for 1950 and not the closest year to launch [22:23:57] right [22:24:28] so it's not *terribly* far off from Artemis [22:24:32] provided I have made no errors, here is the script [22:24:39] Star 1, error of 0.000230° [22:24:44] Star 2, error of 0.000369° [22:24:48] Star 3, error of 0.035192° [22:24:49] oh nice :D [22:24:51] well [22:24:53] not so nice :D [22:25:09] hehehe [22:25:37] borderline unusable [22:25:43] really [22:25:53] 0.03° is the typical limit to repeat a P52 [22:26:07] so a perfect P52 would get you a (rounded) 0.04° [22:26:14] I reiterate my surprise at there not having been a Skylark 49 [22:26:17] haha [22:26:24] they must have proper motioned it wrong [22:26:36] it might be one of the faster moving stars? Not sure [22:26:54] well this is already my least favourite feature of Skylark then :D [22:27:07] anomaly 1 at least has an interesting workaround [22:27:15] anomaly 2 happens with a restart only [22:28:22] copy and paste works pretty well from the Norton manual [22:28:29] not so much in the GSOP [22:28:51] still need to check every number though [22:29:06] Star 4, error of 0.000343° [22:29:19] I think that's the region of errors to expect [22:29:31] my conversion matrix could be slightly in error etc. [22:29:50] and of course the proper motion to year 2000 [22:29:57] uhh [22:30:05] what is my RTCC star table based on... [22:30:15] might not even be year 2000 but 1970 instead [22:30:26] that's what I used as reference [22:31:07] we should get a G&C Checklist, sometimes they have program notes [22:31:55] UHCL might have one [22:32:31] oh that would be great [22:33:34] ah well, one star to avoid. Could be worse. [22:33:45] not quite enough to cancel your trip over [22:37:15] hahahaha [22:37:21] useless rope, who needs it :D [22:40:12] in doubt we fix it [22:40:15] night! [15:05:55] good morning [15:08:41] hey [15:09:08] with Artemis as a stand-in, yes, I got something wrong in the Skylark branch [15:09:36] forgot to load a number in the mission file. And I used the planned launch day for the padload, not the actual day, which we have in our scenario :D [15:12:10] now at least the CMC clock init works [15:49:04] ahh, that'll probably mess some things up [16:21:32] oh a fairly large error in the Sirius star unit vector as well. But this might be due to proper motion between 1973 and 2000. It moves pretty fast in the sky. Could even be the same for all the other ropes. [16:21:38] 0.01° [16:21:47] ah [16:21:49] I can't read [16:21:58] 0.001362° [16:22:05] as opposed to [16:22:09] 0.035192° for Navi [16:22:38] that's still going to be proper motion, larger than most other stars [16:36:15] morning! [16:37:31] interesting :D [16:43:31] hey Mike and Alex [16:43:51] yeah I guess if I do this analysis with any other rope it will be the same. Sirius just moves fast [16:44:33] there was at least one other like that, which had a fairly large difference between Orbiter and AGC [16:45:22] proper motion in mas/yr is part of the Hipparcos/Tycho data....dangerous ideas :) [16:46:11] been there, done that [16:46:29] the code I wrote could already read that and had a year as input [16:46:44] oh wait [16:46:47] you mean for Orbiter itself [16:46:51] yeah [16:46:52] yes, dangerous :D [16:52:10] hey guys [16:54:33] hi Alex [16:55:01] yo [18:01:49] I am kind of drawn towards some Skylab related projects, like adding the LVDC timebase for the LOX dump deorbit [18:02:19] but really I would completely rewrite the Saturn IB LVDC with all the great documentation that we now have [18:02:40] oh boy, sounds like a big project :D [18:03:39] definitely would be haha [18:04:04] also still missing is the proper Skylab launch window processor. What we have is mostly the launch targeting, to calculate the LVDC parameters [18:04:28] the real thing had the rendezvous processor attached to it, so that you can see what rendezvous maneuvers you get from a launch [18:05:13] because it's a somewhat short profile they would tweak the insertion orbit so that the plane launch windows better overlaps the phase launch window [18:06:00] our Skylab 2 scenario doesn't have this problem, but, for other cases you could have rendezvous burns that are retrograde to get to the target [18:06:06] because of the phase angle at insertion [18:07:03] oh interesting [18:07:35] this will probably become relevant as soon as we want to create another launch scenario [18:07:40] for a real or fictional mission [18:09:21] do you have documentation for the launch window processor? [18:09:30] yep! [18:09:32] nice! [18:09:36] Ron scanned it a long while ago [18:09:40] https://archive.org/details/70fm198images [18:09:55] oh beautiful haha [18:10:17] the Change 1 of this calls the launch targeting processor as a major component, which we don't actually have [18:10:26] but I've mostly figured out how that needs to work [18:12:06] might not even be a lengthy project really, as the major components this uses are implemented as other processors [18:12:47] majority of the inputs are for the DKI [20:03:35] oh indy91, do you have a script that converts scenarios to yaAGC core files? I was looking around on my laptop last night and couldn't find a script to do it [20:05:09] I don't. We have just have a button in the PAMFD, which calls MakeCoreDump in agc_engine_init.c [20:07:00] -have [20:09:07] hah gotcha [20:09:23] okay, I'm going to make a script. just wanted to make sure I wasn't going to duplicate work :D [20:10:18] I mean I have more scripts than I can remember, but I know I would have just loaded up Orbiter and press the button [20:13:18] I thought I had one, but I think I was remembering the script that turns binary dumps into NASSP EMEMs [20:13:49] ah yeah for the erasable memory module [19:33:09] good evening [13:37:15] hello [13:46:59] hey Matt [14:56:51] I was searching through old forum post last night [14:56:54] https://www.orbiter-forum.com/threads/mars-express-hrsc.34806/post-534158 [14:57:22] "Also, I am now using elevation data referenced against the reference sphere instead of the geoid, so the oblate ellipsoid shape of Mars will be correctly represented" [14:57:42] which I thought was interesting [14:58:07] can we have that for Earth :D [14:59:06] I think all that would take is reprocessing some terrain data [14:59:16] in the RTCC I have taken many shortcuts with a spherical Earth [14:59:31] definitely something I need to stop doing going forward [15:00:12] I should just use the correct system parameters for the shape of the Earth and then eventually just change those two numbers from identical to the actual values. That would be ideal. [15:06:03] I think we'd still need to include some kind of "oblateness" parameter in the celbody class. the lower LOD rendered planet levels (<4 iirc) are just rendered as spheres. [15:09:01] yeah [15:09:24] but at least I know that I need to take this into account better in the future for the RTCC [15:11:44] I don't know if this is what makes sense, but in the AGC you have a semi-major axis of the Earth ellipsoid, which is the equatorial radius [15:11:47] and then the polar radius [15:12:00] the equatorial radius is also being used for non-spherical gravity [15:12:09] that is something to consider for Orbiter [15:12:29] definitely an annoying that we have one radius that determines both the gravity as well as the actual size of the body [15:12:44] your gravity update for OO doesn't fundamentally change this, does it? [15:13:45] an annoyance* [15:18:32] no, it shouldn't change anything there. [15:19:05] it causes us to get the wrong gravity right now, at least a little bit [15:19:24] we use the KSC radius as the Earth radius [15:19:35] and not the equatorial one [15:20:06] I updated the GM value to the one provided by the gravity model header [15:20:33] (not that it's all that different) [15:20:46] just more precise for the most part [15:21:13] but those models only really care about gravatational potential measured from the center of mass [15:21:14] by updating the mass value? [15:21:37] our Earth mass probably agrees with Colossus 237/249 GSOP [15:22:37] I think the numbers were different after like the 11th decimal place or something like that [15:25:11] orbiter accumulates ~5 meters of positional error in lunar orbiter over the course of a day (when compared with GMAT) and I was trying to minimize that [15:25:35] *lunar orbit [15:28:55] I think I eventually concluded that was down to the difference in Orbiter's RK8 propagator, vs. GMAT's RK8(9) propagator. [15:29:18] makes sense [17:54:27] ey [17:54:31] hey* [17:57:57] hello [18:20:20] hi Alex [19:08:55] indy91, is there a specific scenario that can be used to test your time PR? [19:09:03] all of them [19:09:19] I guess one thats right before a landmark PAD [19:09:34] like, every single time display in the RTCC MFD and MCC had a change in its logic, basically [19:09:44] right [19:10:08] if you are asking about about specific cases where it was showing 60 seconds, I got one on this Apollo 12 mission [19:10:14] and I saw it being fixed [19:10:43] that's not really what I am worried about haha. I am worried about all the changes that were require breaking time displays that were previously good [19:10:50] required* [19:11:16] also, what I talked about for the Apollo 17 MCC [19:11:48] How we do the liftoff time update to the RTCC with the MCC is to get the actual time from the CMC and then convert it to hours, minutes, seconds and input them to the right MEDs [19:12:22] so I need to add the 0.01 flag for the specific cases in 17 [19:12:31] yep [19:12:38] by default the conversion function for this, SStoHHMMSS, now rounds to a full second [19:12:54] at least for this "ground liftoff time update" section you want 0.01 [19:13:13] which is sort of realistic. You could get a case where it would try to input e.g. 12:34:60 to the MED [19:13:20] not sure if that would be rejected in reality [19:13:51] and you need to check other uses of SStoHHMMSS in the Apollo 17 MCC as well [19:14:05] right [19:14:26] im building the branch right now [19:14:47] for the PR, I tested the MCC liftoff update with one mission. Testing might be best with some random samples of RTCC MFD pages. [19:15:32] yeah, ill do some random things to make sure they work right and ill be able to review the PR [19:16:05] code wise, I removed all specific time formatting from the RTCC MFD and MCC code and moved it to a common set of calculations [19:16:21] that was really the only way to make it consistent. Also removed a bunch of duplicate code. [19:16:44] These liftoff time updates were really the only thing where something could actually break from this PR [19:16:56] everything else would be display bugs [19:17:35] speaking of which, should we start looking at a way to sync the PAMFD mission time with these updates? [19:18:04] or maybe we should simply display the RTCC time in the PAMFD [19:18:21] long term, I was thinking LCC clock time until liftoff [19:18:29] then RTCC [19:18:41] actually I had a thought now for the PAMFD, maybe it should show both MET and GET? [19:18:54] like, one time always counting up from launch [19:19:03] ah, yeah taht could be good [19:19:07] that* [19:19:11] pretty sure they had this in the MOCR [19:19:19] at least after getting themselves confused a bit on Apollo 14 [19:19:30] and it won't break everything else that relies on GET [19:23:05] and if it doesn't find the MCC vessel with its RTCC, it can just show what it currently shows [19:27:08] PR approved [19:48:52] thanks! [19:49:26] as long as the CMC liftoff time isn't being rounded to a full second, everything else can break and be fixed without having caused an issue :D [19:53:22] yeah [19:53:33] btw how's the LM RCS branch going? [19:54:07] just before PDI [19:54:25] I've done the RCS checkout with both 60 and 144 Hz [19:54:56] with 60 fps you already get some lost PGNS min imp commands, with the current behavior [19:55:05] that's solved in my branch, too [19:55:09] nice [19:55:26] in an old scenario I did a powered ascent with 10x time acceleration [19:55:32] looked quite nice [19:55:59] as long as the DAP runs at least once per timestep everything should be really nice [19:56:07] Im flying to Copernicus right now, should be activating the LM tomorrow or so, maybe a draft PR in time for that for some testing? :D [19:56:25] 60 fps with 10x time accel will have the DAP run twice on a timestep [19:56:29] haven't tested that yet [19:56:57] my concept in the CSM is simpler and can deal with this well, although in a slightly cheaty way [19:58:06] I can push my branch, sure [19:58:19] I haven't really decide which of the two concepts is better [19:59:48] accumulating PGNS commands (that's what I am testing with the LM right now). Pro: Can resolve exactly what the LGC wants to do with the RCS. Contra: Code a lot more complicated, improvement to time acceleration stability potentially not quite as great as with the other method [20:00:37] Increasing RCS thrust by minimum impulses (what we have already in the CSM now): Pro: Simple code, good for even large time acceleration [20:00:58] Contra: Not good at resolving fine PGNS RCS commands that are larger than min imp, but still small [20:03:08] right [20:04:11] so if I understand, the CSM has one concept, and the LM the other? [20:04:44] well in the Orbiter 2016 branch right now the LM even has a different, third concept :D [20:05:15] but yeah, I could implement the concept I already used for the CSM (which is merged) in the LM, too [20:05:26] in fact I am using it for AGS commands [20:06:46] ah for AGS too [20:06:54] in my branch, yeah [20:07:00] not tested much yet [20:07:02] do these improve SCS behavior? [20:07:31] the simpler concept I already have merged for the CSM, it's the same for CMC and SCS, yeah [20:08:02] right [20:08:06] this third concept that the LM has right now. It works well if you have a super high framerate. Takes into account that you get a delay with RCS on commands and also RCS off commands and the off command has a smaller delay. [20:08:32] I'll have to try min deadband SCS with time accel [20:09:01] on this Apollo 12 flight I have been using a lot of time acceleration with att hold [20:09:09] and even V49 at 10x isn't really a problem [20:09:15] with my 144 fps [20:09:18] but with* [20:09:52] thats with the modification, or the main branch as it is now? [20:10:02] CSM, main branch already [20:10:15] ah interesting [20:10:33] Im at 60 fps and the LM loses control even at 10x [20:10:35] you probably haven't tried it much because you know from past experience that bad things happen :D [20:10:42] oh yeah for sure it will [20:10:52] although I do have a 144 hz monitor [20:11:04] but Im not using it right now [20:11:20] I haven't switched to 60 fps in my LM branch yet, not after undocking anyway [20:11:35] on 10x the DAP willl run twice per timestep [20:11:39] DAP runs at 10 Hz [20:12:04] so only above 100 fps does it run once per timestep, at 10x time accel [20:12:18] what the DAP sees is that the IMU attitude hasn't changed [20:12:29] and commands the same RCS firing again [20:12:58] and because in my LM RCS branch it accumulates PGNS commands, it will have 2x the amount of thrust then [20:13:12] that is the disadvantage over the concept in the CSM that is already merged [20:14:28] the deciding factor will probably be LM light ascent stage behavior [20:15:03] if that is still unstable at 60 fps, 10x time accel, then I probably need to switch the LM to use the simpler method [20:16:46] well [20:16:57] at least I don't want it to spin out of control during att hold [20:17:49] my main goal is to improve behavior for people below 71 fps in general [20:18:18] at 71 fps the timestep length is one PGNS min imp command duration [20:19:14] I haven't made a draft PR yet. But the branch is pushed. Name is: RCSBehavior [20:24:49] great. ill be testing with it [21:52:44] night! [16:38:53] hello [16:40:32] hey Matt [16:49:11] ok, request for Skylab G&C Checklist is sent [16:49:19] UHCL [16:49:41] I just remembered I wanted to ask them for an Apollo 1 GSOP, too. Uhhh, I'll do that another time. [16:50:08] should be interesting, I wonder if it has anything about star 3 [16:51:25] so about the Skylab launch window processor, it's kind of difficult to implement that in the RTCC MFD without loosing any capabilities of the current LWP. It's quite specialized for Skylab. [16:51:36] and I was thinking, does this even need to be in the RTCC MFD [16:51:46] it's more about pre-mission planning [16:52:16] should almost be a standalone application, a sort of off-line, Skylab RTCC [16:53:03] as input it needs a target state vector mainly [16:55:36] hey [16:55:41] hey Alex [16:57:22] the word RTCC isn't even in the Skylab LWP document [16:57:37] it uses the RTCC DKI though. And launch targeting. [17:09:25] I feel like throwing some money at NARA. What could help me out the most... [17:11:11] ah! nice and smooth LM at 10x [17:11:30] with PGNS att hold [17:11:49] 60 fps? [17:11:56] yep [17:12:57] ascent or full LM [17:15:20] full LM just after undocking [17:16:02] hmm, I think it would command 2x the amount of thrust that is required at 60 fps and 10x [17:16:15] but maybe the DAP doesn't do it that way [17:16:37] don't know the exact timing of these things, it might wait longer for a response from the spacecraft [17:16:53] even with that 2x it would likely still be fairly stable [17:16:58] better than before for sure [17:18:32] even 30x is stable [17:20:29] the LM DAP has a pretty smart state estimator, after all it has to work during powered ascent. It takes predicted acceleration due to RCS into account. [17:20:42] rotational acceleration that is [17:20:58] so maybe it works better than I thought it would [17:21:06] but this isn't the ascent stage yet :D [17:21:29] true [17:21:55] flying over Copernicus [17:22:55] https://www.dropbox.com/scl/fi/duzn7rv9m2fnudep31vy0/Screenshot-2024-01-22-12.22.08.png?rlkey=gk8u83tilxzzyak1wnxzn31g9&dl=0 [17:25:09] quite the crater [17:25:47] mission slogan: in terrain model we trust [17:27:02] haha [17:27:21] well its actually a better gradient then my landing inside Tycho [17:27:49] my landing spot is further downrange from the rim I mean [18:30:21] previously the amount of RCS thrust was tied to the framerate [18:30:45] I tried previously to decouple it from that, but it wasn't really possible, especially not below 100 fps [18:31:06] but now the behavior should be the opposite of random [18:31:46] exactly the RCS duration the PGNS wants, including on/off delays [18:33:14] ah ok [18:33:35] yeah it sure seems to be working [18:33:57] so [18:34:30] there's this cheaty shift-K we have in our code to null all rotation [18:34:38] maybe this should now be removed :D [18:34:54] haha I don't think so, still a good debugging tool [18:35:27] true, but there's always the button in the scenario editor [18:35:47] but we can leave the keyboard shortcut in I guess [18:36:09] oh you mean the keyboard combination specifically [18:36:15] I'm ashamed to say I've used it so much it has become a bad habit :D [18:36:16] I forgot that even existed lol [18:36:25] I was thinking of the PAMFD button [18:36:30] yeah specifically the keyboard combination [18:36:32] right [18:37:17] because of the duration of PGNS min imp commands, the current behavior (not in my branch) is really night and day between 60 fps and 144 fps [18:37:51] and this branch is a further improvement, as not even 144 Hz can fully resolve the PGNS commands [18:40:00] if we go this path with the LM then it should also be ported to the CSM. Most of the code is in the ApolloGuidance class, so directly tied into the AGC timestep. [18:40:17] would be messy to have it only for the LGC then [18:40:30] hopefully the CMC DAP likes it as well [18:41:12] I still predict it to be a slight downgrade for time acceleration compared to the current CSM solution I recently implemented [18:41:32] but for 1x it should resolve very short RCS commands better in the CMC, too [18:41:50] I think it mainly is relevant for roll with light CSMs [18:41:59] with the LM ascent stage it is quite relevant in all axes [18:42:30] I don't even know if the CMC uses TIME6 for RCS, need to check [18:43:10] "Jet timing is handled by a program initiated by underflow of the TIME6 [18:43:13] counter" [18:44:17] I guess jet timing is the same in CMC and LGC then [18:46:43] and with TIME6 the AGC can in theory commands RCS with a granularity of 1/1600 seconds [18:47:02] good luck with 60 fps and "normal" RCS logic :D [19:02:07] if its alight downgrade in the time accel stability, but an overall upgrade for realism, I'm for using it for the CSM as well [19:02:22] a light* [19:17:49] I would like it to still be able to do a V49 and att hold at 60 fps and 10x time acceleration [19:42:54] right [19:43:02] I think thats a good benchmark [19:46:18] above 10x would also be nice but I think that is a bit pushing it, don't think I would ever normally do maneuvers and fly in min deadband att hold above 10x [19:52:28] btw how's 12 going? [19:54:29] haven't made progress today [19:54:42] something tells me I won't for a few days :D [19:57:28] so I am still right before PDI [19:58:16] I've been mostly thinking today if the Skylab Launch Window Processor even belongs in the RTCC MFD [20:20:59] "Apollo 12 Houston, you are no-go for PDI, we are distracted by earth orbital mission RTCC configurations we will need to use in about 4 years" [20:21:19] :D [20:23:41] says the guy who's flying fictional missions that never flew [20:24:43] just landed at Copernicus...I think this may be my new favorite landing site [20:25:29] how did the Delta H behave? [20:26:53] not bad, it fluctuated but it was within +/- 1000 feet I think [20:26:58] https://www.dropbox.com/scl/fi/dqzpqunkrcaprzcbgsxe3/Screenshot-2024-01-22-15.04.38.png?rlkey=uug6f4mbx7je1356ctjocjzdi&dl=0 [20:27:07] https://www.dropbox.com/scl/fi/3qr29onbk1kmfpfv82hbq/Screenshot-2024-01-22-15.13.47.png?rlkey=gcwy2ly6wodxej43iqgxronzq&dl=0 [20:28:16] the view at pitchover must have been great [20:29:26] I haven't even flown a custom mission myself :D [20:29:46] but to be honest, making it possible in the first place is like 80% of the fun for me [20:30:07] yeah I bet [20:30:35] the view is pretty spectacular at Copernicus [20:31:37] I added some textures for the landing site from LROC images and jarmonik's Terrain ToolKit [20:32:09] I'll think about custom Saturn V again some time, mostly occupied with custom Saturn IB missions in the future haha [20:34:13] fictional Saturn V missions are now pretty easy to make with your tool, and they work very well [20:34:33] Ive been testing them since early December :D [20:34:45] we need more flexibility for sure, but, it will come [20:35:01] more automated optimization etc. [20:36:20] I have a branch up with some Fictional missions and a custom MCC for them: https://github.com/jalexb88/NASSP/tree/MCCApolloXX [20:36:51] of fun, a sort of generic J mission MCC support? [20:37:08] yeah [20:37:20] my next MCC projects will be adding map updates for Apollo 12 [20:37:29] and also in the not too distant future, Apollo 13 [20:37:53] its based on the Apollo 15 profile, but no hard-coded things [20:38:05] ah nice [20:38:25] there is a map update calculation bug right now. Not very likely to happen, never really by the MCC, but it's in a fairly commonly used function. Need to fix it there. [20:39:11] commonly used function == good chance of a bug "fix" to great something, so, I'm taking my time with this :D [20:39:19] to break something* [20:39:42] right [20:40:09] for Apollo 13 MCC, are you initially doing the failure mission or nominal? [20:40:28] I will probably start with a copy and paste from the Apollo 12 MCC [20:40:42] but I will probably fly the failure scenario first [20:40:58] finally want to commit the collected knowledge from listening to the FIDO into code [20:41:18] ah ok [20:42:46] the MCC has been working great, but, don't be too surprised if I take a look at your MCC-1 and 2 iteration that takes a while :D [20:43:46] although in a way it simulates quite accurately the bored Apollo 13 night shift FIDO who was tweaking the LOI-1 TIG to 1 second to the flight plan [20:49:31] the two bugs I saw on this mission were fixed in my PR.The 60 seconds display I got for a P22 PAD. Nothing of your doing of course. And then, the PAD with undocking and sep times showed the format 123:45:5 instead of 123:45:05. [20:49:35] fixed that as well [20:49:39] all very minor of course [20:55:10] yeah that iteration works but its ugly...I fully expect it to be improved [20:56:07] for some reason I have it do it twice if MCC-1 needs to be burned...thats not the case in my Apollo 17 MCC [20:56:18] can't remember why [20:58:31] I think something about the F23 time iterated for the MCC-2 TIG did not give the same LOI GET at MCC-1 TIG [20:58:55] but for 17, F23 time iterated at MCC-2 worked all around [20:59:52] yeah that is sometimes a bit strange, where the LOI TIG lands with F23 constraints [21:33:57] night! [15:26:57] hey [15:29:02] hey Nik [16:41:01] hey [16:51:27] hey Alex [16:52:01] how is your crater [16:54:14] spectacular [16:54:28] but I'm getting ready to leave it [16:55:18] ah not a very long stay? [16:57:30] no no a long stay, but lazy astronauts who only did 1 EVA and then time accel :D [16:57:46] I'm eager to see ascent with the new RCS behavior [17:22:18] there are theoretical flaws in the new RCS behavior, but very minor and they could only happen if the DAP violates the interface rules of commanding RCS for too short (below 13 ms) [17:22:54] DAP has extra logic to specifically prevent this [17:24:22] and I think at worst you could get a missed RCS command. Or if the RCS is commanded on, then commanded off after well below 13 milliseconds, and commanded on again. That could give a RCS minimum impulse "too early", sort of. [17:25:09] but only ever if the DAP does something worthy of an anomaly report [17:33:29] if a RCS thruster is commanded on again before the off-delay is finished then it will first run the off-delay to its end and only then start the on-delay again. [17:33:48] but that again is sort of unsafe behavior that the AGC isn't supposed to command [18:06:21] right [19:07:34] that doesn't sound like too much of a problem [19:29:50] hmm so definitely more squirrely with the light ascent stage with time accel (post-insertion) [19:30:54] if I use 10x during the attitude maneuver during P20 it almost loses control, but once it is at the attitude it seems to keep it stable but definitely less then when it was the full LM [19:31:37] however after the change to DAP code 12012 it helps the stability at 10x [19:31:51] but 30x is a definite loss of control [19:32:13] this is all post insertion, I did not do time accel during powered ascent [20:12:15] ah that's good feedback [20:12:29] must be the DAP running too often compared to framerate [20:13:31] I had a very smooth ascent with 10x and 144 Hz, but, that still has the Orbiter refresh rate running faster than the DAP [20:16:40] and of course the DAP isn't perfect. I would still expect a fair amount of RCS activity with a light LM, that's just how it behaved. [20:19:34] with my concept in the CSM, I wonder if it runs into a different problem with time acceleration. You need a certain amount of thrust just to overcome the APS torque. [20:20:01] there will be a time acceleration threshold where it spins out of control, not because of too much thrust, but too little [20:21:19] "30x is a definite loss of control". That with 60 fps means the DAP runs 5 times for one Orbiter timestep. [20:21:41] and it will command 5 short RCS pulses in that time, because it doesn't see the IMU attitude changing [20:22:10] that's definitely a downside to this LM behavior [20:24:01] ah [20:25:53] any time acceleration beyond that critical DAP threshold will definitely become less and less stable [20:26:04] still a lot, lot better to before [20:26:13] but maybe not quite good enough. We will see. [21:00:50] at least when not maneuvering it is stable at 10x [21:07:49] thewonderidiot, are you here? [21:56:46] night! [15:32:46] hey [15:34:05] good afternoon [15:34:15] so it seems the Skylarkless days have come to an end [15:34:32] seems so :D [15:35:12] almost got to NC2 yesterday, I will continue now [15:35:26] ah nice, everything going well with it? [15:35:45] so far yes [15:36:07] let's see if VHF ranging and the W-Matrix play along... [15:44:46] oh and I checked "Disable vertical sync" and the LM ascent stage can now fly 30x att hold and maneuvering no problem [15:45:17] I was getting 200+ fps [15:53:07] makes sense to me [17:40:50] goof afternoon [17:41:17] good [17:41:56] hey Matt [17:44:16] indy91, what are the highlights of new features found in Skylark vs. Atremis? I guess the rendezvous programs obviously, anything else noteworthy? [17:57:34] hey Matt [17:58:28] AlexB_89, new alignment programs to establish the orientation relative to Skylab (P50 and P55). Can also use the Skylab star tracker and sun sensor for this, with manual input of data in the DSKY. [17:58:33] P52 can also uses star tracker data [17:58:47] then there is a whole new DAP for docked attitude maneuvers with Skylab [17:59:21] a way to sample VHF range to get a VHF range rate for display [18:01:17] many new small things. Like an improved short burn logic. [18:03:17] ah interesting [20:14:18] indy91: I'm here now [20:17:32] so my SIVB is no longer in the solar system :D [20:19:20] thewonderidiot, ah I was just saying thank you in the Discord but you weren't online. But in my IRC client your name wasn't grayed out, so I wasn't sure if you weren't lurking here :D [20:19:36] hahaha gotcha! [21:32:04] night! [22:32:18] night! [15:56:50] hey [15:57:52] I think I got it confirmed. The reason why my VHF marks stopped happening with Skylark. Interrupt happens too early. I only knew this for sure yesterday if it refused to even do the first mark. [15:58:22] But if I got to 0.1x time accel before any later mark then R22 goes off the rails there, too [15:59:10] I will prototype a change with a counter, where our code does the interrupt at a set time after the AGC requests radar data [16:21:54] I like how Mike's post on the forum mentions the 4% chance of a R27 bug. But R27 reads even faster and more often from VHF ranging and is what breaks the most for me :D [17:36:56] hey Nik [17:41:36] indy91, does this have any relation the Mike's old scaler/counter PR? [17:44:02] I have been reading it for inspiration! [17:44:10] it does the interrupt internally in the Virtual AGC [17:44:16] which is probably the best solution [18:47:20] Yeah, definitely [18:47:41] Are there any upstream virtualagc changes that we don't yet have? [18:55:48] there shouldn't be, but, a diff with upstream is very difficult to do [18:56:02] we have a few changes from upstream, like, how downrupts are handled [18:59:06] just did the NSR burn, so far no VHF marking bugs at al [18:59:07] all [18:59:14] it's really all about the radar rupt timing [19:04:01] now the difficult test, T27 [19:04:03] R27* [19:38:13] we need a NASSP logic analyzer [20:04:52] and Virtual AGC analyzer [20:05:10] like, I would really like to know if R22 was even still running in the broken scenario [20:12:34] logging erasable and instuction history probably isnt possible, at least with NASSP running in real time [20:21:29] would need some debugging code in the Virtual AGC code itself [20:57:22] docked to Skylab [20:57:38] much enhanced experience over all. They make a bunch of use of VHF ranging data [21:27:45] night! [13:32:54] hey [13:55:33] hey Matt [14:09:57] what's up? [14:10:40] looking where/if my radar interrupt timing code could go in the Virtual AGC code [14:12:49] makes me want to implement Mike's huge Virtual AGC pull request that got never merged, doing everything with pulses and correct timing. It got never merged because we didn't implement it in NASSP. Would need a total rewrite of all NASSP code that interacts with the AGC. [14:13:14] But it would solve many issues, too, like the radar interrupt timing... [14:16:18] I don't really want to ask him for help haha. It's like, you have solved all the problems already and then you are being asked to go back to square one and solve only one problem yet again, in a different way. :D [14:16:48] it can stay in NASSP code, but wouldn't be very efficient [14:21:06] it sounds like the right way to do this would be impliment this in vAGC and rewrite our end of things [14:25:43] the good news is, the main part of rewriting on our end has already been done, I did it a few months ago [14:26:13] there is a function in the ApolloGuidance class that writes data to the AGC radar data counter [14:26:27] or rather, it calls the right function in RR, LR etc. based on output bits [14:27:11] so it really only needs the right timing, a counter and calling the ApolloGuidance function [14:32:41] ok there is a lot of stuff in yaAGC that gets updated at 3200 pps [14:33:00] would need a 256 count for the right timing (80 milliseconds) [14:33:33] in my temporary solution I have a counter that goes to 6800, on every agc_engine call when radar data is requested... [14:33:40] so that would already be a more efficient place :D [14:36:32] oh nice, there is some code that internally generates HANDRUPT there [14:36:43] maybe it's good enough if I put RADARUPT there [14:54:47] I need to go back and look at Mike's PR to make sense of some of this [15:27:14] morning! [15:28:12] hey Mike [15:28:20] haha it's not a big deal for me to add correct RADARUPT timing to yaAGC, outside of the big counters PR :) [15:29:48] I'm getting close to something workable, too. Imagine that, me, writing Virtual AGC code that is not a 1:1 copy from you or Ron :D [15:30:00] hehehe [15:30:21] I was going to put it near where HANDRUPT is handled [15:30:28] code that gets called at 3200 pps [15:30:39] https://www.ibiblio.org/apollo/Documents/dd_memo_483.pdf [15:30:45] I found this [15:31:55] temporary solution I have: a new yaAGC function called RequestRadarData, which is defined in NASSP code and then calls the ApolloGuidance RadarRead function [15:32:23] basically a trigger to put the data in RNRAD [15:32:32] and then the interrupt happens immediately afterwards [15:32:45] I'm sure you can come up with a refined version of this [15:34:11] I was thinking something along the same lines. if that function also triggers the RADARUPT, we could add an empty version of it to upstream yaAGC, so integrator of yaAGC like you can override it and get correct timing, but behavior for other people/standalone yaAGC is unchanged [15:34:57] sounds like a good compromise between NASSP requirements and something that more universally applicable [15:42:01] I wonder what happens right now in the standalone Virtual AGC if you load a core file that wants to get radar data [15:42:07] 1210 alarm? [15:44:56] possible haha [15:45:46] would be nice to not get that in standalone, even if you get no radar data [15:48:21] I can generate a core file just before you enter P48, which calls R27. That reminds me, I wanted to figure out quickly R27 reads VHF data, because it looks super fast in a debug string [15:48:33] definitely a strict timing requirement for how late a radarupt can happen [15:48:49] not that that would be an issue with it getting moved to Virtual AGC code [15:52:49] and I also still wanted to figure out how exactly the early radarupt completely breaks R22 [15:53:51] does that also happen in Artemis? [15:54:27] I need to test that. The responsible R22 code should be the same [15:55:50] we had some rare cases of marks suddenly not working in Artemis [15:56:36] seems more obvious in Skylark, although the coding should be the same [15:56:53] might just be that I haven't done a lot of VHF ranging with Artemis at 144 Hz [15:57:46] basically, in RADSTART. Any time the CHAN13 output is set right now and the AGC cycles for an Orbiter timestep are over then, that's when the interrupt could be happening already [15:58:31] I thought the issue might be that the interrupt happens before the ENDOFJOB at the end of RADSTART [15:58:45] but that's an amateur guess [16:14:53] oh fun, V37 code in Skylark has changed a decent bit [16:17:06] some docked DAP stuff maybe [16:21:12] this is mostly MINKEY stuff I'm looking at [16:21:28] at least, that's what I assume this logic around P80 is [16:21:53] what's a P80? :D [16:22:54] well, it's doing comparisons of the requested MM number with 80 [16:22:59] you know what I mean lol [16:24:35] does MINKEY use different program numbers internally if it runs? [16:26:41] hmmm what do you mean? [16:29:24] because there is no P80. Isn't that just a general check if a valid program number was entered then? Not something for MINKEY. [16:31:32] oh, yeah [16:31:54] you're right [16:32:00] I'm still waking up lol [16:33:04] haha, must just be a new check, for whatever reason [18:48:54] hm, they changed the DV threshold for P40/P41 [18:49:08] up to 10 fps from 7 fps [18:51:07] lighter CSM during rendezvous [18:51:50] ah, I have reached the guts of MINKEY :D [18:52:25] in a lot of ways MINKEY shouldn't have changed a lot, but the sequence of rendezvous programs has simply changed [18:55:12] because they were expecting mostly short SPS burns, they also added a new routine for that. "Complex impulsive burn routine". I can definitely say the short burns all had tiny residuals. [18:55:39] there's a whole pile of logic in P82 that isn't here anymore [18:56:19] seems like P88 is the only one with really special logic [18:58:43] what are those program numbers :D [18:58:58] surely that's MINKEY logic for the equivalent P3X program [18:59:04] it is, yeah [18:59:10] P82 is MINKEY logic for P32 etc. Could that be? [18:59:11] P38 is a new program [18:59:13] exactly [18:59:21] uhh [18:59:25] no P37 is new [19:00:39] P36 in Artemis is P38 in Skylark [19:00:54] might or might have not changed a lot [19:01:23] I was about to say, the P88 code here resembles the P86 code in Skylark :D [19:01:33] in Artemis rather [19:36:14] yeah that one maneuver they squeezed into the rendezvous sequence caused a bunch of shifting [19:36:18] P34 -> P35 [19:36:21] P35 -> P36 [19:37:09] so the plane change program couldn't stay P36 [19:38:03] yep. P88 is very similar to Artemis P86 [19:38:16] with some minor changes. and all of this MINKEY stuff was somewhat simplified [19:39:35] when you reach code you have really never seen before then you will have reached the Docked DAP [19:40:47] oh is that going to be the only truly completely new code? [19:42:08] I'm sure there is plenty of new code in the rendezvous calculations, but it's going to be a bunch of known "building blocks" of code [19:42:18] ah well [19:42:34] I guess the P31 and P32 code is not much like Artemis P31 [19:43:32] but in terms of whole new sections the docked DAP is a bit unique [19:45:19] cool [19:45:24] it will probably be a bit before I get there haha [19:45:38] but I did just find FCADRMM1, which tells me where all of the programs live :D [19:46:30] they got rid of the P7X programs sadly [19:46:41] they were thinking mostly of passive targets I guess [19:47:01] not yet of a Soyuz that might be able to do mirror image burns in case the SPS fails [19:48:58] even got rid of P76 wow [19:49:58] Skylark isn't totally full. I think there's at least one full bank's worth of available space [19:50:02] I guess they got a bit trigger happy [19:50:41] like when I deleted our Simple AGC [19:51:07] " one full bank's worth of available space" oh no, that's giving me so many ideas... [19:51:26] hahahaha uh oh [19:51:32] I have already been thinking about how adaptable the rendezvous programs are [19:51:39] with the right inputs you can definitely do a lot [19:51:55] ... but with some slightly modifications for using the rendezvous routines... [19:51:59] slight* [19:56:13] well, you've got some time to think through it before source becomes available for modification :D [19:57:17] yeah, I'm looking at the programmed guidance equations right now :D [20:05:38] but for now I can still explore a few more things in Skylark as it is. And other people can too once we have found the best solution for this radar interrupt issue. [20:08:15] you can get by with just sextant marks, but e.g. P48 is unusable as it entirely relies on VHF data. Backup procedure is calling P47 and V83, so basically like you had to do in Artemis and before. [20:09:25] I can prototype a yaAGC implementation for RADARUPT tonight [20:10:09] great :D [20:10:26] I don't expect it to be too complicated as I have been already able to implement something that works. [20:10:47] you will just know better the exact timing, relation to TIME5 etc. [20:11:55] I can generate a core file in P37 of Skylark. You PRO into P48 and then Skylark will start these rapid fire VHF data readings. [20:13:51] but we will need to test any solution with all connected radars anyway, so, Skylark isn't toooo special there [20:14:41] But I think it reads faster than any other version. Because 1 bit = 60 feet or so for VHF ranging Skylark tries to find the exact moment when the input data changes by 1 bit. So that the granularity of the data isn't a problem. [20:16:39] a special R27 only thing [20:19:01] "The granularity in the VHF range data is 0. 01 n. mi. This leads to [20:19:03] errors in the measured range between zero and 60.76 feet, This error can be [20:19:06] reduced by making a rapid succession of VHF measurements and accepting a value [20:19:11] when the reading change" [20:19:32] oh that's fun [20:20:27] yeah lol, where there was a certain chance that the radar interrupt issue breaks R22 with normal P20 VHF marks, it's almost a guarantee with R27 :D [20:20:58] hehehe [20:26:22] here was my idea for a solution btw [20:26:26] https://i.imgur.com/5s2UCfF.png [20:26:51] called when ScalerCounter "overflows", every 1/3200 second [20:27:09] I wonder where I got the "RadarGateCounter" variable name from... [20:27:16] hehe [20:27:29] I'm sure you can do it better, but this would essentially work [20:27:34] yeah it would [20:27:45] void RequestRadarData(agc_t *State) [20:27:51] { [20:27:57] ApolloGuidance *agc; [20:28:00] agc = (ApolloGuidance *)State->agc_clientdata; [20:28:06] agc->RadarRead(); [20:28:12] } [20:28:15] but yeah, I'm going to try to get it going fully accurately :D [20:28:18] RadarRead then splits it up into the different radar data with bits 1-3 of channel 13 [20:28:31] and then our CMC and LGC classes have functions that call the right radar [20:28:42] they already had that before [20:28:52] and that just dumps the data into RNRAD [20:29:43] reading your PR, it would be nice to get the hardware bug that causes the first VHF marks to be bad sometimes. But that's probably not possible without pulses. So we can leave that out. [20:31:52] it's not too hard, you simply need to corrupt RadarGateCounter [20:32:53] hmm really? Doesn't that just change the timing of the interrupt? At least with my concept. [20:33:19] it does, which is the problem :D [20:33:32] really... [20:33:39] it causes a bunch of extra gate pulses to be transmitted to the radar, and then the RADARUPT comes later than it should have [20:33:46] oh it comes later [20:33:52] not earlier [20:33:53] right [20:34:02] don't want them too early [20:34:03] oh with your solution, yeah, it would come earlier [20:34:07] we already know how that works... [20:35:06] but the garbage data is because of the extra pulses, right? Not because of the later interrupt. [20:35:15] yeah I think so [20:37:20] neverending fun with AGC and its radars [20:40:42] so let's see... it will be easiest to do this if I set up a radar cycle in the hardware sim [20:40:45] haven't booted that up in a while :D [20:47:16] haha [20:53:13] oh maaaaan this is slower than I remember [21:07:17] oh maybe this could cause an early radarupt [21:08:56] yeah, it totally could [21:09:47] oh like in the real AGC? [21:09:55] yeah [21:10:00] how early though [21:10:09] worst case, instantly [21:10:11] lol [21:10:20] fun :D [21:10:21] well, ish. [21:10:42] 10 milliseconds is a better answer haha [21:13:34] I think the hardware sim is starting up in a bad state too haha [21:13:42] it's giving me 90 milliseconds instead of 80 [21:14:19] let's see... [21:15:11] I can't really give you a minimum time where the issue I ran into stops happening. [21:15:18] Because right now it's essentially random [21:15:45] you could have a long Orbiter timestep and right at the end of the AGC cycles for a timestep it sets the channel 13 output bits [21:15:56] and then the interrupt happens immediately [21:16:03] right. so maybe 10 milliseconds is even enough to avoid your issue [21:16:20] it's just more likely with a high framerate that the interrupt is too early [21:16:27] okay yeah confirmed, I'm starting with the radar gate counter set at 15 instead of 0 [21:16:40] so that explains that. [21:18:01] sooo what is the best way to time RADRPT [21:18:14] since I'm not simulating pulses I can leave out a lot of detail here [21:21:26] I can probably filter GTRST down by one more scaler bit... [21:23:52] yep. [21:24:33] (RadarGateCounter == 9) and (F05B) and (FS10 and FS09 and FS08 and FS07) [21:25:08] will be MCT-accurate timing of RADRPT without having to involve multiple counters or anything [21:25:33] do those timing signals all already exist the Virtual AGC? [21:26:36] they do! FS* signals are essentially just bits of InputChannel[ChanSCALER1] [21:27:03] all channels 3 and 4 are really doing is let you sample the state of all of the various FS* signals in the scaler [21:28:09] aaaah that makes sense [21:28:54] cool, so, this should be easy [21:33:33] hmm [21:33:47] looking at the yaAGC code, I don't see any way for a RADARUPT to ever occur in standalone yaAGC [21:33:57] SocketAPI doesn't see mto expose a way to trigger it [21:34:05] so, probably no harm in just making it always happen, even for standalone [21:38:06] oh lol [21:38:24] yaAGC doesn't quite track down to the F05B level of detail [21:38:32] so I need something else to get me that timing... [21:40:39] maybe for this it doesn't matter. it'll be off by a few MCTs, but that's not bad in the grand scheme of things haha [21:42:20] yeah it will probably be fine. And if not, we will definitely encounter a bug with all our radars. [21:42:45] it will be 3 MCTs off [21:42:49] er no [21:42:52] 9 [21:43:11] about 140 microseconds [21:44:20] not even the rapidly reading R27 would have an issue with that [21:44:26] probably :D [21:45:05] yeah the timing will be off by 0.1% haha [21:45:16] should be fine :D [21:54:05] alternatively I could make it late by the same amount [21:54:59] difficult to say what is better really. Both early and late have caused issues. Not that 0.1% will of course. [22:05:07] we should probably test this in NASSP before sending it to Ron [22:05:16] I'll have something ready in a couple of minutes [22:06:06] yep. You do your Virtual AGC branch, I'll copy it into a NASSP branch. Another Skylark rendezvous (oh no, do I really have to :D) and a lunar landing or so should already tell us a lot. [22:07:04] both of my solutions (in NASSP or Virtual AGC code) will have already worked, it's more the cleverest way for the standalone Virtual AGC [22:07:41] I fully tested the version with interrupt timing in NASSP code. Didn't get to do it for my Virtual AGC approach, but, it's basically the same. [22:08:09] https://github.com/thewonderidiot/virtualagc/pull/1/files [22:08:50] completely untested by me even, but I am working on that now :D [22:08:52] wait you can do pull requests between branches of your own repo... mind blown [22:09:00] hehehe [22:11:06] RadarGateCounter is 4 bit now. In your pulses branch it was uint8_t [22:11:43] in my pulses branch I also had to do State->RadarGateCounter = (State->RadarGateCounter + 1) & 017; [22:11:54] ah true [22:11:55] so I was limiting it to 4 bits artificially [22:12:08] I realized it's easier to just make it 4 bits directly [22:12:37] I just have to be a tiny bit more careful with saving/loading this in NASSP code then haha [22:14:04] (036 == (037 & State->InputChannel[013]) [22:14:07] I don't get this [22:14:25] oh, because it's wrong [22:14:28] why does it look at the first 5 bits [22:14:31] ah wrong channel [22:15:10] fixed [22:15:13] good catch :D [22:15:19] it's for the timing, makes more sense [22:15:37] yeah, that's the closest I could get to the correct RADRPT timing [22:15:52] 036 makes it a bit too early, 037 makes it a bit too late [22:16:05] in reality it happens *precisely* between 036 and 037 [22:16:23] right in the middle [22:16:27] needs that 1/6400 timing [22:16:30] yep [22:17:52] hmm actually, what resets bits 1-3 of channel 13 [22:18:25] or does AGC code need to do that [22:18:36] nothing, other than writing to them from software again [22:18:59] that information just needs to be available still when RequestRadarData is called [22:19:10] bit 4 is the only one with an extra "reset" input [22:19:48] that information isn't latched in the hardware either, so if software changes those bits it will completely mess up the radar cycle [22:19:54] so I think it's safe to assume they will still be there for you [22:20:52] yeah makes sense. For some reason I thought our old code reset those, but, it doesn't [22:21:11] SetInputChannelBit(013, RangeUnitActivity, 0); [22:21:13] just did this [22:21:17] just that bit [22:22:12] ok thanks for getting this so quickly! I will give it a bunch of testing tomorrow. I'm sure it will work fine. [22:22:23] As well as my first solution, just with actually smart timing [22:22:42] sounds good! I will do testing of my own to make sure the timing is as I expect [22:23:25] with a bonus fix for any Sundance restarts that cause Average G not to happen... [22:23:44] that's what CaptainSwag had from the 1210 [22:23:55] hah oh boy [22:24:14] surely not our fault, something not being restart protected where we had to do some Sundance bandaging... [22:24:34] it's possible they fixed that for 306 [22:24:40] I think the module with restart tables is rev 292 [22:24:58] we simply solve the problem at the source! [22:25:04] :D [22:25:09] ok, good night! [22:25:12] night! [23:07:25] okay yeah, that is doing what I want :) [15:40:24] hey [15:45:35] morning! [15:46:28] hey guys [15:53:14] where'd you guys end up on the timer project yesterday, I tried to follow from the logs, but it pretty quickly exited my area of expertise. [15:56:01] it does what I want it to in standalone, so we (by which I mean Niklas) are going to test it in NASSP before shipping it off to Ron [15:58:18] yeah it's easily implemented on my end. Will do a bit of Skylark flying today. [16:33:42] will this have any benefits, or make any progress toward simulating CDU issues? [16:35:01] I don't think so. It's just so that the timing of radar interrupts is correct, reading RR/LR/VHF data. [16:35:26] ahh, okay [16:45:32] first VHF marking test looks good. I'll check a few more things and fly the rendezvous again partially. [17:36:41] oh yeah, no wonder the LR spurious routine was an issue. It reads LR data 4 times per second or so. Continuously. [17:36:56] no 1210 alarm :D [17:39:52] I'll do a lunar landing and then I think I am basically happy with this update. Have to tweak a few things, but I can then make a draft PR and it can get some furth testing. [17:40:14] Pending any input from Ron. If he wants something changed a bit I will apply that to our version as well. [17:57:47] good auto landing. So LR data works perfectly fine, too [17:58:38] I kind of need to convert RadarGateCounter to an integer for scenario saving. I guess I will have to add a new struct with union for this, the old struct for bits is full [18:05:51] great! [18:06:11] I'll clean up the changes a bit (mostly adding comments) and ship it off to Ron shortly [18:50:48] I guess the only potential thing that Ron could disagree with is a dedicate function to read the radar data. I was thinking about another fictional output channel to trigger the data read, but, that was definitely more messy code [18:51:35] and how the radar interrupt works is sufficiently unique so that having a special function make sense [18:53:00] yeah, I was thinking the same thing [18:53:31] the problem is, fictitious input channels work completely asynchronously from the actual emulation logic [18:53:45] and fictitious output channels aren't going to get you a value back [18:55:33] yeah [18:56:18] actually about the timing of the radar data. I was thinking about how that would work with your pulses update, but also in general. What prevents the data from the radar changing while it is being read? [18:56:32] plus if yaAGC is going to have a dedicated "OutputToDEDA" function here... I think I should be allowed to have a radar function, since at least the AGC actually talks to that :P [18:56:42] haha true [18:57:01] hmmm what do you mean? [18:57:33] the radar data as it exists in the radar's own counter [18:57:41] it's getting updated all the time [18:58:01] are the shift pulses simply faster than the counter could update? [18:58:39] it's not updated all the time, it's only updated once each time bit 4 of channel 13 gets set [18:58:58] unless you mean something else? [18:59:32] I'm not talking about RNRAD, I'm talking about the data as it exists in the radar system [18:59:39] inside the VHF ranging for example [18:59:43] oh, externally from the AGC [18:59:55] I assume they double buffer it or something [19:00:10] like in NASSP if we had your pulses update. If the radars weren't running in lock-step with the AGC timestep. Your pulses update requests half the data and then the AGC timestep is over. Then the radar updates. AGC requests the other half of the pulses. [19:00:26] lol right [20:04:43] okay, sent a PR off to Ron [20:15:50] I added my two cents as well [20:15:57] thanks! [20:19:19] wait what is NullAPI :D [20:19:26] I have no idea [20:20:00] but SocketAPI, NullAPI, and ringbuffer_api were all implementing the same set of functions, and I was trying to be careful not to break anything haha [20:22:46] right [20:28:47] apparently NullAPI is used for "EmbeddedDemo", whatever that is [20:31:19] I'm going to save a core file in P37. You will just have to PRO and it switches to P48, which starts R27, reading a lot of VHF data. [20:35:12] https://drive.google.com/file/d/1pFEMDI4Wz54QAbzMqw9AFwG8Us42HT_k/view?usp=drive_link [20:36:09] hmm [20:36:23] is MakeCoreDump a bit outdated and needs additions for new variables? [21:02:59] thanks! [21:03:04] hmmmm good question [21:03:10] also, looks like Ron has merged the PR [21:06:14] oh that was quick. No excuse not to do that myself, too, then. [21:31:47] night! [15:28:00] morning! [15:31:22] hey [15:31:27] how are you feeling? [15:32:00] I had a fever most of the night and my throat still hurts, so not great haha [15:32:11] taking a covid test now [15:32:30] not bad enough to not work on Skylark :D [15:34:35] wasn't the rope reading delayed for a month because of Covid, too? How much bad luck would that be... [15:35:27] it was haha [15:47:38] that one is negative, we'll see if that remains true tomorrow [15:57:23] hmm, I hope it does! [16:37:40] doing some computer troubleshooting, back in a bit [17:09:05] that was a long troubleshooting. everything working over there? [17:17:32] not my Micro SD card in my phone. I got a cheap reader for it, but it is just endlessly trying to load something. Debugging tools have the same issue. And I tried to reboot the PC to maybe get a slightly different result, but that just leads to a super long boot :D [17:17:45] oh boy haha [17:20:48] bank 6 disassembly is done. smooth sailing all the way up until the very end until I hit a small chunk of totally new code for P33 [17:22:37] yep, I can imagine that with P33 [17:22:44] hello [17:22:50] hey Matt [17:24:03] P33 does use some of the same building blocks as P31/P32 though. QRDTPI and COE routines [17:24:16] but maybe you got to P33 before P31/P32 [17:26:52] https://github.com/thewonderidiot/skylark/blob/main/skylark.disagc#L7196 [17:27:10] it's just a little routine that Norton doesn't seem to give a name to. it's shown on page BURN-10 [17:30:31] oh no, this is going to get us confused a few more times [17:30:42] "P33/P73B (part of P34)" [17:30:49] this is Skylark P34 pretty sure [17:30:54] previously P33 [17:30:58] in either case, NSR burn calculations [17:32:21] Skylark GSOP section 5, page 5.4-21. Second to last equation maybe? [17:33:05] lol amazing [17:33:07] let's see [17:33:40] something with the out of plane velocity used for the burn DV [17:35:31] it's basically DISPN90 in Artemis [17:36:57] oh yes, you're totally right! [17:37:03] good catch :D [17:37:45] I'm slightly confused though [17:37:47] N90 is V90 [17:38:03] this NSR burn code does something similar, but is it actually calling the same routine... [17:39:06] oooh I forgot [17:39:15] in Artemis P33 shows N90 [17:40:00] it doesn't automatically in Skylark, but N90 is available [17:41:13] I wonder if this function is still called DISPN90 [17:41:26] it is almost unchanged, except of course for it not actually displaying N90 :D [17:41:41] it does the same though, calculate N90 values [17:41:55] just that it's not automatically shown in the sequence of nouns in the NSR program anymore [17:42:06] so I think there is a good chance that the name stayed [17:42:18] yeah, I think so too. I think they were not very thorough with changing names [17:42:27] ... like P33/P73 [17:42:36] P33 -> P34, P73 -> bin [17:42:59] and P77. they got rid of the P76 entry, so instead of P76ER77 it's now just P77 [17:43:16] but they didn't change the exit, so even though there is no P76 anymore, P77 still calls ENDP76 to exit :D [17:43:55] yeah the decision to get rid of P76 is interesting. Not a very good one considering ASTP [17:57:58] P76 really doesn't take a lot of space either [22:41:58] night!