add delay list to RefinedFreeRTOSSystemState

This commit is contained in:
Alwin Berger 2023-09-13 14:05:24 +02:00
parent e31c01b2af
commit 086a575f44
2 changed files with 5 additions and 0 deletions

View File

@ -102,6 +102,7 @@ pub struct RefinedFreeRTOSSystemState {
input_counter: u32,
pub current_task: RefinedTCB,
ready_list_after: Vec<RefinedTCB>,
delay_list_after: Vec<RefinedTCB>,
}
impl PartialEq for RefinedFreeRTOSSystemState {
fn eq(&self, other: &Self) -> bool {

View File

@ -120,11 +120,15 @@ for mut i in input.drain(..) {
let mut tmp = tcb_list_to_vec_cached(j,&mut i.dumping_ground).iter().map(|x| RefinedTCB::from_tcb(x)).collect();
collector.append(&mut tmp);
}
let mut delay_list : Vec::<RefinedTCB> = tcb_list_to_vec_cached(i.delay_list, &mut i.dumping_ground).iter().map(|x| RefinedTCB::from_tcb(x)).collect();
// We don't care about the order
delay_list.sort_by(|a,b| a.task_name.cmp(&b.task_name));
ret.push(RefinedFreeRTOSSystemState {
current_task: RefinedTCB::from_tcb_owned(i.current_tcb),
start_tick: start_tick,
end_tick: i.qemu_tick,
ready_list_after: collector,
delay_list_after: delay_list,
input_counter: i.input_counter,//+IRQ_INPUT_BYTES_NUMBER,
last_pc: i.last_pc,
});