Example #1
0
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);
	}
}
Example #2
0
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);
		}
	}
}