Subversion Repositories shark

Compare Revisions

Ignore whitespace Rev 1335 → Rev 1336

/demos/trunk/chimera/keys.c
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;
*/
}
}