Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: USBDevice mbed motor
Fork of mbed_mainboard_source by
definitions.h@0:da5127da2ba0, 2016-10-13 (annotated)
- Committer:
- kolibakter
- Date:
- Thu Oct 13 15:25:01 2016 +0000
- Revision:
- 0:da5127da2ba0
Added copy from https://github.com/jaantti/Mainboard-mbed-source. Made some changes to serial comminucation.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
kolibakter | 0:da5127da2ba0 | 1 | #ifndef DEFINITIONS_H_ |
kolibakter | 0:da5127da2ba0 | 2 | #define DEFINITIONS_H_ value |
kolibakter | 0:da5127da2ba0 | 3 | |
kolibakter | 0:da5127da2ba0 | 4 | #define NUMBER_OF_MOTORS 3 |
kolibakter | 0:da5127da2ba0 | 5 | |
kolibakter | 0:da5127da2ba0 | 6 | #define MOTOR_PWM(n) MOTOR ## n ## _PWM |
kolibakter | 0:da5127da2ba0 | 7 | #define MOTOR_DIR1(n) MOTOR ## n ## _DIR1 |
kolibakter | 0:da5127da2ba0 | 8 | #define MOTOR_DIR2(n) MOTOR ## n ## _DIR2 |
kolibakter | 0:da5127da2ba0 | 9 | #define MOTOR_FAULT(n) MOTOR ## n ## _FAULT |
kolibakter | 0:da5127da2ba0 | 10 | #define MOTOR_ENCA(n) MOTOR ## n ## _ENCA |
kolibakter | 0:da5127da2ba0 | 11 | #define MOTOR_ENCB(n) MOTOR ## n ## _ENCB |
kolibakter | 0:da5127da2ba0 | 12 | |
kolibakter | 0:da5127da2ba0 | 13 | #define MOTOR_ENC_TICK(i) void motor ## i ## EncTick() { \ |
kolibakter | 0:da5127da2ba0 | 14 | uint8_t enc_dir; \ |
kolibakter | 0:da5127da2ba0 | 15 | motorEncNow[i] = MotorEncA[i]->read() | (MotorEncB[i]->read() << 1); \ |
kolibakter | 0:da5127da2ba0 | 16 | enc_dir = (motorEncLast[i] & 1) ^ ((motorEncNow[i] & 2) >> 1); \ |
kolibakter | 0:da5127da2ba0 | 17 | motorEncLast[i] = motorEncNow[i]; \ |
kolibakter | 0:da5127da2ba0 | 18 | \ |
kolibakter | 0:da5127da2ba0 | 19 | if (enc_dir & 1) motorTicks[i]++; \ |
kolibakter | 0:da5127da2ba0 | 20 | else motorTicks[i]--; \ |
kolibakter | 0:da5127da2ba0 | 21 | } |
kolibakter | 0:da5127da2ba0 | 22 | |
kolibakter | 0:da5127da2ba0 | 23 | #define MOTOR_PID_TICK(i) void motor ## i ## PidTick() { \ |
kolibakter | 0:da5127da2ba0 | 24 | motors[i].pid2(motorTicks[i]); \ |
kolibakter | 0:da5127da2ba0 | 25 | motorTicks[i] = 0; \ |
kolibakter | 0:da5127da2ba0 | 26 | } |
kolibakter | 0:da5127da2ba0 | 27 | #endif |