It is based on Arducopter, we changed the motor library matrix file to account for six tilted motors, link to the commit on github:

The rotation of each motors is handled just like any other hexa-copter:

The most important piece of code to understand is located in the motor library, in the AP_MotorMatrix.cpp file:
            switch (frame_type) {
                case MOTOR_FRAME_TYPE_X:
                    add_motor_raw_6dof(AP_MOTORS_MOT_1, -1.0f,  0.0f, -1.0f,  0.0f, -1.0f, 1);
                    add_motor_raw_6dof(AP_MOTORS_MOT_2, -1.0f,  0.0f,  1.0f,  0.0f,  1.0f, 2);
                    add_motor_raw_6dof(AP_MOTORS_MOT_3,  0.5f, -1.0f,  0.5f,  1.0f, -1.0f, 3);
                    add_motor_raw_6dof(AP_MOTORS_MOT_4,  0.5f, -1.0f, -0.5f, -1.0f,  1.0f, 4);
                    add_motor_raw_6dof(AP_MOTORS_MOT_5,  0.5f,  1.0f, -0.5f,  1.0f,  1.0f, 5);
                    add_motor_raw_6dof(AP_MOTORS_MOT_6,  0.5f,  1.0f,  0.5f, -1.0f, -1.0f, 6);
                    success = true;
Here is a video of it flying, pretty cool and trippy: