ikarashiMDCの2byteバージョン

Dependents:   NHK2019_mae_v6 NHK2019_main_v6 NHK2019_usiro_v6 2019BSyudo ... more

Committer:
skouki
Date:
Tue Sep 03 05:08:36 2019 +0000
Revision:
17:97bb662f1e1f
Parent:
14:d5ace3e9a620

        

Who changed what in which revision?

UserRevisionLine numberNew contents of line
WAT34 0:314f2bed3958 1 #ifndef IKARASHIMDC_H
WAT34 0:314f2bed3958 2 #define IKARASHIMDC_H
WAT34 0:314f2bed3958 3
WAT34 0:314f2bed3958 4 #include "mbed.h"
WAT34 13:ea34af94e90c 5 #include "algorithm"
WAT34 0:314f2bed3958 6
WAT34 2:75153205d6e8 7 #define LAP 0
WAT34 2:75153205d6e8 8 #define SM 1
WAT34 3:615ccca78f67 9 /**
WAT34 3:615ccca78f67 10 * @file ikarashiMDC.h
WAT34 3:615ccca78f67 11 * @Author Wataru Nakata
WAT34 3:615ccca78f67 12 * @date August, 2017
WAT34 3:615ccca78f67 13 * @brief ikarashi MDC class header file.
WAT34 3:615ccca78f67 14 *
WAT34 3:615ccca78f67 15 * MDC control libraly. creates object for each motors.
WAT34 3:615ccca78f67 16 */
WAT34 3:615ccca78f67 17
WAT34 2:75153205d6e8 18 /** Ikarashi MDC class
WAT34 2:75153205d6e8 19 * MDC libraly
WAT34 2:75153205d6e8 20 *Example :
WAT34 2:75153205d6e8 21 *@code
WAT34 11:de577e4080b2 22 #include "mbed.h"
WAT34 11:de577e4080b2 23 #include "ikarashiMDC.h"
WAT34 11:de577e4080b2 24 Serial serial(PC_10,PC_11);
WAT34 11:de577e4080b2 25 DigitalOut serialcontrol(D2);
WAT34 2:75153205d6e8 26 *
WAT34 11:de577e4080b2 27 ikarashiMDC ikarashi[]{
WAT34 2:75153205d6e8 28 * ikarashiMDC(&serialcontrol,2,2,SM,&serial),
WAT34 2:75153205d6e8 29 * ikarashiMDC(&serialcontrol,2,3,LAP,&serial),
WAT34 11:de577e4080b2 30 };
WAT34 11:de577e4080b2 31 PwmOut pwm(LED1);
WAT34 2:75153205d6e8 32 *
WAT34 11:de577e4080b2 33 int main() {
WAT34 11:de577e4080b2 34 * serial.baud(38400);
WAT34 2:75153205d6e8 35 * float i = -1;
WAT34 2:75153205d6e8 36 * while(1) {
WAT34 2:75153205d6e8 37 * ikarashi[0].setSpeed(i);
WAT34 2:75153205d6e8 38 * ikarashi[1].setSpeed(i);
WAT34 2:75153205d6e8 39 * i += 0.01;
WAT34 11:de577e4080b2 40 * pwm = fabs(i);
WAT34 2:75153205d6e8 41 * wait_ms(20);
WAT34 2:75153205d6e8 42 * if(i >= 1) i = -1;
WAT34 2:75153205d6e8 43 * }
WAT34 11:de577e4080b2 44 }
WAT34 2:75153205d6e8 45 *@endcode
WAT34 2:75153205d6e8 46 **/
WAT34 1:5e8014a1adbd 47 class ikarashiMDC
WAT34 2:75153205d6e8 48 {
WAT34 0:314f2bed3958 49 public:
WAT34 2:75153205d6e8 50 /** Create ikarashiMDC inctance
WAT34 2:75153205d6e8 51 * @param address of cs pin for rs485
WAT34 2:75153205d6e8 52 * @param addr for MDC
WAT34 2:75153205d6e8 53 * @param ch for motor
WAT34 2:75153205d6e8 54 * @param mdc mode (LAP or SM)
WAT34 2:75153205d6e8 55 * @param address of serial object
WAT34 2:75153205d6e8 56 **/
skouki 14:d5ace3e9a620 57 ikarashiMDC(uint8_t taddr,uint8_t tmotorNum,bool tmode,Serial *tserial);
WAT34 2:75153205d6e8 58
WAT34 2:75153205d6e8 59 /** drive motor
WAT34 2:75153205d6e8 60 * @param speed of motor -1 to 1
WAT34 2:75153205d6e8 61 **/
WAT34 2:75153205d6e8 62 int setSpeed(const double& speed);
WAT34 7:a8fcb8df927a 63 bool braking;
WAT34 2:75153205d6e8 64
WAT34 0:314f2bed3958 65 protected:
WAT34 0:314f2bed3958 66 uint8_t addr;
WAT34 0:314f2bed3958 67 uint8_t motorNum;
WAT34 2:75153205d6e8 68 bool mode;
WAT34 0:314f2bed3958 69 Serial* serial;
WAT34 0:314f2bed3958 70
WAT34 0:314f2bed3958 71 };
WAT34 2:75153205d6e8 72 void estop(Serial *serial);
WAT34 1:5e8014a1adbd 73
WAT34 0:314f2bed3958 74 #endif