Insight worker task for reading target memory

This commit is contained in:
Nav
2021-10-17 20:39:10 +01:00
parent 03a36c12a7
commit 52a9b27519
3 changed files with 43 additions and 2 deletions

View File

@@ -136,6 +136,10 @@ add_executable(Bloom
src/Insight/InsightWorker/Tasks/WriteTargetRegister.cpp
src/Insight/InsightWorker/Tasks/RefreshTargetPinStates.cpp
src/Insight/InsightWorker/Tasks/SetTargetPinState.cpp
src/Insight/InsightWorker/Tasks/ReadTargetMemory.cpp
# Error dialogue window
src/Insight/UserInterfaces/InsightWindow/Widgets/ErrorDialogue/ErrorDialogue.cpp
# Target package widgets
src/Insight/UserInterfaces/InsightWindow/Widgets/TargetWidgets/TargetPackageWidgetContainer.cpp
@@ -167,8 +171,6 @@ add_executable(Bloom
src/Insight/UserInterfaces/InsightWindow/Widgets/TargetRegisterInspector/BitsetWidget/BitWidget.cpp
src/Insight/UserInterfaces/InsightWindow/Widgets/TargetRegisterInspector/BitsetWidget/BitBodyWidget.cpp
# Error dialogue window
src/Insight/UserInterfaces/InsightWindow/Widgets/ErrorDialogue/ErrorDialogue.cpp
)
set_target_properties(Bloom PROPERTIES OUTPUT_NAME bloom)

View File

@@ -0,0 +1,9 @@
#include "ReadTargetMemory.hpp"
using namespace Bloom;
void ReadTargetMemory::run(TargetControllerConsole& targetControllerConsole) {
emit this->targetMemoryRead(
targetControllerConsole.readMemory(this->memoryType, this->startAddress, this->size)
);
}

View File

@@ -0,0 +1,30 @@
#pragma once
#include <cstdint>
#include "InsightWorkerTask.hpp"
#include "src/Targets/TargetMemory.hpp"
namespace Bloom
{
class ReadTargetMemory: public InsightWorkerTask
{
Q_OBJECT
public:
ReadTargetMemory(Targets::TargetMemoryType memoryType, std::uint32_t startAddress, std::uint32_t size):
InsightWorkerTask(), memoryType(memoryType), startAddress(startAddress), size(size) {}
signals:
void targetMemoryRead(Targets::TargetMemoryBuffer buffer);
protected:
void run(TargetControllerConsole& targetControllerConsole) override;
private:
Targets::TargetMemoryType memoryType;
std::uint32_t startAddress;
std::uint32_t size;
};
}