シリアルコントロール消した
Dependents: kobayashi_rei kobayashi_rei
ikarashiMDC.h@7:a8fcb8df927a, 2017-08-30 (annotated)
- Committer:
- WAT34
- Date:
- Wed Aug 30 06:55:32 2017 +0000
- Revision:
- 7:a8fcb8df927a
- Parent:
- 3:615ccca78f67
- Child:
- 11:de577e4080b2
braking added;
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 | 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 | 2:75153205d6e8 | 21 | *#include "mbed.h" |
WAT34 | 2:75153205d6e8 | 22 | *#include "ikarashiMDC.h" |
WAT34 | 2:75153205d6e8 | 23 | *Serial serial(PC_10,PC_11); |
WAT34 | 2:75153205d6e8 | 24 | *DigitalOut serialcontrol(D2); |
WAT34 | 2:75153205d6e8 | 25 | * |
WAT34 | 2:75153205d6e8 | 26 | *ikarashiMDC ikarashi[]{ |
WAT34 | 2:75153205d6e8 | 27 | * ikarashiMDC(&serialcontrol,2,2,SM,&serial), |
WAT34 | 2:75153205d6e8 | 28 | * ikarashiMDC(&serialcontrol,2,3,LAP,&serial), |
WAT34 | 2:75153205d6e8 | 29 | *}; |
WAT34 | 2:75153205d6e8 | 30 | *PwmOut pwm(LED1); |
WAT34 | 2:75153205d6e8 | 31 | * |
WAT34 | 2:75153205d6e8 | 32 | *int main() { |
WAT34 | 2:75153205d6e8 | 33 | * serial.baud(115200); |
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 | 2:75153205d6e8 | 39 | S* pwm = fabs(i); |
WAT34 | 2:75153205d6e8 | 40 | * wait_ms(20); |
WAT34 | 2:75153205d6e8 | 41 | * if(i >= 1) i = -1; |
WAT34 | 2:75153205d6e8 | 42 | * } |
WAT34 | 2:75153205d6e8 | 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 |