LCOV - code coverage report
Current view: top level - AP_Camera - AP_Camera_Relay.cpp (source / functions) Hit Total Coverage
Test: lcov.info Lines: 0 17 0.0 %
Date: 2026-09-09 11:02:08 Functions: 0 2 0.0 %

          Line data    Source code
       1             : #include "AP_Camera_Relay.h"
       2             : 
       3             : #if AP_CAMERA_RELAY_ENABLED
       4             : 
       5             : #include <AP_Relay/AP_Relay.h>
       6             : 
       7             : // update - should be called at 50hz
       8           0 : void AP_Camera_Relay::update()
       9             : {
      10           0 :     if (trigger_counter > 0) {
      11           0 :         trigger_counter--;
      12             :     } else {
      13           0 :         AP_Relay *ap_relay = AP::relay();
      14           0 :         if (ap_relay == nullptr) {
      15           0 :             return;
      16             :         }
      17           0 :         ap_relay->set(AP_Relay_Params::FUNCTION::CAMERA, !_params.relay_on);
      18             :     }
      19             : 
      20             :     // call parent update
      21           0 :     AP_Camera_Backend::update();
      22             : }
      23             : 
      24             : // entry point to actually take a picture.  returns true on success
      25           0 : bool AP_Camera_Relay::trigger_pic()
      26             : {
      27             :     // fail if have not completed previous picture
      28           0 :     if (trigger_counter > 0) {
      29           0 :         return false;
      30             :     }
      31             : 
      32             :     // exit immediately if no relay is setup
      33           0 :     AP_Relay *ap_relay = AP::relay();
      34           0 :     if (ap_relay == nullptr) {
      35           0 :         return false;
      36             :     }
      37             : 
      38           0 :     ap_relay->set(AP_Relay_Params::FUNCTION::CAMERA, _params.relay_on);
      39             : 
      40             :     // set counter to move servo to off position after this many iterations of update (assumes 50hz update rate)
      41           0 :     trigger_counter = constrain_float(_params.trigger_duration * 50, 0, UINT16_MAX);
      42             : 
      43           0 :     return true;
      44             : }
      45             : 
      46             : #endif // AP_CAMERA_RELAY_ENABLED

Generated by: LCOV version 1.14