LCOV - code coverage report
Current view: top level - AP_Scripting - AP_Scripting_SerialDevice.h (source / functions) Hit Total Coverage
Test: lcov.info Lines: 1 7 14.3 %
Date: 2026-09-09 11:02:08 Functions: 1 5 20.0 %

          Line data    Source code
       1             : #pragma once
       2             : 
       3             : #include "AP_Scripting_config.h"
       4             : 
       5             : #if AP_SCRIPTING_SERIALDEVICE_ENABLED
       6             : 
       7             : #include <AP_SerialManager/AP_SerialManager.h>
       8             : 
       9             : #ifndef AP_SCRIPTING_SERIALDEVICE_NUM_PORTS
      10             : #define AP_SCRIPTING_SERIALDEVICE_NUM_PORTS 3
      11             : #endif
      12             : 
      13             : class AP_Scripting;
      14             : 
      15             : class AP_Scripting_SerialDevice
      16             : {
      17             : public:
      18             :     /* Do not allow copies */
      19             :     CLASS_NO_COPY(AP_Scripting_SerialDevice);
      20             : 
      21        8392 :     AP_Scripting_SerialDevice() {}
      22             : 
      23             :     AP_Int8 enable;
      24             : 
      25             :     void init(void);
      26             :     void clear(void);
      27             : 
      28             : public:
      29             :     class Port : public AP_SerialManager::RegisteredPort {
      30             :     public:
      31             :         friend class AP_Scripting_SerialDevice;
      32             :         void init(void);
      33             :         void clear(void);
      34             : 
      35             :         size_t device_write(const uint8_t *buffer, size_t size);
      36             :         ssize_t device_read(uint8_t *buffer, uint16_t count);
      37             :         uint32_t device_available(void);
      38             : 
      39             :     private:
      40           0 :         bool is_initialized() override {
      41           0 :             return true;
      42             :         }
      43           0 :         bool tx_pending() override {
      44           0 :             return false;
      45             :         }
      46             : 
      47             :         bool init_buffers(const uint32_t size_rx, const uint32_t size_tx);
      48             : 
      49             :         uint32_t txspace() override;
      50             :         void _begin(uint32_t b, uint16_t rxS, uint16_t txS) override;
      51             :         size_t _write(const uint8_t *buffer, size_t size) override;
      52             :         ssize_t _read(uint8_t *buffer, uint16_t count) override;
      53             :         uint32_t _available() override;
      54           0 :         void _end() override {}
      55           0 :         void _flush() override {}
      56             :         bool _discard_input() override;
      57             : 
      58             :         ByteBuffer *readbuffer;
      59             :         ByteBuffer *writebuffer;
      60             :         uint32_t last_size_tx;
      61             :         uint32_t last_size_rx;
      62             : 
      63             :         HAL_Semaphore sem;
      64             :     };
      65             : 
      66             :     Port ports[AP_SCRIPTING_SERIALDEVICE_NUM_PORTS];
      67             : };
      68             : 
      69             : #endif  // AP_SCRIPTING_SERIALDEVICE_ENABLED

Generated by: LCOV version 1.14