]> rtime.felk.cvut.cz Git - eurobot/public.git/commitdiff
Now it's possible to set the speed of laser motors.
authorTran Duy Khanh <trandk1@fel.cvut.cz>
Tue, 29 Apr 2008 10:07:21 +0000 (12:07 +0200)
committerTran Duy Khanh <trandk1@fel.cvut.cz>
Tue, 29 Apr 2008 10:07:21 +0000 (12:07 +0200)
src/cand/eb2008/cand_eb2008.cc
src/laser-io/laser-rotaring.c
src/robofsm/eb2008/servos_eb2008.c
src/robofsm/eb2008/servos_eb2008.h
src/robomon/src2/RobomonExplorer.cpp
src/types/robottype_eb2008.c
src/types/robottype_eb2008.h
src/types/robottype_eb2008.idl

index 02e49d2c6072ccb4bb574ed2dc77721440c2347c..060cab392cd02755a8449ea95cd7f3466fa014fe 100644 (file)
@@ -141,7 +141,7 @@ int set_laser_cmd(struct eb2008_orte_data *orte_data)
 {
        unsigned char data[1];
 
-       data[0] = orte_data->laser_cmd.engine;
+       data[0] = orte_data->laser_cmd.speed;
        can_send(CAN_LAS_CMD, 1, data);
 
        return 0;
index 0742c2104f8df69a5c46471e13219ad0c6253d9f..17e6ac2aa26fbfc652bc6d6cc8820f1e1aa8ee05 100644 (file)
@@ -342,12 +342,17 @@ void init_engine(void)
 //     pxmc_spd(&mcs1, -1800, 0);
 }
 
-void engine_run()
+void engine_run(char speed)
 {
+       if (speed > 6)
+               speed = 6;
+       else if (speed < -6)
+               speed = -6;
+
 #ifdef USE_IRC
-       pxmc_spd(&mcs0, (-1)*DIRECTION*1800, 0);
+       pxmc_spd(&mcs0, (-1)*DIRECTION*(speed)*1800, 0);
 #else
-       pxmc_spd(&mcs0, DIRECTION*5400, 0);
+       pxmc_spd(&mcs0, DIRECTION*(speed)*5400, 0);
 #endif
 }
 
@@ -461,7 +466,7 @@ void can_laser_receive()
                                if (msg_rcv.data[0] == 0)
                                        engine_stop();
                                else
-                                       engine_run();
+                                       engine_run(msg_rcv.data[0]);
 
                                break;
                }
index c9e5e65409dd12bc155a01b17ffee1ddcdb17f64..0c3028ea2c268ab20630e452f3e337f5dcfd73cd 100644 (file)
@@ -115,11 +115,11 @@ void set_carousel(unsigned char position)
 
 void on_laser_engine()
 {
-       robot.orte.laser_cmd.engine = LASER_ENGINE_ON;
+       robot.orte.laser_cmd.speed = LASER_ENGINE_ON;
 }
 
 void off_laser_engine()
 {
-       robot.orte.laser_cmd.engine = LASER_ENGINE_OFF;
+       robot.orte.laser_cmd.speed = LASER_ENGINE_OFF;
 }
 
index 692bcf2fb36eb29eae43a8034494ee412272ee5d..60b3770a91f55d1b213b51b8f34dc88ce197c779 100644 (file)
@@ -92,7 +92,7 @@
 #endif
 
 #ifndef LASER_ENGINE_ON
-#define LASER_ENGINE_ON 1
+#define LASER_ENGINE_ON 3
 #endif
 
 #ifndef LASER_ENGINE_OFF
index 952966eac8cb2a8a7b3abfcd3fcd5916143b11d2..85482218ac49c31fa29d6be538239b6ea9635d47 100644 (file)
@@ -662,9 +662,9 @@ void RobomonExplorer::setDO(int state)
 void RobomonExplorer::setLaser(int state) {
 
        if(state)
-               orte_eb2008.laser_cmd.engine = LASER_ENGINE_ON;
+               orte_eb2008.laser_cmd.speed = LASER_ENGINE_ON;
        else
-               orte_eb2008.laser_cmd.engine = LASER_ENGINE_OFF;
+               orte_eb2008.laser_cmd.speed = LASER_ENGINE_OFF;
        ORTEPublicationSend(orte_eb2008.publication_laser_cmd);
 }
 
index e7dddb11b78fc41f71e51a7504c8856f13a24818..d26868eebdcdfdcea04fa5d7ee8ee1d1f19b83f4 100644 (file)
@@ -97,12 +97,12 @@ drives_type_register(ORTEDomain *d) {
 /****************************************************************/
 
 void laser_cmd_serialize(CDR_Codec *cdrCodec,laser_cmd *object) {
-  CORBA_octet_serialize(cdrCodec,&(object->engine));
+  CORBA_octet_serialize(cdrCodec,&(object->speed));
 }
 
 void
 laser_cmd_deserialize(CDR_Codec *cdrCodec,laser_cmd *object) {
-  CORBA_octet_deserialize(cdrCodec,&(object->engine));
+  CORBA_octet_deserialize(cdrCodec,&(object->speed));
 }
 
 int
index 4ba7de44bf17106cb36fa92c259cae76bf928c7e..5f33783386476f54fb64a3b6ee257ea43e27288b 100644 (file)
@@ -42,7 +42,7 @@ CORBA_octet carousel_pos;
 #define _laser_cmd_defined 1
 typedef struct laser_cmd_type laser_cmd;
 struct laser_cmd_type {
-CORBA_octet engine;
+CORBA_octet speed;
 };
 
 #endif
index 61d5e915085df4ddbddf4500ac05cd7971858a3e..edde17dac6321de1a1ae1751900194c882cee13d 100644 (file)
@@ -15,7 +15,7 @@ struct drives {
 };
 
 struct laser_cmd {
-       octet engine;
+       octet speed;
 };
 
 struct laser_data {