35,11 → 35,10 |
|
#include "chimera.h" |
|
/* Manual step increment */ |
#define INC_LEG 2 |
|
unsigned char active_leg; |
|
extern volatile int calibrate_status; |
|
void pad(KEY_EVT *k) |
{ |
switch (k->scan) { |
65,46 → 64,6 |
//sem_post(&mx_status); |
break; |
|
case KEY_U: |
//sem_wait(&mx_status); |
status.leg[active_leg].x += INC_LEG; |
if (status.leg[active_leg].x > POS_X_MAX) status.leg[active_leg].x = POS_X_MAX; |
//sem_post(&mx_status); |
break; |
case KEY_J: |
//sem_wait(&mx_status); |
status.leg[active_leg].x -= INC_LEG; |
if (status.leg[active_leg].x < POS_X_MIN) status.leg[active_leg].x = POS_X_MIN; |
//sem_post(&mx_status); |
break; |
case KEY_I: |
//sem_wait(&mx_status); |
status.leg[active_leg].y += INC_LEG; |
if (status.leg[active_leg].y > POS_Y_MAX) status.leg[active_leg].y = POS_Y_MAX; |
//sem_post(&mx_status); |
break; |
case KEY_K: |
//sem_wait(&mx_status); |
status.leg[active_leg].y -= INC_LEG; |
if (status.leg[active_leg].y < POS_Y_MIN) status.leg[active_leg].y = POS_Y_MIN; |
//sem_post(&mx_status); |
break; |
case KEY_O: |
//sem_wait(&mx_status); |
status.leg[active_leg].z += INC_LEG; |
if (status.leg[active_leg].z > POS_Z_MAX) status.leg[active_leg].z = POS_Z_MAX; |
//sem_post(&mx_status); |
break; |
case KEY_L: |
//sem_wait(&mx_status); |
status.leg[active_leg].z -= INC_LEG; |
if (status.leg[active_leg].z < POS_Z_MIN) status.leg[active_leg].z = POS_Z_MIN; |
//sem_post(&mx_status); |
break; |
|
case KEY_1: |
active_leg = 0; |
break; |
case KEY_2: |
active_leg = 1; |
break; |
119,11 → 78,11 |
break; |
case KEY_6: |
active_leg = 5; |
//calibrate_step(100000); |
break; |
/* |
|
case KEY_C: |
calibrate_init(); |
if (calibrate_init != 0) calibrate_step(100000); |
break; |
|
case KEY_A: |
144,7 → 103,6 |
case KEY_H: |
calibrate_step(+108000); |
break; |
*/ |
} |
} |
|