92 lines
2.3 KiB
C++
92 lines
2.3 KiB
C++
void Reflow_Init(void) {
|
|
profile[0].preheat_rate = 1;
|
|
profile[0].preheat_temp = 130;
|
|
profile[0].preheat_time = 20;
|
|
profile[0].reflow_rate = 0.5;
|
|
profile[0].reflow_temp = 235;
|
|
profile[0].reflow_time = 40;
|
|
|
|
process.profile = profile[0];
|
|
process.phase = 0;
|
|
process.timer = 0;
|
|
process.countdown = 5;
|
|
process.temp = 0;
|
|
sprintf(process.title,"Ready");
|
|
}
|
|
|
|
void Reflow_Task(void) {
|
|
switch (process.phase) {
|
|
case 0: // standby
|
|
if (process.countdown > 0) {
|
|
process.countdown--;
|
|
if (process.countdown == 0) {
|
|
process.phase = 1;
|
|
sprintf(process.title,"1/4 PreHeat");
|
|
process.temp = process.profile.preheat_temp;
|
|
process.countdown = 10;
|
|
}
|
|
}
|
|
break;
|
|
case 1: // preheat aufheizen
|
|
process.timer++;
|
|
if (process.countdown > 0) {
|
|
process.countdown--;
|
|
if (process.countdown == 0) {
|
|
process.phase = 2;
|
|
sprintf(process.title,"2/4 PreHeat");
|
|
process.countdown = 10;
|
|
}
|
|
}
|
|
break;
|
|
case 2: // preheat temp halten
|
|
process.timer++;
|
|
if (process.countdown > 0) {
|
|
process.countdown--;
|
|
if (process.countdown == 0) {
|
|
process.phase = 3;
|
|
sprintf(process.title,"3/4 Reflow");
|
|
process.temp = process.profile.reflow_temp;
|
|
process.countdown = 10;
|
|
}
|
|
}
|
|
break;
|
|
case 3: // reflow aufheizen
|
|
process.timer++;
|
|
if (process.countdown > 0) {
|
|
process.countdown--;
|
|
if (process.countdown == 0) {
|
|
process.phase = 4;
|
|
sprintf(process.title,"4/4 Reflow");
|
|
process.countdown = 10;
|
|
}
|
|
}
|
|
break;
|
|
case 4: // reflow temp halten
|
|
process.timer++;
|
|
if (process.countdown > 0) {
|
|
process.countdown--;
|
|
if (process.countdown == 0) {
|
|
process.phase = 5;
|
|
sprintf(process.title,"Cooldown");
|
|
process.temp = 0;
|
|
process.countdown = 10;
|
|
tone(buzzer, 2000, 1000);
|
|
}
|
|
}
|
|
break;
|
|
case 5: // auskühlen
|
|
if (process.countdown > 0) {
|
|
process.countdown--;
|
|
if (process.countdown == 0) {
|
|
process.phase = 0;
|
|
process.timer = 0;
|
|
sprintf(process.title,"Ready");
|
|
process.countdown = 0;
|
|
}
|
|
}
|
|
break;
|
|
default:
|
|
process.phase = 0;
|
|
}
|
|
}
|