ichinoseki_Bteam_2019 / Mycan

Dependents:   2019_SwitchNode_AR ArmNode 2919_LineSensor 2019_MD ... more

Mycan.h

Committer:
Kirua
Date:
2018-07-04
Revision:
1:e632e292a8c2
Parent:
0:ce8efac4c651
Child:
3:055c2d38132f

File content as of revision 1:e632e292a8c2:

#ifndef MYCAN_H
#define MYCAN_H

#include "mbed.h"

class Mycan
{
    public:
        Mycan(PinName _pin_rd, PinName _pin_td);//※最小IDを.cppの”min_id”で1にセットしている, ”read_val[→ここ][]”の数はIDの個数(結局IDは1~10の設定になっている)
        
        void set (unsigned int _id, int _num, short int _data);//Messageの設定をする, numは1~7とする
        
        void send ();//書き込み
        
        void read ();//読み込み
        
        float get(unsigned int _id, int _num);//readした値を持ってくる, IDやnumはコンストラクタと一緒

    private:
        CAN can;
        unsigned int rd_id, td_id;
        int rd_num, td_num;
        unsigned int min_id;
        short int data;
        static short int write_val[8];
        static short int read_val[10][8];
        void _expressAbsoluteValue();
        void _expressSignVal(unsigned int);
        
        typedef struct
        {
            char writeVal_0;
            char writeVal_1;
            char writeVal_2;
            char writeVal_3;
            char writeVal_4;
            char writeVal_5;
            char writeVal_6;
            char writeVal_7;
        }write_can;
        
        write_can td_data;
        
        typedef struct
        {
            char readVal_0;
            char readVal_1;
            char readVal_2;
            char readVal_3;
            char readVal_4;
            char readVal_5;
            char readVal_6;
            char readVal_7;
        }read_can;
        
        read_can rd_data;
};
#endif