add comments

master
Eggert Jung 3 years ago
parent 393da679e0
commit 93debb7dd6

@ -59,7 +59,7 @@ void set_spooling_speed(uint16_t speed){
} }
void do_spule(){ void do_spule(){
//PORTH &= ~(1<<5); // Translatoric axis homeing code
if(read_Input(IN_SPULE_HOME, LEVEL) && spule_trans_homed == 0){ if(read_Input(IN_SPULE_HOME, LEVEL) && spule_trans_homed == 0){
spule_trans_homed = 1; spule_trans_homed = 1;
spule_trans_pos = 0; spule_trans_pos = 0;
@ -71,12 +71,15 @@ void do_spule(){
OCR1A = ICR1/2; OCR1A = ICR1/2;
} }
// if not homed goto home
if(!spule_trans_homed){ if(!spule_trans_homed){
ICR1 = 100; ICR1 = 100;
OCR1A = 50; OCR1A = 50;
set_Output(MOTOR_TRANS_DIR, 1); // direction: front set_Output(MOTOR_TRANS_DIR, 1); // direction: front
TCCR1B |= _BV(CS11); //TURN ON TCCR1B |= _BV(CS11); //TURN ON
} }
// manual forwarding if button is held
else if(!get_abzug_state()){ else if(!get_abzug_state()){
if(read_Input(BTN_WICKELN_EIN, LEVEL)){ if(read_Input(BTN_WICKELN_EIN, LEVEL)){
set_spooling_speed(300); set_spooling_speed(300);
@ -85,12 +88,16 @@ void do_spule(){
else else
spule_onoff(0); spule_onoff(0);
} }
// normal operation
else{ else{
/* speed regulation - keep taenzer at 10% */ /* speed regulation - keep taenzer at 10% */
float p = 100.0/(int32_t)(taenzer_state.pos/1000); float p = 100.0/(int32_t)(taenzer_state.pos/1000);
p-=1; p-=1;
p/=2; p/=2;
p+=1; p+=1;
//tmp = (int32_t)(taenzer_state.pos/10000);
//printf("%ld\n", tmp);
//printf("temp1: %d\n", tmp); //printf("temp1: %d\n", tmp);
//TODO fix bounds //TODO fix bounds
@ -111,6 +118,9 @@ void do_spule(){
ICR5 = ctrl_speed; ICR5 = ctrl_speed;
OCR5C = ICR5/2; OCR5C = ICR5/2;
//printf("icr: %d\n", ICR5);
ICR1 = ICR5/TRANS_ROT_FACTOR; ICR1 = ICR5/TRANS_ROT_FACTOR;
OCR1A = ICR1/2; OCR1A = ICR1/2;
@ -151,7 +161,8 @@ ISR(TIMER5_OVF_vect) {
if(steps == 50000){ if(steps == 50000){
windings++; windings++;
steps=0; steps=0;
printf("windungen: %d\n", windings); printf("windungen: %d\t", windings);
printf("trans pos: %ld\n", taenzer_state.pos);
} }
if(windings == windings_wakeup){ if(windings == windings_wakeup){
@ -179,5 +190,5 @@ ISR(TIMER5_OVF_vect) {
OCR1A = ICR1/2; OCR1A = ICR1/2;
printf("nachlauf abbauen\n"); printf("nachlauf abbauen\n");
} }
//PORTH |= (1<<5); //;PORTH |= (1<<5);
} }