1个稳定版本
1.0.0 | 2023年1月11日 |
---|
#4 in #xray
29KB
393 行
tudelft-xray-sim
TU Delft 软件系统课程中建模作业的模拟库。
有关更多信息,请参阅课程网站和文档。
lib.rs
:
TU Delft 软件系统课程中建模作业的模拟库。
与该库交互的预期方式是实现 PedalMapper
和 ActionLogic
特性,然后在 main
函数中使用 run_single_plane_sim
或 run_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