Skip to content

Commit 161f345

Browse files
committed
debug: unify bus_watchdog bulk-read path and fix states sample
1 parent cc80771 commit 161f345

File tree

2 files changed

+22
-21
lines changed

2 files changed

+22
-21
lines changed

dynamixel_handler/src/dynamixel_handler_dyn_interface_loop.cpp

Lines changed: 16 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -623,21 +623,22 @@ tuple<double, uint8_t> DynamixelHandler::BulkReadExtra_slow(const set<id_t>& id_
623623
}
624624

625625
// Group F2
626-
map<id_t, vector<DynamixelAddress>> id_addrs_map_f2;
627-
for ( auto id : valid_id_set ) switch ( series_[id] ) {
628-
case SERIES_X: id_addrs_map_f2[id] = {AddrX::bus_watchdog}; break;
629-
case SERIES_P: id_addrs_map_f2[id] = {AddrP::bus_watchdog}; break;
630-
default: break; // ここに来るのはSERIES_UNKNOWNとSERIES_PROだけのはず(SERIES_PROはbus_watchdogを持っていない)
631-
}
632-
if ( !id_addrs_map_f2.empty() ) {
633-
const auto id_data_vec_map = BulkRead_log(id_addrs_map_f2, verbose_["r_extra"], verbose_["r_extra_err"]);
634-
const int N_total = id_addrs_map_f2.size();
635-
const int N_suc = id_data_vec_map.size();
636-
for ( const auto& [id, data] : id_data_vec_map ) // X, P ともに1つ要素しか持たないという事前情報で簡略化して書いてる.
637-
watchdog_r_[id] = id_addrs_map_f2[id][0].pulse2val(data[0], model_[id]);
638-
sum_rate += N_total == 0 ? 0.0 : N_suc / (double)N_total;
639-
n_rate += 1.0;
640-
}
626+
map<id_t, vector<DynamixelAddress>> id_addrs_map_f2;
627+
for ( auto id : valid_id_set ) switch ( series_[id] ) {
628+
case SERIES_X: id_addrs_map_f2[id] = {AddrX::bus_watchdog}; break;
629+
case SERIES_P: id_addrs_map_f2[id] = {AddrP::bus_watchdog}; break;
630+
case SERIES_PRO: id_addrs_map_f2[id] = {AddrPro::bus_watchdog}; break; // dummy address
631+
default: break; // ここに来るのはSERIES_UNKNOWNだけのはず
632+
}
633+
if ( !id_addrs_map_f2.empty() ) {
634+
const auto id_data_vec_map = BulkRead_log(id_addrs_map_f2, verbose_["r_extra"], verbose_["r_extra_err"]);
635+
const int N_total = id_addrs_map_f2.size();
636+
const int N_suc = id_data_vec_map.size();
637+
for ( const auto& [id, data] : id_data_vec_map ) // 全シリーズとも1要素のみ
638+
watchdog_r_[id] = id_addrs_map_f2[id][0].pulse2val(data[0], model_[id]);
639+
sum_rate += N_total == 0 ? 0.0 : N_suc / (double)N_total;
640+
n_rate += 1.0;
641+
}
641642

642643
if ( n_rate == 0.0 ) return {1.0, 0}; else return {sum_rate / n_rate, n_id};
643644
}

dynamixel_handler_msgs/ReadMe.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -295,19 +295,19 @@ extra: # DynamixelExtra型
295295
id_list: [1, 2, 3, 4]
296296
model: ["X", "X", "P", "Pro"]
297297
model_number: [0, 0, 0, 0]
298-
protocol_type: [2, 2, 2, 0]
298+
protocol_type: [2, 2, 2, 2]
299299
firmware_version: [0, 0, 0, 0]
300300
realtime_tick_s: [0.0, 0.0, 0.0, .nan]
301301
moving_status:
302-
velocity_profile: ["none", "none", "none", ""]
302+
velocity_profile: ["none", "none", "none", "none"]
303303
following_error: [false, false, false, false]
304304
profile_ongoing: [false, false, false, false]
305305
in_position: [false, false, false, false]
306306
moving: [false, false, false, false]
307307
return_delay_time_us: [0.0, 0.0, 0.0, 0.0]
308308
drive_mode:
309309
torque_on_by_goal_update: [false, false, false, false]
310-
profile_configuration: ["velocity_based", "velocity_based", "velocity_based", ""]
310+
profile_configuration: ["velocity_based", "velocity_based", "velocity_based", "velocity_based"]
311311
reverse_mode: [false, false, false, false]
312312
shadow_id: [255, 255, 255, 0]
313313
homing_offset_deg: [0.0, 0.0, 0.0, 0.0]
@@ -325,9 +325,9 @@ extra: # DynamixelExtra型
325325
input_voltage_error: [false, false, false, false]
326326
led:
327327
red_percent: [0.0, 0.0, 0.0, 0.0]
328-
blue_percent: [.nan, .nan, 0.0, .nan]
329-
green_percent: [.nan, .nan, 0.0, .nan]
330-
bus_watchdog_ms: [500.0, 500.0, 500.0, .nan]
328+
blue_percent: [.nan, .nan, 0.0, 0.0]
329+
green_percent: [.nan, .nan, 0.0, 0.0]
330+
bus_watchdog_ms: [500.0, 500.0, 500.0, .nan]
331331
reboot: [false, false, false, false]
332332
```
333333

0 commit comments

Comments
 (0)