mirror of
https://git.intern.spaceteamaachen.de/ALPAKA/driver-w25qxxx.git
synced 2025-08-02 12:31:54 +00:00
cleanup in logger code
This commit is contained in:
parent
33e034a429
commit
d378bda62c
@ -58,12 +58,20 @@ namespace sta
|
||||
size_t capacity();
|
||||
|
||||
/**
|
||||
* @brief Allows reading a single data point from the segment.
|
||||
* @brief Get the ith element stored in the flash storage.
|
||||
*
|
||||
* @param idx The index of the segement.
|
||||
* @return T The read data value.
|
||||
* @param i The index of the element to read.
|
||||
* @return T The ith element stored in the flash storage.
|
||||
*/
|
||||
T operator[](std::size_t idx);
|
||||
T get(std::size_t i);
|
||||
|
||||
/**
|
||||
* @brief Get the ith element stored in the flash storage.
|
||||
*
|
||||
* @param i The index of the element to read.
|
||||
* @return T The ith element stored in the flash storage.
|
||||
*/
|
||||
T operator[](std::size_t i);
|
||||
private:
|
||||
void findLast();
|
||||
|
||||
|
@ -115,15 +115,13 @@ namespace sta
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
T Logger<T>::operator[](std::size_t idx)
|
||||
T Logger<T>::get(std::size_t i)
|
||||
{
|
||||
uint32_t address = start_ * W25QXX_SECTOR_SIZE + idx * sizeof(T);
|
||||
STA_DEBUG_PRINTF("Reading from address %d\n", address);
|
||||
uint32_t address = start_ * W25QXX_SECTOR_SIZE + i * sizeof(T);
|
||||
|
||||
// If the requested element is in the cache, read it from there.
|
||||
if (address / W25QXX_PAGE_SIZE == address_ / W25QXX_PAGE_SIZE)
|
||||
{
|
||||
STA_DEBUG_PRINTLN("Reading data from buffer!");
|
||||
uint8_t * ptr = buffer_ + address % W25QXX_PAGE_SIZE;
|
||||
return *reinterpret_cast<T*>(ptr);
|
||||
}
|
||||
@ -134,6 +132,12 @@ namespace sta
|
||||
return *reinterpret_cast<T*>(buffer);
|
||||
}
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
T Logger<T>::operator[](std::size_t i)
|
||||
{
|
||||
return this->get(i);
|
||||
}
|
||||
} // namespace sta
|
||||
|
||||
#endif // STA_UTILS_LOGGER_TPP
|
||||
|
Loading…
x
Reference in New Issue
Block a user