Base::Base() : Element() { float motorDistance = 46.188; // Positions des moteurs par rapport au referenciel des moteurs Vec3f motor1(sin(deg2Rad(36.28f))*motorDistance, cos(deg2Rad(36.28f)) *motorDistance, 0); Vec3f motor3(-(cos(deg2Rad(36.28f-30.0f))*motorDistance), sin(deg2Rad(36.28f-30.0f))*motorDistance, 0); Vec3f motor2(sin(deg2Rad(60.0f-36.28f))*motorDistance, -(cos(deg2Rad(60.0f -36.28f))*motorDistance), 0); osg::Node* node = osgDB::readNodeFile("data/base.stl"); node->setStateSet(createTransparency(0.5)); // Centering the model osg::MatrixTransform* modelTransform = new osg::MatrixTransform(); modelTransform->setMatrix(osg::Matrix::translate(0, 0, -5)); modelTransform->addChild(node); osg::MatrixTransform* transform = new osg::MatrixTransform(); transform->addChild(modelTransform); transform->setMatrix(osg::Matrix::translate( 0, 0, 0)); model->addChild(transform); }
void remote_controlled(void) { /*¨Parts: -Leds (L) -Motors (M) -servos (S) -complete movement (R) */ char part; int opt1=0; int opt2=0; int opt3=0; //scanf("%1c%1i%3i%3i",&part,&opt1,&opt2,&opt3); scanf("%1c%1i%3i",&part,&opt1,&opt2); switch (part) { /* Motors M+#of motor + speed (99 to -99) */ case 'M': switch (opt1) { case 1: motor1(opt2); break; case 2: motor2(opt2); break; case 3: motor3(opt2); break; case 4: motor4(opt2); break; } break; case 'R': move(opt2,opt3); break; case 'S': switch(opt1) { case 1: pwm_update(SERVO_0,opt2); break; case 2: pwm_update(SERVO_1,opt2); break; case 3: pwm_update(SERVO_2,opt2); break; case 4: pwm_update(SERVO_3,opt2); break; } break; /* Leds, L + # of led + option L1000 turn off led 1 L1001 turn on led 1 L1002 toggle led 1 */ case 'L': switch (opt1) { case 1: switch(opt2) { case 0: ioport_set_pin_level(LED1,0); break; case 1: ioport_set_pin_level(LED1,1); break; case 2: ioport_toggle_pin_level(LED1); break; } break; case 2: switch(opt2) { case 0: ioport_set_pin_level(LED2,0); break; case 1: ioport_set_pin_level(LED2,1); break; case 2: ioport_toggle_pin_level(LED2); break; } break; case 3: switch(opt2) { case 0: ioport_set_pin_level(LED3,0); break; case 1: ioport_set_pin_level(LED3,1); break; case 2: ioport_toggle_pin_level(LED3); break; } break; case 4: switch(opt2) { case 0: ioport_set_pin_level(LED4,0); break; case 1: ioport_set_pin_level(LED4,1); break; case 2: ioport_toggle_pin_level(LED4); break; } break; case 5: switch(opt2) { case 0: ioport_set_pin_level(LED5,0); break; case 1: ioport_set_pin_level(LED5,1); break; case 2: ioport_toggle_pin_level(LED5); break; } break; case 6: switch(opt2) { case 0: ioport_set_pin_level(LED6,0); break; case 1: ioport_set_pin_level(LED6,1); break; case 2: ioport_toggle_pin_level(LED6); break; } break; } // case 'M': // break; // // case 'S': // break; // // case 'R': // break; } }