diff --git a/ROM2/main_basic.c b/ROM2/main_basic.c index fc736d7e4f73c7375a1ac57788e5df66aed2abe1..ae25a79390b385c49d07c30991d4fa9535368522 100644 --- a/ROM2/main_basic.c +++ b/ROM2/main_basic.c @@ -242,9 +242,21 @@ int main() { motor_num = cur_motor[0]%10; motor_num *= 10; motor_num += cur_motor[1]; - dispense_motor(motor_num); + switch (dispense_motor(motor_num)) { + case MOTOR_HOME_FAIL: + set_msg(" HOME FAIL "); + break; + case MOTOR_CURRENT_FAIL: + set_msg(" OVER CRNT "); + break; + case MOTOR_SUCCESS: + set_msg("THANK YOU"); + break; + default: + set_msg("ERRRRRRRR?"); + break; + } - set_msg("THANK YOU"); display_buf[0] = ' '; display_buf[1] = ' '; cur_motor[0] = 0xff; diff --git a/ROM2/motors.c b/ROM2/motors.c index 765c1b7fc3aff06eb448450d6b41be7ebe5b82c9..64158ae56ab5e22b99ca93aae1123661cea2336f 100644 --- a/ROM2/motors.c +++ b/ROM2/motors.c @@ -97,7 +97,7 @@ bool is_motor(u8 slot) { bool left_home(u8 slot) { u8 i, r = slot%10; if (r >= 5) r--; - r = 1 << r; + r = 1 << (r-1); for (i = 0; i < 5; i++) if ((home_sensors & r) == 0) return 1; @@ -109,7 +109,7 @@ bool left_home(u8 slot) { bool back_home(u8 slot) { u8 i, r = slot%10; if (r >= 5) r--; - r = 1 << r; + r = 1 << (r-1); for (i = 0; i < 5; i++) { if (home_sensors & r) return 1;