|
|
|
@ -70,9 +70,26 @@ const AP_Param::GroupInfo AP_Gripper::var_info[] = {
@@ -70,9 +70,26 @@ const AP_Param::GroupInfo AP_Gripper::var_info[] = {
|
|
|
|
|
|
|
|
|
|
AP_Gripper::AP_Gripper() |
|
|
|
|
{ |
|
|
|
|
if (_s_instance) { |
|
|
|
|
#if CONFIG_HAL_BOARD == HAL_BOARD_SITL |
|
|
|
|
AP_HAL::panic("Too many grippers"); |
|
|
|
|
#endif |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
_s_instance = this; |
|
|
|
|
|
|
|
|
|
AP_Param::setup_object_defaults(this, var_info); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* Get the AP_Gripper singleton |
|
|
|
|
*/ |
|
|
|
|
AP_Gripper *AP_Gripper::_s_instance = nullptr; |
|
|
|
|
AP_Gripper *AP_Gripper::get_instance() |
|
|
|
|
{ |
|
|
|
|
return _s_instance; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void AP_Gripper::init() |
|
|
|
|
{ |
|
|
|
|
// return immediately if not enabled
|
|
|
|
@ -133,3 +150,12 @@ PASS_TO_BACKEND(released)
@@ -133,3 +150,12 @@ PASS_TO_BACKEND(released)
|
|
|
|
|
PASS_TO_BACKEND(grabbed) |
|
|
|
|
|
|
|
|
|
#undef PASS_TO_BACKEND |
|
|
|
|
|
|
|
|
|
namespace AP { |
|
|
|
|
|
|
|
|
|
AP_Gripper *gripper() |
|
|
|
|
{ |
|
|
|
|
return AP_Gripper::get_instance(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
}; |
|
|
|
|