Skip to content

Commit 2fa91ed

Browse files
committed
safety
1 parent ca20236 commit 2fa91ed

File tree

3 files changed

+46
-0
lines changed

3 files changed

+46
-0
lines changed

src/lib.rs

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -507,6 +507,24 @@ mod lebai_sdk {
507507
self.0.estop().await
508508
}
509509

510+
//Safety
511+
#[classmethod]
512+
pub async fn disable_collision_detector(&self) -> Result<()> {
513+
self.0.disable_collision_detector().await
514+
}
515+
#[classmethod]
516+
pub async fn enable_collision_detector(&self) -> Result<()> {
517+
self.0.enable_collision_detector().await
518+
}
519+
#[classmethod]
520+
pub async fn disable_joint_limits(&self) -> Result<()> {
521+
self.0.disable_joint_limits().await
522+
}
523+
#[classmethod]
524+
pub async fn enable_joint_limits(&self) -> Result<()> {
525+
self.0.enable_joint_limits().await
526+
}
527+
510528
//MOTOR
511529
#[classmethod]
512530
pub async fn find_zero(&self) -> Result<()> {

src/rpc/mod.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ pub mod motion;
99
pub mod motor;
1010
pub mod plugin;
1111
pub mod posture;
12+
pub mod safety;
1213
pub mod serial;
1314
pub mod signal;
1415
pub mod storage;

src/rpc/safety.rs

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
use super::Robot;
2+
use cmod::Result;
3+
use proto::google::protobuf::Empty;
4+
use proto::lebai::safety::*;
5+
6+
impl Robot {
7+
pub(crate) async fn disable_collision_detector(&self) -> Result<()> {
8+
let req = Empty {};
9+
let _ = self.c.disable_collision_detector(Some(req)).await.map_err(|e| e.to_string())?;
10+
Ok(())
11+
}
12+
pub(crate) async fn enable_collision_detector(&self) -> Result<()> {
13+
let req = Empty {};
14+
let _ = self.c.enable_collision_detector(Some(req)).await.map_err(|e| e.to_string())?;
15+
Ok(())
16+
}
17+
pub(crate) async fn disable_joint_limits(&self) -> Result<()> {
18+
let req = Empty {};
19+
let _ = self.c.disable_limit(Some(req)).await.map_err(|e| e.to_string())?;
20+
Ok(())
21+
}
22+
pub(crate) async fn enable_joint_limits(&self) -> Result<()> {
23+
let req = Empty {};
24+
let _ = self.c.enable_limit(Some(req)).await.map_err(|e| e.to_string())?;
25+
Ok(())
26+
}
27+
}

0 commit comments

Comments
 (0)