farmbot v6.4.1 Farmbot.Firmware.Handler behaviour View Source
Any module that implements this behaviour should be a GenStage.
The implementng stage should communicate with the various Farmbot
hardware such as motors and encoders. The Farmbot.Firmware
module
will subscribe_to: the implementing handler. Events should be
Gcodes as parsed by Farmbot.Firmware.Gcode.Parser
.
Link to this section Summary
Callbacks
Calibrate an axis
Lock the firmware
Unlock the firmware
Find home on an axis
Home an axis
Home every axis
Move to a position
Read all params
Read a paramater
Read a pin
Request firmware version
Set a pin mode (input/output)
Set angle on a servo pin
Start a firmware handler
Update a paramater
Write a pin
Manually set an axis’s current position to zero
Link to this section Types
Pid of a firmware implementation.
Pin
Mode of a pin.
Speed of a command.
Link to this section Callbacks
calibrate(handler(), axis()) :: fw_ret_val()
Calibrate an axis.
Lock the firmware.
emergency_unlock(handler()) :: fw_ret_val()
Unlock the firmware.
find_home(handler(), axis()) :: fw_ret_val()
Find home on an axis.
Home an axis.
Home every axis.
Move to a position.
read_all_params(handler()) :: fw_ret_val()
Read all params
read_param(handler(), fw_param()) :: fw_ret_val()
Read a paramater.
read_pin(handler(), pin(), pin_mode()) :: fw_ret_val()
Read a pin.
request_software_version(handler()) :: fw_ret_val()
Request firmware version.
set_pin_mode(handler(), pin(), :input | :input_pullup | :output) :: fw_ret_val()
Set a pin mode (input/output)
set_servo_angle(handler(), pin(), number()) :: fw_ret_val()
Set angle on a servo pin.
Start a firmware handler.
update_param(handler(), fw_param(), number()) :: fw_ret_val()
Update a paramater.
write_pin(handler(), pin(), pin_mode(), number()) :: fw_ret_val()
Write a pin.
Manually set an axis’s current position to zero.