forked from ROMEO/obsw
tracing task problem
This commit is contained in:
parent
63b0a25030
commit
e1f250e8f7
@ -88,11 +88,13 @@ extern "C" fn rust_main() {
|
||||
#[no_mangle]
|
||||
extern "C" fn task_entry(task_object: *mut cty::c_void) {
|
||||
sifln!("Task Entry");
|
||||
sifln!("getting pointer {:p}", task_object);
|
||||
let task: &mut PeriodicTaskRunner;
|
||||
unsafe {
|
||||
let pointer = task_object as *mut PeriodicTaskRunner;
|
||||
task = &mut *pointer;
|
||||
}
|
||||
sifln!("casting pointer {:p}", task as *mut PeriodicTaskRunner);
|
||||
task.execute();
|
||||
}
|
||||
|
||||
@ -134,6 +136,7 @@ impl<'a, const STACKSIZE: usize> PeriodicTask<'a, STACKSIZE> {
|
||||
};
|
||||
let runner_pointer: *mut cty::c_void = &mut instance.runner as *mut _ as *mut cty::c_void;
|
||||
let stack_pointer: *mut cty::c_void = &mut instance.stack as *mut _ as *mut cty::c_void;
|
||||
sifln!("giving pointer {:p} {:p}", runner_pointer, &mut instance.runner as *mut PeriodicTaskRunner);
|
||||
unsafe {
|
||||
instance.task = create_task(task_entry, runner_pointer, stack_pointer, STACKSIZE);
|
||||
}
|
||||
@ -163,16 +166,16 @@ struct HandlerSender {
|
||||
other_handler: MessageQueueSender<Message>,
|
||||
}
|
||||
|
||||
impl Handler {
|
||||
fn handle_message(&self, message: Message) {
|
||||
match message {
|
||||
Message::OK=> {sifln!("OK");},
|
||||
Message::FAILED => {sifln!("FAILED");},
|
||||
Message::DATA(data) => {sifln!("p1: {}, p2 {}", data.p1, data.p2);}
|
||||
}
|
||||
// impl Handler {
|
||||
// fn handle_message(&self, message: Message) {
|
||||
// match message {
|
||||
// Message::OK=> {sifln!("OK");},
|
||||
// Message::FAILED => {sifln!("FAILED");},
|
||||
// Message::DATA(data) => {sifln!("p1: {}, p2 {}", data.p1, data.p2);}
|
||||
// }
|
||||
|
||||
}
|
||||
}
|
||||
// }
|
||||
// }
|
||||
|
||||
impl ExecutableObjectIF for Handler {
|
||||
fn perform(&mut self) {
|
||||
@ -318,7 +321,9 @@ fn mission() {
|
||||
|
||||
// h2.other_handler = h1.command_queue.get_sender();
|
||||
|
||||
let _t1: PeriodicTask<'_, 512> = PeriodicTask::new(&mut h1);
|
||||
let mut _t1: PeriodicTask<'_, 512> = PeriodicTask::new(&mut h1);
|
||||
|
||||
sifln!("mission pointer {:p}", &mut _t1.runner as *mut PeriodicTaskRunner);
|
||||
|
||||
//let _t2: PeriodicTask<'_, 512> = PeriodicTask::new(&mut h2);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user