[17:07:50] NASSP Logging has been started by thewonderidiot [17:10:37] hey [17:11:56] what's up? [17:12:29] a little bit manual writing for the FDO MFD, that's it [17:12:40] and you? [17:12:41] documentation? who writes that :P [17:13:01] work. started on the core rope simulation panel for the monitor last night [17:13:57] and I'm doing the math on the AGC thermistor correctly now [17:14:21] yeah, Celsius is so difficult for Americans :P [17:14:38] the celsius wasn't the problem, haha [17:15:08] the problem was that I saw that its temperature characteristic was +4300 +- 300 ppm/C from 25C to 105C [17:15:27] and took that to mean that its resistance increased from 4000 at 25C to 8300 at 105C [17:15:41] buuuut that's not how that works [17:15:42] that sounds a lot like my work on CSM and LM signal conditioners, haha [17:15:58] scaling voltages from temperature sensors and many other sensors [17:16:04] yeah [17:16:45] what that actually means is that the resistance increases 17.2 ohms for every degree Celsius [17:17:11] so at 105C it's 5376 ohms, not 8300 ohms [17:17:14] so I was a little bit off :P [17:17:38] ah, right [17:18:08] 4000 * (4300/1e6) [17:18:37] anyways, it works correctly now, so we can see how hot the AGC gets inside while running [17:18:40] that is indeed 17.2 [17:18:58] that is useful to know [17:20:53] heard back from David Woods [17:20:57] "I have been helped by the Smithsonian and I do have scans of the [17:20:58] CMP solo book as well as the Alternate & Contingency Checklist. I will [17:20:58] endeavour to get them online soon." [17:20:59] yesssss [17:23:45] NICE [17:23:46] :D [17:24:06] CMP Solo Book is always full of crazy procedures [17:24:11] all the rescue cases [17:24:28] we have a bad scan of the book from Apollo 12 and a good one from Apollo 15, that's it [17:24:44] and 11 is a bit different anyway [17:25:24] excellent [17:26:45] hmm [17:26:58] on Apollo 12 and later it's called CSM Rescue Book [17:27:16] I'm not sure 11 had that one like that [17:28:02] yeah, so it's probably going to be part of the CMP Solo Book [17:28:12] or the Alternate & Contingency one [17:28:21] but both will be online soon, so it doesn't matter [17:28:54] they changed the format and number of checklists around quite a bit, based on crew feedback [17:29:06] from Apollo 13 to 14 many checklists were renamed and reorganized [17:31:13] on Apollo 11 LOI Aborts are in the CSM Operations Checklist, not the Alternate & Contingency Checklist. Doesn't make much sense to me [17:32:57] Apollo 15 had it in the CSM Contingency Checklist [17:37:30] yeah that does make more sense [17:44:39] Hey thewonderidiot, just realized that the discrete CDU control signals for the IMU from the AGC are not DC, but instead AC signals oscillating at 102.4KHz [17:45:20] For example the torque enable and select discrete signals used in IMU fine align. [17:45:48] oh really? that's interesting [17:45:52] what generates the AC? [17:46:12] wait which signals? [17:47:12] The torque enable signal, the 6 torque select signals used to perform the IMU fine alignment. [17:47:40] Reading this in ND-1021042 [17:48:46] I'm assuming that it made things easier to transformer couple a high frequency signal across to the CDU. It's interpreted as a DC enable level by the CDU as far as I can tell [17:49:31] You enable torquing, select the gyro and direction, then pulse the torque signal at 3200pps. The enable and select oscillate at 102.4K [17:53:08] Hmmmm, the IO schematics don't seem to agree with this. [17:53:43] haha I meant signal names [17:53:50] I can't remember them off the top of my head [17:54:11] I'm at work with limited ability to look up signals, trying [17:54:49] from page 2-10 of ND-1021042: "The torque enable pulses are a train of pulses three microseconds in width and occurring at 102.4 kpps." [17:55:17] oh yes [17:55:25] does the transformer coupling make that effectively AC? [17:56:16] Best I can guess is that if the AGC wanted to send an enable level to a peripheral, that sending a high frequency pulse train for the duration of the desired level would be one way to do it. [17:56:27] GYENAB [17:58:10] yeah GYENAB is fed by a combination of CH14B6 and SB1 [17:58:53] So it's the SB1 creating the high frequency clocking then [17:58:59] yep [17:59:36] and SB1 is created as P05 & P03 from the ring oscillator [18:00:32] Yeah, this makes things interesting using a 64MHz microcontroller. Cannot run interrupts at that speed. Think I can use an averaging filter on an analog input to see if that pulse train as a DC level [18:01:23] Will need to treat all these as an oscillating signal and measure an average voltage from an ADC to detect logic level [18:03:30] hmmmm [18:04:14] you could also put some conditioning on the beginning -- something like the AGC's oscillator alarm circuit [18:04:23] yeah, cannot process an interrupt every 9us or so. All I need to be able to do is detect that the pulse train is present [18:04:30] or heck even a capacitor could potentially work [18:04:48] Yes I could. Trying to solve this without any more HW. It's a challenge.... [18:05:18] hmm [18:06:23] I can configure any input pin as an analog input with a defined integration time. Can easily detect a couple cycles of 102.4K (I think) [18:06:31] okay another idea then -- could make a function to read the enable state, and have it just sit in a loop reading the GPIO for a length of time during which you'd be guaranteed to see it if it was toggling? [18:06:47] or would that take too long? [18:07:40] Yes something like that. Would require about 20us per signal to ensure at least one full cycle was detected. AGC sets these 312us before other signals so plenty of time I think [18:08:37] but if any pin can be an ADC input then that sounds like the easiest approach [18:10:20] Yeah, the PIC architecture is very flexible and generous with it's IO peripherals. All pins can be configured as analog. Going to give it a try. [18:12:42] yeah that is surprisingly flexible haha [18:12:54] I'm not sure I've ever worked with a part like that [18:16:18] Just wanted to share what was unexpected to me. The fact that those discrete levels are actually "AC" pulse trains and not DC levels. [18:17:14] yeah it is strange [18:17:38] I ran into that back when I was doing the yaAGC counter rewrite [18:22:45] all of this is just increasing my desire to make a CDU simulator [18:22:47] :P [18:34:19] The more I look into the CDU, the less I understand. My personal goal is to treat the CDU as a black box and only emulate it's external signal interfaces well enough to fool the AGC software :) [18:35:20] "The more I look into the CDU, the less I understand." Yes, me too. And I haven't looked as hard as you :D [18:37:03] hahaha yeah, I'm in the same boat [18:37:29] that's why I want to make a proper simulator, so I can see it operate like I can with the AGC hardware sim :D [19:46:37] maybe I'll do that after July to take a brief break from nonstop AGC stuff [19:46:57] we should definitely have all of the schematics by then [19:59:39] sounds fun [19:59:41] good night! [16:43:07] morning! [17:40:20] SteveH, finally got core rope simulation fully integrated into the FPGA last night -- the only thing remaining is to putting all of the corresponding ROM loading logic into the GUI [17:40:50] and testing once the simulator board shows up of course :D [17:51:09] Sounds great, can't wait to see this plugged into the real AGC! [17:51:50] man, me too [17:51:50] I spent my evening mapping CDU signals to appropriate microcontroller pins so I can handle all the various types of IO signals involved. [17:52:08] sweet [17:52:14] did you get to test the ADC thing yet? [17:52:34] What flight software is in the physical AGC? Is it one we already have or is it something new? [17:52:55] none, we don't have any ropes, just the rope simulator boxes [17:53:00] which we're also going to try to use [17:53:37] No have not tested the ADC thing yet. Soonest will be this weekend. Pins arriving today to make the cable from AGC to emulator. Then I need to figure out the program sequence to command the IMU into fine align mode when I don't have an optical system yet :) [17:54:30] haha [17:54:36] It's always something [17:55:28] indeed [17:55:35] I'm really hoping the simulator board shows up before this weekend [17:55:46] I very badly want to test this whole thing at full speed [17:56:06] I understand. I would too [17:57:22] they finished fabbing it and QAing it yesterday and it is just sitting around waiting to be packed and shipped [17:58:07] I need to build up the 6ft cable I'm making between the AGC and the emulator. Need about 30-40 wires right now to get the uplink/dnlink, pipa, and IMU wired up. Then I need port12 wired up to get the switch signals to select imu mode (another 15 wires). This will take a while. [17:58:30] oh yeah sounds like it [17:58:35] harnessing is always a bear [17:59:15] Yeah. After the 2500 ft of 30awg wire wrap in the backplane, it's the single biggest hurdle to a physical implementation. [17:59:37] hahaha [17:59:52] man that is a lot of wire [18:00:03] I don't think I've asked, how heavy is the whole thing put together? [18:00:15] So I figure most likely another couple weeks before I'm ready to try some integrated imu functions for imu zero, coarse align, and fine align [18:00:43] awesome, that will be super cool to see [18:00:46] Have not place it on a scale but I would say on the order of 40-50 pounds for the AGC [18:01:27] sounds about right :D [18:01:31] morning indy91! [18:01:40] in a meeting, back in a few [18:01:47] hey [18:02:10] just quickly checking in, I really should stay in bed being sick, haha [18:02:18] oh noooo [18:02:39] but I had to start my computer to download the CMP Solo Book, which David Woods sent me directly, thanks to my impatience [18:02:47] ! [18:02:48] nice! [18:03:22] first flight plan pages when the CSM is solo, I knew that [18:03:46] then those procedures in detail, I also knew that, CSM Rendezvous Procedures has the same [18:04:11] and then [18:04:13] rescue cases [18:04:33] very similar to what Apollo 12 has, just way better scanning quality [18:04:58] awesome [18:05:04] including contingency and manual insertions [18:05:10] and any time liftoff [18:05:28] and at the end, contingency EVA checklists and charts [18:06:09] more overlap with the rendezvous procedures document than I thought, but still some unique things and better quality than elsewhere [18:06:23] cool, so nothing super new or surprising, but still really nice to have [18:07:00] yeah [18:07:25] CSM Rendezvous Procedures did not have contingency, manual or any time ascent [18:07:32] Apollo 12 had that, but in low quality [18:07:56] contingency insertion is LM with low performance [18:08:00] 10x10 orbit targeted [18:08:25] instead of the usual 18x45 [18:08:53] manual insertion is interesting. Some procedures have it burn to depletion [18:09:01] to avoid not making orbit at any cost [18:09:21] but if the apolune becomes too high, you aren't really able to do the rendezvous with the CSM [18:09:46] right [18:09:59] I've tried that, DKI Processor didn't like it much :D [18:10:18] hehehe [18:10:22] what you prefer to do is letting MCC-H call out the time you cut off the engine [18:10:44] based on whatever info they have on the LM trajectory [18:11:28] any-time liftoff gets you some weird trajectories as well [18:11:59] CSM needs to spent a lot of DV in some cases to get to the LM before it runs out of batteries [18:15:50] and this checklist also has the revisionitis illness like lots of checklists on Apollo 11 [18:16:05] haha [18:16:10] what do you mean by that? [18:16:11] up to revision D from July 10th, then handwritten revision E from the 11th [18:16:18] oh boy, handwritten revisions [18:16:19] well, LM Timeline Book was worse [18:16:23] they got up to Revision N [18:16:42] hehehe [18:20:16] so what about the other checklist? are you getting that directly too or are you more patient for that one? [18:21:11] it sounded like he has to organize the scans of that and is them sending it directly as well [18:21:20] awesome [18:21:21] I wonder if we get any padload surprises :D [18:21:30] because that one will have the backup erasable load [18:21:47] hmm, we have the flight load now right? from Don? [18:21:53] yes [18:22:03] what sort of surprises could the backup load have? [18:22:11] not many really [18:22:20] or any [18:22:23] but it's possible [18:22:26] hahaha [18:22:31] the checklist should be flight identical [18:22:35] cool [18:22:38] anything else would surprise me [18:22:43] so in the worst case it's corroboration [18:22:58] they even made the effort, after liftoff, to fix the TEPHEM value to the precise one [18:23:09] that's why I know that that checklist has a backup erasable load [18:23:17] from the transcript [18:23:36] haha gotcha [18:23:44] the number in the checklist will have exactly 13:32:00 UTC [18:23:55] but the actual CMC liftoff time will be a few milliseconds off [18:24:15] and they changed that in the checklist on every mission that flew a backup load [18:24:34] obviously necessary on 14 and 17, haha [18:24:52] why's that? [18:25:00] they launched hours later than planned [18:25:03] not just milliseconds [18:25:11] ahhhh I did not know that [18:25:12] got it [18:25:28] checklist will of course have the planned liftoff time [18:26:20] from an Apollo 15 document I know how much the TEPHEM usually could change [18:26:23] yep [18:26:32] IU GMTRR 13/33/43.06 [18:26:41] AGC GMTGRR 13/34/00.79 [18:26:55] liftoff time planned 13:34:00 [18:27:05] IU GRR is 17 seconds earlier [18:27:10] so up to a second [18:27:20] which is quite a lot [18:27:24] more than we are getting for sure [18:27:26] that is a lot [18:27:34] but even we get 2-3 timesteps I believe [18:29:25] I made liftoff more complicated in the last few years, haha [18:29:34] that signal needs to propagate between different systems [18:29:41] you made just about everything more complicated I think :D [18:29:57] actually, the Saturn Systems Handbook will help me figure out what exactly liftoff means, electrically [18:30:05] I still was missing a few pieces of that puzzle before [18:30:06] oh cool [18:30:15] oh I need to send that one to Ron [18:30:18] I mostly knew what is going on in the IU, but not 100% [18:34:31] the notes from Mike Collins are gold [18:34:51] oh yeah? [18:36:01] 103:30 to 104:00 GET [18:36:08] just one point, Photography [18:36:12] crossed out [18:36:14] instead [18:36:18] EAT! [18:36:31] hahahaha that's awesome [18:36:46] then below that [18:36:51] 4 PM local [18:36:56] No Lunch [18:37:01] (Practically Breakfast) [18:37:21] hehehe [18:37:33] and some occurances of "at convenience" do this and that [18:37:40] at convenience crossed out [18:38:03] most other stuff is of more technical nature [18:38:05] lol [18:38:08] P22 inputs outputs etc. [18:38:16] lots of those [18:38:26] the quest of finding Eagle on the surface [18:38:46] at 107:25 [18:38:54] "Follow Flight Plan until 124:00" [18:39:00] 124:00 circled with the note "Ok" [18:39:55] later flight plans have more space to note down things in the flight plan itself [18:39:59] I think I know why now, haha [18:40:08] because of some particular snarky CMP :P [18:40:48] who wrote things all over the place [18:40:56] including the CM itself as well [18:41:09] https://history.nasa.gov/afj/ap11fj/cm-107_graffiti.html [18:41:39] nice [18:42:44] P34 comment "Slow Comp Cycle!" [18:42:47] Slow underlined twice [18:43:11] they still had the hardcoded precision offset in P34, which makes it take much longer [18:43:30] that was changed on the next mission [18:44:45] where it would try to figure out the necessary trajectory to the other vehicle via the coasting integration routine (twice) and not just the analytic solution [18:44:53] that takes much longer [18:45:41] ok, no second checklist yet. Back to bed. I might be on later if I have to save yet another checklist [18:45:55] haha alright [18:45:57] cya! [18:46:02] feel better! [16:42:47] morning! [16:54:47] Good morning. [16:55:17] what's up? [16:56:57] Nothing new on my end, just saying good morning so you would not feel ignored. :) [16:57:05] hahaha thanks :) [16:58:57] well since you're here, you wanna take a look at what I have for the CRS panel so far? I haven't implemented the logic behind it but I'm closing in on how I want it to work [17:02:04] Sure, fire away! [17:02:34] https://i.imgur.com/rFkrCy9.png [17:03:08] so it's got the same 2 rows of 18 switches that the original monitor had [17:03:21] plus "all" and "none" buttons to set and unset them all for convenience [17:03:52] help me out, is rope zero the erasable memory? [17:03:53] there's also a single switch for banks 44-77 if you happen to want to use the remainder of the superbank address space for something [17:04:02] nope, this is all rope banks [17:04:06] there'll be a separate panel for erasable [17:04:31] gotcha [17:04:52] Assuming the load/dump switches pop up a file selector dialog or something similar? [17:04:56] yep [17:05:21] the bank switches are multi-purpose; in addition to being the enables for rope simulation for each bank, they also control what banks are loaded/dumped via those buttons [17:05:35] so if you only want to load bank 7, you can check that and then load a bank 7 binary [17:05:35] What's the use of crs/agc switches? Wouldn't anything not selected be agc by default? [17:05:54] the CRS/AGC switch is for use with "DUMP" [17:06:17] ok, so you can dump a crs file back to another file? that' [17:06:28] that's a file copy done the hard way :) [17:06:41] haha that's more the problem than the reason [17:06:48] because if you have the CRS enabled, the FPGA will stubbornly simulate your attempts to dump AGC rope memory [17:07:05] setting the switch to AGC will inhibit rope simulation for the duration of the dump [17:07:31] so you don't accidentally end up dumping your loaded rope [17:07:50] okay, makes sense. I think your at least 95% of the way there, I don't see anything jumping out at me. [17:08:22] Assume then there will be a very similar erasable memory panel with far fewer select switches? [17:08:26] I guess I could make it always inhibit and only dump AGC... but I thought dumping the CRS rope through this mechanism would possibly be useful as well [17:08:45] yeah, only 8 switches, but maybe an additional button for padload [17:10:07] in related news, pcbway has shipped the test connector simulator board, so hoooopefully it will be arriving soon :D [17:10:24] Yes. Padload would be very useful. Also maybe a clear button in case memory gets corrupted? I've done this a few times on my AGC already. I've found out that combinations of partial pad loads and missing peripheral signals can make the agc angry [17:10:41] hahaha [17:10:59] to the point that monitoring a register causes the agc to crash... [17:12:01] maybe, although that could also be accomplished by doing a non-broken load, or loading a file initialized with 0's [17:12:09] clearing eraseable memory and reloading padload fixes it when it happens. Most likely a divide by zero, or overflow [17:12:41] Yeah, guess we are saying the same things. I implemented the clear with a padload sequence of zeros via uplink [17:19:42] Given any more thought to the analog meter? It was used to measure duty cycle of various routines. There's a related counter in the telemetry that indicates a count of idle loops every 2 seconds. [17:26:57] yeah, I'll get around to it eventually [17:27:09] it's just not critical path like the rope and erasable simulation are :) [17:29:03] Understood, definitely in the nice to have category. I'm mostly curious how useful is ends up being for measuring execution times and calculating remaining compute time available etc. [17:35:43] it seems like that would be difficult to set up [17:35:58] it's on I, S, or W comparison matches, right? [17:36:04] or CRS cycles? [17:37:12] I guess you could put an S comparison on an executive idle instruction [17:38:23] Don't have any reference material in front of me right now but that sounds familiar. I would need to dig into it again to figure out what they used for a time base to measure the percent comparison matches against. [18:07:16] man, I'm a lot more impatient for this simulator board to show up than I was for the monitor board itself [18:09:17] I can relate. UPS messed up my parts delivery and they are arriving 2 days late. It's killing me.... [18:09:25] oh damn [18:09:34] that suuuucks [16:41:09] morning! [17:54:14] hey [18:00:28] hey! [18:00:33] feeling any better? [18:00:46] a bit [18:01:14] got the other Apollo 11 checklist [18:01:24] in my spam folder [18:01:32] hahaha [18:01:43] good work, spam filter [18:01:51] no padload differences [18:02:23] a few handwritten changed bring it to the state of the padloads document [18:02:33] changes* [18:02:35] oh interesting [18:02:43] well that's good :D [18:02:53] so it was printed a bit earlier [18:03:12] and then the changes done during the flight [18:03:40] the padload document is missing a page [18:04:03] oh right, I forgot about that [18:05:38] other than that, P23 schedule and Earth orbit reentry procedures [18:07:34] nothing too surprising [18:21:39] I'm off again, cya! [18:42:50] At work and can't talk now but found this at a thrift store over lunch [18:42:52] https://cdn.discordapp.com/attachments/389685290807328770/566320508375793694/image0.jpg [18:45:51] Suzuran[werk]: nice! [22:25:16] Sadly, I must report that the Von Braun record is not playable; It was allowed to mold and does not track. It will require cleaning and until then trying to play it will just damage it further. [22:31:37] boooo [17:58:46] hey [18:03:26] morning! [15:57:42] hey [16:00:32] hey Alex [16:00:52] are you ready for Christmas? [16:03:17] nice!! [16:03:42] very cool [16:04:10] David Woods got them for the AFJ [16:04:30] and I got "advanced copies" of the Alternate & Contingency Checklist and the CMP Solo Book [16:04:48] Launch and Operations Checklists are already on the AFJ website [16:04:55] finally a proper G&C checklist for comanche055 [16:04:58] yep [16:05:04] these are scans of the flown copies from the Smithsonian [16:06:34] I got to see the Falcon Heavy launch from a pier about 10 miles south [16:07:35] oh nice, so the launch delays didn't prevent you from seeing it [16:08:16] could you see the landings as well? [16:08:29] I also had a very clear view of the 2 boosters which landed at Cape Canaveral Air Force Station [16:08:31] yep [16:10:31] only 2 months or so until that happens again, haha [16:10:53] which was closer to us then the launchpad itself so we had a great view of the landings [16:11:00] ah, nice [16:11:08] and sonic boom was quite intense [16:11:28] I always thought the landing pads were close to the launch pad [16:12:40] ah [16:12:52] I guess it's closer to LC-40, where the Falcon 9 often launches [16:13:11] https://www.dropbox.com/s/am0s9spitdcrel2/Photo%202019-04-11%2C%206%2037%2003%20PM.jpg?dl=0 [16:13:19] https://www.dropbox.com/s/ql2ldsnfkpdaih2/Video%202019-04-11%2C%206%2042%2041%20PM.mov?dl=0 [16:14:24] looks like a good spot to watch it [16:15:37] yep and weather was perfect, almost no clouds [16:16:03] I was able to follow the Falcon al the way to booster separation [16:17:43] nice [16:47:24] morning! [17:07:13] hey [17:20:58] what's up? [17:23:45] Hey, did your simulator boards show up? [17:24:45] no -- but their estimated delivery is today, so fingers crossed [17:25:26] actually "Arrived at Delivery Facility in SAN JOSE - USA" as of 10 minutes ago [17:26:05] so instead I spent the weekend filling out features -- I added the erasable memory simulation panel and associated FPGA logic and hooked up all of the lights that I hadn't yet gotten working [17:26:21] lots of things ready for testing as soon as the board is populated [17:27:40] My wayward package arrived Friday. I got 3 of my discrete controller boards wired up to the AGC, 38 signals in the current harness. Working on integrating the SPI communications now that I have more than one controller talking at a time. [17:27:49] nice :D [17:28:36] Yeah, added 2 additional connectors and 6+ ft of wire to the signal paths. things still appear to work. :) [17:28:48] haha excellent [17:53:34] woo, board is out for delivery! [17:54:19] I have a feeling tonight is going to be a late night between commuting home, driving to pick up my board from Marc's place, driving back, and soldering it all up [17:54:31] because I have no self control :D [18:01:17] indy91, I have a joystick connected that does not have a throttle slider. I was thinking NASSP would see this and let me use the INS/DEL keys for controlling the LM DPS in manual mode, but it seems it just thinks my joystick does have a throttle slider and the its stuck at 100% [18:02:49] Is there a way to make it so that I can use that joystick and have the keyboard keys work for controlling the DPSÉ [18:15:32] no [18:15:45] maybe there is a way to detect that in code [18:15:51] but right now it's probably not possible [18:16:00] right [18:16:32] indy91: I have another more complicated possibility problem for you [18:16:36] but there probably is a way to disable that system side [18:16:43] maybe in code there could be "if no slider, use keyboard"? [18:16:57] yeah, if that's possible to detect. It might be [18:17:00] sure, Mike [18:17:22] like, TTCA with broken throttle setting, maybe that works by pulling some CB [18:19:21] Marc wants to know if it is possible to do an open-loop landing with the AGC -- pre-record all of the inputs generated to the virtualagc in an NASSP landing, and play them to the real one, and have it be happy enough to do the whole descent without aborting [18:19:38] my stance was that the conditions probably aren't repeatable enough to keep it from panicking but he is not convinced [18:20:29] well, if we are talking about all of the inputs, including PIPA and IMU [18:20:33] well, that's redundant [18:20:34] IMU [18:20:38] haha yeah [18:20:55] all inputs [18:21:30] and have the erasable memory loaded [18:21:44] and somehow get the timing of that right [18:21:44] yep [18:21:56] maybe [18:22:16] of course we don't generate the same inputs as a real AGC needs from the IMU [18:23:07] you have to generate something pretty close, right? since you end up with counts in the right counter registers? [18:23:23] yes, the content of the registers in the AGC will be the same [18:23:56] we do have the logging capability [18:24:17] that's how I generated data for Ron and that DSKY project [18:24:40] it was just the AGC output to the DSKY instead of inputs [18:25:15] I think you could get quite far [18:25:23] not sure about the full landing [18:25:45] but you have to get the right data into the AGC registers somehow [18:26:01] hmm [18:26:03] right, we'd have to make something that turns numbers into counter pulses [18:26:07] and it is a mixed system really [18:26:25] we do use bit increment/decrements from the PIPA I believe [18:27:29] for (i = 0; i < pulses; i++) { [18:27:30] UnprogrammedIncrement(&vagc, RegPIPA, 0); // PINC [18:28:35] the old system, haha [18:28:40] hehe [18:29:02] so it's not all just ramming the data into the AGC [18:29:06] but most of it [18:29:13] yeah [18:30:42] hmm [18:30:44] tricky [18:31:01] PIPA data is the first thing that needs to work [18:31:20] in the standalone Virtual AGC you can run P63 until thrust failure [18:31:53] right [18:32:15] the goal of course is to eventually do a closed-loop landing [18:32:38] and it seems almost certain that the easiest way to do that is to modify NASSP rather than try to create our own spacecraft and physics simulation [18:32:48] yes [18:32:54] and it will be [18:33:00] but probably not by July 16th [18:33:04] yes agreed, haha [18:34:14] there doesn't really need to be a NASSP release on that date either, it's probably better to have a version for the next Orbiter release or patch release (like Orbiter 2010P1) [18:34:42] hmm [18:35:06] what would even be the ideal format for this for the real AGC [18:35:16] like, timing wise [18:35:33] what we can generate is timestep dependant [18:36:07] yeah I'm not sure [18:36:18] reconciling timesteps vs. real time is going to be a challenge [18:36:46] so everything will have a timestamp [18:37:01] which will be 1/60 seconds apart for each system, most likely [18:37:38] well [18:37:47] well, if we had the full pulses system then it probably would have different timing anyway [18:37:57] we could also step back a level and record accelerations and rates [18:38:13] very easy [18:38:21] and have our thing generate continuous pulses based on those numbers, rather than timestepped pulses [18:38:25] and maybe use that data to generate pulses [18:38:30] as a separate data file [18:38:34] and feed that to the AGC [18:38:35] yeah [18:39:17] so there would be a mixture of data [18:39:31] other systems, DSKY inputs, switches etc. [18:39:45] I guess that would be the case anyway [18:40:25] not a serial port [18:40:50] right [18:40:58] but those are a lot easier to deal with than the pulses [18:41:07] right [18:41:09] I feel like once the inertial stuff is sorted the rest is probably trivial [18:41:26] I don't really know much about how input and output channels work in the real AGC [18:41:42] IMU data logging would be easy [18:42:03] it's just discrete voltage levels [18:42:10] we put 28V on a pin, or we don't [18:42:13] and converting it to a stream of input data for the AGC should also not be super complicated [18:42:17] sounds easy enough [18:42:35] is that the AGCs own 28V in any case? [18:42:40] every* [18:42:58] Always looked like it from the Systems Handbook [18:43:12] yep [18:43:14] some magic voltage coming from the PGNS, running through a wire of a switch and going back to the PGNS [18:43:18] it provides the 28V out from R circuits [18:43:28] and the switches switch that back to the input pins [18:43:47] exactly [18:43:53] still needs to be handled in some way [18:44:04] not all switches in NASSP reset their state every timestep [18:44:13] so the initial state needs to be read and then any changes to it [18:44:47] that's why P63 works in the standalone Virtual AGC [18:45:03] it just reads the input channels from the .core file and keeps it that way [18:45:25] it would complain a lot if all the input bits were 1s [18:45:46] haha of course [18:46:49] AlexB_88, it's actually quite easy, the CSM already checks on the type of slider if it has one, rhc_sld_id variable [18:47:05] so an easy code change I think [18:47:26] ok, IMU data needs to work [18:47:30] then LR data [18:49:00] hmm [18:49:13] we still do funny business with the RadarActivity bit [18:49:38] but logging range and rates would again be easy [18:50:00] and the input bits [18:51:41] AlexB_88, I'll need your help figuring out what the LM joystick code currently does with your joystick [18:52:33] This is exactly what I'm also planning on doing later this year. Use my emulated peripherals to take higher level data (range, rates, etc) from nassp and interface to my physical AGC. Would be great if nassp already had that logging. :) [18:53:07] It just makes the DPS thrust stuck at 100% [18:53:12] in code I mean [18:53:33] haha yeah the radar will be funny [18:53:40] recorded data won't work there I think [18:54:05] since NASSP generates radarupts, while the AGC itself generates its own radarupts in reality [18:54:19] indy91, ok I am looking through the code to find the appropriate section [18:54:38] in lemsystems [18:55:00] it would help to know what state rhc_sld_id, rhc_rzx_id and rhc_rot_id are in [18:55:17] there is a line with: if (rhc_debug != -1) [18:55:32] check what those three variables are in a debug line [18:55:34] that would help [18:56:02] 2 of them are already in that debug line by default [18:56:39] ah, this bit of code doesn't have any slider type check on it: [18:56:40] ttca_throttle_pos = dx8_jstate[rhc_id].rglSlider[0]; [18:58:02] but that's only part of it. The throttle code might need to be separate, so that it can deal with having a joystick, but without using its throttle [18:59:19] hmm [18:59:21] actually [18:59:40] I might just to suppress that the joystick can set the throttle, if it doesn't have a throttle slider [18:59:48] just need* [19:00:02] the keyboard command is already separate [19:00:43] so maybe I already have it fixed [19:01:45] do you still want the debug line? [19:01:57] yeah [19:02:08] it will have a check: if (rhc_sld_id != -1) [19:02:19] and I need to know if if it really is -1 in your case [19:02:27] ok [19:02:37] if yes, then it's an easy fix and I already have it [19:02:46] I am just trying to figure out how to activate it [19:03:51] rhc_debug = -1; [19:03:59] that's also in lemsystems [19:04:09] make that anything but -1 [19:04:27] or apparently you could also add a line [19:04:28] JOYSTICK_RDB [19:04:33] to your scenario and it will be on [19:05:50] but you need to modify the debug line in code anyway, so might as well activate it there [19:05:52] rzx_id 1 rot_id -1 [19:06:47] ok [19:06:50] and rhc_sld_id? [19:07:31] rhc_sld_id -1 [19:07:39] I just had to replace the variable [19:07:43] but yeah its -1 [19:07:56] ok [19:07:58] that's good [19:08:12] no slider detected, so I'll simply not allow it to modify the throttle setting [19:08:28] keyboard throttle commands is already handled separately [19:08:53] so it should work by putting a condition on the lines below "//Let's cheat and give the ACA a throttle lever" [19:09:24] ok [19:09:51] I'll check if that breaks things with my joystick [19:09:53] so numpad INS/DEL will control the throttle if no slider is detected [19:10:18] yes [19:10:33] if you are in translation mode, will INS/DEL control the TTCA throttle/jets? [19:12:22] hmm [19:12:34] if you don't have your joystick set to also work as the TTCA, yes [19:12:40] then TTCA is keyboard only [19:13:36] 3-axis or 2-axis joystick? [19:13:37] right [19:13:44] 2-axis [19:13:52] 3-axis* [19:14:00] pitch/roll/yaw [19:14:08] that should work like usual then [19:14:11] but no throttle slider [19:14:57] if you use the joystick as the TTCA then it will first check if it has a slider [19:15:03] if not it does nothing [19:15:24] your rzx_id is 1 [19:15:31] yeah, then it uses that axis for throttle [19:15:46] ok [19:15:53] Ill be back in a few hours [19:17:34] it gets even better on a joystick as TTCA with slider, then it uses that slider as the throttle/jets lever [19:17:45] so many different cases... [19:18:27] thewonderidiot and SteveH I can always easily fly a landing logging any data you want. Just say what you need. [19:18:40] awesome, thanks :D [19:18:56] I imagine we will have lots of questions as we get more things working [19:19:03] joystick is also relevant for this, haha [19:19:10] haha right [19:19:16] if you want P66 instead of P65 [19:19:45] probably just P65 for the open loop landing [19:19:56] or impact as the case may be [19:20:06] oh boy [19:20:08] throttle [19:20:22] that's a huge issue [19:20:25] timing wise [19:20:35] yeah that is what I was most concerned about [19:20:40] throttle and gimbaling [19:21:26] yeah, although gimballing itself isn't a problem, but that the actual and desired attitudes are close [19:22:33] DAP can go as wild as it wants [19:25:03] open loop lunar landing [19:25:07] what is this, Luna 9? :D [19:25:17] hahahaha [19:25:32] wait... was Luna 9 open loop? [19:25:59] first soft landing [19:26:08] but no, just looking it up, not open loop :D [19:26:14] haha gotcha [19:27:06] or Beresheet, without any loop [19:27:28] potentially doing loopings before crashing, but that probably doesn't count [19:28:20] haha ouch [19:28:41] I was watching that, very sad ending [19:28:47] but they appear to be trying again [19:28:54] yeah, that was really sad [19:29:23] it was a hell of a feat for any GLXP team to actually launch and make it to the moon though [19:29:40] speaking as somebody who worked for a GLXP team for four years and didn't think anybody would ever pull it off [19:29:41] yeah, didn't expect it at this point [19:29:59] me neither [19:31:35] I'm curious what happened [19:31:45] I know they had problems with computer restarts early on when attempting burns [19:32:00] wasn't there an IMU failure? [19:32:08] yeah, one of the two IMUs failed [19:32:09] and then they reset the spacecraft, but too late [19:32:19] and I guess resetting that IMU would take the other one offline too [19:32:20] shouldn't really be a cause of mission failure [19:32:26] they didn't have proper redundancy there [19:32:27] if they have two IMUs anyway [19:32:31] yeah [19:32:44] did you see the doppler images? [19:32:53] I don't think so [19:33:02] https://twitter.com/cgbassa/status/1116414008511410176 [19:33:03] I'll sent them the LVDC EDD, it has some details on how to check for IMU failure :D [19:33:21] really cool images, I hadn't seen anything like that before [19:33:52] hehehe [19:34:26] LVDC had a cool backup mode for that [19:34:46] it would use commanded attitude and predicted thrust to generate that data [19:35:03] instead of actual attitude and accelerometer dtaa [19:35:05] data* [19:35:19] oh man [19:35:21] good enough to get into some kind of orbit I guess [19:35:45] speaking of open-looping things :P [19:35:47] not good enough to land anything [19:35:50] oh yeah [19:36:35] so in the Doppler curves, the line going down is relative velocity going down? [19:37:05] and then at the break it doesn't decelerate anymore [19:37:23] I think so yeah [19:38:44] this project is still active: https://en.wikipedia.org/wiki/PTScientists [19:39:12] oh really? nice! [19:39:15] I liked those guys [19:39:39] any idea how far along they are? [19:40:00] not really [19:40:08] Q1 2020 launch with Falcon 9, suuuure [19:40:22] cooperation with Audi and Vodafone, can't be so bad [19:41:42] would be fun if it worked [19:41:49] definitely [20:05:51] night! [21:51:31] AlexB_88: you around? [00:22:09] thewonderidiot, yep! whats up? [01:20:33] AlexB_88: I found an inaccuracy that might be in your wheelhouse to fix [14:51:17] hey [14:56:14] hey Niklas [14:58:09] I think what Mike tried to talk to you about last night is the color of the DSKY lights [14:58:29] PRIO DISP and NO DAP should actually have the same color as the lights on the right, not white [14:58:54] ah interesting [15:01:03] I think that's what it was [15:01:17] I'm not finding it in the chat log, you can ask him about it later [15:06:36] let's see, I think I can do a Shuttle FDO MFD and a NASSP update released in quick succession today, haha [15:06:48] haha [15:07:02] the joystick fixÉ [15:07:11] ?* [15:07:59] yeah [15:12:17] done [15:13:05] thanks [15:13:08] I will test now [15:17:50] works good [15:20:09] great [15:21:56] I think the TTCA might need the same treatment [15:22:26] because without a slider the throttle/jett lever seems to be stuck in throttle [15:22:34] when in translation mode [15:22:51] we don't have a button for that, so how do we do it? [15:22:59] should it default to jets instead? [15:23:32] yeah maybe [15:24:03] or maybe have numpad INS/DEL cycle between the 2 when in TTCA mode [15:24:21] when no slider is detected [15:27:51] hmm [15:27:55] it's not so easy [15:29:29] I first have to understand this code, haha [15:29:51] there also is a case right now where it would use a slider as the third axis [15:30:01] for 2-axis joysticks I blieve [15:30:38] right [15:32:57] I'll have to test the various cases with my joystick [15:37:18] there is also another issue: The joystick ID selection in the controls menu does not seem to be respected in the sim [15:37:57] my joystick ID is 1 but NASSP is using my rudder pedals as the input [15:38:32] but windows tells me my rudder is ID 0 [15:38:57] hmm [15:39:19] it should be respected [15:39:23] rhc_id is used everywhere [15:39:25] weird [15:39:52] can you look under Config/ProjectApollo [15:39:56] LEM.launchpad.cfg [15:40:03] JOYSTICK_RHC and JOYSTICK_THC [15:40:37] JOYSTICK_RHC 1 [15:40:42] JOYSTICK_THC -1 [15:41:09] huh [15:41:10] 1 [15:41:18] it should allow 0 and 1 [15:41:42] oh [15:42:04] I think it didn't realize that you might have something entirely different as ID 0 [15:42:12] the code that is [15:42:43] it might only account for the case where ID 0 and 1 are RHC and THC [15:42:47] in some order [15:43:23] I see [15:43:41] but I'm not quite sure [15:43:56] can you check the variable js_enabled in a debug string? [15:44:04] sure [15:47:06] 1 [15:47:32] uh wait [15:47:54] it 2 [15:48:26] hmm [15:48:38] then it should work right, strange [15:49:39] is this a problem with RHC or THC or both? [15:50:16] also, how did it work before if you are getting this issue now? [15:50:50] Ive always had the issue when I had more then 2 joysticks connected [15:51:45] right now on my setup I have 4 controllers [15:52:02] sounds like a lot for NASSP code to handle, haha [15:52:17] I won't be able to test your case [15:52:32] If I only have 2 connected then I can properly select one or the other as RHC/THC [15:52:38] yeah ture haha [15:53:05] do you have the same issue in the CSM? [15:53:45] yes [15:54:16] and you were trying to use ID 1 [15:54:28] yes [15:54:29] as the RHC [15:55:29] found even more joystick code I don't understand [16:00:05] I guess it just doesnt like having more then 2 joysticks connected [16:02:22] it definitely won't try to use more than ID 0 and 1 [16:02:27] so that is one issue [16:02:31] but not really the one you have [16:03:24] its weird because if I actually try and select my joystick with ID 0, then it will use the one thats ID 2 [16:03:58] that's weird indeed [16:04:07] no idea [16:05:06] Ill just disconnect my other controllers [16:06:54] as I said, there is a lot of weird joystick code that I don't understand [16:07:22] all stuff from DirectInput [16:07:24] weird syntax [16:10:48] makes sense, its not a big issue imho I think we can live with just having 2 max connected at a time [16:20:05] ok, launch window processor has been release for SSU [16:20:30] I think next I'll try to port it to the RTCC MFD and make it calculating all of the targeting parameters [16:21:19] oh cool [16:21:24] and then we can have some Skylab and AS-278 fun [16:40:40] morning! [17:09:25] hey Mike [17:09:32] hey [17:09:33] what's up? [17:09:40] sorry I missed what you were going to say last night [17:09:56] haha no worries, we kept missing each other [17:10:05] yeah haha [17:10:06] Niklas was right, I was going to bring up the DSKY thing [17:10:30] turns out NO DAP and PRIO DISP broke the pattern and were yellow, despite being in the column with the white lights [17:11:05] yeah Niklas talked to me about that earlier today [17:11:17] I can probably fix that pretty easily [18:13:53] awesome [18:14:01] SteveH: got my boards in last night! [18:14:17] although I got home with them around 10:30pm so I was only able to get about a third of the surface mount stuff soldered [18:15:53] Well, I'm pretty sure I know what you are doing tonight [18:16:16] hehehe [19:45:17] populating the female headers is going to be a huge pain [14:23:59] hey [14:38:18] hey Niklas [14:48:26] launch window processor has been ported [14:48:43] now I need to make it calculate launch azimuth and descending node angle as well [14:49:12] launch azimuth is actually calculated internally in the Skylab LVDC [14:49:24] as a function if inclination and descending node angle [14:49:46] the parameters that will be optimized for Skylab (50° inclination), but it should work ok for anything close to 50° [14:49:52] it's for first stage flight only anyway [14:50:25] and I will need to gather some data on the Saturn IB flight [14:50:32] powered flight arc, powered flight time [14:50:52] empirical data used by the processor, for Shuttle I found those in the FDO Console Handbook [15:01:22] and I'm trying to figure out if NASSP will explode, if you update the mission time before launch [15:07:53] it will be nice to try some Skylab/ASTP missions [15:08:47] will this processor be extended to calculate presettings for lunar missions? [15:09:41] no, that's something entirely different [15:09:52] just a launch to a target in Earth orbit [15:10:54] I have some document on that as well though [15:14:43] if I can find it again... [15:18:43] do we have a Skylab or so to launch to? [15:18:51] anything Orbiter 2016 compatible? [15:20:02] and for a mission like AS-278, it might be possible to use a mission time in the unmanned LM launcher that is different from the mission time in the CSM [15:20:27] so a scenario set up for that would e.g. launch the LM 24 hours earlier [15:21:06] and I think it is possible to update the mission time for a launch delay [15:21:30] there could be a bit of weirdness going on with the panels and checklists, but other than that, it doesn't look so bad [15:30:22] first step, don't use hardcoded inclination in the Saturn IB LVDC :D [15:50:18] sounds interesting [15:51:12] btw about the TTCA, is it possible to make the default setting jets? [15:51:41] so that if there is no slider present to change between throttle/jets then it will simply stay at jets [15:53:40] yes [15:53:57] already have that as a local change [15:55:13] ah ok [15:55:32] I think that would be good enough [15:56:15] although something about that is weird [15:56:31] I would think the current default setting should already do that [15:56:34] but apparently not [15:59:00] ah right [15:59:07] I already forgot from yesterday [15:59:29] the problem is that it currently used slider 0 of a joystick for that, no matter what [15:59:32] even if there is none [15:59:44] so it wouldn't use any default because it will try to access the slider [16:02:57] it probably will need some setting in the Orbiter launchpad [16:04:24] hmm [16:04:57] I wonder if I have broken sliders in general now [16:04:59] I might have [16:05:06] with my commit from yesterday [16:05:18] can't really set up mine right now [16:07:46] thats interesting because I just set up a virtual slider on my joystick this morning but I could not get it to work [16:08:12] let me try my Logitech joystick that has a slider [16:08:40] yes, please, haha [16:10:26] hmm the slider does not work in rotation mode, just the INS/DEL keys work [16:10:49] But in translation mode the slider does work to control throttle/jets selection [16:11:17] ok, then I indeed broke it [16:11:34] then it's your job anyway, adding something to the Orbiter launchpad to select the slider [16:11:50] sure I can givce it a go [16:11:54] give* [16:12:13] in the LM code it already seems to be implemented [16:12:43] JOYSTICK_RSL [16:13:02] that is what the setting needs to be saved as in the ProjectApolloConfigurator code [16:13:14] -1 for disabled, 0 to 1 for a slider [16:13:38] ok [16:14:05] so gParams needs another int [16:15:01] it will work very similar to how the Saturn_RHC variable is treated in that code [16:15:44] saving, loading and the dialog code [16:23:30] so then once that done if dont select anything for the slider it will stay as -1, and the TTCA will always be in jets mode? [16:24:44] yeah, that should already work that way [16:24:59] I'll revert my local change, was wrong anyway [16:25:22] so right now the initial position is 32768; [16:25:29] centered joystick [16:25:51] which would be fine for the jets/throttle check [16:26:02] the threshold there is also 32768 [16:26:09] but right now it defaults to slider 0 [16:26:37] and will try to access it [16:26:47] no idea what it then has as the joystick postion [16:26:56] but apparently it goes to throttle, not jets [16:28:05] there are separate slider IDs assigned for the throttle/jets switch and slider for throttle [16:28:19] but what joystick has two sliders [16:28:22] well [16:28:27] maybe one for two engines [16:28:43] but anyway, for now we should just use the slider for both IDs [16:28:58] before my changes that was the case anyway, both used ID 0 [16:29:12] so here two things you also need to do [16:29:24] in LEM.cpp look for JOYSTICK_RSL [16:29:37] there it loads that value from the config file and saves it as rhc_sld_id [16:29:53] simply also save it as thc_tjt_id [16:30:10] so the last line of that if (after the be paranoid) should be [16:30:16] thc_tjt_id = rhc_sld_id; [16:30:29] and then in lemsystems it currently does [16:30:30] thc_tjt_id = 0; [16:30:33] that should be [16:30:34] thc_tjt_id = -1; [16:30:43] and then be overloaded by that loading from the config [16:34:10] I guess there could be a way to detect of the joystick has a slider and if yes use ID 0 by default [16:34:14] by no idea how that would work [16:40:30] but* [17:24:15] Saturn IB LVDC has been updated from Apollo 7 to Skylab :D [17:33:26] nice! [17:33:43] Ill start looking at the joystick code now [17:44:02] morning! [17:47:30] hey Mike [17:47:55] what's up? [17:47:58] indy91, did you have the reverted slider changes ready for push? [17:48:45] thewonderidiot not much just working with the joystick code [17:57:07] there is nothing to revert, if you implement the stuff in the configurator [17:57:19] right now the slider ID is -1 by default [17:57:27] previously the ID was ignored and it was using 0 [17:57:44] hey Mike [17:58:40] ah ok [18:00:16] right so with the stuff you said above "thc_tjt_id = rhc_sld_id;" in LEM.cpp and "thc_tjt_id" to -1 in lemsystems.cpp [18:00:32] and now Ill start work on the configurator changes [18:03:49] yeah, I think using the same ID for both should work [18:04:15] those IDs were set in code only before [18:04:17] for testing [18:05:02] so just adding those 2 things makes my 3-axis (no slider) work right as TTCA, it stays in the jets mode [18:09:01] yeah [18:09:29] setting thc_tjt_id to -1 by default will cause it to not try to use any slider [18:10:01] -1 by default or disabled by lack of a set checkbox [18:10:13] it will be overwritten from now on anyway [18:10:33] and the slider has the reverse issue right now [18:10:39] throttle slider* [18:10:56] for a joystick with slider that is set to -1 right now [18:11:01] and will be set to the same, non-zero one [18:11:06] in the configurator [18:11:43] with your joystick without slider you will have to not set that checkbox to use a slider as the throttle [18:11:58] I think that is the best way to set it up, just like the RHC and THC [18:12:07] one checkbox for on/off and then an ID [18:13:17] simple to activate [18:16:54] AlexB_88, is the code in ProjectApolloConfigurator done automatically by the visual interface? [18:17:05] not all of it for sure [18:17:26] but you must have modified that when you deleted stuff from the pages [18:18:08] yeah, looking at the commit history, you are the ProjectApolloConfigurator.cpp expert :D [18:18:10] yeah I did the graphical portion from the GUI in Visual Studio [18:20:02] as I said, most if it should be possible to be handled just like gParams.Saturn_RHC in there [18:20:16] right [18:20:25] so hopefully not too complicated [18:21:24] I am getting my head around the configurator code right now [18:21:30] there is a "oapiWriteLine(hFile, "JOYSTICK_TJT"); // Not configurable currently" [18:21:35] in it [18:21:51] I wonder if thats applicable here [18:22:55] oh [18:22:56] hmm [18:23:06] well, the question is if we want to set that up separately [18:23:48] oh right [18:24:07] like you said we dont need to I guess [18:24:14] I can't really imagine a case for it [18:24:41] so I need to make the configurator save a variable for JOYSTICK_RSL [18:24:48] which is then read by the LM code [18:25:02] it already is read by Saturn and LM code actually [18:25:13] it's already reading that line from the config file [18:25:17] it's just not saved there yet [18:25:17] but not written by the configurator yet [18:25:18] so yeah [18:25:22] yep, like Saturn_RHC [18:25:25] ok [18:25:43] pretty straight forward [18:26:03] that part, yes :D [18:29:43] of course this would all be simple if it simply uses slider 0 [18:30:07] but with your joystick I think it's the right time to implement this in a configurable way [18:30:58] that way it's configurable and compatible with more joystick types [18:31:43] makes sense [18:36:46] next step for the LVDC is the ability to load targeting parameters [18:37:07] modifying the mission time might be safe, but only forwards [18:38:00] so if we would set up a scenario for e.g. the first Skylab mission the mission time should be counting down to the earliest possible launch time [18:38:15] and then a launch time and targeting update is done [18:38:41] that could work without changing all the uses of the MissionTime variable [18:39:13] in reality there should be holds in the countdown, accomplishing the same [19:09:23] indy91, hows this: https://www.dropbox.com/s/d6p5vt7r4udd1v3/Screenshot%202019-04-17%2015.08.53.png?dl=0 [19:26:56] hmm, i forgot that there is also RHC slider vs THC slider [19:28:28] but it's irrelevant [19:28:52] in any case though, the setting would now apply to both RHC and THC [19:29:09] not just RHC [19:29:44] so it should probably not be a sub-setting of the RHC/ACA [19:30:09] ah right [19:33:02] well [19:33:13] it's of course a bit confusing [19:33:19] on the RHC it's a cheaty throttle [19:33:21] ACA* [19:33:29] on the TTCA it's the jets/throttle lever [19:35:49] I am wondering, if you have both ACA and TTCA configured as separate controllers, and you have a check mark for joystick slider with the slider ID, which joystick is it going to choose? [19:36:12] I guess in that case it should automatically be the TTCA's joystick slider [19:41:27] ah right [19:41:29] haha [19:41:36] so many different cases [19:42:16] we can just make it, if there are 2 separate controllers, the slider defaults to the TTCA controller [19:42:33] no, that's not how it works [19:42:59] both sliders can be used [19:43:08] we just assign the same ID to them [19:43:19] slider 0 of the ACA joystick and slider 0 of the TTCA joystick [19:43:31] you probably wouldn't use the slider on the ACA one [19:43:45] well, you might if you don't want to use the throttle function of the TTCA [19:44:00] so I guess it should be separate IDs after all [19:45:03] so we are adding [19:45:07] JOYSTICK_RSL and JOYSTICK_TJT [19:45:55] ok [19:46:10] JOYSTICK_TJT needs a load in LEM.cpp [19:46:15] ready for my 1st test of the configurator [19:46:16] just below JOYSTICK_TSL I guess [19:46:25] loading thc_tjt_id [19:46:56] you are best one to test this I guess, you have both, joysticks with and without slider, right? [19:47:30] yep [19:49:36] https://www.dropbox.com/s/sb6vd0mghu9a1or/Screenshot%202019-04-17%2015.49.29.png?dl=0 [19:51:17] looks good, but it's one iteration behind, haha [19:51:29] I think now we want this for both RHC and THC [19:51:37] throttle for ACA [19:51:49] throttle/jets lever for TTCA [19:52:03] both sub-settings, as you had it before [19:52:11] as you had it for the ACA+ [19:52:12] * [20:07:30] ok almost done my 2nd revision [20:08:28] don't forget to remove the thc_tjt_id = rhc_sld_id [20:08:38] they are now set separately [20:08:45] or will be [20:09:38] ok [20:10:37] and where that was previously done thc_tjt_id should now be loaded separately [20:10:49] right [20:18:25] ok, LVDC targeting uplink capability done. I guess this should go rather in the RTCC MFD than the PAMFD?! [20:19:21] I'll definitely have to add some RTCC MFD pages for the calculation and display of the launch parameters [20:19:54] although modifying the actual launch time is rather something for the PAMFD in my mind [20:21:23] good stuff [20:21:49] latest state: https://www.dropbox.com/s/c7nmp56thx44ae7/Screenshot%202019-04-17%2016.21.38.png?dl=0 [20:22:23] yep, looks good [20:22:32] maybe modify the text a bit [20:22:59] "ACA with throttle slider" [20:23:08] "TTCA with throttle/jets lever" [20:23:11] something like that [20:23:16] a bit more descriptive [20:27:13] https://i.imgur.com/Ozjaay9.png [20:27:14] sure [20:27:22] this is the real RTCC display [20:27:40] from 1968 [20:27:52] and it already has an example "AAP2 OWS" display, haha [20:28:05] OWS being Orbital Workshop [20:28:06] Skylab [20:31:12] there were several Apollo Applications Program (AAP) reference missions [20:45:27] Antares launch now [20:46:27] ok I think Ive got it [20:47:08] great [20:49:38] this Antares launch is another "nominal" festival [20:56:29] after this very nominal launch. Good night! [21:25:24] SteveH: almost got my simulator board all put together [21:25:54] only remaining thing is the test connector... turns out it is very difficult to solder 144 individual 1x1 female headers on a .125" grid and keep them aligned [21:29:02] what I do is use a second copy of the board with something like 10mm stand offs to space them and use the second board to help locate the pins and keep them straight. Is this making any sense? [21:30:23] basically stack two of the boards. One is the real board you are fabricating and the other helps keep pins perpendicular [21:30:35] I used a second board for the monitor board, since the male pins can slide through [21:30:48] but it's harder for the female headers [21:31:12] Oh right, with the female pins can you use two boards and insert male pins through the holes? [21:31:51] I tried sticking the headers onto the male pins of the monitor board, which I've already got populated, but even there there was too much variance in their alignment that I couldn't get them all to go through their holes [21:31:59] or place the female pins onto the the monitor to hold them then solder to simulator? [21:32:34] Yeah that's a tough one [21:32:46] yeah, with the 1x1 headers there's just too much leeway for them to wiggle side-to-side a bit [21:33:16] I've got one more trick up my sleeve... we're currently using the SLA printer at work to print a jig with 144 holes and relatively tight tolerances [21:33:50] with the hopes that we can press all of the pins into the jig, use that to slide them into the holes and hold them straight, solder it, and then remove the jig [21:34:06] my home printer couldn't make walls thin enough [21:34:06] It's good to have access to toys like that. I don't :( [21:34:30] boo [21:34:40] yeah we just got this in a couple of weeks ago so this is a good test for it, heh [21:35:07] anyways if this doesn't work I'm just going to solder the darn boards together [21:35:13] connectors be damned [21:35:17] I still need to buy a laser engraver to make my DSKY key caps [21:35:27] oh man that would be awesome [21:35:33] That's the spirit! :D [21:36:20] flat black paint over the Switchcraft illuminated white key caps. Then burn the black paint away to create the key cap text [21:41:19] sounds great :D [21:41:32] how much do those cost? [21:43:32] The cheap Chinese ones run between 100 and 300. I'm going to try one of those. Power in the 1000 - 3000 mw range. Very mixed reviews and will take many attempts to converge on laser speed and power but I'm going to give it a shot [21:43:44] oh that's not bad at all [21:43:48] yeah definitely worth a shot [21:44:36] Going to start with white styrene substrate and once I get the results I want then will try the key caps. Also purchasing an extra 20-30 key caps just in case :) [21:44:50] hehehe sounds like a good plan [21:45:01] and if everything goes well you can just make a nav dsky :D [21:45:18] yeah, plan to fail instead of failing to plan. or something like that [21:46:30] Just not sure how cleanly black paint burns away. Will most likely try acrylic, enamel, and epoxy paints [21:53:31] On a different topic, I think I have the GUI for emulating the IMU roughed out enough to start hooking it up. Looks like I need to also wire up not only chan 12 but chan 30 as well to make the software happy. [21:54:58] oh awesome! :D [21:55:06] do you have pictures? [21:57:55] just a sec [22:00:01] emulator in current state. uplink/dnlnk, pipa, gyro cdu [22:00:04] https://drive.google.com/open?id=16rNPAIlT2qsW_vxwTe7KQXqhxeVLLc5B [22:00:36] input/output connectors on my agc [22:00:38] https://drive.google.com/open?id=1cSha3w6U-zrg0GbNzLUStYDdPT4JgWlr [22:01:20] IMU screen design with QT Creator [22:01:21] https://drive.google.com/open?id=1GMRIncbAr253AJaGvo1dCdb66RPaItpK [22:02:47] nice! [22:03:16] On the gui, I'm going to add some read-back of some internal CDU values next to the fields used to set gyro delta. Still playing with how I want to do it. [22:04:02] Most likely the coarse align counter registers, and maybe an accumulated absolute gyro angle for x,y,x [22:09:21] yeah that sounds good [22:09:34] also I like your harnessing, it's very clean so far :D [22:13:59] Thanks, I try to keep it that way. Learned a long time ago to not cut corners on the harnessing or you will be regretting it forever in the form of chasing intermittent problems. [22:15:33] So for the open collector drivers appear to be handling the 6 ft cable length okay. of coarse I'm also running 10ma for each signal at 5V [22:15:42] *so far [22:17:15] haha yeah that sounds sufficent :D [22:19:45] I wanna say the buffer box used 10V / 2mA over their ~10ft cable [22:23:34] I'm trying to get away with a significant short cut of not using twisted pair or coax. So far it's working but I'll be keeping an eye out [22:24:49] Highest frequency is CDUCLK running at 102.4 KHz. If I have a problem it will most likely be there. [22:25:38] I need to turn on an old transistor AM radio I have laying around and listen to this thing work :) [22:29:15] hah! [22:29:18] that's be awesome haha [13:31:23] hey [13:37:01] hey Niklas [13:37:24] I made van initial commit of my joystick code [13:37:28] an* [13:37:35] https://github.com/jalexb88/NASSP/commit/9c05209dea234b56d19c5172bcbd5071a5413b54 [13:37:55] theres still some fixes I need to make though before PR [13:38:30] looks just like I was imagining it [13:38:38] no issues from my side [13:39:16] speaking of issues, ever noticed with Apollo 7 that the Saturn is doing a 10° roll just after liftoff, before clearing the tower? [13:40:12] there was another instance of a hardcoded 90° launchpad azimuth, while LC-34 has 100° [13:40:25] so the initial roll command was 10° off [13:41:28] I've tested a full launch, Saturn IB can fly to 50° inclination now and calculate the launch azimuth for that on its own [13:41:44] or to wherever you specify in the LVDC parameters [13:41:48] never noticed, no [13:41:52] and soon a prelaunch targeting update [13:42:05] sounds cool [13:42:40] for the CMC launch azimuth I'll probably add something to the RTCC MFD [13:42:48] at the same place where that is already done for lunar missions [13:43:20] it's fun, I'm doing a V78 update in the T-60s scenario [13:43:29] it does a pulse torque update, so it's slow [13:43:36] doesn't make it to liftoff [13:43:49] so it continues torquing in P02, even after launch [13:43:58] and then when it's done it immediately switches to P11 :D [13:44:23] just a bit late [13:48:19] haha [13:49:49] actually makes me think how long the liftoff discrete should really be set [13:50:04] I think it's the same signal driving the liftoff light on that button [13:50:36] I'll consult the newly acquired Saturn Systems Handbook [13:50:46] well, "new", a few weeks ago [13:51:15] There is an issue I am having: While the slider is being correctly raed when enabled, the ACA is treating it as a yaw axis [13:51:52] hmm [13:52:30] I found: [13:52:31] if (rhc_sld_id != -1) { // If this is a slider [13:52:31] rhc_rot_pos = dx8_jstate[rhc_id].rglSlider[rhc_sld_id]; [13:52:32] } [13:52:48] above the code for the throttle lever [13:52:57] I commented that and it works [13:53:15] yeah [13:53:28] so, I added the throttle code [13:53:41] the code you commented is older and the same for CSM and LM [13:53:51] of course the slider shouldn't be both [13:54:20] but I'm not sure if this really only is a slider [13:54:37] or if in some cases the third axis of a joystick is detected as a slider [13:55:50] oh it is different in CSM code [13:56:01] it uses it as an if else case [13:56:18] for a 2-axis joystick with slider [13:56:33] in that case it should use the slider as the third axis, in the CSM at least [13:56:41] but I think we don't need that in the LM [13:56:55] we can just remove it? [13:57:29] yeah, let's do that [13:57:55] that whole part that you quoted [13:58:07] theres also one in the THC code [13:59:27] let's also remove that [13:59:37] ok [13:59:40] slider on a THC should always be the throttle/jets switch [14:02:44] last issue: If the ACA is enabled and used as both ACA/TTCA, with the slider enabled, the TTCA and its slider will not be possible to enable so THC and TJT stay at -1 [14:03:18] which means when you press the button to switch from ACA to TTCA with the same joystick the slider no longer works [14:03:35] because TJT is -1 [14:04:13] unless we make TJT = RSL when ACA and TTCA are used with the same controller [14:04:36] isn't that a configurator issue? [14:05:05] well I can make the slider for the TTCA always be accessible, even if the TTCA itself is diabled [14:05:20] I can make the check box always accessible* [14:05:35] but that doesnt sound right to me [14:05:53] oh ok, I understand [14:06:09] in the configurator the toggle option is under RHC [14:06:26] and no THC option is then set [14:06:48] search for [14:06:49] tmp_id = rhc_id; [14:06:53] in lemsystems [14:07:03] there is the code handling the switching around of ACA and TTCA [14:07:28] that probably needs a line with TJT [14:07:34] ok [14:08:12] hmm [14:08:23] what do we use "thc_sld_id" for now [14:09:06] nothing if you delete that slider stuff in the THC code [14:09:29] that was probably for the code in the CSM to make the slider work as yaw on a 2 axis joystick? [14:09:39] yeah [14:09:45] we don't really need that variable [14:09:49] right [14:09:55] and it should be TJT instead [14:10:22] I think we can delete that variable [14:10:36] and in the joystick switching code it has [14:10:37] rhc_sld_id = thc_sld_id; [14:10:40] ok [14:10:44] thc_sld_id = tmp_sld_id; [14:10:59] that should be THC TJT instead of THC SLD [14:11:40] hmm [14:11:46] either that or deleting TJT [14:11:51] and just use SLD [14:11:55] your choice, haha [14:12:05] but we don't really need two THC slider IDs right now [14:12:21] well TJT is already everywhere in the configurator :D I think ill keep that one [14:15:14] also: [14:15:15] int rhc_sld_id; // ID of SLIDER axis to use for RHC Z-axis [14:15:27] we should probably change the comment definition [14:15:38] yep [14:15:42] it's just for throttle now [14:29:11] ok so Ive got it working good now, just testing all the joystick configs I can think of [14:30:12] if 2 joysticks are connected as separate ACA/TTCA and the slider on the TTCA is enabled, do we then want to keep the ACA slider at -1 or does that not matter I guess [14:31:09] anyways it works right in my test of 2 joysticks with sliders. If bot of them have the slider enabled, the TJT works correctly on the TTCA and the ACA slider has no effect [14:51:23] I also added for the TTCA a check for "thc_tjt_id != -1" before ttca_realistic_throttle = true; [14:52:06] so that if you do not have a slider configured for the TTCA, the keyboard controls (or RHC slider if configured) will still work to control throttle [15:07:06] ACA slider can be kept enabled in that case [15:07:16] hmm [15:07:17] well [15:07:43] I think the ACA slider wouldn't be used anyway, right? [15:07:56] due to ttca_realistic_throttle [15:08:36] yeah, it would always use the TTCA throttle then [15:09:08] and the check before ttca_realistic_throttle is good [15:09:35] ok [15:10:17] I actually just made it so that if your TTCA slider is enabled, then the ACA slider selection will be greyed out and RSL will stay at -1 [15:12:49] because if the TTCA slider is not enabled you can't select throttle, right? [15:13:11] does that work right? It uses jets by default? [15:14:13] yes [15:14:23] you can then control throttle with the keyboard [15:14:32] or ACA slider if configured [15:15:58] right [15:16:18] seems like we are pretty close to covering most realistic use cases [15:22:47] ok I am ready to PR [15:23:39] sure [15:24:18] just before I do it, I have 2 files with extensions I have never seen appear in my unstaged files, ProjectApolloConfigurator.aps and MFDResources.aps [15:24:39] I have not included them in the commit, should I? [15:27:57] hmm [15:28:04] are they tracked files? [15:28:32] by git [15:28:41] looks like it [15:28:56] well, I dont know [15:29:09] they show up as unstaged files in my Git GUI [15:29:20] but that may not mean they are tracked by git [15:29:28] white or blue symbol [15:29:41] white [15:29:51] then they are not tracked by git [15:29:57] and shouldn't be included in the PR [15:30:07] I have looots of those kind of files [15:30:16] ah ok thats what I thought [15:30:27] so no new files should be necessary [15:34:53] indy91, PR sent [15:37:08] merged [15:39:24] trying a launch with all the Sklyab launch parameters now [15:41:44] works similar to a lunar mission, you have a reference GRR time and if you are launching different from that it calculates some launch parameters different [15:42:09] I thought it would have to do more yaw steering though [15:42:48] 45° is the normal launch azimuth (in-plane liftoff time), 40° would be 5 minutes earlier, 50° five minutes later [15:43:15] all to an inclination of 50°, inserting into a specific inertial orbital plane [15:43:56] press kit says launch window could be up to 15 minutes long [15:44:11] so more like 7.5 minutes before and after in-plane time [15:46:48] works good [15:49:02] insertion inclination is 50.07° instead of 50° [15:49:07] I would have expected better results [15:51:49] probably the old navigation inaccuracy [15:52:14] there is still something off with that and it has gotten worse with Orbiter 2016 [15:52:56] oh right haha, I guess it is masked from the TLI because of the SV update after insertion to the LVDC [15:53:28] but for your flight you are relying on a very accurate insertion [15:53:29] yep [15:53:47] and it's not very important for Apollo 7 [15:54:26] but it will be for Skylab [15:54:34] 0.07° in inclination is 30 ft/s DV [15:54:54] btw there is still a bunch of code for slider as z-axis for the RHC/THC in the CSM [15:54:58] maybe that should go too [15:55:21] no [15:55:28] I think it's ok to have that there [15:55:40] if you have a 2-axis joystick with slider you can use the slider as the third axis [15:55:46] no need for using it as a throttle [15:56:12] ok [16:10:34] so about that, I made it so that if you are using the TTCA slider, the ACA slider selection check box is greyed out. I did no think of the fact that in the CSM, someone might still want the slider on the RHC for yaw control if they only have 2 axis +slider [16:10:40] I will revert that I think [16:13:02] hmm [16:13:05] was JOYSTICK_RSL working before [16:13:07] ? [16:13:22] if not then that was only accessible via code changes anyway [16:14:14] but yeah, it probably doesn't hurt to have the choice of specifying an ID [16:14:20] even if it wouldn't be used [16:14:31] yeah, but I made the configurator grey it if the TTCA/THC slider was selected [16:14:41] so that it would be -1 [16:15:01] yeah [16:15:02] thinking you dont need a slider on the ACA if your TTCA slider is set [16:15:06] you can revert that if you want [16:15:17] but I failed to think about the RHC in the CSM [16:15:22] yeah I will [16:16:06] so say someone is using 1 or 2 joysticks without a yaw axis, they can use the slider for use in the CSM [16:16:33] just have to have the sliders selected in the configurator [16:17:48] yeah [16:18:32] checked it, using a slider as a third axis was previously only possible by setting the slider ID manually in code [16:18:43] so technically you didn't break that feature, haha [16:38:11] So if you use a 2-axis joystick with a slider as a TTCA, you get stuck thrusters firing FWD [16:39:00] I think its because its using a non-existent yaw axis [16:48:35] damn [16:49:06] could it be because the slider isn't centered? [16:49:18] or isn't it using the slider [16:49:37] ah [16:49:41] int thc_rot_pos = 0; [16:49:46] I think that should be centered [16:49:51] which is 32768 [16:50:02] that might solve it [16:50:06] ok ill try [16:52:02] yeah, CSM joystick code sets them all to 32768 by default [16:52:20] you know what, I think at one point the CSM and LM joystick code were identical [16:52:32] and then only the CSM code was developed, because only the CSM was working [16:52:53] so the LM joystick code is still behind a few updates like that [16:53:41] ok that fixed it [16:53:50] awesome [16:54:29] although, what even is the use of a 2-axis joystick as the TTCA [16:55:04] slider has to be throttle/jets [16:55:14] one thing though is that in this case 2-axis joystick + slider, there is only control over pitch/roll/throttle but not yaw [16:55:19] yeah [16:55:29] so we need to let the keyboard control yaw in this case [16:55:46] or FWD/ADT translation for the TTCA/THC [16:56:23] hmm [16:56:29] ugh not THC, as that would have the slider working for yaw and fwd/adt translation [16:56:36] haha, yeah [16:56:56] so the main reason to use the slider for throttle/jets and not a toggle button is that it looks very much like a lever [16:57:12] in fact, before I knew how the TTCA really worked, I thought that lever was the throttle lever [16:57:26] haha me too [16:57:48] so physically it's the closest to the TTCA, but functionally a toggle button would be just fine [17:00:10] I don't really know [17:00:35] I guess the slider would better be the 3rd axis in that case and throttle simply on the keyboard [17:01:05] but not sure how to implement that... [17:03:44] morning! [17:04:20] I guess its not too important for now [17:04:23] hey Mike [17:04:56] btw the CSM reads JOYSTICK_TSL from the configurator [17:05:26] so I am making the configurator send that [17:06:52] sure [17:06:53] hey [17:21:30] indy91, PR sent [17:22:22] and megred [17:22:23] merged [17:28:58] thanks [17:29:21] I think its good now, did a lot of testing and I am happy with it [17:29:28] great [17:29:36] should be a lot of different hardware configs compatible now [17:29:51] I've been looking at the LVDC navigation, but that's really its own project. I'll tackle that later [17:30:01] rather want to make the launch window processor work first [19:09:38] SteveH: so last night I figured out how to align the female headers for the connector [19:09:59] buuuuut I think the boards are getting soldered together anyways, heh [19:10:35] I populated 7 of 18 columns and did a test fit [19:11:41] and already it takes so much force to connect/disconnect them that the boards were bending uncomfortably much [19:12:44] yeah that could be an issue. just solder them together [19:13:27] What does that say about insertion force required on the AGC? [19:13:48] that is the plan tonight -- after I finish soldering up another simulator board because I don't feel like desoldering 60 something headers [19:14:11] it's not a concern with the AGC, because we'll have the adapter plate with jacking screws to do the insertion and removal [19:14:21] gotcha [19:14:26] the stresses of that aren't transmitted to the board, which is just mounted to the plate [16:41:04] morning! [17:29:47] hey [18:06:09] hey SteveH [18:06:18] my boards have been soldered together :D [18:42:22] When do you think you'll have the pair up and running? [18:42:55] last night! I made a little video, mostly fooling around with rope and erasable simulation: https://youtu.be/fYIsjlVSgto [18:49:40] Very impressive. As a note, the program alarm you got when you switched to erasable memory simulation while running V16N36 is exactly the same behavior I got when I had a corrupted padload and tried the same function. [19:07:43] oh awesome [19:07:45] that is good to hear :D [19:15:54] yeah I did a bunch of testing after that video and didn't see any more problems [19:16:35] so I was leaning towards it having been a problem with using an Aurora erasable with Luminary [19:17:10] especially since I just unceremoniously swapped the program without causing a GOJAM so it just started executing wherever [19:19:13] the flashing V06 N49 that persisted through restarts was also very interesting, heh [19:31:30] thewonderidiot: nice video! [19:31:51] thanks :D [19:35:17] Yeah, I've seen similar crashes caused by swapping between my Aurora and Luminary PROMS as well as caused by failures of the uplink while transmitting padloads. My assumption is that some of the vaiables used by the executive have invalid values resulting in "less than fully stable" behavior. [19:36:18] yep [19:38:58] Just think about the fact that this is what the SW designers would see as the result of a coding error. Then it's off to the monitor to analyze or just keep looking at the source code until the answer comes to you. I've done some debugging like that in my career. Basically troubleshoot an embedded system with no debugger. Amazing they got this thing to work as well as it does. [19:59:40] heh, yeah [19:59:48] I'm in sort of the same boat right now at work actually haha [19:59:59] the mode I'm trying to put this chip into appears to detach the debugger [20:00:03] which is very annoying [20:01:00] yep. welcome to embedded real-time. Sometimes even when you have a debugger you cannot use it as a breakpoint causes the system to crash and correct everything. [20:01:14] *corrupt [20:02:26] oh yeah, using a debugger like that is a very rare treat... much more often it's a timing related thing that I have to find with the kernel trace tool [20:03:05] luckily the code leading up to this mode I'm trying to use shuts down the RTOS first so there's no longer any timing concerns of that nature [20:03:19] so breakpointing is useful up until the debugger gets kicked off :P [20:05:35] Been re-reading (again) ND-1021042 section 2-4.5 (IMU modes of operation) as well as the symbolic listing info to create IMU state machines to mimic the state behavior of the real thing. :) [20:06:42] The symbolic listing doc has no author specififed. Did Hamilton author that do you think? [20:10:41] thewonderidiot, hows this? https://www.dropbox.com/s/ajlg1g3fsf3bmgi/Screenshot%202019-04-19%2016.09.56.png?dl=0 [20:10:52] no, nobody at MIT did [20:11:00] I'm fairly certain that it is from TRW [20:11:32] AlexB_88: looks good :D [20:11:43] great :) [20:12:45] Nice! And you have the correct yellow color for PRIO DISP and NO DAP. I still need to change LEDs on my display to correct that. [20:14:30] I still need to change yaDSKY2 [20:16:07] SteveH: here we go, here's a quote from a report written by Hamilton: [20:16:33] "...Although we were once intimately involved in the AGC system, it took a great deal of time and patience to revisit this environment. This was mostly due to the fact that the AGC system was poorly documented (although the documentation of the Verification and Validation (V&V) contractor turned out to be better than our own [13])." [20:16:54] [13] is a reference to the symbolic listing information document [20:17:55] Wow some things never change. At work, whenever I want to know how a feature really works I don't go to the requirement docs, I ask the SW V&V team! :) [20:18:02] hehehe [20:21:23] oh! Ron has posted preliminary indices for the new boxes he scanned this week [20:29:21] Have not looked yet. Anything interesting? [20:35:45] lots! some things that I don't know in the AGC assembly range... more than expected [20:35:53] and lots and lots of CDU schematics [20:36:12] and unexpectedly mixed in with those, schematics of IRIG and PIPA parts [20:36:41] like electrical schematics for the Pulse Torque Assembly [20:37:33] and the IRIG preamp [20:37:55] yeah this is pretty good CDU schematic coverage [20:39:21] digital mode module, read counter module, error angle module, MSA & Quadrature module, coarse system module, quadrant select module [20:39:25] d/a converter [20:39:45] possibly only missing the interrogate module [20:40:18] which should be at the very beginning of box 463 [21:58:54] .tell indy91, made a PR with the DSKY lights fix [22:04:36] .tell ind91, you might notice the file is 34% smaller now, despite being the same pixels. It used to be 24-bit but I have made it 8-bit [22:05:30] might be good to get the name right [22:05:38] .tell indy91, you might notice the file is 34% smaller now, despite being the same pixels. It used to be 24-bit but I have made it 8-bi [22:16:04] . [22:22:14] thanks, that might of lingered for years :D [22:25:31] haha yeah, I think they stay until either somebody gets the message or Thymo goes in and manually deletes them [15:01:26] hey [15:01:43] it's been merged [15:03:36] awesome thanks [15:04:14] just about to launch Apollo 11 [15:04:40] to test anything in particular? [15:04:47] you could continue the checklists [15:05:52] yeah I am going to fly a full Apollo 11 [15:06:13] just to get back into it 1st, been a while since my last one [15:07:14] I'll be trying to get a AS-278 scenario working, based on Apollo 7 [15:07:18] I will do this run with the actual checklists that were recently made available [15:07:25] right [15:07:31] then I will do another run with the checklist MFD to compare [15:08:42] I'll definitely do Apollo 7 next [15:09:52] and I'll do the change to 8.0 Beta soon as well [15:11:51] but first I'll try to do a successful launch with the launch window processor [15:19:35] and then I'll also look at LVDC navigation [15:19:44] Saturn IB still has no proper orbital navigation [15:20:04] only powered navigation, which is less accurate, with accelerometer disabled [16:18:13] RTGO seems to be slightly off for TLI+90, 973.6 vs real 1188.7 [16:24:10] right [16:24:42] I can't remember, I think I never implemented the proper range function for the Earth centered aborts [16:26:17] could also be an issue with the PAD calculation rather than the abort maneuver [16:28:32] what's the DV vector? [16:28:46] the range calculation IS done [16:30:30] -468.5, 0, +5327.8 [16:30:56] historical: minus 0476.1, plus 0000.1, plus 5336.1 [16:31:06] and the TIG? [16:31:17] historical: 004:10:25:38 [16:31:22] 4:10:33 [16:31:34] so nearly identical [16:31:40] yeah [16:31:49] which means the DV should also be almost the same [16:32:04] 5348.4 [16:34:01] the calculation for the range on the PAD is also done in the entry targeting code, but it's using some AGC calculation for it [16:34:05] which we used previously [16:34:18] so there might be a calculation incompatibility there [16:37:10] I'll have to debug it, I actually would expect the range on the PAD be too large instead of too small [16:38:58] I have a good scenario to debug it [16:46:43] I think it works like this [16:47:03] the AGC function that is (still) used to calculate the PAD range usually gives a larger range than normally used [16:47:07] that's used in P37 [16:47:29] higher range to be on the safe side, nothing worse than a CMC trying to recover from short range [16:47:39] so I modified that function to be more realistic for nominal ranges [16:47:50] and that works well at 36000 ft/s reentry speed [16:48:03] but the TLI+90 is more like 34500 ft/s [16:48:16] so I think the modified function doesn't work well with that speed [16:48:21] and gives a low range [16:48:52] the fix is to not use that outdated function anymore, it's not compatible with the actual reentry range anyway [16:49:19] the actual range is now calculated from real RTCC equations, which we got in the moon-centered RTE document [16:50:36] in the real RTCC the PAD value for the range was calculated by a full simulated reentry [16:51:02] and integrating the acceleration that the EMS would measure [16:53:20] which I will implement eventually, haha [16:53:58] I think I have an idea for a temporary fix [16:56:04] 1117.1NM, still too small [16:57:20] probably doesn't account for the rotation of the Earth between EI and 0.05G [16:58:29] hmm [16:58:50] maybe implementing the range calculation in P61 would do it [16:59:00] that's what the Lunar Entry PAD does [17:06:13] 1205.6 [17:06:16] good enough? :D [18:14:24] sorry I was afk for a bit [18:14:38] yep better for sure [18:34:01] the overkill solution is to let it calculate a whole Lunar Entry PAD for those return Maneuver PADs and just use the range from it [18:34:20] I think I'll figure out a better solution, just a bit more work [18:43:28] Apollo TLI is flown with ORDEAL set to 200/lunar [18:43:34] Apollo 11 TI* [18:44:31] 200, interesting [18:44:47] I wonder if the pitch profile is a bit different on that mission or so [18:46:23] it is a bit actually [18:46:33] 70.6° at TIG, 50° at burnout [18:46:53] for Apollo 15 it's 23° [18:46:57] well, not that different [18:47:03] 20.6° difference, 23° difference [18:47:25] 200 certainly worked well for my TLI [18:47:45] kept the FDAI pitch right in the middle for the whole TLI [18:48:49] it probably doesn't make that much of a difference, although I haven't run the math [18:53:51] 200/lunar is 2.49 degrees per minute of ORDEAL rotation [18:54:01] 300/lunar is 2.19 degrees per minute [19:22:03] morning! [19:26:09] hey [19:31:30] what's up? [19:32:09] the good old "fixing issues that Alex is finding" [19:32:13] hehehe [19:36:57] haha [19:37:10] MCC-2 is 400 fps?? [19:37:13] kidding :D [19:37:21] you better be [19:37:57] that would indeed be the worst issue that could happen :D [19:42:16] or a stuck iteration or so [19:42:44] definitely possible, I haven't flown a full Apollo 11 testing every moon-centered RTE maneuver [19:46:54] I'm looking through CDU schematics :D [19:50:14] yay [19:52:09] they are quite different from AGC schematics [19:52:15] I guess not too surprisingly [19:55:44] yeah [20:27:57] MCC-1 scrubbed [20:28:17] so it gave me a PTC REFSMATT right away, good stuff [20:40:00] so the G&N PTC procedure in the Apollo 11 operations checklist is interesting [20:49:09] I think it's pretty much what we have been using, right? [20:49:22] we got it from the AOH Volume II [20:49:48] which luckily had it, because that AOH is for Apollo 16, and the procedure is outdated for 14 and later [20:50:12] ah ok [20:50:29] I had been using the SCS procedure from the Apollo 14 G&N checklist [20:50:42] for Apollo 14 and prior [21:02:16] the Checklist MFD might already have this CMC procedure [21:08:36] night! [22:41:51] whoa [22:42:25] I may have just discovered a simple instruction sequence that yaAGC might not execute correctly [22:56:04] yeap [22:56:06] interesting! [22:56:18] very easily detectable emulation error [22:56:28] another thing to add to the emulator stress tests in Borealis :D [23:16:27] SteveH: turns out it is possible to get the AGC to execute TC 3, TC 4, and TC 6, instead of having it interpret those as RELINT, INHINT, and EXTEND [23:22:52] interesting [23:24:13] Any practical application, or is this more of an idiosyncrasy? [23:25:16] haha, definitely an idiosyncrasy [23:25:50] although -- I found it because I couldn't understand the difference between two signals (TSUDO/ and NISQL/) so the fact that they are different in this one way must mean they did this on purpose [23:26:07] huh... [23:26:11] I guess they were trying to protect the user from being *too* dumb [23:26:48] all you need to do is build the pseudoinstruction using INDEX [23:26:50] so if you do [23:27:21] CA SIX [23:27:23] INDEX A [23:27:25] TC 0 [23:27:54] you've made a "TC 6" which would normally be EXTEND -- but they explicitly don't check for pseudoinstructions during INDEX, so that will actually execute as TC 6 [23:29:13] yeah interesting. not sure what to do with this information but it is interesting :) [23:29:34] haha yeah there is not much to do with it. just a peculiar thing :D [23:30:14] means another thing to fix in yaAGC for me [23:30:30] ha [23:33:20] Hey, on my side of things I spent some time fixing a trivial board layout error on A24 in the CDUCLK circuit so that now operates. That was important because it drives the interrupt timer on my PIC controller for generating Gyro angle updates to the AGC [23:34:00] I can now manually poke values into the CDU and effect gyro angle registers on the AGC. Working on hooking up the gui now [23:34:16] awesome!! [23:38:09] I'm just working on making monitor stuff better [23:38:51] I found the above while trying to figure out if I can determine a priori whether my requests for peripheral instructions will be accepted, and if not allow an MCT to pass [23:39:48] it's complicated though so I might just do it the dumb way and wait for a few T12's for MREQIN to be set, and if it's not allow an MCT, repeat [12:57:39] hey [13:02:18] hey Niklas [13:02:39] there is more entry range bugs, haha [13:02:54] the PC+2 pad did not calculate correctly unfortunately [13:03:04] oh [13:03:07] https://www.dropbox.com/s/9alhmw7cey06w3s/Screenshot%202019-04-21%2008.38.52.png?dl=0 [13:03:30] I'll need a scenario [13:03:40] https://www.dropbox.com/s/sklyuw9xdhwa7yc/Apollo%2011%20MCC%20-%20PC%2B2.scn?dl=0 [13:03:43] the entry range bug is just the one for the EMS though [13:04:02] so just an issue on the PAD, not in the actual calculation [13:04:21] thats scenario is a few minutes before the pad shows up [13:04:31] ok [13:04:51] entry range fix will come soon, it will be the CMC calculation in P61 everywhere [13:05:27] so this PC+2 issue is definitely the moon centered RTE processor [13:06:05] best case is that the MCC is just missing an input value [13:10:07] nope, also fails with the RTCC MFD [13:16:20] hmm [13:18:35] that PC+2 is a fast one, right? [13:18:51] I think the issue might be simple, the reentry speed constraint is higher for that [13:19:05] but that hasn't been added for this maneuver [13:19:45] contingency limit is 37500 ft/s instead of 36400 ft/s or so [13:20:22] yep, then it works [13:20:56] so it IS an input issue, luckioly [13:20:59] luckily [13:21:05] nice find [13:22:28] yeah, a PC+2 maneuver that accelerates the return by so much will be very fast [13:22:51] the reason the calculation failed is that it ran into that speed constraint [13:25:24] I'll push the fix asap [13:26:02] ok thanks, no rush of course Im up to LOI now [13:26:25] Ill return to that scenario to copy down the pad once the fix is up [13:26:46] it's very close to the historical one [13:31:42] update pushed [13:31:52] range fix also pushed [13:32:22] there actually was a bug in the EMS range calculation on the Lunar Entry PAD also, used the wrong coordinate system for the Earth rotation axis [13:32:31] that made the range even closer to the historical PADs [13:34:40] nice [13:35:45] when there is a [0 0 1] vector in the AGC code without comment I shouldn't just assume that I can use that without modification :D [13:36:33] that bug in the RTCC code is about as old as the Lunar Entry PAD, it could be off by up to 10NM I would say [13:40:11] will still not 100% agree with the CMC due to ellipsoid Earth assumed in P61 [15:57:13] morning! [17:00:56] hey [17:03:07] hey [17:03:10] what's up? [17:12:39] doing a run with Apollo 11, just entered lunar orbit [17:16:47] nice :D [17:18:40] and finding more issues [17:19:18] nothing major luckil [17:19:19] y [17:20:48] hehehe [18:33:18] and of course I may have found another one ;) [18:33:35] not RTCC related thankfully [18:33:45] CSM ECS [18:35:14] I did an O2 fuel cell purge at MET 35 hours and the FC 3 purge made the module temp skin and cond exh go pegged to the bottom of the scale and all 3 FC caution lights came on [18:35:27] this does not seem to occur for FC 1 & 2 [18:36:26] indy91, here is the scenario if you want [18:36:27] https://www.dropbox.com/s/109x3gc8uydw4nq/Apollo%2011%20MCC%20-%20weird%20FC.scn?dl=0 [18:36:43] just do an O2 purge on FC3 and the issue happens [18:42:28] I wonder if its related to this recent change: https://github.com/dseagrav/NASSP/pull/449 [19:29:22] SteveH: I improved periphal instructions a lot yesterday -- here's a video showing a rope dump: https://youtu.be/vriIOArZg1o [20:03:20] AlexB_88, that's actually an SCE related issue [20:03:24] I'm pretty sure [20:03:51] but, it's more like my SCE implementation is showing the bug now, it's not a SCE bug [20:04:14] some bus gets overloaded when you are doing FC purging is my theory [20:04:27] that's how far I investigated it when I got the same issue a while back [20:09:56] I seeè [20:10:14] It did not happen during later purges [20:11:52] once upon a time the level of current happening during a purge was adjusted so that it would usually trigger a master alarm [20:12:05] but since we have of course changed the power consumption in various areas [20:12:13] so it doesn't happen every time [20:12:23] I believe it's basically the same threshold though [20:12:56] current too high, some bus shuts itself down, SCE gets no power, displays are off [20:13:47] the main SCE breaker is SIGCondrFLTBusCB [20:13:55] so the issue is probably with the flight bus [20:18:55] maybe the flight bus voltage drops enough so that the SCE fails [20:19:07] how do you even check the flight bus voltage in the cockpit, haha [20:22:24] oh interesting [20:22:31] the flight bus gets an overvolt condition [20:22:34] 40.6 or so [20:23:12] that's outside the SCE voltage range, so it shuts itself down [20:24:46] MNB voltage is also above 40 [20:24:52] very weird [20:25:28] yeah [20:26:34] maybe a fuel cell bug [20:28:50] if (reaction && Volts > 0.0) [20:28:51] Amperes = (power_load / Volts); [20:28:51] else [20:28:52] status = 2; [20:28:53] Amperes = 0; [20:28:58] this already looks suspicious [20:29:15] the "Amperes = 0;" is meant to be in the else [20:29:19] but there are no { } [20:33:50] FC3 voltage itself is 52 [20:33:53] during the purge [20:36:31] that probably is a bug but not the cause of the high voltage [20:43:14] I'll look into it [20:43:17] good night! [16:59:16] hey [17:06:43] morning! [17:12:42] hey [17:15:23] what's up? [17:16:44] about to land Eagle [17:16:52] woo! [17:17:05] indy91, MCC tracking is very good up to now [17:17:24] only that PC+2 thing which you have fixed [17:19:43] good [17:19:58] and reentry range on some TEI PADs were bad as well, but got fixed in the same commit [17:20:21] about the FC thing, during a purge there is a higher reaction rate calculated [17:20:28] and that is multiplied with the voltage [17:20:36] presumably for conditions were reaction is too low [17:20:44] like lacking O2 or H2 [17:21:01] I don't think that was meant to cause high voltage [17:21:14] so I'll limit that multiplication to factor 1x [17:21:22] so that it can only make the voltage less, not higher [17:24:23] and I did implement the right voltage thresholds (high and low) in the SCE [17:24:33] so that's why those FC displays disabled itself [17:24:51] but, not even SCE to Aux would have helped there :D [17:25:35] hmm [17:25:46] actually [17:26:10] SCE to Aux might "help" in those situations [17:26:18] could also damage the SCE I would think [17:29:53] heh [17:31:12] over and undervolt detection is disabled in AUX mode [17:41:37] interesting stuff [17:42:30] im noticing that after the last SV update before DOI, the LGC is very slow to do things, V83 took a few minutes to display lol [17:42:56] yeaaaah [17:43:12] there are specified time tags for the uplinked state vectors [17:43:32] but for my taste they are way too far in the future [17:44:01] so after uplinking those any V83 needs to do like an hour of coasting integration backwards to calculate anything for "now" [17:45:13] right [17:45:52] my alternative theory is that they just bias the time tag to account for any onboard coasting integration error [17:46:37] like, the AGC calculates a trajectory that at PDI would have a downrange error [17:47:12] so they just bias the time tag of the uplinked state vector so that it is right in downrange at PDI [17:47:19] instead of accurate at the time of uplink [17:47:44] not sure how much of a problem that really is in Orbiter [18:27:23] https://www.dropbox.com/s/g4p8b5m15cqx6h3/Screenshot%202019-04-22%2014.27.14.png?dl=0 [18:28:25] Ill try again, https://www.dropbox.com/s/le7bwnsafychpvr/Screenshot%202019-04-22%2014.27.57.png?dl=0 [18:41:08] https://www.dropbox.com/s/91nq4a0d7x2rslu/Screenshot%202019-04-22%2014.40.52.png?dl=0 [19:00:56] Orbiter 2016 looking nice as always [19:13:20] heres proof your MCC works quite well ;): [19:13:21] https://www.dropbox.com/s/5hy3z4mb94gzfqg/Screenshot%202019-04-22%2015.12.36.png?dl=0 [19:13:45] maybe a bit too well for Apollo 11... [19:14:58] nice to think I got here without opening a single MFD for navigation... [19:36:10] how did the LM ECS behave? [19:43:18] pretty good [19:43:24] it seems more stable [19:44:15] but that may be because of my new PC, it runs Orbiter quite fast, if I dont put on vsync, frame rates can go as high as 1200 lol [19:44:54] external view of course [19:45:54] inside the LM panel view, the lowest it dips is ~100 frames per second, even looking at the moon [19:47:01] so I think that must help for ECS stability. The frame rates still however drop lower when using time acceleration [19:48:13] always will due to the emulators [19:48:27] but yeah, frame rate is key for stability with the current system [19:49:45] btw does the MCC tracking update the LM abort constants for PGNS? [19:59:03] nope [19:59:18] I think that wasn't 100% stable yet, so I didn't include it [19:59:41] you shouldn't be far off with the padload [20:10:45] night!