ikarashiMDCの2byteバージョン

Dependents:   NHK2019_mae_v6 NHK2019_main_v6 NHK2019_usiro_v6 2019BSyudo ... more

Committer:
WAT34
Date:
Sat Sep 02 14:34:55 2017 +0000
Revision:
11:de577e4080b2
Parent:
7:a8fcb8df927a
Child:
13:ea34af94e90c
documet fixed;

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