ikarashiMDCの2byteバージョン
Dependents: NHK2019_mae_v6 NHK2019_main_v6 NHK2019_usiro_v6 2019BSyudo ... more
ikarashiMDC.h@13:ea34af94e90c, 2017-11-11 (annotated)
- Committer:
- WAT34
- Date:
- Sat Nov 11 10:50:30 2017 +0000
- Revision:
- 13:ea34af94e90c
- Parent:
- 11:de577e4080b2
- Child:
- 14:d5ace3e9a620
bugs fixed;
Who changed what in which revision?
User | Revision | Line number | New 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 | **/ |
WAT34 | 2:75153205d6e8 | 57 | ikarashiMDC(DigitalOut* serialcontrol,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 | 2:75153205d6e8 | 70 | DigitalOut *serialControl; |
WAT34 | 0:314f2bed3958 | 71 | |
WAT34 | 0:314f2bed3958 | 72 | }; |
WAT34 | 2:75153205d6e8 | 73 | void estop(Serial *serial); |
WAT34 | 1:5e8014a1adbd | 74 | |
WAT34 | 0:314f2bed3958 | 75 | #endif |