![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
sampleProgram
Dependencies: QEI accelerator bit_test cyclic_io cyclic_var cylinder event_var limit mbed mecanum motor_drive pid pid_encoder rs422_put sbdbt servo
Fork of 17robo_fuzi by
Diff: cylinder.h
- Revision:
- 15:0fdf483769bf
diff -r aac2f18f6779 -r 0fdf483769bf cylinder.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cylinder.h Fri Aug 04 01:35:16 2017 +0000 @@ -0,0 +1,64 @@ +/* + ★サイクリック★ +サイクリックでピンをHigh/Lowするクラスです。 +①定義方法 + Cyclic_IO [name]( pin ); + | + +--サイクリックでHigh/LowさせたいDigitalOutピン + +②関数 + その1 + void cyclic(int state) : ピンをサイクリックでHigh/Lowさせる関数。 + | + +-- ボタンの入力状況を1 or 0で入れてください。 + DigitalInのRead()を入れると一発で動きます。 + + その2 + int getState() : ピンの出力状況を1 or 0で返す関数。 + 出力されてたら1、されてなかったら0を返します +*/ + +#ifndef CYLINDER_H +#define CYLINDER_H + +#include "mbed.h" + +class Cylinder +{ + public: + Cylinder(PinName pin_in,PinName pin_out):cylinder_in(pin_in),cylinder_out(pin_out){ + cylinder_in = 1; + cylinder_out = 0; + } + + void cyclic(int state) + { + if(state) + { + if(flag == false) + { + cylinder_in = !cylinder_in; + cylinder_out = !cylinder_out; + } + flag = true; + } + else flag = false; + } + + int getInState() + { + return (int)cylinder_in; + } + + int getOutState() + { + return (int)cylinder_out; + } + + private: + DigitalOut cylinder_in; + DigitalOut cylinder_out; + bool flag; +}; + +#endif \ No newline at end of file