#tudelft #course #assignment #modeling #systems #sim #xray

tudelft-xray-sim

软件系统课程中建模作业的模拟库,由TU Delft提供

1个稳定版本

1.0.0 2023年1月11日

#4 in #xray

MIT 协议

29KB
393

tudelft-xray-sim

TU Delft 软件系统课程中建模作业的模拟库。

有关更多信息,请参阅课程网站和文档。


lib.rs:

TU Delft 软件系统课程中建模作业的模拟库。

与该库交互的预期方式是实现 PedalMapperActionLogic 特性,然后在 main 函数中使用 run_single_plane_simrun_double_plane_sim。一个带有每个踏板复选框的GUI将出现,以及每个可用平面的显示。

根据上述两个特性的实现,按下每个踏板将修改平面的状态。所有交互都将记录,以及任何由不正确的命令引起的潜在警告或错误。

以下是将模拟运行起来的最低要求

use tudelft_xray_sim::*;

fn main() {
    run_single_plane_sim(Logic);
}

struct Logic;

impl PedalMapper for Logic {
    type Pedals = ThreePedals;
    fn on_press(&self, pedal: Self::Pedals) -> Option<Request> { None }
    fn on_release(&self, pedal: Self::Pedals) -> Option<Request> { None }
}

impl ActionLogic<false> for Logic {
    fn handle_request(&mut self, request: Request, controller: &mut Controller<false>) {}
}

使用 [log] 进行记录,因此任何支持它的记录器都可以工作。例如,您可以使用 simple_logger 将所有内容打印到标准输出(默认配置)。

fn main() {
    simple_logger::init().unwrap();
    // ...
}

依赖项

~7–23MB
~290K SLoC