|
|
|
@ -111,6 +111,8 @@ const AP_Param::GroupInfo AP_Camera::var_info[] = {
@@ -111,6 +111,8 @@ const AP_Param::GroupInfo AP_Camera::var_info[] = {
|
|
|
|
|
// 是否支持自适应拍照,0:不支持,1:支持
|
|
|
|
|
AP_GROUPINFO("ADAPT_CAM", 12, AP_Camera, _adapt_camera_trigger, 0), |
|
|
|
|
|
|
|
|
|
// 最小触发时间间隔,ms
|
|
|
|
|
AP_GROUPINFO("MIN_INTE", 13, AP_Camera, _min_time_interval, 30), |
|
|
|
|
|
|
|
|
|
AP_GROUPEND |
|
|
|
|
}; |
|
|
|
@ -359,10 +361,13 @@ void AP_Camera::update()
@@ -359,10 +361,13 @@ void AP_Camera::update()
|
|
|
|
|
*/ |
|
|
|
|
void AP_Camera::feedback_pin_isr(uint8_t pin, bool high, uint32_t timestamp_us) |
|
|
|
|
{ |
|
|
|
|
_feedback_timestamp_us = timestamp_us; |
|
|
|
|
_camera_trigger_count++; |
|
|
|
|
static uint32_t last_timestamp_us; |
|
|
|
|
if(timestamp_us - last_timestamp_us > _min_time_interval * 1000){ |
|
|
|
|
last_timestamp_us = timestamp_us; |
|
|
|
|
_feedback_timestamp_us = timestamp_us; |
|
|
|
|
_camera_trigger_count++; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
check if feedback pin is high for timer based feedback trigger, when |
|
|
|
|
attach_interrupt fails |
|
|
|
|