blob: 06c4ae03f70de600231b5d8766597ff013035fc5 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2019 Dortmund University of Applied Sciences and Arts and others.
*
* This program and the accompanying materials are made
* available under the terms of the Eclipse Public License 2.0
* which is available at https://www.eclipse.org/legal/epl-2.0/
*
* SPDX-License-Identifier: EPL-2.0
*
* Contributors:
* Dortmund University of Applied Sciences and Arts - initial API and implementation
*******************************************************************************/
#include "taskCode.h"
/* define global variables to be
* accessed through a specific task (context)
*/
//task recurrence counters
int passes1 = 0;
int passes2 = 0;
int passes3 = 0;
int passes4 = 0;
int passes5 = 0;
//extern unsigned int shared_label1;
int label5_10_00;
int label5_10_00_copy1;
int shared_label_1;
int shared_label_2 = 97;
//define tasks and copy operations here
//-------
void handler5ms(){
int localLabel;
updateDebugFlag(700);
sleepTimerMs(2,1);
passes1++;
traceTaskPasses(1,passes1);
traceRunningTask(0);
}
void handler10ms(){
updateDebugFlag(800);
sleepTimerMs(3,2);
passes2++;
traceTaskPasses(2,passes2);
traceRunningTask(0);
}
void handler20ms(){
updateDebugFlag(899);
sleepTimerMs(5,3);
passes3++;
traceRunningTask(0);
traceTaskPasses(3,passes3);
}
void handler10msCore2(){
updateDebugFlag(899);
sleepTimerMs(3,4);
passes4++;
//shared_label1 = shared_label_to_read;
traceRunningTask(0);
traceTaskPasses(2,passes4);
}
void handler20msCore2(){
updateDebugFlag(899);
sleepTimerMs(7,5);
passes5++;
traceRunningTask(0);
traceTaskPasses(3,passes5);
}
//-------
void cIn5ms(){
label5_10_00_copy1 = label5_10_00;
shared_label_2 = 97 + passes1;
}
void cIn10ms(){
}
void cIn20ms(){
}
void cIn10msCore2(){
shared_label_1 = shared_label_read_core(1,0,0);
}
void cIn20msCore2(){
}
//-------
void cOut5ms(){
label5_10_00 = label5_10_00_copy1;
shared_label_write_core(1,0,0,shared_label_2);
}
void cOut10ms(){
shared_label_write(0,2);
}
void cOut20ms(){
}
void cOut10msCore2(){
shared_label_1++;
shared_label_write(1,shared_label_1);
}
void cOut20msCore2(){
}