LCOV - code coverage report
Current view: top level - AP_Logger - AP_Logger_Flash_JEDEC.h (source / functions) Hit Total Coverage
Test: lcov.info Lines: 5 5 100.0 %
Date: 2026-09-09 11:02:08 Functions: 3 3 100.0 %

          Line data    Source code
       1             : /*
       2             :   logging for block based dataflash devices on SPI
       3             :  */
       4             : #pragma once
       5             : 
       6             : #include <AP_HAL/AP_HAL.h>
       7             : 
       8             : #include "AP_Logger_Block.h"
       9             : 
      10             : #if HAL_LOGGING_FLASH_JEDEC_ENABLED
      11             : 
      12             : class AP_Logger_Flash_JEDEC : public AP_Logger_Block {
      13             : public:
      14           5 :     AP_Logger_Flash_JEDEC(AP_Logger &front, LoggerMessageWriter_DFLogStart *writer) :
      15           5 :         AP_Logger_Block(front, writer) {}
      16           5 :     static AP_Logger_Backend  *probe(AP_Logger &front,
      17             :                                      LoggerMessageWriter_DFLogStart *ls) {
      18           5 :         return NEW_NOTHROW AP_Logger_Flash_JEDEC(front, ls);
      19             :     }
      20             :     void              Init(void) override;
      21     1211913 :     bool              CardInserted() const override { return !flash_died && df_NumPages > 0; }
      22             : 
      23             : private:
      24             :     void              BufferToPage(uint32_t PageAdr) override;
      25             :     void              PageToBuffer(uint32_t PageAdr) override;
      26             :     void              SectorErase(uint32_t SectorAdr) override;
      27             :     void              Sector4kErase(uint32_t SectorAdr) override;
      28             :     void              StartErase() override;
      29             :     bool              InErase() override;
      30             :     void              send_command_addr(uint8_t cmd, uint32_t address);
      31             :     void              WaitReady();
      32             :     bool              Busy();
      33             :     uint8_t           ReadStatusReg();
      34             :     void              Enter4ByteAddressMode(void);
      35             : 
      36             :     void              WriteEnable();
      37             :     bool              getSectorCount(void);
      38             : 
      39             :     AP_HAL::OwnPtr<AP_HAL::SPIDevice> dev;
      40             :     AP_HAL::Semaphore *dev_sem;
      41             : 
      42             :     bool flash_died;
      43             :     uint32_t erase_start_ms;
      44             :     uint8_t erase_cmd;
      45             :     bool use_32bit_address;
      46             :     bool read_cache_valid;
      47             : };
      48             : 
      49             : #endif // HAL_LOGGING_FLASH_JEDEC_ENABLED

Generated by: LCOV version 1.14