Mode2 semi-fonctionnel
This commit is contained in:
parent
3103c237df
commit
3be628497b
58
src/main.cpp
58
src/main.cpp
@ -97,7 +97,7 @@ enum etat_t test_ping()
|
||||
}
|
||||
|
||||
enum etat_t configure_servomoteur(){
|
||||
sms_sts.writeByte(SERVO_ID, SMS_STS_MODE, 1); // Choix du mode
|
||||
sms_sts.writeByte(SERVO_ID, SMS_STS_MODE, 2); // Choix du mode
|
||||
|
||||
// On remet par défaut les butées
|
||||
sms_sts.writeByte(SERVO_ID, 0x09, 0); // Butée min à 0
|
||||
@ -117,52 +117,56 @@ enum etat_t configure_servomoteur(){
|
||||
}
|
||||
|
||||
enum etat_t mouvement_servomoteur(){
|
||||
static int vitesse=500;
|
||||
static int commande_moteur=800;
|
||||
static int temps_pas_ms = 0;
|
||||
static int temps_aff_ms = 0;
|
||||
int vitesse_lue;
|
||||
int commande_moteur;
|
||||
int commande_moteur_lue, neg;
|
||||
char tampon[200];
|
||||
/// Toutes les 500 ms
|
||||
if(millis() - temps_pas_ms > 1000 ){
|
||||
int commande_moteur_tmp;
|
||||
temps_pas_ms = millis();
|
||||
// On avance ou recule de d'un pas
|
||||
vitesse = -vitesse;
|
||||
commande_moteur = -commande_moteur;
|
||||
|
||||
//sms_sts.writeByte(SERVO_ID, position, 4800);
|
||||
sms_sts.WriteSpe(SERVO_ID, vitesse);
|
||||
//sms_sts.writeByte(SERVO_ID, 0x2C, 0xFF);
|
||||
//sms_sts.writeByte(SERVO_ID, 0x2D, 0x05);
|
||||
commande_moteur_tmp = commande_moteur;
|
||||
neg = 0;
|
||||
if(commande_moteur_tmp < 0){
|
||||
neg = 1;
|
||||
commande_moteur_tmp = -commande_moteur_tmp;
|
||||
}
|
||||
|
||||
//sms_sts.writeByte(SERVO_ID, 0x2C, commande_moteur_tmp & 0xFF);
|
||||
//sms_sts.writeByte(SERVO_ID, 0x2D, ((commande_moteur_tmp>>8) & 0xFF) );
|
||||
|
||||
sms_sts.writeWord(SERVO_ID, 0x2C, commande_moteur_tmp | neg << 10);
|
||||
|
||||
|
||||
}
|
||||
|
||||
if(millis() - temps_aff_ms > 10 ){
|
||||
temps_aff_ms = millis();
|
||||
|
||||
commande_moteur = -1;
|
||||
commande_moteur = sms_sts.readWord(SERVO_ID, SMS_STS_PRESENT_LOAD_L);
|
||||
if(commande_moteur != -1){
|
||||
sprintf(tampon, ">cde_moteur_brute:%d\n", commande_moteur);
|
||||
sprintf(tampon, ">cde_moteur:%d\n", commande_moteur);
|
||||
Serial.print(tampon);
|
||||
|
||||
commande_moteur_lue = -1;
|
||||
commande_moteur_lue = sms_sts.readWord(SERVO_ID, SMS_STS_PRESENT_LOAD_L);
|
||||
if(commande_moteur_lue != -1){
|
||||
Serial.print(tampon);
|
||||
if(commande_moteur&(1<<10)){
|
||||
commande_moteur &= 0x3FF;
|
||||
commande_moteur = - commande_moteur;
|
||||
if(commande_moteur_lue&(1<<10)){
|
||||
commande_moteur_lue &= 0x3FF;
|
||||
commande_moteur_lue = - commande_moteur_lue;
|
||||
}
|
||||
|
||||
if(commande_moteur != 32769){
|
||||
sprintf(tampon, ">cde_moteur:%d\n", commande_moteur);
|
||||
if(commande_moteur_lue != 32769){
|
||||
sprintf(tampon, ">cde_moteur_lue:%d\n", commande_moteur_lue);
|
||||
}
|
||||
Serial.print(tampon);
|
||||
}
|
||||
|
||||
sprintf(tampon, ">cde_moteur_lib:%d\n", sms_sts.ReadLoad(SERVO_ID));
|
||||
Serial.print(tampon);
|
||||
|
||||
sprintf(tampon, ">vit_consigne:%d\n", vitesse);
|
||||
Serial.print(tampon);
|
||||
|
||||
vitesse_lue = sms_sts.ReadSpeed(SERVO_ID);
|
||||
if(vitesse_lue != 32769){
|
||||
sprintf(tampon, ">vit_actuelle:%d\n", vitesse_lue);
|
||||
}
|
||||
Serial.print(tampon);
|
||||
}
|
||||
|
||||
return EN_COURS;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user