static void testInit() { Camera * cameraPtr; Camera cameraStruct; cameraPtr = Camera_create(); TestCase_assert(cameraPtr->orientation.x == 0.0f, "Expected 0 but got %f", cameraPtr->orientation.x); TestCase_assert(cameraPtr->orientation.y == 0.0f, "Expected 0 but got %f", cameraPtr->orientation.y); TestCase_assert(cameraPtr->orientation.z == 0.0f, "Expected 0 but got %f", cameraPtr->orientation.z); TestCase_assert(cameraPtr->orientation.w == 1.0f, "Expected 1 but got %f", cameraPtr->orientation.w); TestCase_assert(cameraPtr->position.x == 0.0f, "Expected 0 but got %f", cameraPtr->position.x); TestCase_assert(cameraPtr->position.y == 0.0f, "Expected 0 but got %f", cameraPtr->position.y); TestCase_assert(cameraPtr->position.z == 0.0f, "Expected 0 but got %f", cameraPtr->position.z); TestCase_assert(cameraPtr->dispose != NULL, "Method unexpectedly NULL"); TestCase_assert(cameraPtr->getMatrix != NULL, "Method unexpectedly NULL"); cameraPtr->dispose(cameraPtr); Camera_init(&cameraStruct); TestCase_assert(cameraStruct.orientation.x == 0.0f, "Expected 0 but got %f", cameraStruct.orientation.x); TestCase_assert(cameraStruct.orientation.y == 0.0f, "Expected 0 but got %f", cameraStruct.orientation.y); TestCase_assert(cameraStruct.orientation.z == 0.0f, "Expected 0 but got %f", cameraStruct.orientation.z); TestCase_assert(cameraStruct.orientation.w == 1.0f, "Expected 1 but got %f", cameraStruct.orientation.w); TestCase_assert(cameraStruct.position.x == 0.0f, "Expected 0 but got %f", cameraStruct.position.x); TestCase_assert(cameraStruct.position.y == 0.0f, "Expected 0 but got %f", cameraStruct.position.y); TestCase_assert(cameraStruct.position.z == 0.0f, "Expected 0 but got %f", cameraStruct.position.z); TestCase_assert(cameraStruct.dispose != NULL, "Method unexpectedly NULL"); TestCase_assert(cameraStruct.getMatrix != NULL, "Method unexpectedly NULL"); cameraStruct.dispose(&cameraStruct); }
// Initialize Hardware void Initialize(void) { RESET_Write(0); CyDelay(100); RESET_Write(1); CyDelay(100); PAN_Start(); TILT_Start(); PAN_WriteCompare(new_pan); TILT_WriteCompare(new_tilt); I2CM_Start(); Camera_init(); CyDelay(1000); }
void testGetMatrix() { Camera camera; Matrix matrix; Camera_init(&camera); matrix = camera.getMatrix(&camera); assertMatrixApproximate(matrix, 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.00001f); camera.orientation = Quaternion_fromAxisAngle(Vector3_init(0.0f, 1.0f, 0.0f), M_PI); camera.position = Vector3_init(1.0f, -1.0f, 2.0f); matrix = camera.getMatrix(&camera); assertMatrixApproximate(matrix, -1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, 0.0f, 1.0f, 0.0f, 0.0f, -1.0f, 2.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.00001f); }
Camera *Camera_new() { return Camera_init(malloc(sizeof(Camera))); }