[10:48:28] NASSP Logging has been started by thymo [10:48:40] Good morning! :) [10:49:44] Patched all my machines. Means that I now see a nice cpu_insecure bug set. :| [12:14:07] Okay, got a CM align of all balls, P52 option 3. Now, does that carry across to the gimbal angles for the transform for LM docked coarse/fine align via PAMFD? (button LGC, so I can V41/V42 for its IMU and balls) [12:16:01] I think PAMFD does the conversion for you, yes. Then you can enter those numbers into the LGC. [12:39:17] Either I messed up my outer gimbal math (359.05 degrees minus 60 degrees is 259.05 degrees, right?) or the calculation for the V41N20 angles in PAMFD is incorrect. (It says the LM OG should be 300.95 degrees.) The AOH says (pp 4.9-16, step 4) "Lo and thou shalt calculate thine LM ICDU angles: LM OG = +- Docking interface roll calibration angle? (0 in our case) - CM OG - 60 degrees... [12:51:22] indy91 will know. [12:51:23] [13:39:16] Either I messed up my outer gimbal math (359.05 degrees minus 60 degrees is 259.05 degrees, right?) or the calculation for the V41N20 angles in PAMFD is incorrect. (It says the LM OG should be 300.95 degrees.) The AOH says (pp 4.9-16, step 4) "Lo and thou shalt calculate thine LM ICDU angles: LM OG = +- Docking interface roll calibration angle? (0 in our case) - CM OG - 60 [12:51:26] Hey :) [12:51:47] hey Thymo [12:53:28] 359.05-60=299.05 [12:54:41] but that is not the right outer gimbal calculation [12:55:25] OG = 300 + RC - CM + LM [12:55:37] no wait [12:55:45] OG = 300 + RC - CM [12:56:05] 300°+0°-359.05° [12:56:17] that gives 300.95° [12:56:22] as PAMFD says [12:58:05] well, the AOH math works as well [12:58:15] 0°-359.05°-60° [12:58:29] that gives -419.05° [12:58:46] which is the same [12:59:36] this isn't super difficult, but tricky and important enough to explain why the Apollo 13 crew wanted this to be cross checked by MCC [12:59:51] I wonder if entering a negative angle in the AGC would still yield valid alignments. [13:00:13] either yes or you get an operator error [13:00:23] I bet on operator error [13:00:26] Like +350° and -010°. [13:00:30] Let's try. [13:01:35] Ah, so *I* screwed up my math. (Doh.) [13:02:05] it happens [13:02:15] It works! [13:02:16] still P51 issues? [13:02:30] I enterd -01000 and it automatically converted it to +35000. [13:02:40] what about -419.05 [13:03:01] Cannibal^, did you have a good alignment with the rear detent till yesterday? [13:03:10] since* [13:03:38] I rolled back to just before undocking. I'm goiung to try again. [13:03:47] landing, I mean. [13:04:00] I'd like to look at your scenario, just as a check that your LGC is in good shape [13:04:48] just upload it on Dropbox or so, that seems to be the usual method around here [13:05:10] It probably isn't at all. Don't worry about it. [13:05:49] I wonder if you could send stuff via DCC on freenode. That way you can directly send it over IRC. [13:06:03] well, if the padloaded AOT angles in your scenario are wrong somehow, then you will never get a good alignment [13:06:53] I have good marks in the CM today: Got all balls on P51 and P52 option 3. [13:07:03] that's good [13:07:09] the AOT angles are not in fixed memory in the LGC, so they can be changed or be broken [13:07:20] I can tell you which memory address to look at [13:08:23] just copy&paste these addresses from the LM part of the scenario: EMEM3404 to EMEM3417 [13:08:51] STBY. [13:08:54] these addresses will exist in the CMC as well, so make sure you are looking in the lower half of the scenario [13:11:38] EMEM3404 65253 [13:11:50] EMEM3406 12525 [13:12:03] EMEM3407 25253 [13:12:20] EMEM3410 37777 [13:12:27] EMEM3411 52525 [13:12:36] EMEM3412 10000 [13:13:00] rest are also 10000 I guess [13:13:08] then they are all correct [13:13:09] Exactlky [13:13:48] so your LGC knows which detent of the AOT is pointing in which direction [13:14:33] too bad, that would have been an easy solution to fix those addresses [13:17:02] It might've been operator error. I'll find out when I land again. [13:20:06] Am I supposed to have a red AGS light, both RCS REGs red, and white RCS, ECS, GLYCOL, WATER QTY and S-BD RCVR lights? [13:27:38] CWEA needs work [13:27:46] Thymo's job ;) [13:29:13] shrugs. can't do anything to get the red ones out, the white one for ECS water qty went out when I cycled the valve and hit CWEA reset. [13:31:03] yeah, I think the logic for the AGS light is mostly missing right now [13:31:09] so you can't really do anything about it [13:31:44] and RCS helium regulator light has no logic at all [13:31:47] it's always on [13:34:40] Oh crap, V42 N20 scaling is is xx.xxx but the v42 button in PAMFD gives the middle number as +179.067 [13:38:34] (Yes, I had to look up the scaling for N93 R2. It's the same as R1 and R3.) [13:39:28] well, V42 is not really meant for any larger corrections like that anyway [13:39:40] V42 is for a fine adjustment [13:40:14] so should do a V41 N20 with the desired angles [13:40:34] and once you have about the right alignment, then use V42 for a small adjustment [13:41:16] if you are using the nominal procedures and end up having to do a 180° adjustment with V42, then something went wrong [13:42:50] Oh you can get those red lights out. There is a CWEA breaker for that. :P [13:42:57] Turn my stack around so the CM IG is 181.56? [13:43:15] rather than 1.56? [13:44:03] no, that wouldn't work [13:44:19] ? [13:44:32] the PAMFD V42 angles are comparing the current LM IMU and CSM IMU attitude [13:44:47] and it has the right logic for a docked alignment [13:45:08] so if you got your LM IMU the right docked alignment, then PAMFD will show you all 0° for the V42 [13:45:21] V42 is an attitude increment, while V41 sets an absolute attitude [13:46:45] if your CSM and LM are docked and PAMFD calculates 180° as the V42 angles, then your LM IMU has an attitude that is wrong by 180° [13:53:45] But then optics wouldn't have lined up on stars in P51! [13:57:50] hmm, weird [13:59:09] At least, not under CMC control. [13:59:48] wait, do you mean P51 in the CSM or LM? [14:00:07] CSM [14:01:13] what do you need a P51 in the CSM for? [14:01:59] all the docked alignment procedures assume that the CMC has a valid alignment and that CSM and LM have the same REFSMMAT [14:02:40] maybe the REFSMMAT is the issue [14:03:10] although, that isn't relevant for the docked alignment procedures [14:03:34] just then later when the LM is undocked [14:21:00] Well I'm screwed up somehow, but how? [14:23:31] docked alignments can be tricky. First you have to make sure the CMC really has a good alignment and then one you want. [14:23:37] the* [14:24:20] how did you uplink the REFSMMAT to the LM? [14:25:48] RTCCMFD. [14:25:53] which options? [14:26:07] landing site REFSMMAT I guess [14:27:11] also, did you use the "REFSMMAT" option or the "Desired REFSMMAT" one? [14:27:54] that gets cycled with the TYP button [14:32:25] RTCC: REFSMMAT page: Cycled to "landing site, time an hour into the future, coordinates provided for tranquility. MCC "Direct", calculate, upload. As to the CM side, P52 option 3, and I *THINK* I uploaded the same REFSMMAT. [14:33:59] ok, that sounds all good so far [14:34:12] so, the LGC in its initial state doesn't have a REFSMMAT at all [14:34:49] so during LM activation you are uplinking the first REFSMMAT directly to the REFSMMAT memory address, and not in the temporary slot. [14:35:05] that is what you are choosing when you press TYP [14:35:15] you almost always want it to say "Desired REFSMMAT" [14:35:34] just the first REFSMMAT uplink to the LGC would use the other option [14:36:04] the temporary slot is what P52 option 1 is using. [14:36:32] if you directly uplink a REFSMMAT then you usually break your alignment, which is of course not good [14:37:26] Hmm, off to the LEB to half-complete a P51 [14:38:31] P52, I mean. [14:40:58] I'm look at that PAMFD page again [14:41:36] the initial angle display is already doing the docked alignment math for you [14:41:53] so you would use the LM angles displayed there in V41 N20 [14:42:07] Which I did. [14:42:29] and then when the LM IMU has this initial alignment, you probably have to do the V40 to get rid of the NO ATT light, right? [14:42:45] and then after that you press the V42 button in PAMFD to get the fine alignment angles. [14:42:55] those should be very small at that point [14:43:59] and then when you have used the angles with V42, I usually press the button again to calculate the V42 angles again [14:44:10] at that point they should all say 0 [14:44:24] and of course all of this only works when the CSM+LM are still docked [14:48:23] Thymo, I found the reason why the LM needed to do 4 timesteps until it could do any systems timesteps! [14:48:29] it's because of the complicated LM EPS [14:48:37] all these ECAs, bus feeds etc. [14:48:45] they were not run in the right order [14:49:14] so during the first timestep the voltage didn't properly propagate, so to speak [14:49:30] Right. I noticed it took some time for the voltage to settle. [14:50:46] Grr. What REFSMMAT should I be using for the CM in lunar orbit? [14:52:14] landing site [14:52:24] with the options: Desired REFSMMAT, direct [14:52:59] CSM and LM should have the same REFSMMAT in lunar orbit. [15:02:28] looks like I fixed the initialization problem by changing the LM EPS order [15:02:36] I have DC and AC power on the very first timestep [15:03:28] Awesome [15:04:06] Then I need to look up the minimum voltage for the mission timers again. I had a custom value initially but I don't remember if that was valid or not. [15:07:39] I still need to be careful [15:07:46] I don't think it actually should work yet [15:10:03] mainly because there is a circuit breaker in the power chain between batteries and CDR/LMP Bus [15:10:12] and the circuit breaker does the timestep elsewhere [15:10:46] indy91: Yeah, that solved everything. The CSM didn't have the landing site REFSMMAT. V41 is now +30.970, +78.674, and -41.341 [15:11:09] is that a good V41? [15:12:29] V42 is probably more telling [15:12:53] s/V41/V42 [15:13:06] ok [15:13:40] you should probably do that as a V41 [15:13:49] and then check again what the V42 angles would be [15:16:54] but obviously not +30.970, +78.674, and -41.34 for V41 [15:21:02] ah, circuit breakers don't need a refresh [15:21:21] that probably means this init issue is actually solved [15:24:58] really complicated EPS [15:25:26] between the main DC buses and the batteries are 7 additional electrical devices we simulated [15:25:40] at least in the case of the descent batteries [15:25:49] ascent batteries is "only" 6 [15:26:58] battery -> ECA -> descent stage bus -> bus feed B -> Feed Tie 1 CB -> bus feed D -> bus feed A -> bus feed E -> CDR Bus [15:27:21] and that's just on of several variants how the power flows [15:27:23] ne* [15:27:46] and don't even start with cross feed, x-lunar feed... [15:29:07] Funny I come into seeing that, because I was just looking at how to add ECAS heat loads and saw alot of that lengthy connectivity [15:29:18] ECA's [15:29:48] yeah, that chain did its timesteps in the wrong order [15:30:20] so we had to do 4 systems SDK timesteps before any of the LM systems would work [15:30:31] or else the end of the chain wouldn't have a voltage [15:31:07] now we can run IMU etc. on timestep 1 after loading a scenario [15:33:14] Is the X-lunar bus even in yet? I thought it wasn't. [15:36:04] uhh, how else would we power the LM from the CSM? [15:37:49] I thought there was an issue that X-lunar wasn't properly implemented. You can't get power back if you disconnect all batteries. Or am I imagining things? [15:38:18] ah, that is correct [15:38:34] so it's probably not fully implemented yet [15:38:37] and needs work [15:39:05] great, just yesterday this still worked: http://nassp.cvs.sourceforge.net/ [15:39:18] and now I can't look at the CVS commit history anymore there [15:45:46] thewonderidiot: https://github.com/virtualagc/virtualagc/pull/1057 [15:48:44] indy91: That does provide me with some nice command. Currently pulling down the telemetryClient. [15:49:57] with a CVS client? [15:50:01] rsync [15:50:51] Shall I commit it to a new git repo? [15:53:34] Every file has ,v appended to its name. Thanks CVS. [15:54:13] yeah, please create a new git repo for it [15:55:48] LM EPS update has been pushed [15:55:58] now I can start working on moving systems to PreStep [15:56:12] Oh neat. I actually get to use shopt for once. The bash recursive ** is not enabled by default. [16:00:20] And I have a different kind of rename. Not gonna work. [16:04:49] Blah I am confused at how these radiators work [16:05:04] I see it calculates a Q and removes it but I dont know what parameters go in the config [16:07:09] example [16:07:10] ECSRADIATOR1 <0.0 1.0 0.0> 270.0 [16:07:11] 18.0 5.0 10000 [16:07:11] [16:08:14] 0.0 1.0 0.0 is the position, or rather direction [16:08:34] that's relevant for the radiative energy calculations [16:08:43] so sun shining on the radiator [16:09:33] 270 is a temperature [16:09:52] in Kelvin [16:10:15] 18 is the volume [16:10:44] gets used as "size" in the timestep [16:11:09] that is relevant for how much cooling the radiator can do [16:11:32] 5.0 is the isolation [16:11:58] but careful [16:12:07] that is used as the variable "rad" in the radiator timestep [16:12:13] there also is the variable isolation [16:12:17] that is a different one [16:12:38] isolation belongs to the thermal class. h_Radiator is derived from thermal [16:12:50] Right [16:13:01] Is it the same isolation as is found on the tanks? [16:13:02] so rad is used in the cooling equation [16:13:21] and isolation in the calculation for radiative heat from the sun [16:13:27] Ok [16:13:30] And the last number? [16:13:35] yeah, I think so. Tank is also a thermal object [16:13:36] Q? [16:13:43] so it would be the same isolation variable [16:14:02] last one is called mass [16:14:12] only gets used for the thermal object [16:14:55] in the parser, first it does this: [16:14:55] new_one->mass = mass; [16:14:59] and then [16:15:04] new_one->SetTemp(temp); [16:15:12] and in that function [16:15:13] Temp = _t; [16:15:13] energy = Temp * c * mass; [16:15:23] so it calculates an energy for the radiator [16:15:40] not sure how relevant that variable is for the radiator [16:15:55] but temp certainly is [16:16:04] it gets used in the radiator equation [16:17:51] Now how is all that stuff in the IMU section tied in [16:18:49] I see some was commented out, and probably because those values are set in the config [16:19:01] But it still keeps isolation and Area [16:21:56] And that 1/4 V is still puzzling [16:29:10] indy91: One downside with the way I pulled it with rsync is that we'll lose the CVS commits. [16:29:23] hmm [16:29:43] probably not toooo bad for the telemetry client [16:30:12] I'm not sure how it was setup on CVS but I think it lived in the same CVS repo as NASSP so the only way would be to clone that and remove everything else and commit that. [16:30:31] Copyright information and such should still be in the files though. [16:31:42] https://github.com/Thymo-/telemetryClient [16:36:24] great, thanks [16:41:13] So. Now that we have multiple repositories as a project. Should we consider making a NASSP organisation? They've done this with the VirtualAGC project and it's working really well. You can add multiple repo's to that organisation and assign permissions to people that are in the organisation. [16:44:07] Does anyone have an idea as to why new_one->Area = (1.0 / 4.0 * volume); was used as an equation? [16:44:17] It really makes no sense unless I am missing something significant [16:44:41] considering dseagrav owns the repo, I would suggest making a post about it on the forum advertising that approach [16:46:36] rcflyinghokie, I have no idea [16:47:05] Considering the IMU code says this is surface area, I wonder if this math should be changed [16:47:40] Unless it is computing it for something else [16:48:29] Because its not surface area of a sphere lol [16:48:36] we can't simply change it [16:48:49] it would change every radiator we have [16:49:00] Yeah I know, thats why i am thinking there is a reason for it [16:49:08] Just bugs me that I cant figure out the math [16:49:59] essentially the 1/4 factor is a relation between the radiative heat from the sun and the cooling effect of the radiator [16:50:33] so with one parameter in the config, you can change the overall behavior, and that relative factor stays at 1/4 [16:51:41] Oh its not simply a conversion [16:52:23] Well for now I will leave the radiator alone, However I want to make the IMU generate heat when the OPR cb is in [16:53:23] put it in the IMU SystemTimestep [16:54:05] I guess it would have the same overall effect if I leave the radiator/heater code alone and just make it give the excess heat to the glycol [16:56:59] // FIXME: IMU Enabled-Mode Heat Generation Goes Here [16:57:04] That was easy to find haha [17:01:56] Is there an Init for the IMU? [17:02:11] yes [17:02:34] hmm [17:02:36] but don't use it [17:03:14] The if statement will go in the timestep under the code to turn off the heater, correct? [17:03:32] I don't know what you want to do [17:03:58] Ok right now I am trying to make it generate heat when the opr CB is in [17:04:04] Or when it is powered [17:04:11] like you did with the GASTA [17:04:31] However I am running into a few mental snags with how I want to do this [17:04:36] hmm, this could be a bit complicated [17:04:44] Here is my "ideal" situation: [17:05:16] the CSM has: IMUHEATER [17:05:43] When in standby, the heater keeps the IMU at a constant temperature and vents any excess off to space via the radiator (I think this is how it is done now) [17:06:08] When in operation, the heater turns off when above a certain temperature and the heat is directed to the glycol instead of the radiator [17:06:47] One fundamental problem with this is temperature monitoring, what do you measure for IMU case temperature in that scenario [17:07:35] it's a thermal object, so it has a temperature [17:07:56] I guess you mean LM-IMU-Case [17:12:02] Yes [17:13:35] What i would love to have happen is the radiator can vent only x amount of heat per unit time, and if it has more heat than that to reject it puts it into the glycol if that makes sense [17:13:40] rcflyinghokie: Would sampling the IMU's state every tenth of a second and dividing by 36 (maximum anular rate is 360 degrees/sec about all axes) and 72 (in a single axis) and using that as its heat contribution to the glycol hurt too much? (It'd also allow IMU overheating.) [17:13:52] angular* [17:14:03] one question, what did you mean with "when in standby". Standby heater or standby mode? [17:14:32] When the breaker is in standby, so the heater is kicking on and off via the temperature switch and venting excess heat into space [17:15:03] is the standby heater not on in normal operation? [17:15:40] Let me check but I believe it is controlled by a temperature switch in standby or operation [17:16:05] And Cannibal^ I don't exactly follow, is that to compute the heat generated by the IMU as it does work? [17:16:31] I think that goes one step too far for now [17:17:59] Yeah constant heat load is where we need to start [17:18:37] And for the heater, its on a thermostatic switch to maintain 130F +/- 4F [17:19:37] rcflyinghokie: Yep. I'm thinking that as the next increment because servos get hotter the more they work, and there was a mention yesterday about adding more failures. [17:20:01] Yeah that can be done down the road once we have the heat paths down [17:21:00] hmm [17:21:29] And when in operation, blowers are activated to transfer heat from the case to the glycol [17:22:07] we could write a simple controller class for this in lm_ecs [17:22:11] "The blowers are turned off when temperature exceeds +139F" [17:22:17] That seems weird [17:22:31] Unless it's a typo [17:22:52] Or they arent needed at higher temperatures to get the heat to the glycol [17:23:39] Ah yeah thats the case I think, the schematic has the switch open at 139F [17:24:13] It might need a controller [17:24:31] PDF pg 96 in the LM 10 AOH V1 [17:24:38] Has a good diagram [17:29:11] I think your suggestion is good [17:29:56] a controller class that switches between radiator and glycol [17:30:48] my question is, apart from the standby heater, does the CSM IMU have the same setup? [17:30:49] Now the question with that is what do you use to measure temperature of the IMU case [17:30:58] Let me look [17:31:06] imucase->Temp [17:32:14] So it still measures the case temp, but excess heat beyond the radiators limits goes to glycol as the heat load? [17:32:26] And for the CSM, the IMU doesnt generate heat [17:32:30] Just has a boiler as a heater [17:33:10] Yeah just a boiler [17:33:13] I meant the real CSM [17:33:17] Oh haha [17:33:34] It might but I will look [17:34:03] hmm [17:34:49] IMUHEATER in our CSM is basically just the heat load, right? [17:35:26] Yeah [17:35:46] Also its the heater to keep the temp up [17:35:53] right [17:36:08] so what is wrong with that setup for us? [17:36:25] for the LM* [17:37:14] ah, it's all confusing [17:37:41] The real CSM IMU is identical [17:37:53] except standby heater I guess [17:38:14] whoo needs that anyway, the CSM IMU survived Apollo 13 [17:38:25] That it did [17:38:34] I wonder if it was at operating temperature at EI [17:39:19] the AGC would complain otherwise [17:40:26] Our CM takes the IMU heat and places it directly into the radiator/glycol [17:40:40] yeah [17:41:11] Well into the glycol, which then rejects to a radiator via H/X [17:42:23] But I dont think it simulates operating heat, just a constant heat [17:44:09] I don't really know what the best way forward is [17:44:31] I'd prefer we start with ECS fine tuning soon and not get lost in details [17:45:14] I guess for now I can but my boilers back on for heat [17:45:19] *put [17:45:25] That way everything can be worked out [17:45:37] But that presents always on or always off [17:45:54] The heat loads are necessary to fine tune for temperature controlling [17:46:33] Thats why, as much as it sucks, I think adding at least some system heat is necessary for fine tuning rather than the boilers [17:48:36] Would a simple controller work for now, in standby leave it as is, and in operation add a heat load to the glycol? [17:48:51] Nothing fancy just a simple switchover [17:50:12] I think we have encountered a weakness in the simple heat load implementation [17:50:32] I have assumed the heat always comes out of nothing [17:50:53] not directly connected to anything, just closely related to e.g. the circuit breaker [17:51:18] but in the case of the IMU we have a device that would do the heat generation [17:51:20] the IMU case [17:51:38] The IMU case is a radiator though [17:52:14] yes, but that is basically what we have as IMU temperature, right? [17:52:32] the temperature of that radiator [17:52:40] morning! [17:52:57] hey [17:54:37] I think so [17:54:44] I havent experimented much with it [17:55:00] shouldn't we actually put the heat into that radiator? [17:55:13] Yes [17:55:37] Thats why I was saying any excess heat the radiator cannot eliminate on its own goes to glycol [17:55:58] But you are saying instead of a heatload, use that radiators heat [17:56:14] but what is this excess heat [17:56:20] relative to what? [17:57:23] It could be conditional [17:57:45] So if the IMU is in standby, the boiler keeps the radiator at a certain temperature [17:58:03] It radiates heat and is filled back up by the boiler so to speak [17:59:01] In operation, the heater (or at least power consumption) is turned off, the heat is added to the radiator at a higher rate, and the glycol via a heat exchanger can keep it regulated based on the temperature parameters [17:59:13] Would that work in principle? [17:59:58] I don't know much about our heat exchangers [18:02:07] It is simply a Q pump if that makes sense [18:02:15] And it can be set to temperature control [18:02:18] hmm [18:02:21] that is interesting [18:02:34] a lot of this could be done in the config [18:02:44] Yeah you got me thinking about just that [18:03:04] Perhaps using a radiator as the device that adds heat from the system to the glycol? [18:03:32] Just like the IMU case in this, well, case [18:04:10] heat loads can be connected to any thermal system [18:04:22] so the IMUHEAT would go to the radiator instead of directly the glycol [18:04:27] Right [18:04:44] and then a heat exchange between the IMU case and the glycol [18:04:47] Yes [18:05:08] Question is do we want this method for all the heat sinks attached to glycol [18:05:16] GASTA for example is not done this way [18:06:50] yeah, but the GASTA doesn't have a standby heater [18:07:05] we probably need to do this for systems with an extra heater [18:07:11] but not for the others [18:07:57] Yeah true [18:08:07] with this setup we don't even need to disable the IMU standby heater. which would be wrong anyway [18:08:23] No we dont, it should just be temperature controlled [18:08:36] Unless, of course, the IMU STBY is pulled [18:08:40] yes [18:08:43] Or not powered [18:08:47] but that's how it already works [18:08:55] but we need the equivalent of the blowers [18:09:05] We need to remove the code that turns the heater off when in operation [18:09:15] oh, I didn't know we had that [18:09:23] The blowers can simply be the heat exchanger I guess [18:09:43] if(IMU_OPR_CB.Voltage() > 0){ [18:09:43] // IMU is operating. [18:09:44] if(imuheater->h_pump != 0){ imuheater->SetPumpOff(); } // Disable standby heater if enabled [18:10:03] haha [18:10:13] basically you can move the heat exchanger code in there [18:10:27] instead of enabling or disabling the standby heater [18:10:53] I need to double check the numbers on the boiler and radiator temps [18:11:11] would work exactly the same way, PumpOff() and PumpAuto() [18:11:25] just the other way around than the IMU heater currently [18:11:50] If you arent busy and want to start that, I will get the config ready [18:20:23] so, another few interesting Saturn things popped up today [18:21:00] # IMU Heater [18:21:01] LM-IMU-Heater 1 DC_DUMMY 109.0 109.0 TEMP 325.372 329.817 HYDRAULIC:LM-IMU-Case [18:21:08] Changed the power to 109W [18:21:16] IMUBLOWER 1 1.0 PRIMGLYCOLLOOP1 LM-IMU-Case 327.594 329.817 [18:21:20] And there is your blower [18:21:41] What did you find, Mike [18:21:50] https://www.ebay.com/itm/292395573810?ul_noapp=true [18:21:57] that looks pretty interesting [18:22:03] https://www.ebay.com/itm/292395594486?ul_noapp=true [18:22:13] and that is full of schematics for the terminal countdown sequencer [18:22:18] but most interesting is this one: [18:22:24] https://www.ebay.com/itm/292395602149?ul_noapp=true [18:22:35] just a big old document about the development of the LVDC software [18:22:45] applicable documents, test procedures, etc. [18:28:11] Wonder if any actually have the program itself [18:29:05] possibly [18:30:29] also indy91, Don marked P66 in that graph as being when the utilization drops to like 50%, so either he marked the graph wrong or P66 is taking way too much time for us [18:35:13] PR'd the config changes [18:37:51] terminal countdown sequencer is very interesting to me [18:42:15] the LVDC manual is already sold [18:42:19] I wonder who bought that... [18:42:25] huh [18:42:27] probably some guy [18:43:13] about the TCS, those photos on ebay already help me a bit [18:43:36] because I didn't quite know how it talked to the RCA 110A [18:44:13] haha, nice [18:45:30] I believe the GRR alert at T-22 seconds originates in the TCS [18:45:56] that basically alows the RCA-110A to send the GRR signal [18:53:09] rcflyinghokie, how much heat should the IMU heat load generate in operational mode? [19:07:58] I can give a best guess based on the breaker [19:08:20] 78.6 according to the sys handbook [19:08:53] I'll use that then [19:10:17] uhh [19:10:26] and how much power should an IMU draw? [19:10:49] because we use 325.0 watts [19:12:03] The breaker has 200W of power under load [19:12:46] I wonder if these 325 watts are the cause of our batteries and fuel cells running out of power too soon [19:13:38] if (Caged) [19:13:39] DCPower.DrawPower(61.7); [19:13:39] else [19:13:40] DCPower.DrawPower(325.0); [19:13:47] Wow [19:13:51] should the same amount of heat be generated for both cases? [19:14:14] I would think no, but I dont have any data on the caged situation [19:14:19] hmm [19:15:17] I'll just use the same proportional factor [19:15:24] that would be 14.9 [19:15:43] Well when caged the servos don't move. [19:15:52] Cannibal^: Any insight? [19:23:30] rcflyinghokie, update pushed [19:23:39] that should be an ok solution for now [19:24:03] I will see if I can dig up more on the caged situation, I never even thought about it [19:26:25] the heat should probably be enough so that the temperature never goes below 130° [19:26:45] Right [19:26:46] or else the standby heaters would kick in again [19:26:56] or 126° or whatever [19:27:02] you probably have to test if that is actually the case [19:27:06] And now you have a temperature source to set off the LGC TEMP light [19:27:09] I will [19:27:39] yeah, you can look at the radiator temperature in a debug string [19:28:14] oh right, I can add that [19:28:28] so you don't need a debug string, just a DSKY :D [19:28:56] main problem is still difference between CSM and LM [19:29:53] the IMU temperature sensor is powered by the standby circuit breaker [19:30:08] I'll have to look how that works in the CSM [19:31:34] I still will throw in a debug string to watch the IMU temps [19:31:53] We should be able to do the same now with the ASA [19:33:03] oh interesting [19:33:10] the CSM IMU also gets a standby voltage [19:33:22] from the two heater CBs [19:33:48] so from that point on the IMUs are identical [19:34:37] The standby voltage powers the heater? [19:34:46] Or its own internal standby voltage [19:35:20] the IMU standby CB in the LM and the IMU Heater CBs in the CSM are doing the same thing [19:35:26] internally they generate the standby voltage [19:36:14] so the IMUs are identical [19:36:24] the only differences are external [19:37:03] so the CSM IMU has a standby heater as well [19:38:29] well, it's a few heaters actually [19:38:47] those heaters would be on during the night for Apollo 7 and 9 for example [19:38:53] when the IMU is powered down [19:39:32] but they probably don't do much during a nominal mission. [19:39:50] a lunar mission I mean, where the IMU is on the whole time [19:40:14] Gotcha [19:43:09] The LM IMU has a few heaters as well [19:43:47] yeah, the IMUs will be basically identical [19:44:07] if I pull the IMU heater CBs in the CSM the IMU looses power [19:44:20] Is it supposed to? [19:44:28] well that's how our code works, but I doubt it [19:45:33] those should just be the standby heaters [19:47:09] those CBs should never be opened though, the checklists and AOH are very insistent on that [19:47:30] yeah, LM AOH says the same [19:47:37] "IMU accuracy degraded" [19:48:17] Yeah in the LM its just the heaters from what I can see [19:48:21] I guess it can still happen in normal operation that the temperature drops [19:48:54] the CBs in CSM and LM are doing the same thing [19:49:06] it's just two in the CSM and one in the LM [19:49:13] but they both should never be opened [19:49:28] not during normal operation at least [19:49:59] For the LM they control all the thermostats in the IMU as well [19:50:13] And the blower [19:50:53] PIPA heaters IRIG heaters Stable Member heaters [19:51:06] Yeah that is a gamble turning that off for sure [19:51:18] yep, they control all those things in the CSM as well [19:51:42] wait, blower? [19:52:14] blowers are off in standby [19:55:04] Yes they are [19:55:26] But it looks like they get their power from the standby breaker [19:56:16] So pulling standby and leaving the IMU in operate means you dont get the blowers [20:02:44] I don't see that [20:05:03] blower power comes from the IMU PSA [20:05:11] 28 VAC 800 Hz [20:05:22] powered by the IMU Operate CB [20:06:25] Oh you are right [20:06:35] The thermostats are on the STBY breaker [20:07:03] yep [20:07:36] same in the CSM [20:08:58] I'll rework the IMU a bit, so that it can be better used with this new heater stuff in both CSM and LM [20:10:57] for example, I would prefer to have this power merger outside of the IMU [20:11:10] power merger for the MnA and MnB heater CBs [20:14:36] Cool [20:17:32] and lacking a simulated IMU case in the CSM I'll probably use a static temperature to determine if the AGC should get the input bit or not [20:18:21] Yeah at least for the time being [20:18:32] I am going to run some debug tests on the IMU in the LM [20:44:03] Interesting the IMU starts at 387 in my ECS scn [20:45:15] Hits 387.2 or so and goes back up [20:45:36] Then hits 387.4 ir so and back down [20:51:47] hmm [20:52:10] does yaAGC need to do anything special for the TEMP light that it isn't already doing? [20:53:36] Honestly I havent a clue [20:54:12] TEMP is one of the few lights that works in standby -- I think the input is effectively OR'd together (under standby power) with software output bit for the light [20:54:26] so if software is saying it should be lit, it will be, even if the input bit is not set [20:54:44] but the light should come on even if the computer isn't paying attention to it or is in standby [20:54:57] ...or something like that [20:56:19] channel 11 bit 4 is what I am seeing in the AOH for LM 10 [20:58:04] It's almost time for me to call it a night, but ideas, Thymo: They may not be moving at a visible rate, but even the best servos hunt a bit. Better accuracy means they hunt less, so caged current draw (and thus, heat) could very well be that low. As to the "do not pull the standby breaker", the reason (It's in E-2014, "Temperature Control of the Apollo Block II Inertial Measurement Unit" and I [20:58:05] think Ron Burkey has a copy) I gleaned from the abstract was mostly becase the PIPAs are so much more temperature sensitive than everything else. (They necessitated a .25F operating temperature window for optimal performance. Hence the ISS temperature warning light.) [20:58:07] We looked at that a while back Mike. Something in the sense of that the IMU could manually turn on the light as well as the AGC under software control. [20:59:34] thewonderidiot, no, I don't think yaAGC needs to do much [20:59:35] I'm not sure but ND-1021042 / ND-1021043 likely have good descriptions of this stuff too [20:59:54] are you already handling the ORing for your DSKY? [21:00:11] I know that the IMU is very accurate. Once accounted for drift they practically didn't need to realign anymore. [21:00:38] indy91: thewonderidiot: We can simulate the IMU control by lighting it in NASSP code. AFAIK we don't OR it with the AGC but that's an easy fix. [21:01:04] just the input bit part is all the ISS Temperature Alarm Module in the IMU [21:01:10] that's just our job [21:01:42] right, you need to supply the input bit, but if the TEMP light is connected directly to the output bit then it's not fully working [21:03:31] indy91: rcflyinghokie: https://archive.org/stream/acelectroniclmma00acel#page/n137/mode/2up [21:03:37] if you haven't already looked at this, it might be useful [21:04:14] oh yeah, that's a more detailed description than the AOH [21:04:36] Oh nice [21:04:38] I havent seen it [21:06:21] I cannot seem to figure out the IMU temp [21:06:22] thewonderidiot, I don't quite understand the problem yet [21:06:34] is the input bit routed all the way through the AGC to the output bit? [21:06:48] what goes to the DSKY is an OR of the input bit and the output bit [21:06:54] Still doing the same thing, drops to 387.2 or so then climbs back up then slowly back down and repeats the cycle [21:06:54] the TEMP light comes on when either is set [21:06:56] ah [21:08:17] So in the DSKY timestep we simply need to check for (ThatInputBit || ThatOutputBit) [21:08:19] I'm trying to find that in the Systems Handbook [21:08:32] and then enable the TEMP light accordingly [21:08:35] or I can supply it through channel 163, like I do for all of the other special lights [21:08:51] I'd need to do that for the standalone to operate correctly anyways [21:09:43] where is it ORed together? [21:09:45] it happens inside the AGC, so the systems handbook may or may not show it [21:09:50] I can show you the NOR gates that do it [21:09:51] lol [21:09:53] ah, so in the AGC [21:09:56] yep [21:10:06] well, I am looking at this output interface again [21:10:40] and that's probably what we should get [21:10:50] so channel 163 might be a good solution [21:11:32] thewonderidiot: Does that output bit go anywhere besides the OR gate? [21:11:33] I'll comment it out in the channel 11 processing [21:11:37] yep [21:11:43] like I did with the key release and operator error light [21:11:59] and process it in channel 163 [21:12:06] for us this solution would be very easy [21:12:23] and if only one signal is coming out of the AGC and going to the DSKY anyway [21:12:42] uhhh, one sec [21:14:32] no, it doesn't go anywhere else [21:14:43] it is combined with the input bit before going out to the DSKY, and that is it [21:14:58] sounds like a job for yaAGC [21:15:01] that is a quick fix, I'll do it tonight [21:15:06] sure [21:15:47] and I'll implement the IMU temperature alarm module [21:21:40] Whoever ends up integrating the yaAGC change into NASSP should try to use --author Mike Stewart when committing it. That way the author information is preserved. [21:22:09] ok [21:22:29] I'll ask you about it again, when I am doing it :D [21:22:34] Then it will show up as "thewonderidiot commit with X". Just like you had cherry-picked a commit. [21:22:36] Okay :) [21:22:41] would that go in the commit message? [21:22:55] it would make it look like I committed it [21:23:00] or in the commit command [21:23:22] No as an option to the commit. e.g. [21:23:22] git commit --author Mike Stewart -m "Some message" [21:23:32] ah, I see [21:23:38] Assuming that I recall the email address correctly of course. :P [21:23:52] it looks like you're right -- I should probably change that [21:23:53] I usually do a commit with Git GUI, but I can do it that way [21:23:56] I rarely use that address anymore [21:24:29] oh whoops [21:24:58] as expected, we set the IMU temp input bit when the Virtual AGC is first initialized [21:25:03] and never reset it anywhere [21:25:06] This is a good example how it will look: https://github.com/dseagrav/NASSP/pull/150/commits/1188b5880ff6480adb621501ff47d98dd7121f0e [21:25:48] There might be one thing that will cause issues. [21:25:50] "and also break standby" [21:25:54] should have been in that commit message [21:25:55] :P [21:26:03] hehe [21:26:35] thewonderidiot: That code will only run when yaAGC is timestepped right? The point is that the TEMP light comes on even though the AGC is off (if I'm right). [21:26:36] ah, I was just thinking about that [21:26:50] When the AGC is off its timestep doesn't get run. [21:26:51] I knew something was off with that commit [21:26:52] yep [21:27:03] well, we should think about that too [21:27:15] it just has to be handled like the standby light, no? [21:27:24] yeah, pretty much [21:27:43] Thymo: the light can't come on if the AGC is off [21:27:55] Oh. That simplifies things. [21:28:00] ....alternatively it might come on whenever the AGC is not on [21:28:04] I forget the polarity there [21:28:16] I'll confirm with the DSKY schematics [21:28:37] I suppose I should add the TEMP light to the AGC restart code then. [21:29:03] ? [21:29:28] indy91 the breakers seem to have no effect on the blowers [21:30:16] thewonderidiot: The part of the timestep that runs when there is no power. Pulling the breaker or loss of bus power. [21:30:44] That's not in yaAGC but in {csm,lem}computer [21:31:59] gotcha [21:32:57] And as a side note I am wondering if it is not liking removing Q from a radiator [21:33:28] it doesn't really have to be in the restart code [21:33:36] the IMU is reponsible for the input bit [21:34:29] indy91: rcflyinghokie: Either of you played with the IMU wiring initialization in satsystems? [21:34:36] yes [21:34:38] Nope [21:34:41] Got a merge conflict on imu.WireHeaterToBuses [21:34:52] I added the heatload [21:35:00] On my CM_EPS_fixes branch which was even a couple of days ago. [21:35:01] should be NULL for the CSM [21:35:09] You added the NULL argument> [21:35:09] > [21:35:10] ? [21:35:13] I actually am changing that again [21:35:19] Crap. I keep doing that. [21:35:32] yeah, we don't simulate heat loads in the CSM yet [21:35:34] we do in the LM [21:35:43] Did you commit that to Orbiter2016? [21:35:45] yes [21:35:56] I changed the WireHeaterToBuses function [21:36:03] among other things in the IMU [21:36:03] Hmm. Weird. I shouldn't be getting a mergeconflict there. [21:36:13] rcflyinghokie, ok, now to the blower [21:36:47] I want to put all of this in IMU code anyway, not in lemsystems [21:36:51] It stays on regardless of breaker position [21:37:01] oh, I am dumb [21:37:06] if(imublower->h_pump != 1){ imuheater->SetPumpAuto(); } [21:37:15] should be [21:37:20] if(imublower->h_pump != 1){ imublower->SetPumpAuto(); } [21:37:34] will be fixed asap [21:39:01] did you get my messages with the blower issue? [21:39:13] will be fixed asap [21:39:17] yep [21:39:19] Yeah [21:41:10] I dont know if that explains my constant temp of 387 [21:41:17] My glycol is clearly taking heat [21:41:48] could be GASTA [21:41:54] True [21:42:08] Curious. I always thought the dsky had LightLamp() and ClearLamp() functions for every light. [21:42:21] Turns out only standby and restart have that. [21:42:30] The rest is all SetLight(val); [21:42:51] Wonder why there is a difference there. [21:43:06] I bet it's my fault [21:43:30] it's not actually [21:43:40] that has been there since before me [21:44:04] Nope. Blame Tschachim. [21:44:15] He added those in 2005. [21:44:18] always a good one to blame [21:44:28] he never fights back [21:44:38] The rest was Mark (movieman) and you that added the Set functions. [21:45:03] Looks like Tschachim added those earlier though. [21:46:53] It's structured so weird though. You have [21:46:53] Light() functions [21:46:54] \n [21:46:54] Set() functions [21:46:55] \n [21:46:55] Clear() functions [21:47:36] The joys of 15 year old projects. ¯\_(ツ)_/¯ [21:48:16] Assuming NASSP started in 2003. [21:50:26] sounds about right [21:51:03] 15 years. Sounds like it's time for a party when NASSP 8 is released. [21:51:37] So I know you have the blower code to fix but is this: imuheater->WireTo(&IMU_SBY_CB); [21:51:38] imuheater->Enable(); [21:51:39] imuheater->SetPumpAuto(); [21:51:39] man that is a long time [21:52:03] Enough to have the heaters on auto when the breaker is closed and off when opened? [21:53:52] I'll have to research what Enable does [21:53:58] but otherwise, it should be all good [21:54:15] I'll move that into IMU code as well soon [21:54:48] Ok [21:55:04] I am trying to figure out how the CSM uses those radiators and heat exchangers [21:55:18] Because they set the pump to 0 and both temperatures to 0 in the config [21:55:36] And the IMUHEATER is set to -1 [21:56:09] thewonderidiot: Made the changes. Just need to know whether I should put in a true or false for the light. :) [21:56:36] yeah, I'll look at that and all the other nonlatching lights [21:58:09] Yeah, let me know when you find it. I'll probably be asleep by then. [21:58:29] definitely, it won't be for another 4 hours at least [21:58:34] is still at work [21:58:46] Ehh, 4 hours is cutting it close. [21:58:48] .t [21:58:51] 3am [21:59:03] I don't /try/ to aim for that. [22:02:20] indy91: There's an unused function definition sitting in dsky.h since 2005. Suppose that can be trashed? [22:03:01] maybe in 2031 [22:03:07] nah, can be removed [22:03:38] Haha. Kind of historical though. It has survived all the way since Initial Commit. [22:05:13] And to be fair. Someone changed all the light code to separate light and clear functions at some point. [22:06:12] Everything was changed to SetX() except standby and restart. [22:07:35] Yep. Mark's fault, all the way back in 2005. [22:09:51] hmm [22:10:03] when I load a scenario then the IMU temperature is super high [22:10:39] Yeah [22:10:42] 387 [22:11:25] which is 238°F [22:11:37] 100° too much [22:12:38] maybe the radiator parameters need adjustment? [22:13:00] isolation or so [22:13:03] well [22:13:10] that wouldn't be in the config [22:13:34] temperature is dropping in my scenario at least [22:13:49] and I have a TEMP light [22:14:03] Mine only dropped to 387.2 or so [22:14:26] I am wondering if the radiator is conflicting with the heat exchanger somehow [22:14:57] Looking at the code, the way i have it should work, removing heat from the radiator and placing it into glycol [22:15:17] I just dont know radiators well enough to see if it in itself is the issue [22:16:37] yeah, it doesn't drop all that far [22:18:18] at 10x the temperature is going crazy [22:18:30] but stabilizes at the previous value when you use 1x again [22:18:52] I'll check how much influence the sun has [22:19:30] 387 just seems like an awfully specific number to arrive at [22:19:48] Considering it doesnt stray far from that integer [22:21:28] haha, when going out of the sun it instantly dropped to -350°F [22:21:45] so something is quite off [22:21:46] oh dear [22:22:39] apparently the heater can't compete [22:23:12] hmm [22:23:15] it's not even on [22:26:42] So a radiator issue? [22:27:07] the radiator needs adjusted parameters [22:27:11] but the boiler should be on [22:27:17] it's not though [22:28:11] Yeah I was wondering about that in the code [22:28:29] imuheater->SetPumpAuto(); [22:28:35] that should take care of it, no? [22:28:48] Well I dont know the Auto command [22:28:59] And what it corrosponds to in the config [22:29:24] nothing in the config [22:29:29] What about the 1 [22:29:42] 1 being on temp control, 0 being off and -1 being always on [22:30:02] void SetPumpOn() {h_pump = -1; }; [22:30:03] void SetPumpOff() {h_pump = 0; }; [22:30:03] void SetPumpAuto() {h_pump = 1; }; [22:30:15] That should override what it is set to in the config though [22:30:40] yes [22:30:52] Ok [22:30:54] the config does choose the initial state [22:31:11] a 1 would make it pumping and also enabled auto mode [22:31:51] Which is what the initial state of the heater should be, but not the blower [22:32:02] Blower should be 0 to start [22:32:15] yes [22:33:18] As far as I can see, the line to calculate Q could hold the answer to this behavior [22:33:23] double Q = rad * size * 5.67e-8 * dt * pow(Temp - 3.0, 4); [22:34:01] That last part is confusing me [22:35:31] -3 is weird [22:36:04] I'm debugging it, on the first timestep h_pump is 0 again. But after the init it was 1 [22:38:22] there really shouldn't be anything setting it to 0 [22:38:51] haha [22:38:53] except [22:39:01] the load function [22:39:18] and it's indeed off in the old scenario [22:39:23] Haha [22:39:35] hmmm [22:39:44] should load overwrite init? [22:39:48] ah [22:39:49] yes [22:39:52] it should [22:39:57] I would think so [22:40:04] it will also have the wrong temperature range there [22:40:15] So its the scenario? [22:40:36] I keep forgetting the radiator was in the config earlier [22:40:55] yeah, it's the scenario [22:41:14] one of the few things that already was there [22:41:43] in any case, the isolation has to be changed [22:42:02] a 400°F drop at the instant the sun goes away is not so good for IMU accuracy [22:42:39] Haha nopw [22:42:40] nope [22:43:09] I will mess with that tomorrow if you dont tonight, I need to grab some dinner [22:43:51] yeah, I'll finish the new IMU stuff tomorrow. Including the fix for the blowers [22:43:53] good night [01:55:02] Well I suppose I made it after all... [01:55:05] Goodnight! [11:17:09] hi [11:17:51] i know you guys are still working on the lem but do you have any idea about what the scenarios for apollo 11 will be like [11:20:59] hey [11:21:20] the Apollo 11 scenarios will probably be spread all over the mission [11:21:56] T-60 seconds, before TLI, before MCC-1, before LOI-1, before LM activation, before LM undocking, before DOI, before PDI... [11:22:14] sounds good [11:22:51] and will there be evas in v8 [11:22:59] probably not [11:23:07] you will be able to open the hatch and all [11:23:20] we have some really old EVA code, it depends on how useful it still is [11:23:29] okay [11:23:37] if that old EVA code is still usable, then we will be able to have EVA on NASSP 8 [11:24:37] just wondering how far you guys are into the lem systems [11:24:49] pretty far actually [11:25:08] still mostly missing is the caution and warning system [11:25:19] after the lem what will be next? [11:25:32] the most recent addition was the ECS, that still needs to be tweaked [11:25:54] when we have the LEM mostly done then we can concentrate on better supporting the Apollo 9-11 missions [11:26:03] those will be the main missions for the NASSP 8 release [11:26:17] NASSP 9 will probably be support for Apollo 12-14 and better EVA [11:26:37] so no major development on any spacecraft necessary for NASSP 9 [11:27:03] but I am sure there will be constant improvements for CSM and LM [11:27:43] will there ever be the ability to control floodlights in the csm and lem [11:27:55] yeah, I hope so [11:28:07] that was actually a topic I planned to look into soon [11:28:22] lighting in general [11:28:56] and I guess the long term development goals are: lunar rover, Skylab, 3D cockpit [11:29:02] so no shortage of work to do [11:29:35] and how long does it take to work in mission control updates for each mission? [11:30:19] once I really get into that topic again maybe a month for all Apollo 9-11 [11:30:35] okay [11:30:49] and that will certainly happen in the next few months [11:31:12] just need to get the LM in a better state, so I can start flying Apollo 9 again [11:31:16] would it happen before july do you think [11:31:25] yes [11:31:44] yeah for the anniversary of apollo 11 [11:31:56] well the big anniversary is next year [11:32:02] yes [11:32:15] and apollo 8 is coming up this year [11:32:21] yep [11:32:25] and in a few days the 50th anniversary of Apollo 5, the unmanned LM test flight is happening [11:32:53] I really would like to support that mission properly, we have the LGC software for it [11:33:11] we just can't launch a powered up LM on a Saturn IB right now [11:33:57] and i read that there are some mcc updates for apollo 9 [11:34:12] yeah, I started working on that a while ago [11:34:22] only the first few hours of the missions so far are supported [11:34:41] and a lot has been changed with the S-IVB and LM since then, so it could all be broken [11:34:51] Apollo 9 is not a good mission to fly right now [11:34:58] needs a bunch of fixes [11:35:37] one of the fun things I can add soon is the S-IVB doing a TLI-like maneuver on its own [11:35:47] the Apollo 9 astronauts were able to watch that from a safe distance [11:35:58] and will there be mmore mission audio for any of the missions [11:36:43] maybe at some point. Nothing is planned for that really. [11:36:58] we have a lot of Apollo 11 audio files that are currently not used [11:37:05] yeah i just put the audio on in the background [11:37:29] they need to be reimplemented, they were played at some point, but that got broken due to some internal changes [11:38:55] and is it possible yet to fly a whole mission in v8 like apollo 11? [11:39:47] yeah I think so, Apollo 11 should be possible [11:40:21] but as I said, we have been doing many changes, so there is a potential for bugs throughout [11:40:40] that's why we call it an alpha version of NASSP :D [11:40:53] yes [11:41:11] but we are probably not very far from reaching the beta stage, most major features for NASSP 8 have been implemented [11:41:35] I guess after the mission control updates have been added, then we can call it NASSP 8.0 Beta [11:41:49] yeah and i flew the whole apollo 8 mission in v7 was a bit of a challenge [11:42:57] operating the CSM and LM is always a challenge [11:44:34] and a question about p23 cis lunar navigation when it says to superimpose on the star does that mean to actually maneuver the spacecraft to align it in the sextant? [11:45:20] you have to activate the split line of sight for that [11:45:40] you can do that by pressing V on the keyboard [11:45:44] yes [11:45:58] and then you have to superimpose the star with the horizon [11:46:10] I really hate doing the P23, it hurts by eyes [11:46:20] but we have no better option in Orbiter [11:46:23] my* [11:46:24] yeah especially 5 times in a row [11:46:27] yeah [11:46:50] the P23 were really only done to demonstrate that the CSM can navigate on its own [11:47:14] so I like skipping them and rely on uplinked state vectors :D [11:48:03] and in apollo 11 does the sivb actually do the slingshot maneuver [11:48:28] most of it, yeah [11:48:44] the slingshot maneuver consists of two parts, propulsive dumping of the liquid oxygen [11:48:51] and firing the RCS thrusters on the S-IVB [11:49:06] we don't fire the thrusters yet at the right time for Apollo 11 [11:49:08] that will be added [11:49:22] so I am not quite sure where the S-IVB will end up right now [11:49:29] might impact the Moon [11:49:36] or jut barely fly past it [11:50:43] and for the tli burn for 11 does it initially place it on a free return [11:51:00] yes [11:51:18] or in combination with the evasive maneuver, not sure [11:56:39] and for the p30 dv i was just wondering how to input the dv its 19.7 for the evasive maneuver like where to place the numbers [11:57:13] well, you start P30 and first have to input the TIG and then the DV vector [11:57:53] would it be +00197 [11:58:07] no, the 19.7 ft/s is the total Delta V of the burn [11:58:27] but in P30 you need to input it as the X, Y and Z components of the DV vector [11:58:56] oh [11:59:05] which would be [11:59:08] 5.1 [11:59:11] +5.1, +0.0, +19.0 [11:59:15] 0.0 [11:59:19] yes [11:59:20] yep [11:59:27] and what was the TIG again? [11:59:59] 4:39:44.9 [12:00:21] ok [12:00:32] so, to go through the whole P30 [12:00:34] https://history.nasa.gov/afj/ap15fj/csmgc/4-01.gif [12:00:39] V37E 30E [12:00:41] then the TIG [12:00:43] V25E [12:00:59] +00004E +00039E +04490E [12:01:01] PRO [12:01:05] then the DV vector [12:01:06] V25E [12:01:22] +00051E +00000E +000190E [12:01:25] PRO [12:01:38] and then just PRO through the rest of P30 [12:01:41] Morning! [12:01:45] Eh.. Afternoon [12:01:53] hey Thymo [12:02:52] and for the pitch roll and yaw angles would i just point the spacecraft to the earth 75 degrees and then bring up the v16 n20 and then input those numbers into the p40 sps thrusting? [12:11:23] hmm [12:11:52] no, the evasive maneuver is using P40 [12:12:26] so by choosing the right DV vector (+5.1, 0, +19.0) you already chose the right attitude [12:12:49] Just read the backlog. For the time being we could consider using the ummu addon to handle EVA. Downside being that it won't be Apollo era spacesuits. [12:12:55] so after the P30 just start P40 as usual and maneuver to the attitude that P40 calculated [12:13:18] we have a lot of EVA code and meshes [12:13:29] it might be even better than UMMU, I don't know [12:14:27] Actually I think ummmu/ucgo is proprietary. Might be GPL incompatible. [12:14:46] okay [12:16:57] I don't know. Looks like we can but not include it in or project. I'm not a lawyer. [12:16:57] thank you for all your help [12:17:10] no problem [12:17:27] yeah, we can always simply require another addon to be installed [12:17:39] Orbiter Sound isn't any different [12:19:23] Yeah. I think we can include the header for the SDK and require people to install ummu separately. [12:19:38] I think I already have it. Pretty sure I have the DGIV and UCGO installed. [12:19:55] I did on 2010. Not sure if I did it on 2016. [12:20:54] I'll look how good our own EVA code is, then we can decide what to use [12:21:45] Sounds good [12:22:23] Different topic. Will NASSP 8 require Orbiter beta. Will it depend on any features that are not in the release version? [12:23:17] yes, Apollo 9 at least is not possible without the Orbiter Beta [12:23:20] however [12:23:36] the NASSP 8 release is a while away [12:23:51] so maybe there will be a Orbiter 2016P1 release at that point [12:23:59] we will have to see [12:25:03] What's Apollo 9 using? I have a scenario up but haven't noticed any significant issues yet. [12:25:24] I'm still running release. I'll see if I can get CVS up now that I have space on my C: drive again. [12:25:48] Apollo 9 has a docked DPS burn [12:26:15] actually, with the most recent scenarios, I don't know if the CMC can even control docked SPS burns in the Orbiter release version [12:26:31] CoG issues? [12:26:52] no, moments of inertia of docked vessels are calculated differently in the Orbiter beta [12:28:19] much more accurately [12:30:50] Ah. [12:31:12] So in the release version the stack will probably spin out of control. [12:32:01] during the docked DPS burn of Apollo 9 that will happen for sure [14:35:15] hey rcflyinghokie [14:38:17] Hey good morning [14:38:24] I think I caught your cold :( [14:39:09] get better anti virus [14:39:25] Haha [14:39:29] I did a bunch of debugging with the IMU case radiator and I think I have a pretty good grasp of what is all going on [14:39:45] Oh wonderful, please enlighten me [14:39:54] yeah, it's a long tale [14:40:20] so, first all the Q that are going in an out of the radiator [14:40:39] the GenerateHeat thing is the easiest [14:40:47] 78 watts or so, whenever the IMU is on [14:41:08] then, with our current setup, the radiator itself only seems to radiate 0.4 watts [14:41:33] heater is 109 watts, whenever it is on [14:42:26] but the biggest influence by far, without changing anything, is the thermal calculation, radiative heat [14:42:44] before I started my tests I changed the isolation factor to 0.001 I think [14:43:16] and even with a factor this low I got 300 watts in the sun and -190 watts in the shadow [14:43:42] ah, and then there is the heat exchanger [14:43:52] I got -49 watts whenever it is on [14:44:12] so, with this setup, the heater + heat is not enough to keep the temperature above 126°F [14:44:27] and equally, the heat exchanger is not strong enough to keep the IMU cooler than 134°F [14:44:51] a lot of tanks in the CSM use 0.0000001 as the isolation factor [14:44:57] and I would recommend that for us as well [14:45:23] with that the radiative heat isn't so relevant [14:45:27] oh, and one more thing about that [14:45:44] when in darkness, it basically does the same calculation as the radiator [14:45:52] so that is done twice [14:46:08] float q = (float) 5.67e-8;//Stefan-Boltzmann [14:46:14] Q3 = (float) (q * pow(runner->Temp - 3.0, 4)); [14:46:19] and compare that to [14:46:32] double Q = rad * size * 5.67e-8 * dt * pow(Temp - 3.0, 4); [14:47:14] That first equation q is just the Boltzmann constant? [14:48:02] yeah, I think so [14:48:20] that calculation is not complete [14:48:25] Q -= Q3; [14:48:32] runner->thermic(Q * runner->Area * dt * runner->isolation); [14:48:48] so in the end you basically have the same equation as in the radiator [14:49:05] The radiator equation the last part is confusing [14:49:13] pow(Temp - 3.0, 4) [14:49:22] and the radiator is a thermal system, so both of these calculations are done for a radiator. in radiator and thermal code [14:49:51] with all this knowledge I can easily bring the IMU case temperature under control [14:50:04] Great [14:50:12] isolation so small that the sun is no factor [14:50:16] or only a small one [14:50:42] Oh never mind I understand that number now [14:50:54] I increased the heat exchanger size to 2 [14:50:58] I dont know why temp - 3 is there though [14:51:05] And I was using 5 in my testing for the HX [14:51:06] I think you did it in your branch to 10 [14:51:12] Yes [14:51:16] yeah, you tried to fight the sun [14:51:17] I brought back to 5 [14:51:20] Yep [14:51:22] No avail [14:51:35] yep [14:51:42] But back to the radiator equation really quick, there is even a comment about that regarding additional cooling [14:51:44] needed the better isolation factor [14:51:53] The temp - 3 I dont get [14:52:17] maybe the comment references that this is already done in the Radiative function? [14:52:19] It should just be temp, the minus three is just artifical temperature decrease I think [14:52:27] so it would be additional cooling in the radiator timestep [14:52:51] we don't need to change that, I'm sure it has some purpose [14:52:53] The blackbody boltzmann constant is W * m^-2 * K -4 [14:53:14] watts, meters, kelvin [14:53:37] I wont mess with it just seems weird [14:53:44] yeah [14:53:58] in the Systems Handbook the temperatures used for the temp control are different than the ones you used [14:53:59] /aditional cooling from the radiator?? [14:54:16] the blower control thermostat switch closes at 131° [14:54:23] so it would start working at 131° [14:54:29] Ah i was using the LM 10 AOH when i did that [14:54:44] I can fix those to be consistant with LM 8 [14:54:46] equally, the (standby) heater opens a contact at 130° [14:54:51] so it doesn't heat beyond that [14:55:11] now, I changed all that [14:55:34] the behavior I am getting is that it stays at 131°F, and the blower cycles on and off [14:56:33] which is not great, but at least the temperature is kept under control very well [14:57:37] Maybe reduce the heat exchanger a little? [14:57:57] well, it will still cycle on and off then [14:58:15] the natural tendency is a temperature increase, from the GenerateHeat mostly [14:58:45] the radiative calculation will still add and remove a little bit of Q [14:59:03] so whenever the blower is off, the temperature will increase [14:59:11] which leads to the blower being activated [14:59:34] Is the cycling on and off really a bad thing though? [15:00:44] well, not too bad [15:00:58] it's not an electrical device, so it doesn't draw power [15:01:18] that would be annoying, because the needle for current would always go up and down a bit [15:01:57] Where did you find the temperature limits in the systems handbook? [15:02:42] PDF page 187 [15:02:53] for the LM [15:03:48] Thanks [15:04:24] I used 130-134 for the blower because thats the best data I got from the AOH [15:04:30] But that makes it easier [15:04:50] Now did you set the temp max to 131? [15:04:53] yeah, that would make the temperature cycle around 134°F instead of 131°F [15:05:01] and might trigger the temperature alarm [15:05:26] Temp min never goes into a calculation right now [15:05:28] I changed the temp max for the heater to 130° [15:05:40] For the blower I mean [15:05:44] and temp max for the IMUBLOWER as 131°F [15:05:50] Ok cool [15:05:56] so between 130° and 131° both would be off [15:06:16] Which appears to be the correct behavior [15:06:21] yeah [15:06:27] Nice sleuthing [15:08:08] what we still could do is increase the radiator size [15:08:31] The radiator size was surface area [15:08:35] or make the blower weaker, so that the temp can increase beyond [15:08:37] 131 [15:08:54] I think the radiator size was computed for the size of the IMU case [15:09:03] So I'd change the blower length [15:09:25] yes size matters for the radiator, but there is also "rad", which is its own isolation factor [15:09:42] Ah yeah [15:10:53] interesting effect with a blower size of 1.5 [15:11:02] that just barely isn't enough to keep the temperature below 131° [15:11:10] but over time the glycol heats up [15:11:19] so the heat exchange becomes lower [15:11:29] making the blower less effective [15:12:04] Yeah that section of glycol typically ranges from 40-74 degrees [15:12:42] it started at 79 watts and is now at 69 [15:12:57] Actually, 50-81 after all the heat is applied [15:13:04] and case temperature increase to 134° [15:13:07] so not a good solution [15:13:25] Hmm not reliable enough [15:13:46] guess we need to live with the cycling on and off for now [15:13:50] Yeah [15:13:54] The blower uses double Q = (source->GetTemp() - target->GetTemp()) * length * dt; [15:14:04] So its a very linear equation [15:14:07] yeah [15:14:20] I still have to test if this works in the sun [15:14:23] and then I can commit it [15:14:36] It may need more adjustment as we add more heat to that glycol section [15:14:41] yeah [15:14:53] oh, the AGC software is really lazy about the TEMP light [15:15:01] a V37E 00E clears it [15:15:05] Really?? [15:15:14] so we really need that additional wiring Mike talked about [15:15:15] Thats scary [15:15:28] that makes the light go on directly via the input bit [15:15:46] well, input bit OR output bit [15:16:24] so in the real AGC this wasn't an issue [15:16:36] and it won't be for us once Mike did the necessary changes [15:17:27] Really? Where does it do that? ENEMA? [15:17:48] no idea [15:18:26] when I do a V35 the TEMP light stays on [15:18:34] but then a V37E 00E clears it [15:18:35] What channel is the temp light on? [15:19:03] channel 11 bit 4 I think I read [15:19:03] V37 do a partial 'restart' of the AGC. V35 simply launches a job that turns the lights on. [15:20:12] STARTSB2 CAF OCT77603 # TURN OFF UPLINK ACTY, TEMP CAUTION, KR, [15:20:13] EXTEND # FLASH, OP. ERROR, LEAVE OTHERS UNCHANGED [15:20:14] WAND DSALMOUT [15:20:29] That's the first three lines of STARTSB2. [15:20:48] used in V37? [15:20:53] STARTSB2 gets called by both STARTSUB and ENEMA [15:21:06] ENEMA is called by V37 [15:21:40] STARTSUB is called by SLAP1 (called from V36) and GOPROG (called by GOJAM( [15:21:41] so that turns the light off [15:21:45] Yes [15:21:51] and the software is lazy to turn it on again [15:22:16] the output bit [15:22:37] I don't know where the TEMP light is maintained. Probably T4RUPT. [15:22:52] So it will be off until the next T4RUPT. [15:23:06] So if you do a V37 you might see it blink off and come back on again. [15:23:18] yes, it's T4RUPT [15:24:04] V69E turns in on again [15:24:53] T4RUPT monitors the IMU Temp in limits bit and calls TLIM if that's not the case. TLIM turns the light on again. [15:25:16] IMUMON in T4RUPT is called every 480ms. [15:26:23] VERB69 causes a TC TRAP. [15:26:32] Is there an ASA block diagram somewhere in the systems handbook? [15:26:41] yeah [15:26:42] Somethign to show the heaters [15:26:58] That'll cause a full restart. What do you mean by 'turns it on again'? [15:27:00] page 208 [15:27:29] well, the V37E 00E switched the light off forever [15:27:40] a V69E switches two lights on: RESTART and TEMP [15:28:15] but the light never comes back on its own after a V37E 00E [15:28:26] Hmm getting the heat right for the fast warmup and fine control could be interesting [15:28:47] Probably 2 boilers to be realistic unless we add code to change the heat watts [15:29:03] But there are 2 physical heaters [15:29:26] yeah, even for the IMU it might be better to do some control in code [15:29:32] but ASA certainly [15:30:04] well [15:30:16] choosing the right temp max might be good enough [15:30:59] Fast warmup to 116F and fine controller to 120 +- .2F [15:31:29] yep [15:31:30] Flipping on and off at a high wattage might not be "fine" enough [15:31:51] two heaters should do the job [15:31:56] A second boiler with a lower heat and temperature max and min set to 120 would work [15:32:07] boilers [15:32:15] I know what you meant :) [15:32:16] sounds promising [15:32:32] We will have to make the same radiator adjustments [15:32:35] And check the wiring [15:32:38] oh, I didn't actually have the glycol loop properly activated in my scenario [15:32:58] I should probably test a smaller IMUBLOWER size again [15:33:03] Evap water not open? [15:33:13] indy91: What happens to the light if you got to a different MM than P00? [15:33:25] nothing [15:34:44] It stays on? [15:34:51] it stays off [15:35:19] I did a V69E, so I have the light on right now [15:35:33] V37E 00E and it's off and stays off [15:37:25] indy91 when you commit your changes I will start playing witht he ASA [15:37:29] with the [15:37:33] sure [15:37:45] That way we dont conflict [15:37:46] still testing, this old scenario had a very high initial temperature [15:37:53] due to lacking isolation [15:37:56] No rush [15:38:16] I am familiarizing myself with the current ASA code anyways [15:38:48] Oh, since we are in the IMU area did you want to remove those wire to and max amp lines that are redundant? [15:39:33] yeah, I'll do that [15:39:35] IMU_SBY_CB.Init(1278, 0, 29, 29, srf[SRF_CIRCUITBRAKER], srf[SRF_BORDER_29x29], Panel11CB4SwitchRow, &CDRs28VBus, 5.0); [15:39:35] IMU_OPR_CB.Init(1342, 0, 29, 29, srf[SRF_CIRCUITBRAKER], srf[SRF_BORDER_29x29], Panel11CB4SwitchRow, &CDRs28VBus, 20.0); [15:39:46] Both are wired there already [15:39:47] ok, approaching good temperature [15:39:52] did a V69 so I had the light [15:40:21] yep, light switched off at 134°F [15:40:23] Oh is there an initial temperature for the IMU set somewhere? [15:40:32] That might be important to initialize [15:40:35] so the LGC was monitoring the input bit correctly [15:41:20] good call, yeah, you set it in the config [15:41:28] 327.0K right now [15:41:45] about 129°F [15:41:46] good enough [15:41:53] The radiator temp in the config is the initial? [15:42:03] yes [15:42:07] Ok thats already 327 [15:42:16] yes, I just said that [15:42:29] Oh haha I thought you meant current temp in your test haha [15:42:42] Sorry [15:43:02] no problem [15:43:08] it reached 131°F in my test [15:43:12] Wow the ASA temp is initially 26F [15:43:13] and started doing the cycling [15:43:25] Stayed stable with the cycling? [15:43:26] now I wait for the sun... [15:43:41] oh yes, cycles between 130.999 and 131.001 [15:44:24] Good [15:45:09] blower is at 96.2 watts [15:45:18] generated heat is 78, so that is good [15:45:34] and as you said, fine adjustments may be needed later [15:47:20] works in the sun as well [15:47:22] now cleanup [15:47:40] Great [15:49:43] So the ASA heaters should be on in standby and operate, I am not sure if that is currently the case [15:50:10] Actually even in OFF the ASA heaters run never mind [15:50:22] But again, not sure if that is the current case [15:50:48] So the gyro motors are running in standby and operate so it will generate heat in both conditions [15:51:10] indy91: Wasn't channel 30 inverted? [15:51:17] Trying to figure this out in yaAGC. [15:51:45] Thymo, uhh, sure [15:57:36] I can reproduce it. [15:58:11] thewonderidiot: Am I supposed to be able to write to input channels from within the AGC? I could set an input bit by doing V21N10 [15:58:39] V36 also sets the TEMP light. [16:01:22] I might be onto something. [16:03:40] Alright. [16:04:46] So when you do a V69 the hardware goes through GOPROG. That causes IMODES30 to be reinitialized. [16:05:10] IMUMON compares CHAN30 with IMODES30 to check for changes every 480ms . [16:05:36] If it doesn't detect changes it simply exits. If it does it will call the other routines. [16:06:28] So when V37 is called the DSKY is cleared (and in turn the TEMP light). However IMODES30 isn't touched. So IMUMON doesn't detect any changes and does nothing. [16:10:06] good thing that the input bit is directly wired to the light then [16:10:51] I checked this in Colossus249 so there is a chance it's different for newer ropes. Probably not though. [16:11:16] makes note to patch this for our own rope. [16:11:41] Hmm [16:11:59] ACTION: Fix TEMP light in IMUMON for future ropes. [16:12:02] :D [16:12:26] FIX LATER [16:12:31] Hehe [16:15:24] There would be multiple approaches to this. [16:15:24] A. Change the initialization value of IMODES30 so bit 15 is reset [16:15:25] B. Change ENEMA to wiggle IMODES30 bit 15 [16:15:25] C. Change ENEMA to check (via a subroutine) the TEMP light [16:15:26] D. Change IMUMON to forcefully check the TEMP light status and update it if necessary [16:17:05] But to apply that I first need to fork Artemis and shove all the unneeded programs out of it. [16:17:41] what would be unneeded? [16:17:52] Also, have you checked that Artemis doesn't have a fix for this? [16:18:00] Not sure how to go about that yet. Major modes are a bit more intertwined than verbs. [16:18:08] I will. [16:18:25] What would be considered unneeded? [16:18:31] Hmm, I saw a list for this. [16:19:18] For example: http://www.ibiblio.org/apollo/Documents/SL017.pdf [16:19:24] P23 was deleted from Skylark, [16:22:18] update pushed [16:22:41] yeah, Earth orbit missions certainly don't need a P23 [16:23:07] "Delete program 23 (return to earth)" [16:23:09] oops :D [16:23:21] someone got P23 confused with P37 [16:23:35] Haha I saw that. [16:23:39] P37 was also deleted. [16:23:48] http://www.ibiblio.org/apollo/Documents/SL016.pdf [16:23:56] http://www.ibiblio.org/apollo/links.html#SKYLARK_Memos_PCRs_and_PCNs [16:23:57] that would actually be useful in Earth orbit [16:24:16] "Not needed for AAP" [16:25:32] P37 is only used if the CSM is outside the lunar SOI. [16:25:41] http://www.ibiblio.org/apollo/NARA-SW/R-577-sec4-rev6-P30-P39.pdf page 53 [16:26:45] P53-54 could also be removed. We can assume the optics won't fail in NASSP. Don't need backup alignment methods. [16:27:49] You technically use P52 as a backup with failed optics. Just boresight it. Make sure the AGC knows it's at +00000 +00000 and maneuver to point them. [16:28:03] Maybe for P51 too. [16:28:22] Unless the AGC won't accept optics marks when the CDU fail bit is on. [16:30:04] yeah, P37 starts with a conic return solution [16:30:25] so inside the lunar SOI it would either iterate for a looooong time or fail the calculation [16:30:45] that's why using it in the lunar SOI is inhibited altogether [16:30:51] can't enter P37 [16:32:49] The more I dive into the AGC routines the more ambitious I get to actually start working on a replacement for Skylark (and above). [16:35:28] Eventually the state vector will need some work. It will need to work all the way out to Saturn. :D [16:37:41] .tell thewonderidiot Also maybe consider making channel 163 unwriteable for the AGC. I can turn all the lights on. :p [16:55:26] hey [16:55:30] Hey Alex [17:13:36] hey [17:29:32] morning! [17:29:45] yeah I need to go through the channels and be more restrictive [17:29:58] haha my AGC is overheating [17:31:34] probably your IMU rather [17:31:44] you got the TEMP light? [17:31:54] in the LM I hope... [17:32:07] yep [17:32:32] we already had a simulated IMU case before, but it wasn't very well isolated [17:32:41] so in old scenarios it has a high temperature [17:32:50] should go down but it will take a while [17:33:05] ok [17:34:09] and another one... [17:34:10] http://www.collectspace.com/ubb/Forum38/HTML/002135.html [17:34:45] Oh wow [17:36:05] :( [17:37:09] the coolest astronaut of them all in my opinion [17:37:36] definitely [17:40:22] My lifelong hero was always Lovell but Young was also right up there in my personal favorites [17:51:33] Ok time to look at this ASA [17:55:12] Meeting ended by Thymo, total meeting length 112003 seconds