Oculus Rants: Git

We had an incident recently where our code became seriously fractured. Ideally, we’d have our master branch holding the code that we know is ready for flight, and development branches for testing, Less ideal, but still (mostly) workable, everyone would be working directly on master and getting stuff done together. Our problem this time wasn’t getting in each others’ ways on the same branch, or a build-up of active branches. No, this time we ended up with four separate repositories. »

Oculus Rants: Radios and enums

There’s a particular enum used in several places in Oculus’ flight software: typedef enum Axis_T{ X_AXIS = 0x0, Y_AXIS = 0x01, Z_AXIS = 0x02, } Axis; Wonderful! We don’t have (as many) magic numbers floating around anymore! This is included in the health data that’s transmitted over the radio, which then needs to be parsed by the ground station (GS). Should be easy enough, right? We can replicate that on the ground easily enough, even if our language of choice doesn’t support specifying custom values for enumerations. »

Rayman and Inverse Kinematics

While watching this video, it was mentioned that Rayman’s limbs must be the result of a rather peculiar accident. That got me thinking - using a character model like Rayman’s would be a relatively cheap and easy way to simplify, if not entirely remove, the need to do any serious inverse kinematic calculations for that character. I’m sure that’s not why Rayman’s model is the way it is, but it’s possibly a trick that could be used if IK is being problematic. »