#ifndef BSP_Q7S_DEVICES_DEVICEDEFINITIONS_PLOCMEMDUMPDEFINITIONS_H_
#define BSP_Q7S_DEVICES_DEVICEDEFINITIONS_PLOCMEMDUMPDEFINITIONS_H_

#include <fsfw/src/fsfw/serialize/SerialLinkedListAdapter.h>

class MemoryParams : public SerialLinkedListAdapter<SerializeIF> {
 public:
  /**
   * @brief   Constructor
   * @param startAddress  Start of address range to dump
   * @param endAddress    End of address range to dump
   */
  MemoryParams(uint32_t startAddress, uint32_t endAddress)
      : startAddress(startAddress), endAddress(endAddress) {
    setLinks();
  }

 private:
  void setLinks() {
    setStart(&startAddress);
    startAddress.setNext(&endAddress);
  }

  SerializeElement<uint32_t> startAddress;
  SerializeElement<uint32_t> endAddress;
};

#endif /* BSP_Q7S_DEVICES_DEVICEDEFINITIONS_PLOCMEMDUMPDEFINITIONS_H_ */