mirror of
https://github.com/nasa/trick.git
synced 2024-12-20 21:53:10 +00:00
56 lines
1.7 KiB
Plaintext
56 lines
1.7 KiB
Plaintext
/*****
|
|
PURPOSE: (test Trick input file events)
|
|
******/
|
|
|
|
#include "sim_objects/default_trick_sys.sm"
|
|
|
|
class eventSimObject : public Trick::SimObject {
|
|
|
|
public:
|
|
Trick::IPPythonEvent * event0; // ** event pointer for event we create in S_define
|
|
bool cond_var_false; // -- use for event condition variable
|
|
bool cond_var_true; // -- use for event condition variable
|
|
int count; // -- referenced by event actions
|
|
|
|
bool cond_job_true() {
|
|
return true;
|
|
}
|
|
bool cond_job_false() {
|
|
return false;
|
|
}
|
|
|
|
void init() {
|
|
fprintf(stderr, "I am in init\n");
|
|
}
|
|
void sched() {
|
|
fprintf(stderr, "I am in sched %f\n\n", exec_get_sim_time());
|
|
}
|
|
void sched_count() {
|
|
count++;
|
|
}
|
|
void shutdown() {
|
|
fprintf(stderr, "I am in shutdown\n");
|
|
}
|
|
|
|
eventSimObject() : cond_var_false(false),
|
|
cond_var_true(true),
|
|
count(0) {
|
|
|
|
// create an event, add it in the input file
|
|
event0 = (Trick::IPPythonEvent*)alloc_type(1,"Trick::IPPythonEvent");
|
|
event0->set_name("SDEFINE_event");
|
|
event0->condition(0, "True");
|
|
event0->action(0, "print (\"event0\"); result[0] = 1");
|
|
event0->activate();
|
|
|
|
("initialization") init();
|
|
(0.5, "scheduled") sched();
|
|
(1.0, "scheduled") sched_count();
|
|
("shutdown") shutdown();
|
|
|
|
("malfunction") trick_ret=cond_job_true(); // will use for an event condition
|
|
}
|
|
|
|
} ;
|
|
eventSimObject ev;
|