void ax12Dump(DYNAMIXEL_AX12* servo){ uint16_t status = ax12GetInfo(servo); if(status == 0){ rprintf("AX12 ID%u: Pos:%d, Speed:%d, Load:%d, Volts:%u.%c, Temp:%uC, Moving:%c\n", (uint16_t)servo->id, servo->info.position, servo->info.speed, servo->info.load, (uint16_t)servo->info.voltage / 10, '0' + servo->info.voltage % 10, (uint16_t)servo->info.temperature, (servo->info.moving) ? 'Y' : 'N'); }else{ rprintf("AX12 ID%u: Status: %u\n",(uint16_t)servo->id,status); } }
void ax12TempAll(const DYNAMIXEL_AX12_DRIVER* driver){ // PRINTF(f,"AX12 ID Speed Load Volts Temp(C) Moving\r\n"); //rprintf("AX12 ID Speed Load Volts Temp(C) Moving\r\n"); for(int i=0; i<driver->num_servos; i++){ DYNAMIXEL_AX12* servo = (DYNAMIXEL_AX12*)pgm_read_word(&driver->servos[i]); uint16_t status = ax12GetInfo(servo); if(status == 0){ //Servo is good to go // PRINTF(f,"%7u %6d %5d %2u.%c %5u %c\r\n", // rprintf("S%7uT%5uK%c\r\n", rprintf("S(%u ) T(%u ) ", (uint16_t)servo->id, (uint16_t)servo->info.temperature //, // (servo->info.moving) ? 'Y' : 'N' ); // }else{ // PRINTF(f,"%7u Status: %u\r\n",(uint16_t)servo->id,status); // rprintf("%7u Status: %u\r\n",(uint16_t)servo->id,status); } } }