4/2にちゃんと動いたやつ

Dependencies:   mbed SBDBT arrc_mbed

main.cpp

Committer:
guesta
Date:
2022-02-03
Revision:
7:59be95fceafa
Parent:
6:fd9b59f828e8
Child:
8:e76d6c16d7af

File content as of revision 7:59be95fceafa:

#include "mbed.h"
#include "scrp_slave.hpp"
#include "sbdbt.hpp"

int main(){
//---------------初期設定---------------
    //scrp_slave
    ScrpSlave scrp(PC_12,PD_2,PH_1,0x0807f800);
    
    //sbdbt
    sbdbt sb(A0,A1);
        
    //scrp_slaveのid設定
    const int wheel_num = 1;
    const int BeanbagGet_num = 2;
    const int BeanbagShot_num = 3;
    const int TakoGetPut_num = 4;
    const int tape_LED_num = 5;
    const int remort_stop_num = 6;
    const int send_all = 255;
    
    //コマンド番号設定
    //足回り用
    const int x_component_cmd = 1;
    const int y_component_cmd = 2;
    const int l2_cmd = 3;
    const int r2_cmd = 4;
    const int l1_cmd = 5;
    
    //ビーンバッグ回収用
    
    //ビーンバッグ発射用
    const int load = 3;
    const int revolver = 4;
    const int back = 5;
    const int shot = 6;
    
    //農作物回収・設置用
    const int up = 1;
    const int down = 2;
    
    //テープLED用
    
    //遠隔非常停止受信用
    
    //全体送信用
    const int select = 50;//手動・自動切り替え
    const int stop_all = 51;//全プログラム停止
    
    //変数
    bool auto_mode = false;
    bool auto_start;
    int x_component;
    int y_component;
    int l2_num;
    int r2_num;
//-------------------------------------

    while(true){
        sb.button_state();
        x_component = sb.rsx();
        y_component = sb.rsy();
        l2_num = sb.l2An();
        r2_num = sb.r2An();
        if(select() == 1){
            auto_mode =! auto_mode;
        }
        
        //足回り
        scrp.send1(wheel_num,x_component_cmd,x_component);
        wait_ms(2);
        scrp.send1(wheel_num,y_component_cmd,y_component);
        wait_ms(2);
        scrp.send1(wheel_num,l2_cmd,l2_num);
        wait_ms(2);
        scrp.send1(wheel_num,r2_cmd,r2_num);
        wait_ms(2);
        scrp.send1(wheel_num,l1_cmd,sb.l1());
        wait_ms(2);
        
        //ビーンバッグ回収
        
        //ビーンバッグ発射
        if(auto_mode == true){
            scrp.send1(BeanbagShot_num,load,down());
            wait_ms(2);
            scrp.send1(BeanbagShot_num,revolver,right());
            wait_ms(2);
            scrp.send1(BeanbagShot_num,back,up());
            wait_ms(2);
            scrp.send1(BeanbagShot_num,shot,left());
            wait_ms(2);
        }
        
        //農作物回収・設置
        
        //全体送信
        scrp.send1(send_all,select,auto_mode);//自動・手動モード切り替え
        wait_ms(1);
    }
}