nucleo-l432kcのテンプレートです。

Dependencies:   mbed ros_lib_kinetic

Committer:
TanakaRobo
Date:
Thu Aug 15 08:58:21 2019 +0000
Revision:
4:47f17b5ac6e7
scrp_master added

Who changed what in which revision?

UserRevisionLine numberNew contents of line
TanakaRobo 4:47f17b5ac6e7 1 #ifndef SCRP_SLAVE_H
TanakaRobo 4:47f17b5ac6e7 2 #define SCRP_SLAVE_H
TanakaRobo 4:47f17b5ac6e7 3 #include "mbed.h"
TanakaRobo 4:47f17b5ac6e7 4
TanakaRobo 4:47f17b5ac6e7 5 /*USBでPCにつなぐポートと、基板上でRasPiとつなぐポートを同時に開く。
TanakaRobo 4:47f17b5ac6e7 6 *RedePinの有り無しの選択、ポートを一つだけ開くことも可。
TanakaRobo 4:47f17b5ac6e7 7 *以下から選択。
TanakaRobo 4:47f17b5ac6e7 8 *ScrpMaster(PinName TX1,PinName RX1,uint32_t addr);//RedePinなし、1ポート
TanakaRobo 4:47f17b5ac6e7 9 *ScrpMaster(PinName TX1,PinName RX1,PinName REDE1,uint32_t addr);//RedePinあり、1ポート
TanakaRobo 4:47f17b5ac6e7 10 *ScrpMaster(PinName TX1,PinName RX1,PinName TX2,PinName RX2,uint32_t addr);//RedePinなし、2ポート
TanakaRobo 4:47f17b5ac6e7 11 *ScrpMaster(PinName TX1,PinName RX1,PinName REDE1,PinName TX2,PinName RX2,uint32_t addr);//RedePinあり、1ポート+RedePinなし、1ポート
TanakaRobo 4:47f17b5ac6e7 12 *example not usb port
TanakaRobo 4:47f17b5ac6e7 13 *L432KC : TX = PA_9 , RX = PA_10 , REDE = PA_12 , addr = 0x0803e000
TanakaRobo 4:47f17b5ac6e7 14 *F446RE : TX = PC_12 , RX = PD_2 , RDDE = PH_1 , addr = 0x0807ffff
TanakaRobo 4:47f17b5ac6e7 15 */
TanakaRobo 4:47f17b5ac6e7 16 //ScrpMaster slave(SERIAL_TX,SERIAL_RX);
TanakaRobo 4:47f17b5ac6e7 17
TanakaRobo 4:47f17b5ac6e7 18 inline int constrain(int x,int a,int b){
TanakaRobo 4:47f17b5ac6e7 19 return (x < a ? a : x > b ? b : x);
TanakaRobo 4:47f17b5ac6e7 20 }
TanakaRobo 4:47f17b5ac6e7 21
TanakaRobo 4:47f17b5ac6e7 22 inline double constrain(double x,double a,double b){
TanakaRobo 4:47f17b5ac6e7 23 return (x < a ? a : x > b ? b : x);
TanakaRobo 4:47f17b5ac6e7 24 }
TanakaRobo 4:47f17b5ac6e7 25
TanakaRobo 4:47f17b5ac6e7 26 class ScrpMaster{
TanakaRobo 4:47f17b5ac6e7 27 public:
TanakaRobo 4:47f17b5ac6e7 28 ScrpMaster(PinName TX1,PinName RX1);//RedePinなし、1ポート
TanakaRobo 4:47f17b5ac6e7 29 ScrpMaster(PinName TX1,PinName RX1,PinName REDE1);//RedePinあり、1ポート
TanakaRobo 4:47f17b5ac6e7 30 ScrpMaster(PinName TX1,PinName RX1,PinName TX2,PinName RX2);//RedePinなし、2ポート
TanakaRobo 4:47f17b5ac6e7 31 ScrpMaster(PinName TX1,PinName RX1,PinName REDE1,PinName TX2,PinName RX2);//RedePinあり、1ポート+RedePinなし、1ポート
TanakaRobo 4:47f17b5ac6e7 32 ~ScrpMaster();
TanakaRobo 4:47f17b5ac6e7 33 void setTimeout(int);
TanakaRobo 4:47f17b5ac6e7 34 int send(uint8_t id,uint8_t cmd,int16_t tx_data);
TanakaRobo 4:47f17b5ac6e7 35 int send2(uint8_t id,uint8_t cmd,int16_t tx_data);
TanakaRobo 4:47f17b5ac6e7 36 private:
TanakaRobo 4:47f17b5ac6e7 37 DigitalOut *rede_;
TanakaRobo 4:47f17b5ac6e7 38 Serial *serial_[2];
TanakaRobo 4:47f17b5ac6e7 39 uint8_t mode_;
TanakaRobo 4:47f17b5ac6e7 40 int timeout_;
TanakaRobo 4:47f17b5ac6e7 41 int sending(int,uint8_t,uint8_t,int16_t);
TanakaRobo 4:47f17b5ac6e7 42 void init(PinName,PinName);
TanakaRobo 4:47f17b5ac6e7 43 };
TanakaRobo 4:47f17b5ac6e7 44
TanakaRobo 4:47f17b5ac6e7 45 #endif /* SCRP_SLAVE_H */