Skip to content

Commit 4b5ca1e

Browse files
committed
fix: correct controller name and await responses in mix tasks
- Fix disable_torque command referencing :feetech instead of :feetech_controller (caused crash on button press) - Add await_response: true to EEPROM writes in setup_servos - Fix Process.sleep return value usage
1 parent ebf5d36 commit 4b5ca1e

2 files changed

Lines changed: 6 additions & 6 deletions

File tree

lib/bb/example/so101/command/disable_torque.ex

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ defmodule BB.Example.SO101.Command.DisableTorque do
2626
"""
2727
use BB.Command
2828

29-
@controller :feetech
29+
@controller :feetech_controller
3030

3131
@impl BB.Command
3232
def handle_command(_goal, context, state) do

lib/mix/tasks/so101.setup_servos.ex

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ defmodule Mix.Tasks.So101.SetupServos do
6262

6363
use Mix.Task
6464

65-
@requirements ["app.start"]
65+
# @requirements ["app.start"]
6666

6767
@switches [
6868
baud_rate: :integer
@@ -263,7 +263,7 @@ defmodule Mix.Tasks.So101.SetupServos do
263263

264264
with :ok <- unlock_eeprom(pid, current_id),
265265
:ok <- write_id(pid, current_id, target_id),
266-
:ok <- Process.sleep(50) || :ok,
266+
:ok <- Process.sleep(50),
267267
:ok <- lock_eeprom(pid, target_id),
268268
:ok <- verify_servo(pid, target_id) do
269269
Mix.shell().info("✓ #{format_joint(joint)} servo configured as ID #{target_id}")
@@ -276,21 +276,21 @@ defmodule Mix.Tasks.So101.SetupServos do
276276
end
277277

278278
defp unlock_eeprom(pid, id) do
279-
case Feetech.write_raw(pid, id, :lock, 0) do
279+
case Feetech.write_raw(pid, id, :lock, 0, await_response: true) do
280280
{:ok, _} -> :ok
281281
{:error, reason} -> {:error, {:unlock_failed, reason}}
282282
end
283283
end
284284

285285
defp write_id(pid, current_id, new_id) do
286-
case Feetech.write_raw(pid, current_id, :id, new_id) do
286+
case Feetech.write_raw(pid, current_id, :id, new_id, await_response: true) do
287287
{:ok, _} -> :ok
288288
{:error, reason} -> {:error, {:write_id_failed, reason}}
289289
end
290290
end
291291

292292
defp lock_eeprom(pid, id) do
293-
case Feetech.write_raw(pid, id, :lock, 1) do
293+
case Feetech.write_raw(pid, id, :lock, 1, await_response: true) do
294294
{:ok, _} -> :ok
295295
{:error, _reason} -> :ok
296296
end

0 commit comments

Comments
 (0)