[14:42:41] NASSP Logging has been started by indy91 [14:42:43] good afternoon [16:14:12] hey Niklas [16:16:41] I'll try to impliment VHF ranging this week. [16:20:16] ah great [16:20:27] by then I should have some good testing scenarios for you [16:23:04] then you don't need to cheat yourself a Skylab into a position where VHF ranging actually works [16:23:48] don't think I'll get in VHF range today [16:23:52] but maybe tomorrow or so [16:49:54] morning! [16:55:19] hey Mike [16:55:24] what's up? [16:56:25] launching Skylab 2 again, this time with launch targeting for the correct launchpad... [16:57:04] that always helps :D [17:04:47] you definitely can't tell us we are putting too much work in something we only potentially will get, now that you are really starting the source reconstruction :D [17:05:10] hahahaha I know, I can't help but also be excited [17:25:56] n7275, the maximum range for VHF ranging is based on some calculated signal strength, not a hard cutoff value, right? [17:26:24] because in Skylark they made a change for this [17:26:32] correct, I believe it's -120 dB [17:26:45] maximum range value it can send to the CMC is 327.67 NM [17:26:55] but they expected longer ranges [17:27:20] and the data from VHF ranging wraps around, so beyond 327.67 NM it sends actual range minus 327.67 [17:27:28] and Skylark can deal with this [17:28:08] I thought some of the earlier ropes could do the wraparound thing too? [17:28:17] hmm, maybe [17:28:25] I see a Skylark PCR [17:28:41] our VHF ranging system already sends the range value in this way [17:28:51] didn't think any other CMC could deal with it yet [17:29:40] in fact I thought I remember seeing it a little over 400 when I was testing the implimentation [17:30:20] I coulld be very wrong about that though, maybe I remember expecting to see it? [17:30:37] Skylark had a flag change associated with this [17:30:44] EXTRANGE, I think [17:33:11] oh, it would show more than that maximum range on the EMS right now in NASSP [17:33:21] but the range sent to the CMC is limited [17:33:27] not sure if that is correct behavior [17:34:51] so if in NASSP we have a sufficient signal strength to get a tiny bit above 327.67 NM, then it would show the actual range on the EMS [17:34:59] and CMC gets a tiny bit more than 0 [17:35:22] you think the EMS should wrap too? [17:35:33] maybe it's the same source of signal, have to check [17:35:45] it could very well just be a scaling thing for the CMC though [17:36:40] but in terms of "P20 can process larger ranges", I am pretty sure only Skylark can do that [17:37:26] because it of course needs extra logic to determine if the data is actual range or modulo [17:38:29] if I understand the Artemis GSOP correctly, it does a check if the calculated (not measured) range is beyond 327.67 [17:38:38] if it is, it won't process VHF range [17:45:27] hmm, Systems Handbook says, for the EMS interface [17:45:42] "Maximum unambiguous range: 327.68 NM for initial range display" [17:46:01] sounds like it wraps to me :P [17:47:28] I think I worked on that in late 2020. my memory only has a shelf-life of like 8 months [17:48:00] same [17:48:34] you probably did over 400 on the EMS at least, because that's current behavior :D [17:48:49] and I have to check if this modulo is a later addition of mine [17:49:22] but the CMC can't really have processed larger ranges [17:49:27] 327.67 [17:49:29] 32767 [17:49:32] in octal [17:49:34] 77777 [17:49:48] pretty sure that is the scaling [17:50:11] 32767 is a familiar looking power of two :) [17:50:18] minus 1 [17:50:34] yeah, minus 1 :D [17:57:50] still searching for a definitive hint that the EMS behaves like this, but I'll likely change it [17:59:11] that Systems Handbook line could still mean that it shows something useless and not actual range minus 327.67 [17:59:22] or maybe it's just my reading comprehesion :D [18:04:58] lol yeah, the statement that above 327.68 it is ambiguous, is itself ambiguous [18:06:18] I was literally just trying to making a joke about that [18:06:37] hahahaha [18:07:36] [18:27:22] I believe the EMS register in the VHF ranging equipment works the same as the one for the CMC, so it displays 0.01 for 327.68NM [18:07:42] [18:31:25] yeah, the new Skylark document explicitly says that 350NM range is 2232 (decimal) in the counter [18:07:48] [18:32:14] so 327.68NM is probably 0 [18:07:50] [18:33:36] sounds right [18:07:51] [18:33:54] that's really funky [18:07:53] us in 2018 [18:08:24] but "counter" could also be the counter for just the CMC, I need to check where I found those values again :D [18:09:24] yeah that's the Skylark User's Guide [18:09:38] and it does not explicitely say the EMS also shows it like the CMC [18:27:17] n7275, maybe with the Skylab MCC I will schedule updates at AOS of a specific ground station. on a specific rev [18:27:40] the passes can be quite short when the PAD or uplink are given [18:28:05] and it feels a bit unrealistic if the uplink pops up and you get the AOS message only afterwards :D [18:28:59] something to experiment with anyway [18:31:40] ok already potentially dangerous for a US pass, because "has signal" on rev 2 can be the beginning or end of rev 2... [18:34:02] would need to be at the actual AOS [18:38:10] I think the only logic I have for stations is not to change to the next one while uplinking [18:39:19] scheduling might benefit from some RTCC math, moreso than it does from my hacky code [18:40:37] for non-MCC missions, I still want to add a "manual station select" to one of our MFDs [18:41:11] right [18:41:32] the AOS/LOS calculations are definitely reliable [18:43:19] hmm but you are right [18:43:31] it's not just the station switching thing during uplinking [18:43:41] it does not detect AOS during uplink [18:44:03] so I'll probably not use that for now [18:44:37] I mean, when the MCC uses it the MCC would be waiting on the next thing to happen, so an active uplink would be highly unlikely [18:45:29] when the MCC would use the AOS flag* [18:47:06] our vessels and stations have no VHF functionality right now [18:47:31] other than ranging of course [18:49:04] maybe I could just check if TransmittingGroundStation is not 0? [18:49:24] but that's S-Band only I believe [18:49:36] bad for cases where they gave a PAD via VHF [18:55:05] maybe I need a separate vhf and s-band flag [19:02:21] sounds complicated [19:03:12] maybe a flag for "is any ground station in AOS" [19:03:22] so one flag for all of them, one just for uplink capability [19:04:21] that are flags useful for the mission tracking [19:04:39] I could check on the voice flag for PADs only [19:04:52] otherwise if there is a TransmittingGroundStation like right now with that flag [19:05:38] this is why they invented satellites... [19:17:44] careful what you are saying [19:18:37] https://en.wikipedia.org/wiki/ATS-6 [19:18:46] on ASTP they flew a HGA [19:19:01] and tracked this as a data-relay and tracking satellite [19:19:30] so we need to implement a system in the MCC that enables us to do that :D [19:20:10] it might not even be that bad actually [19:20:33] just something that dynamically updates lat/long etc. for the satellite [19:20:42] and then it would be treated just like a ground station [19:21:37] could make an actual satellite, and give the MCC a pointer to it's position [19:21:47] yeah, that's basically what I mean [19:22:00] actual satellite, lat/long are updated in the MCC [19:22:11] and then the MCC logic treats it like any other ground station [19:22:22] just radius is hardcoded to Earth radius right now [19:22:26] that would need to be changed [19:22:32] but it should anyway [19:22:39] to take station elevation into account [19:22:49] the satellite would just have a much higher elevation [19:24:53] and a way to have mission specific stations I guess [19:29:22] probably should add that for ARIA too [19:31:25] could be as simple as adding a feature for our mission file [19:31:33] where you can override a ground station [19:32:31] ha [19:32:41] we already have empty ground station slots for ARIA [19:32:52] so we really only need a way to set values to it [19:33:32] having them in different positions for different part of the mission is where it would get tricky [19:39:30] obviously manually flying then is the only solution [19:39:52] *them [19:40:29] clearly [19:44:18] no obviously it needs to fly around automatically, with an autopilot I have to implement [19:48:50] ahh, yes [19:49:36] the part where it works it 70x would be fun :) [19:53:16] I can't type today. I give up lol [20:04:35] only the essential projects for NASSP that we are thinking about :D [20:11:38] just did the NC2 burn, I am in VHF range now [20:12:03] want that scenario? [20:12:05] like 280 NM [20:12:16] I have scenarios with more [20:12:18] range [20:13:23] that'll work, maybe one or two closer and further away [20:14:33] closer you will have to wait until tomorrow, but further away I can give [20:16:29] haha, okay [20:17:05] docking should be interesting with no target [20:17:18] I'll tackle that when I get there :D [20:17:25] still a few maneuvers to do [20:17:41] 467 NM, maybe a bit too far, or do you want it? [20:18:17] and then I got one with 356 NM [20:18:29] all other scenarios are much further away even [20:19:12] in this Skylab 4 checklist they are supposed to try VHF ranging for the first time at 411 NM [20:22:29] I'll take whatever you have [20:23:00] ok, I'll give you those 3 then [20:23:44] are you flying this in the Orbiter2016 branch? [20:24:29] Skylab MCC [20:24:42] not sure what happens when you load these actually [20:24:48] probably nothing [20:25:04] no further MCC updates of course [20:25:29] I will test Orbiter2016 as the basis for my SkylabVHF branch [20:25:43] yeah, should work fine [20:25:51] I don't even use the fixed Artemis version for the rendezvous [20:25:57] just doing the ground solutions for maneuvers, for testing [20:26:08] so this is completely Orbiter2016 branch, except the MCC updates [20:26:29] thanks [20:27:20] yeah I am pretty sure these scenarios will load fine [20:27:42] it will just not switch/case to the new Skylab mission states [20:29:02] you wouldn't be able to complete the rendezvous unless you use the RTCC MFD, but I can supply you with scenarios that are closer to Skylab tomorrow [20:46:17] good night! [14:57:12] hey Niklas [14:59:05] hey [15:22:29] I made some progress on the VHF ranging, still a bit more to do, mostly on the CSM side [15:26:57] on the CSM side? [15:27:27] oh [15:27:29] if (utils::IsVessel(pVessel, utils::LEM)) [15:27:30] stuff like this... [15:27:50] needs to be made more generic for sure [15:27:55] also with ASTP in mind [15:28:28] I'm continuing with the Skylab MCC, I won't bother doing much in terms of onboard rendezvous calculations, just flying the MCC solutions [15:28:37] through TPI [15:28:41] and that's where I stop [15:30:31] a have a few RTCC projects that I want to do before Skylark, but I think the next priority is Skylab attitude control [15:30:35] I'll start with the thrusters [16:03:53] I know I've had several ideas for making stuff like that more general purpose, none of them seem all that good though [16:06:26] either each vessel needs to keep of some one-to-many relationships, or we need a "connector server" [16:22:11] morning! [16:28:09] hey Mike [16:52:39] hey [16:53:26] what's up? [16:55:21] finishing a Skylab rendezvous as far as I will take it with the MCC support [16:55:39] no point trying to dock yet, no attitude control on Skylab :D [16:56:22] hehehe [16:56:23] I think I don't even need to do the TPI burn for now [16:56:36] just checking that the MCC-H solution is good [16:58:33] and it is [16:58:41] nice :D [17:02:10] draft PR up [17:02:17] now Skylab attitude control research [17:05:46] I've had a system with a MATLAB script for the SM RCS thrusters that did the coordinate system conversions, I can probably reuse that code [17:06:54] If you add them before the ShiftCG you can probably just put them in Skylab coordinates [17:07:04] yeah that would be great [17:07:19] makes these things much easier [17:07:48] I already roughly know the attitude control modes [17:07:58] attitude hold, solar inertial, LVLH tracking [17:08:20] maybe I can just implement a keyboard combination in the Skylab vessel to cycle between them [17:08:35] and a free mode of course [17:48:12] hmm [17:48:20] I'm looking at our Skylab mesh in Blender [17:48:30] could it be that it is a few meters too short? [17:54:14] I've always noticed that a bit, but wasn't sure [17:54:24] just looking into measurements for the thrusters [17:54:38] I think it's like 3 meters over all... [18:46:32] yeah, it's not even close to the right shape [18:46:35] or size [18:47:31] starting from the Skylab1973 mesh sounds more tempting now [18:47:43] the creator is occasionally online on the forum [18:47:49] maybe we can get permission [18:48:27] I had taken some measurements in Blender and from what I saw it looks quite good [18:48:39] I'm pretty sure these thrusters would appear behind the end of our Skylab mesh [18:49:07] I would hate to use wrong thruster positions just so that it doesn't look terrible with the mesh [18:52:03] the skylab1973 mesh even has thrusters modeled [18:53:33] it's a Spacecraft3 vessel, right? [18:53:37] no module [18:54:19] oh you mean it actually shows the thrusters on the mesh :D [18:54:25] as opposed to our mesh... [18:55:31] correct [18:56:04] in reality there thrusters are approx. 20 meters from the center of the coordinate system [18:56:15] that's beyond the end of our mesh [18:56:26] the thrusters* [18:56:48] I would imagine by quite a bit... [18:57:07] the MDA and AM are way too short on ours [19:47:52] I can message the author if you want [19:48:59] sure [19:49:17] I've also been messaging people on the forum, to recover Skylab documents lost from NTRS :D [19:56:14] :) [20:01:39] if you find any computer-related info I'm interested [20:04:09] ATMDC? [20:04:27] https://specialcollections.wichita.edu/collections/ms/87-08/87-8-a.html [20:04:36] Apollo Telescope Mount Digital Computer Program Definition Document [20:05:14] I have this feeling though that this collection isn't easy to get to. Maybe I am misremembering, but we might have already tried to get something from there [20:07:27] but this document would be quite great to have [20:07:37] pretty sure it would also have everything for attitude control [20:10:13] no, you're not misremembering [20:10:20] that collection is a black hole :( [20:11:34] that's unfortunate [20:12:21] would it do any harm to send an email? [20:13:56] no, no harm [20:17:10] I was reminded while scouring ebay for potential skylab documents that this is still listed lol https://www.ebay.com/itm/354235787668 [20:19:30] https://www.ebay.com/itm/115897265361 has an "APCS Simulation Laboratory Handbook" [20:31:54] well that's twice what it was yesterday... [20:32:01] lol [20:33:14] "I Am Altering the Deal, Pray I Don’t Alter It Any Further" [20:35:41] lol [20:52:00] night! [15:35:17] .tell indy91 I've made a bit more progress on the CSM-Skylab Connector/VHF project. CSM and Skylab are talking now, but now I need to fix the LM [15:37:14] oh hi [15:38:08] was just telling Guenter some things [15:38:56] was he telling things back? [15:39:00] ah good :D [15:39:52] connectors have a GetConnector function [15:40:50] what i've been doing is calling GetConnectorVessel, which requires a pointer to the vessel, GetConnector takes just connector type [15:41:40] I'm a bit confused what the difficulty is [15:41:48] actually, I'm a bit confused by the current code as well [15:42:01] why does there even have to be a check on the LM class? [15:42:33] oh [15:42:44] right, connector class thing. I was only looking in the timestep [15:42:50] well aparently I was more than a bit confused back when I implimented that [15:42:52] not VHFAMTransceiver::Init [15:43:26] because there does *not* need to be any vessel pointers involved [15:43:40] connectors are already smart enough to do this [15:44:18] It might take me an extra few days, but this PR should have a fairly large amount of get-pointer-to-vessel code removed [15:44:54] that would be great [15:45:10] you do that, I'll go to my own confusion which is coordinate systems for Skylab attitude control :D [15:46:56] also re: my "many to one" connector comment from yesterday, there does exist already a MultiConnector class [15:47:43] right [15:48:22] ok if I put the Skylab thrusters 3 meters too far forward then they look about right with out mesh... [15:49:04] 3 meters off, is that all :) [15:51:30] I messaged Usonian last night, waiting to hear back. [15:51:39] as we said in the mechanical engineering courses: "probably a tolerance civil engineers would use" [15:52:05] morning! [15:52:10] sounds about right haha [15:52:14] hi Mike [15:52:16] hey [15:52:47] that's why you get at a university with both large mechanical and civil engineering departments haha [15:52:51] that's what* [15:54:02] Clarkson was similar haha [15:55:05] for some reason the department offices were on opposite sides of the campus... [15:57:57] yeah weird how that works [16:52:44] n7275, there is an issue with the Skylab VS project, can't build it in debug mode in VS2017 [16:52:48] probably some settings to do [16:53:50] oh whoops, I don't think I properly set up a build configuration for Skylab/debug [17:04:33] I presume it's similar settings between release/debug in our other projects. I can add that later today probably [17:16:01] yeah no problem [18:13:27] I'll forward it later, but I got a massage back about Skylab1973. apparently it is already under GPL2 because the addon uses some NASSP meshes [18:13:40] so we should be good there [18:18:32] awesome [18:20:09] one challenge with this mesh though is that it is folded in its default state [18:20:14] so we need to figure out the animations [18:20:23] or maybe translate the SC3 animations into code or so [18:39:21] I seem to recall that not being super hard [18:39:40] 2007-me could figure it out [18:40:30] will be fun to see the Skylab unfold itself [18:40:43] commanded by a LVDC flight sequence program of course [18:43:11] I imagine the full ATM deployment is quite slow [18:44:10] StraussZarathustra.wav [18:53:04] yeah [18:55:40] I'm not having a good time with Sklyab coordinate systems... [18:55:59] I'll pass that job on to future me [18:56:19] in the process I also learned [18:56:25] our IMU code is confusing [18:56:47] :surprised-pikachu: [18:57:16] that sounds like it has a lot of potential to be one of the more arcane pieces of NASSP code :D [18:58:12] having had my hands pretty far into that one recently, what specificially? [18:59:14] what is right handed, what is left handed, what actually are the IMU gimbal angles it calculates [18:59:48] newAngles = getRotationAnglesXZY(t); [18:59:52] DriveGimbalX(-newAngles.x - Gimbal.X); [18:59:56] minus newAngles??? [19:00:06] both minus [19:00:19] so one of these is not the actual current or previous gimbal angles but the minus of it [19:01:20] so, there are gimbal angles, and there are euler angles to the platform from the vessel local coordinates [19:03:59] right [19:04:28] getRotationAnglesXZY() gives the actual gimbal angles [19:05:09] based on the rotation matrix that getOrbiterLocalToNavigationBaseTransformation() returns [19:07:22] some of this code feels like it is the way it is (especially wrt intrisic/extrinsic rotations) because of trial and error [19:07:43] yeah, sure does [19:07:49] so would be mine though [19:08:18] ...don't look too closly at my drift branch haha, sama method [19:08:21] *same [19:08:46] I think I would have an easier time if I was just forgetting the correct coordinate system for now [19:09:08] just convert GetRotationMatrix to right handed and go from there [19:09:13] that I know how to deal with [19:11:49] if I ever get a time machine, I'm going back to October 2000, London, and asking for some axes to be swapped... [19:13:28] right? Imagine if we could actually use the correct system [19:25:03] I blame the road system, probably makes things like this seem normal [19:25:40] as a left handed person I can also relate [19:29:13] at least we're mostly in R3 and only have to deal with one bijection [20:35:01] night! [03:22:35] .tell indy91 https://github.com/orbiternassp/NASSP/commit/62c958b745543df34d5c27ef9402c37964ede66d I pushed it to the wrong branch, can probably be cherry-picked [14:50:53] hey [15:07:52] hey Niklas [15:09:24] you could make this commit a PR really [15:10:07] well that was my intent, but I had uncommitted changes, and it was late [15:12:11] ah right, in case I need to use debugging. Thanks! [15:12:44] First thing I am looking at today with the Skylab coordinate system stuff, I got a matrix transposed [15:12:57] and it seems all the issues I had are gone :D [15:15:24] sometimes I spend like 5 hours hitting my head against a problem, and then come back the next day and fix it like 5 minutes [15:15:40] yeah that happens pretty often [15:22:20] I guess I will put in the other LVDC and FCC equations then. This initial Skylab attitude control will be heavily based on that [15:29:50] hmm in terms of attitude control, I will give the abilitiy to switch between different modes with a keyboard command. And when you do that display the current mode? [15:29:54] lacking any panel or VC... [15:30:48] I know a few addons like the Dragon have something permanently displayed on the HUD for that [15:30:52] yeah I'll do it like that [15:32:20] clbkDrawHUD [15:58:07] oh this looks interesting: https://ntrs.nasa.gov/citations/19700014945 [16:25:13] more for the Skylab folder :) [16:32:37] morning! [16:41:11] hey Mike [16:41:32] what's up? [16:55:27] hey [16:55:38] I think I figured out the worst of my issues with Skylab attitude stuff [16:56:17] nice! [16:59:34] I'm not implementing sun sensor and star tracker right now, which is used for that [16:59:47] although eventually we want those, for P50 and P55 in Skylark [17:42:58] I might take a bit more time on this VHF thing. I think starting with fixing the LM-CSM connector makes more sense [17:48:38] what I'm working on right now is very messy and it would be much easier to start with something that works [17:49:58] if it is actually less messy in the end then it's definitely worth it to take some time [17:50:43] you don't have to solve all related problems at once though, like needing the vessel name to know which vessel to connect to for e.g. VHF [18:45:21] don't worry, I won't turn it into one of my year-long projects :) [18:46:19] I just know that when I have changes in 8 files, and things still need to get more brokwn before they get less broken, that I'm on the wrong track [18:46:29] haha [18:47:05] speaking of year long projects, do you want to make the changes to start using the "new" mesh or should I give it a go, also looking at the animations etc.? [18:47:49] I can finish this attitude control project with the thrusters in the wrong place so that they visually look like. Shouldn't be a big issue with controllability [18:48:06] I can commit the new mesh tonight [18:48:26] also no guarantee that this mesh is exactly right [18:48:38] will have to see where the thruster effects appear... [18:49:09] if it's just a little bit off when I'd rather use the correct thruster locations and eventually fix the mesh [18:49:15] if it is more... not sure [18:49:24] then* [18:50:26] do you have a branch with thruster effects?\ [18:51:17] not yet [18:51:26] I can make one with my WIP [18:53:05] it would be pretty quick to check with the mesh, then [18:53:58] I know the mesh needs a little bit of a shift, but only in Orbiter's Z axis (skylab -X) [18:55:18] for a quick check I'll just try that myself I think [18:55:40] looking at my new code now, I'd rather not commit it yet haha [18:55:52] haha, fair enough [18:56:48] the coordinate system origin with no CG shift should be at the intersection of the docking-ports IIRC [18:56:52] yeah [18:57:18] I'm not far away though, I got the basics working now [18:57:56] awesome [19:01:42] you just press A to cycle through the attitude control modes [19:01:48] shows in the HUD which one is active [19:01:54] there is also a manual mode [19:02:04] strange, it works exactly like Saturn takeover mode :D [19:03:22] Orbiter default attitude control can't handle the 6 thruster setup [19:05:30] ok I did a quick a dirty mesh offset [19:05:33] and it's looking good [19:05:44] the thruster locations [19:06:28] nice! [19:15:50] There is a rather old video on youtube that I found last night, that shows some of the animations with this mesh [19:28:01] can't wait to implement the switch selector events for it [20:34:25] night! [13:34:20] hey [13:35:07] hey Matt [13:37:41] I took some code from the Crew Dragon addon to draw the attitude control mode for Skylab [13:37:49] apparently that addon has no license [13:38:06] draw it on the HUD* [13:41:45] pretty sure the addon developer of it just doesn't care, but it means I can't just use this code [13:44:51] I love having to think about taking 20 lines of fairly generic code... [13:53:01] BrianJ right? [13:55:47] yeah [13:55:55] but wait, I see the same code in a 2011 post [13:55:57] so it's much older [13:57:53] any chance it's just from one of the API examples? [13:58:39] possible [14:00:12] I see this same code in the NTR core propulsion stage addon from 2011 [14:03:23] "Acknowledgements: BrianJ for on-screen display" [14:03:27] I'm moving in a circle :D [14:06:31] I'll just ask Brian for permission and will add a "Display scaling code by BrianJ" [14:09:21] I just noticed that my Shuttle FDO MFD thread on the forum is stickied under Addons [14:09:33] probably happened by accident when it got moved from the SSU forum :D [14:09:51] or it is just being displayed as stickied to me because it's my thread... [15:02:51] haha, nope it's stickied for me too [15:02:53] odd [15:04:00] it got moved a few months ago by some moderator, as it was in the SSU subforum, when SSU is basically dead and SSV is now the mainly supported addon [15:04:30] uhm, potentially I only just saw that I got the thrust direction of all TACS thrusters inverted... [15:06:17] I thought the effect direction was wrong somehow, but nope, just used a wrong thrust direction :D [15:13:18] ahh, fun [15:14:26] what are you using for an effect? [15:15:01] copy and paste from S-IVB code [15:15:16] although I bet these nitrogen thrusters looked quite different [15:20:21] we can fine tune that once we actually have a correct mesh, our own doesn't even have the nozzles [15:31:25] morning! [15:32:11] hey Mike [15:32:17] what's up [15:32:32] lots of waiting :P [15:33:11] I have my preliminary Skylark source tree assembling again after changing all the flagwords [15:33:15] hey [15:33:35] oh yeah, flagwords [15:33:43] I'm sure many got deleted and many got added [15:33:55] a whole bunch, yeah [15:34:23] but at least not many address changes [15:34:35] like, they changed the heads up/down flag for MINKEY manually during the rendezvous [15:34:44] and I checked, still same address as Artemis [15:35:04] same flag and same bit I mean [15:36:29] yeah, I don't think any moved [15:36:52] plenty of erasables moved... [15:37:22] pretty sure Skylark is the only Block II software (CMC or LGC, not counting testing ropes) where TEPHEM is at 1700 and not 1706 [15:37:54] hahaha [15:38:19] I had to change a downlink function in the RTCC for that :D [15:40:38] I guess because X789 is gone [15:42:28] yeah must be [15:43:50] whatever that is [15:45:17] "Value of estimated landmark location, scale factor B29 (earth) or B27 (moon), units meters, as updated by results of measurement incorporation routine" [15:46:01] In Luminary: "Double precision vector containing the best estimate of bias [15:46:03] necessary to offset RR position error, scaled B5 (earth) or B3 [15:46:04] (moon) in units of radians." [15:46:16] specifically it looks like it has to do with a 9x9 W-matrix [15:46:17] I only knew it from Luminary, I think it's padloaded as zeroes [15:46:26] so since Skylark only has 6x6, there's no need for it [15:50:47] and suddenly you saved another 6 words of erasable [15:51:21] all lost in the same section because instead of a Earth rotation correction vector you have a matrix [15:51:59] ah nevermind [15:52:05] the vector was in that section [15:52:13] LMATRIX is in the next bank [16:58:49] correction from yesterday, I will commit the new mesh *tonight* [17:00:13] and the debug mode for the Skylab VS project [17:00:33] luckily you already got that done :D [17:00:42] as I haven't commited anything yet I didn't merge it yet [17:02:25] of course the issue with the new mesh is that we can't dock to it without figuring out the animations [17:02:36] but that isn't a big deal [17:03:58] we're probably going to need a SkylabMesh.cpp soon [17:05:04] for the animations? Yeah, probably one of the next projects [17:07:31] I tried the animations earlier with the Skylab1973 vessel [17:07:44] somehow I managed to screw them up by pressing the wrong order of buttons :D [17:08:01] maybe not a good indication for being able to directly copy the numbers from the SC3 file... [17:08:36] all the individual solar panels on the ATM very not connected to each other anymore [17:08:42] were not* [17:11:41] I would assume that to be the result of some "Order of opperations" [17:11:59] but, definitely something not to blindly copy [17:14:57] how were the ATM and solar arrays deployed, I presume springs? [17:17:44] operational data book has a lot of details about this [17:20:39] looks like we can have a lot of fun with our Pyro class [17:23:28] springs [17:23:31] "Redundant motors attached to the reel system are turned on to overpower the trunnion springs [17:23:33] and pull the ATM, via cables, into the deployed position." [17:27:18] ooooo there are deployment curves [17:27:40] with the specific impulse value I found for the TACS it burns through quite a lot in just one attitude maneuver [17:27:55] 3 meters more moment arm should help [17:30:30] and eventually I will also implement the CMGs of course [18:40:39] uhm, Houston we have a problem [18:41:05] n7275, the files I am adding to the Skylab project (ATMDC header and source) cause the VS project files to change on all lines [18:41:13] which VS version are you using? [18:41:52] this commit would cause a really annoying merge conflict with your debug mode fix [18:42:32] at least potentially, there aren't actually many differences [18:42:38] it's just git detecting it like that [18:51:46] yeah, bad merge conflict. You just PR your update, I'll deal with it afterwards [18:54:11] I'm using VS 2019, but the Skylab project format should be 2017 [18:54:55] oh and your commit wants to include SkylabConnector.cpp [18:55:14] I just tried cherry picking with taking your changes, and then readding the two ATMDC files [18:55:18] the mess is bigger now :D [18:55:48] I know the VS project files can act up sometimes [18:55:55] but I thought it didn't need to change all lines [18:56:15] is git just bad with XML? [18:56:20] maybe [18:56:31] or line endings different in VS 2017 vs 2019? [18:56:45] because this looks like a line endings issue would look [18:56:51] but just the project files, not e.g. Skylab.cpp [18:57:26] I can build it though, just have add and remove the right files [18:58:09] probably indentation [18:58:39] yeah, something like that [18:59:00] as long as it builds, I'd say it's fine [18:59:22] but it might be an issue every time I am adding new files to the Skylab project [19:00:46] not sure what a solution could be. Maybe I should not use VS 2017 anymore :D [19:00:52] if that is the reason [19:00:54] what version of VS are you using? [19:00:58] 2017 [19:01:24] that's what our solution is still based on [19:01:36] I'll gladly get rid of a VS version though, saves me a few GB [19:01:45] I have 2010, 2017, 2019 and 2022 installed... [19:07:46] I've been using 2019 for a few years I think, you just have to tell it not to upgrade everything the first time you open it [19:08:35] yeah let me try opening it in VS 2019 and see if the same happens there [19:10:59] it's basically the same [19:11:10] the vcxproj.filters file is confusing me [19:11:27] I was doing every change the same in 2017 and 2019, but 2019 didn't change it [19:11:34] does 2019 not need that file or what... [19:12:37] the vcxproj file itself is detect again as all lines changed, even if barely any line changed [19:12:41] detected* [19:13:55] nothing to do but switch to cmake I guess :) [19:15:45] there is a reason why we haven't even switched to 2019 yet :D [19:15:58] it's annoying and nobody could be bothered dealing with it [19:17:57] oddly, Ive added files in my branch and it hasn't done this to me [19:18:33] yeah, your commit for the debug mode also doesn't have it [19:18:50] just to mock me, it's not actually ALL lines that appear as changed [19:18:55] the very last one [19:18:58] [19:18:59] no change [19:20:08] I'm just worried that my "all lines changed" is also going to cause issues for others [19:22:03] can you look at non-printing characters? as long as its still I would say its not going to break anything [19:24:00] hmm, how do I look for that? [19:24:36] in a text editor the before and after are exactly the same [19:24:49] it feels like the line ending thing, but how can that be [19:25:39] I think VS code and NP++ have a "show non-printing characters option" [19:27:44] ah yes [19:29:04] aha! [19:29:24] in the version from Github I see "LF" at the end of every line [19:29:31] in the version I am saving I get CR LF [19:31:38] hmm [19:31:43] that's not quite right [19:31:54] I get CR LF in all other files [19:32:05] very weird [19:32:15] why would VS do that [19:32:16] it must just be your VS project file maybe that has LF only!? [19:32:24] the one that got merged [19:32:31] oooooh [19:32:54] not really sure which version is the good one for us [19:33:02] it could just be something I have locally [19:33:08] CRLF is what we want [19:33:18] as long as we're on windows [19:34:47] if I go back to Orbiter2016 branch [19:35:03] Skylab.vcxproj has LF only [19:35:29] all other files CR LF [19:35:37] even your Skylab header and source files [19:35:56] oh that is odd [19:36:22] didn't have a problem with those, just the project file, so that makes sense [19:36:25] in a way [19:36:29] I added them using the VS wizard haha [19:36:30] why is the project file like that :D [19:37:03] Skylab.vcxproj.filters also only LF of course [19:37:09] it probably gets read into VS, and rewritten with the same settings at every save, or something Microsoft-y like that [19:37:10] those two files I had this issue with [19:37:55] we can definitely agree on blaming Microsoft [19:38:56] I have: :%s/^V^M/^V^M/g memorized for fixing this on Linux [19:40:56] In that case, if you're converting to CRLF, its definitely fine [19:41:06] now I know what I am not memorizing [19:41:24] yeah, I don't think it's going to break anything [19:41:31] break builds I mean [19:41:35] just bad for mergingf [19:41:38] merging* [19:42:02] maybe once it is CR LF it doesn't get converted back [19:42:10] and the issue is gone [19:42:13] I can push a commit to specificially fix those fileds [19:42:16] files [19:43:28] sure, why not. That can get merged together with the debug mode fix. [19:43:45] and then hopefully if I merge that into my branch, there is no conflict anymore [19:44:40] in a way it also gets fixed just by me having added files in my branch [19:44:49] but this branch isn't getting merged today or tomorrow [21:02:44] night! [09:59:26] hey [10:01:07] good morning! [10:01:25] good morning! [10:01:39] I don't understand Visual Studio [10:02:23] my Skylab attitude control branch is a bit of a mess because of the merging and cherry picking, I might go back before I did any of that. But it builds fine [10:03:13] just would have to check before merging if I didn't accidentally reverted anything you ddi [10:03:15] did* [10:04:13] in the bottom right corner of the VS editor window there is a little button that says either LF or CRLF, does yours at least agree with NP++ ? [10:05:02] hmm, I don't see that in VS [10:05:35] I noticed something with the project files [10:06:07] those that haven't been edited in a long time also have LF only [10:06:14] like EVA [10:08:41] https://blog.boot.dev/img/800/vscode-crlf-lf-line-endings-switch.jpg [10:10:59] looks different for me [10:12:41] all files are showing as CRLF for me in NP++ [10:12:47] except a few selected project files [10:13:54] weird... [10:15:20] it does show up in VS 2019 [10:15:34] I believe it is per file though, right? [10:15:46] not a general setting, it shows how the file is encoded [10:16:03] and I don't generally open VS project files directly in VS [10:16:28] saturn.cpp shows as CRLF of course, no surprise [10:17:15] I'm going to reset my branch to a previous commit and merge again without that cherry pick [10:19:56] hmm, even that is kind of bad, as I commited a change to the VS project with all lines changed... [10:20:35] yeah big merge conflict again [10:22:14] but now it's easier to fix, I'll use your version and add my two files again [10:22:59] hopefully solved then [10:23:47] but it will likely appear as all lines changed on the PR. At least I am sure now that no weird merge caused changes to the project file [10:23:56] ... why does this have to be so difficult [10:27:07] did you recently re-install git? [10:27:11] or update [10:27:36] I did an update yeah [10:27:46] I remember a thread on the old forum about the line ending setting [10:28:44] it's not a general issue for me though [10:28:52] files I edit, CRLF [10:28:57] files I created, CRLF [10:31:02] https://i.stack.imgur.com/Ldvop.png [10:34:03] hmmmm [10:34:14] if I check my settings then I don't actually have this right [10:34:52] we want it as in that pic, right? [10:35:03] autocrlf = input [10:35:07] I have it as false I believe [10:35:14] but there are local and global settings for it [10:35:17] need to check more [10:43:50] found it [10:43:53] https://web.archive.org/web/20201021224734/http://www.ibiblio.org/mscorbit/mscforum/index.php?topic=2864.0 [10:45:59] so what setting do we actually want? [10:46:21] for me it is false "checkout as-is, commit as-is" [10:46:50] but the thing is, how does that work with new files [10:46:53] like the Skylab project [10:48:15] you commited it unix style I believe [10:48:23] somehow I end up getting it as Windows style though [10:49:54] Pretty sure we want "checkout as-is, commit as-is". [10:50:02] Let me check my settings [10:50:05] ok so if I download the project files directly from Github [10:50:07] without git [10:50:15] then the files are as I get them locally, too [10:50:31] e.g. Saturn V project file is CRLF, but Skylab project is LF [10:50:47] so pretty sure it ended up as LF on Github [10:50:49] somehow [10:52:06] if it's a new file from Windows and git leaves it alone on your end then I could understand how it ends up as LF on Github [10:52:21] then the mystery is why it gets changed once I do an edit in VS [10:52:31] maybe it's my VS that is set up differently than yours [10:52:36] and not git [10:52:50] okay now I see LF. I downloaded directly from github [10:53:51] oh weird, the skylab.cpp on Github is also LF [10:53:59] my local one is CRLF [10:54:08] but somehow git didn't se a problem with that [10:54:11] only with the project file [10:58:56] oooooooooh [10:59:05] found something [10:59:09] our gitattributes file [10:59:36] it enforces certain lines ending I belive [10:59:39] on checkout [10:59:52] like [10:59:54] *.cpp eol=crlf [10:59:59] but [11:00:02] *.vcproj eol=crlf [11:00:03] vcproj [11:00:18] not vcxproj [11:00:33] that didn't get updated once we switched to 2017 or whenever vcxproj was introduced [11:00:58] I bet this is the cause of all our issues with this [11:02:27] ahhhhhh [11:02:29] yep [11:03:57] it still doesn't fully explain though why it converts the line endings for me [11:05:52] and I did get it confused [11:05:56] CRLF vs LF [11:06:03] Windows is CRLF, Unix is LF [11:11:18] there are more things I am confused about, but I am kind of burned out on line ending conversations now, so I will stop :D [11:12:39] haha fair enough [11:13:17] ok only one thing. Newly created files by you seem to be LF and not CRLF, so maybe it is a setting on your end? No idea, but also worth checking [11:13:44] I am currently double checking that [11:14:28] didn't hear back yet from Brian, but that is basically the only holdup on creating a PR for the attitude control [11:33:27] you have a Skylab MCC PR I see [11:51:23] I do [11:51:37] still many changes to come, but it's pretty harmless to be merged I think [11:54:29] everything Skylab related is still in such an early stage that it is a bit pointless to do detailed testing of PRs [11:54:36] as long as nothing else get broken of course [12:04:53] There is a "Switch not found" debug string message [12:05:34] but yeah, I've looked through the code, I'm just going to approve. [12:06:47] ah yeah, the Saturn IB CSMs didn't actually have a bunch of switches that the CSM default checklist wants to use [12:06:51] no IU uplink switch even [12:06:59] and no TLI inhibit, no S-II/S-IVB direct staging [12:07:09] in the VC the switches still appear [12:07:14] that will need to be fixed eventually [12:25:17] that was a ninja approval :D [12:36:32] haha [12:39:23] cya in the evening! [17:06:59] good evening [17:08:33] morning! [17:09:26] hey guys [17:14:03] can line endings just go away? :D [17:15:20] there won't be any line endings if you put all the code on one line :D [17:16:07] oooo good idea [17:16:28] that's a good idea stop I will just write my code as telegrams stop [17:19:37] I could understand why windows would be CRLF if it were older [17:20:34] but I'm fairly certain a lot of Multics/Unix code was actually written on teletypes, PDP7s etc [17:55:21] n7275, going to work on ECS stuff for a bit now? I think next up would be some Skylab animations (still waiting for a reply about the HUD display code in my attitude control branch) [17:56:10] I just needed to make a graph, I'm back to Skylab branches [17:56:16] haha ok [17:56:56] I technically have some RTCC changes to do, but they aren't so fun. Lots of work for just a few tweaks that make the RTCC have better compatibility with the 1950 coordinate system [17:57:23] from 1950 to mid 70s the Earth polar axis has precessed by like 0.3° [17:58:00] The integrators have no issue with this, just some analytic calculations are potentially a bit less accurate, getting worse over time [20:20:59] Given how much time I had to work on things today, I really expected to get more done [12:31:22] hey [15:52:53] morning! [15:55:14] hey Mike! [15:57:22] what's up? [16:24:57] not much, just watched James' video on his emulator [17:36:22] good evening [17:37:22] n7275, I have looked a little bit at your draft PR earlier. I do like that it does not rely on a vessel pointer anymore. The stuff with the global position seems slightly awkward to me. Is that to make sure the position is actually calculated for the same timestep? [18:24:13] that's something I added, because position calculated from two different timestep is very bad [18:24:25] yeah [18:24:30] maybe there's a better way [18:30:02] there was so much "jitter" before that it wouldn't lock [18:30:54] haha [18:31:25] but yeah the vessel pointer-less solution makes calculating range a bit of a mess [18:43:45] and suddenly have a recurring MCC project local change of all lines [18:43:54] line endings... [18:46:42] maybe due to the gitattributes change rather than whatever issue the Skylab project had [18:49:01] it makes no sense though. Github version of MCC.vcxproj is CRLF, my local file is CRLF, whenever I try to revert it it still shows as CRLF. Yet the Git GUI sees a change... [18:50:18] that is really strange [18:53:17] highly likely it is caused by the change of the file when the Skylab MCC PR got merged [18:53:26] somehow... [18:55:36] how do we undo it... [18:57:06] the file was CRLF even before that commit [18:59:48] it's going to be an issue even with switching to other branches that have a change to that file [19:00:34] aaaaand the issue goes away if I remove the line for vcxproj files in gitattributes [19:01:08] still CRLF though [19:03:33] I'd like to figure out exactly what I did, so I can not do it again [19:06:12] well you didn't do anything to the MCC project file, that is for sure :D [19:06:29] but you did create the Skylab project file with LF, right? [19:06:43] I think that caused this chain of events of us getting brainrot from line endings [19:13:11] i can checkout my original commit to that branch, but I never had anything LF on my end [19:15:53] unless that's been erased by the commits [19:26:20] ah right, it just somehow ended up as LF on Github [19:26:30] not sure what to do with this gitattributes thing [19:26:45] probably some googling to understand it [19:26:52] just reverting it doesn't exactly fix the issue [19:58:55] I'm not sure if it's git, or VS [20:00:39] I've looked around on stackoverflow et al. for answers, but haven't found anything [20:41:11] night! [14:25:25] good afternoon [14:35:48] hey Niklas [15:05:18] Brian hasn't replied yet, but I think license wise there is no problem [15:05:25] his Falcon 9 addon has the same HUD code [15:05:37] and for that he put WTFPL as the license [15:05:49] for the Dragon he didn't put anything, so all rights reserved [15:07:34] I like WTFPL, I would have no problem having most of my code as that :D [15:08:07] haha, same here [15:09:16] once we merge your attitude control PR I should be able to start on animations [15:12:14] yeah, I think I'll put it up soon. At least it doesn't feel illegal to do that now :D [15:15:50] that's always good [15:37:48] I just fetched and pulled upstream, now I'm seing that LEM.vcxproj changed, but git doesn't seem to be able to show me *what* changed [15:42:18] if you remove that line with vcxproj in gitattributes it should go away [15:47:12] morning! [15:49:16] hey Mike [15:49:21] what's up? [15:51:22] if someone does not really care about license for code they might put no license or WTFPL license [15:51:32] with vastly different consequences [15:52:02] what other people can do with that code could not be any more different between those two options :D [15:52:37] hahaha [16:01:42] n7275, well the PR will definitely have all lines changed in the Skylab vcxproj [16:01:50] but at least on my end it changed it from LF to CRLF [16:01:53] so [16:01:55] good??? [16:01:59] I think so [16:02:40] I did a git cache purge and that fixed my un-discard-able change issue [16:03:15] I will keep a close eye on incoming and outgoing changes for a while [16:03:21] yeah, same [16:03:40] that gitattributes thing is still bothering me [16:03:53] before my change it was basically not doing anything with project files [16:03:59] as we didn't have vcproj anymore [16:04:22] so as long as all our project files end up as CRLF on their own we don't really need the line [16:04:34] so if it keeps on causing us issues I would remove it again [16:04:47] even if I'd rather figure out why it does what it does... [16:37:01] attitude control looks nice [16:38:03] thruster positions (mesh, I assume) might need a little bit of work [16:45:32] oh really, it looked pretty good on my end [16:45:46] the mesh offset I had was 1.5 centimeters different than yours :D [18:49:44] could've been something I did. [14:22:46] hey [14:26:41] I switched to my XRSound branch and suddenly had unrevertable changes to ALL vcxproj files [14:27:03] I am reverting that gitattributes change, or at least don't use it yet [14:27:11] it seems to cause more issues than it fixes [14:37:06] Next time I need to add a project, I'm copying and pasting the XML [14:37:59] I do still get vcxproj changes when I switch branches, but I can revert them and e.g. do merges [14:38:23] hopefully these things settle down when we don't make many project file changes anymore [14:38:41] checking the attitude control branch now [14:38:58] the thrusters look slightly more off than what I was remembering [14:39:10] it's likely the mesh or the mesh offset, but I will double check the numbers [14:39:34] and I got permission from BrianJ today. Technically I probably didn't need to it, but it's good to have it [14:40:01] need it* [14:41:59] Based on the inch to meter conversion from the data book, I think they're right [14:42:03] for thrusters [14:42:21] I think the mesh is just a bit too long [14:43:20] yeah I adapted my SM RCS script for the thruster positions and directions [14:43:21] I alligned the mesh with the two docking ports though, so maybe its that the ATM and backup port aren't exactly in the right place relative to one another [14:43:29] ... of course I got the directions exactly wrong at first [14:43:47] but thanks to having it in a script it was easy to fix :D [14:44:09] I would have about a 1 in 6 chance of getting that right [14:44:29] I have to change course on my VHF project [14:44:34] uhoh [14:45:07] that function I wrote in the connector class isn't working how I thought it was [14:47:24] despite the fact that all connectors are created by Orbiter.exe, they exist in different memory spaces (I think), so that static vector of connector pointers, exists in multiple places [14:47:31] not very static [14:51:43] because of different dlls? [14:51:56] I have an issue like that with the RTCC [14:51:59] I think so. [14:52:10] the instance of the RTCC runs in the MCC project [14:52:17] but the RTCC MFD uses it [14:52:33] so if I want to debug through the MFD I always need to build both in debug mode [14:52:43] and I have to rebuild the MFD or else it desyncs somehow [14:55:53] I think it would work if we had a connector.dll, but that is not a path we should go down [14:56:48] I'll just add: (islem() || isskylab()) [14:56:50] maybe the connector route isn't the right solution for this after all? [14:57:46] and eventually I get around to adding an Orbiter plugin that handles radio connections and connectors [14:58:04] we should also think ahead to ASTP, we will need a Soyuz with VHF [14:58:43] clbkGeneric could be a solution, all VESSEL3s and higher impliment it [14:59:27] would be very easy to just send a vhf message out to every vessel, then they can decide what what they want to do with it [14:59:40] yeah that sounds pretty good [15:01:17] I can add something to our "API" so that we don't have to add the loop that calls it in all vessels, everywhere we need it in our code. [15:01:19] I would set it up in such a way that clbkGeneric checks on the msgid being any kind of radio signal [15:01:32] yes [15:01:36] and then further divides it into separate frequencies [15:01:45] and then processes stuff based on frequency [15:02:08] we can simplify it by having discrete frequencies [15:02:13] should also be very fast compared with connectors [15:02:16] don't necessarily need a spectrum [15:02:33] integer instead of double as frequency is what I mean, basically [15:02:38] "channels" I'm thinking [15:02:42] yeah [15:02:57] and then realism takes over, with stuff being sent out on a different frequency than it is being received [15:03:02] that is the job of VHF classes [15:04:13] with clbkGeneric, do we need to be careful with compatibility with other addons? [15:04:20] we are using msgid = 0 [15:07:27] We should probably avoid using anything that looks like a default [15:07:42] but I doubt many addons are using that [15:07:51] right [15:08:09] how does using clbkGeneric work again? You need to have a pointer to the vessel already? [15:08:15] and then you call vessel->clbkGeneric ? [15:09:07] would you just go through the list of all vessels and calls clbkGeneric to send out a VHF signal [15:09:10] yeah, and iirc it takes two int parameters, and a void* [15:09:15] yes [15:09:28] and then send something back, also with clbkGeneric, but different frequency [15:09:46] I think that makes the most sense [15:09:49] and on that sending back it should give the global position [15:10:01] then the receiving system can immediately calculate the range [15:11:07] or if we are ever using this for the RR, also the global velocity for range rate [15:23:40] I think the thruster positions are right, so it's the mesh that isn't perfect. What do you think, is it too far off or is it mergable? [15:23:51] I think it's not too bad [15:24:01] normally you won't really look at it that much [16:13:11] It's fine for now [16:13:23] the mesh can be adjusted [16:13:32] later [16:15:25] I'll use my favorite mesh editor, matlab, when I actually get around to that [16:17:51] :D [16:18:29] Blender is just a mesh viewer, right? That's how I use it... [16:20:07] hey if notepad was good enough for Dr. Schweiger, it's good enough for me [16:31:23] morning! [16:38:29] hey [16:42:30] hey Mike [17:15:11] n7275, I did a dumb thing, I committed the gitattributes reversal in my Orbiter2016 branch [17:15:26] now I can't even change branches without a -f :D [17:15:32] forcing it to discard local changes [17:16:05] I think we should quickly merge that [17:20:00] and then hope that we are only getting these issues when we add a new project file, which is rare [17:48:42] approved [17:49:05] thanks! [17:57:51] let's get these LGC addresses fixed... [19:35:09] n7275, thanks for approving the attitude control PR. I'll merge that tomorrow, I'll look through the code one more time, it is a larger change [19:35:51] and it better change the line endings to CRLF or else I uninstall VS [19:50:19] haha [19:53:22] some day (probably when we have more time, and people) i would like to consider switching to cmake. setting up new VS projects is such a pain [19:55:16] sure is [20:53:50] night! [14:34:11] hey [14:34:20] Skylab vcxproj now confirmed CRLF :D [14:35:29] oh and Skylab has attitude control, but that is the minor part of that PR... [14:40:20] next part of the line endings saga. It wasn't actually all lines that appear as changed in the vcxproj file, the very last line, , was not detect as changed [14:40:46] and the consequence is, Skylab vcxproj still has a single LF, the very last one, before [14:47:02] or not [14:47:06] I don't get anything anymore [14:47:32] it's like the line endings aren't even consistent when I switch branches [14:51:11] well everything looks CRLF now in the Orbiter2016 branch. So, yay? [14:51:28] not everything, the project files we are currently doing changes to (Skylab, MCC) [14:59:58] hey Niklas [15:01:10] yeah, the inconsistencies are the strange part [15:04:23] so for Skylab, the two main project I still want to get done are VHF ranging and a few animations. If VHF is getting too frustrating I can take a look at that and you do the animation. I don't mind either way. [15:05:18] if you want to continue with VHF I will probably start looking into the animations [15:06:11] I can do animations if you want to do VHF, I got kinda burned out on my 3 failed attempts [15:06:51] sounds good [15:08:24] I might go the clbkGeneric route as wel talked about, but don't know for sure yet [15:08:29] as we* [15:09:18] I had created a namespace and class for RF properties, back when I added station tracking for LM and CSM to the MCC [15:09:39] right [15:10:43] I looked at the clbkGeneric messageID and paramters, last night, I can't quite follow my own logic from when I created them [15:15:00] I'll be back later [16:46:26] morning! [16:52:08] hey Mike [16:55:11] what's up? [16:55:32] reading our code to fully understand how our VHF ranging works [16:55:47] so that I can make it work for Skylab. I took over the job from Matt. [17:28:19] thewonderidiot, there wasn't more in the MOCR audio about the uplink address issue, at least not in the next hour or so. I did search through the transcript a bit more though [17:28:39] about 10 hours later it apparently was first mentioned to Flight [17:28:53] and GUIDO, or whoever it was because it was a different voice, was explaining it wrong [17:29:21] he said for desired REFSMMAT uplinks they will have to manually "line by line" assemble the uplink [17:29:26] that's correct [17:29:46] and desired REFSMMAT uplink is the usual type, so they will have to do it every time [17:29:50] that is wrong for the LM [17:30:26] LM starts with a docked alignment, so they uplink the actual REFSMMAT, not the one for a P52 option 1 [17:30:37] Flight was a bit worried about the time impact of that [17:30:46] so I think it also means that they couldn't fix the RTCC on the fly [17:30:58] I'm back [17:31:01] wb [17:33:34] if you have VHF questions I can do my best to answer [17:35:03] great. Don't have anything yet, just understanding how our code currently works and if/how to rewrite it [17:42:12] heh, interesting [17:53:10] n7275, one solution that would not require a complete rewrite is to create a new type of class, let's say "VHFRangingTarget" or something [17:53:17] LM class and Skylab class derived from it [17:53:26] and that class has the connector [17:53:38] and CSM then connects to anything of that class [17:54:35] this solution wouldn't improve anything of the current code though [17:54:59] it would just be a fairly low impact solution to have more than just the LM class work as the VHF ranging target [18:04:35] I had tried something like that, using a dynamic_cast, but with ProjectApolloConnectorVessel, and if(type = VHF_RNG) [18:05:25] its very possible that I had something wrong, but dynamic_cast only ever gave me nulls [18:08:30] yeah I am already seeing a flaw in my idea [18:08:49] that specific connector class has a LM_VHF pointer [18:08:53] LM_VHF class has LM specific stuff [18:09:34] so I would have to maybe implement a base class for VHF as well [18:09:43] which LM_VHF and Skylab_VHF derive from [18:10:32] that base class would need RCVDfreqRCVR_A etc [18:10:39] well [18:10:41] not really [18:10:49] could be a function call instead [18:10:56] base class having it as a virtual function [18:14:44] the (only potentially) better way would be sending out the signal with clbkGeneric. Also sending out its range. Then it's class independent. But it's a substantial rewrite and there might still be some things I am not thinking of [18:16:54] what about just making the getLM function return a pointer to skylab classes too [18:17:19] as a stop-gap [18:19:04] GetLM returns a VESSEL pointer [18:19:09] right now it then does a [18:19:10] lem = (static_cast(lm)); [18:20:07] uhh [18:20:18] is even anything LM class specific used [18:20:34] I thought it was... [18:21:05] could it be changed to static_cast(lm) [18:22:25] it doesn't even have to be [18:22:47] the VHFAMTransceiver class in the CSM doesn't access anything LM specific [18:23:29] just VESSEL methods? [18:23:35] it looks like it [18:23:54] the connector function to establish the connection will make the assumption it is a ProjectApolloConnectorVessel [18:23:59] so Skylab does have to be a ProjectApolloConnectorVessel [18:24:11] which it should be [18:24:25] So maybe at least in the CSM it is a very easy change... [18:24:29] I bet I am overlooking something [18:29:18] but the fun definitely begins after that [18:29:48] Skylab either needs an instance of the LM specific LM_VHFtoCSM_VHF_Connector [18:29:55] or something like it [18:31:17] I bet I am just re-doing what you have already tried on one of your attempts :D [18:31:28] but I don't think that hurts, new person, new ideas [18:31:42] also, new person, same old problems to be solved that have already been partially solved before... [18:33:12] new perspectives always help [18:34:58] skylab would definitely need a connector, but it should be a bit simpler than the LM [18:35:27] only one transcever, and I believe the only thing connected to it is the RTTA [18:36:46] I feel like what I am going to do is just like the PR you closed, minus the vessel independent thing, so no global position being sent out [19:03:23] n7275, the last state of your PR didn't work right anymore? I know I tested a version of it, but which one was it, I want to know which code to look at... [19:04:36] errr, 2nd to last commit I think? [19:05:55] hmm [19:06:07] I was missing some code in ReceiveMessage [19:06:15] but I think you hadn't implemented that yet [19:06:22] probably not [19:06:41] the Skylab side didn't process anything of that yet [19:06:49] correct [19:06:54] it just sent out [19:06:55] skylab_vhf2csm_vhf_connector.SendRF(296.8E6, 5, 10, 0, true, OurGlobalPosition); [19:06:57] skylab was only sending [19:07:01] yes [19:07:10] which is fine I guess [19:07:19] until we simulate that system in detail [19:07:37] I wanted to get past the "why won't it connect, phase" [19:07:56] maybe as the next step (not in the short term) we could process uplinks [19:08:08] they switched on VHF ranging mode after Skylab 2 launch [19:08:17] and they also had planned to command attitude maneuvers [19:08:27] back and forth between best thermal and best VHF ranging attitude [19:08:55] So then the VHF ranging could at least be switched off [19:09:00] and not being sent out all the time [19:09:32] hmm [19:09:34] there are several relays connecting it to one of the AM busses [19:09:55] and a switch [19:10:01] now that I think about it, are there enough checks in the CSM that it is sending out VHF? [19:10:23] if the Skylab always sends out, then in the CSM you might not even have to transmit, only receive [19:11:17] I think it needs to be transmitting. there should be a check in the CSM's ranging class [19:11:50] it shoud be checking for tone going out, and tome coming back [19:12:54] bool IsVHFRangingConfig() { return (receiveA && !receiveB && !transmitA && transmitB); } [19:13:15] so yeah, at least it requires this [19:13:32] that would be my minimum for realism in the Skylab part :D [19:18:10] if(transceiver->RCVDinputPowRCVR_A > -122.0 && transceiver->GetActiveAntenna() && transceiver->RCVDRangeTone) [19:19:14] I guess that shold also have XMITRangeTone [19:22:24] messy logic [19:22:34] I could've done this better [19:36:16] UHCL has a Skylab Systems Handbook [19:37:49] got distracted reading about Skylab uplinks [19:38:00] implements 480 channel Command Relay Driver Unit [19:58:16] n7275, GetConnectorFromList was something new you had added? [20:44:05] yes [20:44:35] that's the one that doesn't work because of multiple instance of static variables [20:44:40] ha [20:44:49] systems handbook sounds nice :) [20:45:18] Just encountered an annoying thing with the vessel names [20:45:22] one of many of course [20:45:33] CSM VHF uses the vessel name/pointer from the AGC class [20:45:51] AGC class gets it from the Saturn class, from the payload name [20:46:07] so VHF ranging uses the name of the payload [20:46:12] payload of ASTP is the DM [20:46:21] don't think they want VHF ranging with the DM... [20:46:57] probably not [20:47:00] and you can't even put a vessel name directly in the ApolloGuidance class, because it gets overwritten [20:47:04] I think we can figure out where that is [20:47:10] but that has to be a bug [20:47:23] void ApolloGuidance::SetMissionInfo(std::string ProgramName, char *OtherName) [20:47:27] if (OtherName != 0) [20:47:28] strncpy(OtherVesselName, OtherName, 64); [20:47:39] shouldn't it be OtherName[0]? [20:47:43] or both [20:47:59] ah no [20:48:06] void SetMissionInfo(std::string ProgramName, char *OtherName = 0); [20:48:11] meant to be a null pointer [20:48:24] and not a valid char array with the first character being 0 [20:50:54] at the very least this system would have to be changed for ASTP [20:51:00] no big issue [20:56:04] I think we can definitely impliment our fixes before then [20:56:52] yeah full ASTP support is not a high priority yet [20:57:02] it uses the capabilities of Skylark even less [20:57:12] than the Skylab missions [20:59:09] not even [20:59:16] just less :D [20:59:29] ground targeting was primary for the NC1 burn [20:59:41] because it happens a day before the actual rendezvous [20:59:50] and the Soyuz was still doing some burn in between [21:00:14] and a lot of other little things [21:00:23] I think they did use the docked DAP though [21:00:33] CSM + DM was using the DAP logic for the LM ascent stage [21:01:01] but with the Soyuz it was the docked DAP. The padload has different gains compared to Skylab missions [21:02:15] I feel like a whole Soyuz 7K-TM is something we should "contract out" to another project [21:02:59] oh for sure [21:03:42] for that we probably do want to switch to clbkGeneric [21:03:55] otherwise that Soyuz project needs to use our connectors [21:04:11] even with clbkGeneric compatibility won't be simple [21:04:52] it would have to built against one or two of our headers/libraries [21:05:23] yeah [21:05:42] with clbkGeneric it wouldn't, just would have to use compatible code [21:05:59] hmm, there is some code in the CSM that checks on LM class [21:06:08] "this block of code checks to see if the LEM has somehow been deleted mid sceneriao, and sets the lem pointer to null" [21:06:11] if (utils::IsVessel(pVessel, utils::LEM)) [21:06:18] that's my next step [21:06:24] getting rid of that [21:06:52] that's very hacky [21:07:03] I'll continue today. Hopefully I will have a solution then. The "get rids of almost no bad code, but also doesn't add that much new mad code" solution [21:07:05] tomorrow* [21:07:09] is there a //FIXME next to it? [21:07:40] further down there is [21:07:43] lem = sat->agc.GetLM(); //############################ FIXME ################################ [21:08:10] I also believe your code to prevent problems when the LM gets delete does not work [21:08:20] probably not haha [21:08:41] ah wait, was reading it wrong [21:08:42] it does work [21:08:52] it goes through the list of all vessels [21:09:05] if any of them is a LM [21:09:15] VESSEL* pVessel = oapiGetVesselInterface(hVessel); [21:09:24] I thought hVessel could be a null pointer if the LM gets deleted [21:09:28] then this would crash [21:09:34] but it just goes through all vessels [21:09:52] I'll try not to remove features like that [21:10:14] well, good night! [21:10:17] night! [16:08:26] hey Niklas [16:09:11] hey Matt [16:15:24] I got a good start on animations last night [16:19:15] great [16:25:35] ok, with the VHF ranging, it checked if there is any LM vessel in the simulation. If not, it set the pointer to NULL [16:26:05] I think I'll change it so that it will instead check if the target vessel pointer is identical to any vessel in the simulation [16:26:35] that sounds good [16:26:47] a bit less ad hoc [16:27:27] very slightly less ad hoc :D [16:27:35] at least class independent, for Skylab... [16:27:58] I see ProjectApolloConnectorVessel has no destructor [16:28:11] ad haec [16:28:24] it probably needs one [16:28:27] isn't the safest way disconnecting everything when the LM gets deleted by putting disconnection code in the destructor [16:28:54] that still would leave a pointer to it pointing nowhere, so that doesn't fully replace the code checking for deletion [16:32:08] I would agree; do it in the PACV destructor [16:34:34] for the LM there has to be code that constantly checks if it needs to be connected, as it is right now [16:34:39] as the LM doesn't exist on launch [16:34:55] morning! [16:35:06] and there might be people (one person, Turry) who might not reload the scenario from LM creation to VHF ranging :D [16:35:09] hey Mike [16:40:08] We probably want to load a separate vessel name for VHF ranging, or really communications in general [16:40:16] and not use the vessel in the AGC [16:40:31] what even uses the ApolloGuidance class "other vehicle" pointer... [16:40:37] in the LM the RR does [16:41:18] ah, CSM RR transponder of course, too [16:41:55] that's it in the CSM [16:41:57] only comm classes [16:42:49] and in the LM only VHF and RR [16:43:02] it really doesn't belong anymore in the ApolloGuidance class [16:43:14] maybe in past days it was used for other rendezvous stuff, before the Virtual AGC [16:45:29] yeah, probably some relic code [16:45:50] was thinking of the ASTP case (separate payload and rendezvous target) [16:46:05] the real solution there is getting rid of it needing vessel pointers [16:46:16] so I'll likely not implement any intermediate solution [17:10:53] ok, I get range data in the CSM [17:11:31] not like you weren't also at that point... [17:18:35] that's definitely going to be a PR that you will want to check line by line [17:18:41] as it's mostly your expertise [17:20:12] no CTD when I delete a LM [17:50:44] I had some ambitions of EVA antennas too at some point [17:51:08] but that'll definitely wait until there is a better soultion [18:13:12] draft PR is up [18:17:10] nice. I'll give it a try in a few hours [18:20:55] I haven't forgotten about a clkbGeneric rewrite, but that takes more thinking before I would no anything about it [18:21:06] would do* [18:24:21] that should be a project unto itself, not as part of another project [18:34:06] briefly looking at the code, I don't see any issues. I can try flying a rendezvous tonight [18:51:19] sure. I didn't really test it much besides getting a good range on the EMS [20:49:34] night! [12:54:02] good morning [12:55:20] hey [13:01:02] I think the Skylab VHF PR is good. [13:03:19] great to hear [13:03:33] I've tried to keep it at a minimum of changes [13:04:01] the worst thing about it is that I have to add the Skylab as the "payload" in the CSM section of the scenario [13:04:07] so that it is using it as the target [13:16:35] merged it [13:16:58] basically out of Skylab projects now, just some RTCC things that are more nice to have than strictly required [13:17:32] ... I say that without having run anything yet using the 1950 coordinate system [13:17:41] for all I know everything breaks down :D [13:17:43] but it shouldn't [13:19:49] I think we need to move docking ports from where I had them on the old mesh [13:20:34] and I need to finish the animations [13:20:38] on the ATM at least [13:20:50] yeah, was talking about my projects only :D [13:20:58] is the docking port rotated correctly? [13:21:25] I don't believe so [13:21:28] oh [13:21:37] well I can work on docking things then [13:21:51] Change launch scenario so that Skylab maneuvers to the solar inertial attitude [13:21:57] on the mesh it it. if that's what you're asking [13:22:01] add calculation in RTCC to calculate the docking attitude for that attitude [13:22:25] make MCC give correct docking attitude [13:22:29] so still some things to do there [13:23:03] uhh [13:23:16] where is the docking port defined? [13:23:30] should be in the config [13:23:34] aaah right [13:23:39] always forget you can do that [13:23:47] I think usually we put it in code [13:24:00] I'm fine changing that [13:24:21] might make sense if we have both docking ports defined [13:24:27] for just one the config would be fine [13:26:36] I think the backup port location (mesh) needs to be moved a few cm, to line up with the ATM axis. this would also fix the thruster aligmnemt problem, because I defined the origin based on that port (easier to see in blender) [13:27:53] yeah, I did the same [13:28:07] when I was roughly checking if the thrusters look right [13:29:04] doesn't look like the docking port is rotated right, I think it should be 35° in roll [13:29:07] or was it 45... [13:30:01] I presume that's for more SPS gimbal control authority [13:30:42] given the offset CG [13:31:13] I'm not sure [13:31:45] "SPS gimbal control" I have not seen a document that even agrees docked SPS burns were possible :D [13:33:03] the RTCC mass properties document (which can actually calculate SPS trim gimbal angles) has two different angles for the two docking ports [13:34:08] I can't imagine long burns on the radial port would be good... [13:34:19] unless the gimbal angles are like 90° [13:36:47] yeah, that's more theoretical haha [13:37:06] I wonder if can make the calculations for CSM and LM docked customizable enough to work with Skylab [13:37:15] in the RTCC [13:37:17] for e.g. DAP PADs [13:37:31] ooo that would be cool [13:42:20] ah yeah, in the Apollo 7 RTCC Systems Parameter document it gives the names for the constants involved [13:42:41] DPS gimbal plane to CSM coordinate system displacement [13:42:49] SPS gimbal plane to LM coordinate system displacement [13:42:52] uhh [13:42:55] other way around :D [13:43:07] and SPS to DPS gimbal plane distance when docked [13:43:28] just have to make these loadable in RTCC files [13:43:41] and it can be adjusted for Skylab, together with the docking angle [14:23:29] ok, figured out that docking angle [14:23:41] like I thought, just had to rotate the docking port orientation by 35° [14:27:37] nice [14:29:18] oh. Skylab 2 MCC question: what is the ullage jet/duration that the MCC is using for its calculations? [14:29:58] 2 jets 20 seconds [14:30:01] except for TPI [14:30:06] there it is 4 jets 15 seconds [14:30:26] that's what the flight plan had [14:30:33] and what it wants to set V48 to [14:30:51] I need to check in the transcript if they also got these numbers on their PADs [14:31:15] wouldn't hurt, but shouldn't really have to replace things in the flight plan or rendezvous books [14:33:10] okay. yeah, I agree. shouldn't add things to the PADs that weren't really there [14:40:35] no ullage on the PAD [14:40:44] but they say single vs dual bank every time [14:40:47] Skylab 2 transcript [14:40:55] maybe depending on the DV or so [14:41:06] it becomes pretty clear from the rendezvous book what ullage to use [16:20:18] once we can properly dock, I'll fly that again and try to follow procedure a bit more closly [16:24:25] I'll work on a PR with the right docking orientation and the MCC will give the docking attitude [16:34:11] I have some solar pannels I need to get moved out of the way [16:47:34] and that whole assembly that the solar panels are attached to :D [17:00:16] morning! [17:16:10] hey Mike [18:16:02] hey [18:16:17] ok, starting on the RTCC function to calculate the Skylab docking attitude [19:59:46] cya! [12:10:32] hey [12:19:58] hey Matt [12:31:01] your draft PR must have had a bit of an awkward merge [12:32:01] you originally had this when you added the Skylab: void clbkLoadState(FILEHANDLE scn); [12:32:13] that function doesn't exist in VESSEL [12:32:22] it was still empty when you added it [12:32:39] clbkLoadStateEx is the right one [12:32:53] And this draft PR re-adds clbkLoadState for some reason [12:33:56] the Skylab1973 license file is necessary because it has an additional sentence compared to GPL? [12:45:21] not sure whats up with that merge conflict, but ill rebase and clean all that up before marking it ready for review [12:46:19] i included the license, because the mesh files have no header text saying where they came from [12:49:03] makes sense [12:49:17] MeshOffset as a variable now? [12:49:58] "I don't like how much stuff is in this function either" when I looked at the mesh in Blender I thought "wow this is many mesh groups" :D [12:54:47] so what do you think for Skylab attitude control. I gave it the solar inertial attitude in the T-4h scenario. Should attitude control be enabled in there already? Some people use high time accelerations during prelaunch [12:55:03] it doesn't terribly at 50x and 144fps, but also not great [12:55:08] doesn't behave* [12:55:53] I could implement rudimentary uplink capability, have the Skylab just float around at first and then the MCC sends a signal for attitude control to Skylab much later, after TPI [12:56:29] that might be better [12:57:08] or at the very least have attitude control disabled by default [12:57:25] that's what it is right now [12:57:42] With that you have to switch to Skylab at some point and put it in solar inertial [12:57:56] for the docking attitude given by MCC to be valid [12:58:13] with S-IVB maneuvers on lunar missions the MCC also does the job of sending those commands [12:58:34] so the best way is probably to send a command, but not have it do attitude control yet at T-4h [12:59:18] the attitude is nearly inertial anyway, from T-4h to just before docking it just moves a few degrees [13:00:08] it wasn't until T-2h that the edge of the deadband is reached, by the desired attitude moving slowly [13:02:09] im not planning on adding moments any time soom, so that should be fine [13:05:57] and even if something pushes it off attitude, in time for docking it will be correct again [13:06:09] if the command is sent after TPI [13:12:41] yeah, i think that would be the beat option [13:13:27] this is dangerous [13:13:37] We have the Skylab Operational Command Listing [13:14:02] do you understand how hard it will be to only implement one or a few??? [13:15:19] maybe for now we just switch vessels and push 'a' then [13:16:25] hmm nah, I think I can withstand the temptation :D [13:20:38] the uplink data seems to work much like for CSM and LM [13:20:55] three bits vehicle code, three bits system code [13:20:58] and then the actual data [13:23:18] I can probably use the correct uplink codes for the ATM attitude control modes [13:23:37] I could also switch on/off VHF ranging [13:23:42] ... that's how it starts [13:24:59] yup :) [13:26:14] i wouldnt do anything that would be handled by an eSystem later, if we can help it [13:27:32] yeah [13:33:27] i made meshoffset a variable when i thought that needed to be added to all the rotation points [13:33:43] it does not, so ill remove that [13:36:11] ah ok [14:27:37] ATM deployment is triggered by IU commands right? [14:39:46] yes [14:43:25] scheduled event in the flight sequence program [14:43:41] when we want to do that properly Skylab will need an IU and a switch selector [14:51:24] for now i think it will just be always open [14:52:04] yes [14:58:49] i can add the OWS array and patially open it a bit [16:13:04] morning! [16:42:00] hi Mike [16:42:06] whats up? [16:43:44] most of the way through scanning the Skylab I/II Delco book -- should finish today or tomorrow [16:44:43] and you? [17:01:50] finishing up Skylab solar pannel animations [17:12:47] nice :D