Handling programming mode enabled/disabled events in Insight
This commit is contained in:
@@ -45,6 +45,14 @@ namespace Bloom
|
|||||||
std::bind(&InsightWorker::onTargetRegistersWrittenEvent, this, std::placeholders::_1)
|
std::bind(&InsightWorker::onTargetRegistersWrittenEvent, this, std::placeholders::_1)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
this->eventListener->registerCallbackForEventType<Events::ProgrammingModeEnabled>(
|
||||||
|
std::bind(&InsightWorker::onProgrammingModeEnabledEvent, this, std::placeholders::_1)
|
||||||
|
);
|
||||||
|
|
||||||
|
this->eventListener->registerCallbackForEventType<Events::ProgrammingModeDisabled>(
|
||||||
|
std::bind(&InsightWorker::onProgrammingModeDisabledEvent, this, std::placeholders::_1)
|
||||||
|
);
|
||||||
|
|
||||||
this->eventDispatchTimer = new QTimer(this);
|
this->eventDispatchTimer = new QTimer(this);
|
||||||
QObject::connect(this->eventDispatchTimer, &QTimer::timeout, this, &InsightWorker::dispatchEvents);
|
QObject::connect(this->eventDispatchTimer, &QTimer::timeout, this, &InsightWorker::dispatchEvents);
|
||||||
this->eventDispatchTimer->start(5);
|
this->eventDispatchTimer->start(5);
|
||||||
@@ -161,6 +169,14 @@ namespace Bloom
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void InsightWorker::onProgrammingModeEnabledEvent(const Events::ProgrammingModeEnabled& event) {
|
||||||
|
emit this->programmingModeEnabled();
|
||||||
|
}
|
||||||
|
|
||||||
|
void InsightWorker::onProgrammingModeDisabledEvent(const Events::ProgrammingModeDisabled& event) {
|
||||||
|
emit this->programmingModeDisabled();
|
||||||
|
}
|
||||||
|
|
||||||
void InsightWorker::executeTasks() {
|
void InsightWorker::executeTasks() {
|
||||||
auto task = std::optional<InsightWorkerTask*>();
|
auto task = std::optional<InsightWorkerTask*>();
|
||||||
|
|
||||||
|
|||||||
@@ -42,6 +42,8 @@ namespace Bloom
|
|||||||
void targetControllerSuspended();
|
void targetControllerSuspended();
|
||||||
void targetControllerResumed(const Bloom::Targets::TargetDescriptor& targetDescriptor);
|
void targetControllerResumed(const Bloom::Targets::TargetDescriptor& targetDescriptor);
|
||||||
void targetRegistersWritten(const Bloom::Targets::TargetRegisters& targetRegisters, const QDateTime& timestamp);
|
void targetRegistersWritten(const Bloom::Targets::TargetRegisters& targetRegisters, const QDateTime& timestamp);
|
||||||
|
void programmingModeEnabled();
|
||||||
|
void programmingModeDisabled();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
EventListenerPointer eventListener = std::make_shared<EventListener>("InsightWorkerEventListener");
|
EventListenerPointer eventListener = std::make_shared<EventListener>("InsightWorkerEventListener");
|
||||||
@@ -65,6 +67,8 @@ namespace Bloom
|
|||||||
void onTargetResetEvent(const Events::TargetReset& event);
|
void onTargetResetEvent(const Events::TargetReset& event);
|
||||||
void onTargetRegistersWrittenEvent(const Events::RegistersWrittenToTarget& event);
|
void onTargetRegistersWrittenEvent(const Events::RegistersWrittenToTarget& event);
|
||||||
void onTargetControllerStateChangedEvent(const Events::TargetControllerStateChanged& event);
|
void onTargetControllerStateChangedEvent(const Events::TargetControllerStateChanged& event);
|
||||||
|
void onProgrammingModeEnabledEvent(const Events::ProgrammingModeEnabled& event);
|
||||||
|
void onProgrammingModeDisabledEvent(const Events::ProgrammingModeDisabled& event);
|
||||||
|
|
||||||
void executeTasks();
|
void executeTasks();
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -213,6 +213,20 @@ namespace Bloom
|
|||||||
this,
|
this,
|
||||||
&InsightWindow::onTargetProgramCounterUpdate
|
&InsightWindow::onTargetProgramCounterUpdate
|
||||||
);
|
);
|
||||||
|
|
||||||
|
QObject::connect(
|
||||||
|
&(this->insightWorker),
|
||||||
|
&InsightWorker::programmingModeEnabled,
|
||||||
|
this,
|
||||||
|
&InsightWindow::onProgrammingModeEnabled
|
||||||
|
);
|
||||||
|
|
||||||
|
QObject::connect(
|
||||||
|
&(this->insightWorker),
|
||||||
|
&InsightWorker::programmingModeDisabled,
|
||||||
|
this,
|
||||||
|
&InsightWindow::onProgrammingModeDisabled
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
void InsightWindow::init(TargetDescriptor targetDescriptor) {
|
void InsightWindow::init(TargetDescriptor targetDescriptor) {
|
||||||
@@ -863,6 +877,15 @@ namespace Bloom
|
|||||||
this->adjustMinimumSize();
|
this->adjustMinimumSize();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void InsightWindow::onProgrammingModeEnabled() {
|
||||||
|
this->targetStatusLabel->setText("Programming Mode Enabled");
|
||||||
|
this->programCounterValueLabel->setText("-");
|
||||||
|
}
|
||||||
|
|
||||||
|
void InsightWindow::onProgrammingModeDisabled() {
|
||||||
|
this->onTargetStateUpdate(this->targetState);
|
||||||
|
}
|
||||||
|
|
||||||
void InsightWindow::recordInsightSettings() {
|
void InsightWindow::recordInsightSettings() {
|
||||||
auto& projectSettings = this->insightProjectSettings;
|
auto& projectSettings = this->insightProjectSettings;
|
||||||
|
|
||||||
|
|||||||
@@ -139,6 +139,8 @@ namespace Bloom
|
|||||||
void toggleTargetRegistersPane();
|
void toggleTargetRegistersPane();
|
||||||
void toggleRamInspectionPane();
|
void toggleRamInspectionPane();
|
||||||
void toggleEepromInspectionPane();
|
void toggleEepromInspectionPane();
|
||||||
|
void onProgrammingModeEnabled();
|
||||||
|
void onProgrammingModeDisabled();
|
||||||
|
|
||||||
void recordInsightSettings();
|
void recordInsightSettings();
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -85,6 +85,20 @@ namespace Bloom::Widgets
|
|||||||
&TargetMemoryInspectionPane::onTargetStateChanged
|
&TargetMemoryInspectionPane::onTargetStateChanged
|
||||||
);
|
);
|
||||||
|
|
||||||
|
QObject::connect(
|
||||||
|
&insightWorker,
|
||||||
|
&InsightWorker::programmingModeEnabled,
|
||||||
|
this,
|
||||||
|
&TargetMemoryInspectionPane::onProgrammingModeEnabled
|
||||||
|
);
|
||||||
|
|
||||||
|
QObject::connect(
|
||||||
|
&insightWorker,
|
||||||
|
&InsightWorker::programmingModeDisabled,
|
||||||
|
this,
|
||||||
|
&TargetMemoryInspectionPane::onProgrammingModeDisabled
|
||||||
|
);
|
||||||
|
|
||||||
QObject::connect(
|
QObject::connect(
|
||||||
this->hexViewerWidget->refreshButton,
|
this->hexViewerWidget->refreshButton,
|
||||||
&QToolButton::clicked,
|
&QToolButton::clicked,
|
||||||
@@ -295,4 +309,12 @@ namespace Bloom::Widgets
|
|||||||
void TargetMemoryInspectionPane::onMemoryRegionsChange() {
|
void TargetMemoryInspectionPane::onMemoryRegionsChange() {
|
||||||
this->hexViewerWidget->refreshRegions();
|
this->hexViewerWidget->refreshRegions();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void TargetMemoryInspectionPane::onProgrammingModeEnabled() {
|
||||||
|
this->hexViewerWidget->setDisabled(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
void TargetMemoryInspectionPane::onProgrammingModeDisabled() {
|
||||||
|
this->hexViewerWidget->setDisabled(this->targetState != Targets::TargetState::STOPPED);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -63,5 +63,7 @@ namespace Bloom::Widgets
|
|||||||
void onMemoryRead(const Targets::TargetMemoryBuffer& buffer);
|
void onMemoryRead(const Targets::TargetMemoryBuffer& buffer);
|
||||||
void openMemoryRegionManagerWindow();
|
void openMemoryRegionManagerWindow();
|
||||||
void onMemoryRegionsChange();
|
void onMemoryRegionsChange();
|
||||||
|
void onProgrammingModeEnabled();
|
||||||
|
void onProgrammingModeDisabled();
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -31,6 +31,20 @@ namespace Bloom::Widgets::InsightTargetWidgets
|
|||||||
&TargetPackageWidget::onRegistersWritten
|
&TargetPackageWidget::onRegistersWritten
|
||||||
);
|
);
|
||||||
|
|
||||||
|
QObject::connect(
|
||||||
|
&(this->insightWorker),
|
||||||
|
&InsightWorker::programmingModeEnabled,
|
||||||
|
this,
|
||||||
|
&TargetPackageWidget::onProgrammingModeEnabled
|
||||||
|
);
|
||||||
|
|
||||||
|
QObject::connect(
|
||||||
|
&(this->insightWorker),
|
||||||
|
&InsightWorker::programmingModeDisabled,
|
||||||
|
this,
|
||||||
|
&TargetPackageWidget::onProgrammingModeDisabled
|
||||||
|
);
|
||||||
|
|
||||||
this->setDisabled(true);
|
this->setDisabled(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -85,6 +99,18 @@ namespace Bloom::Widgets::InsightTargetWidgets
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void TargetPackageWidget::onProgrammingModeEnabled() {
|
||||||
|
if (this->targetState == TargetState::STOPPED) {
|
||||||
|
this->setDisabled(true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void TargetPackageWidget::onProgrammingModeDisabled() {
|
||||||
|
if (this->targetState == TargetState::STOPPED) {
|
||||||
|
this->setDisabled(false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void TargetPackageWidget::onRegistersWritten(Targets::TargetRegisters targetRegisters) {
|
void TargetPackageWidget::onRegistersWritten(Targets::TargetRegisters targetRegisters) {
|
||||||
if (this->targetState != TargetState::STOPPED) {
|
if (this->targetState != TargetState::STOPPED) {
|
||||||
return;
|
return;
|
||||||
|
|||||||
@@ -46,6 +46,8 @@ namespace Bloom::Widgets::InsightTargetWidgets
|
|||||||
protected slots:
|
protected slots:
|
||||||
virtual void updatePinStates(const Targets::TargetPinStateMappingType& pinStatesByNumber);
|
virtual void updatePinStates(const Targets::TargetPinStateMappingType& pinStatesByNumber);
|
||||||
void onTargetStateChanged(Targets::TargetState newState);
|
void onTargetStateChanged(Targets::TargetState newState);
|
||||||
|
void onProgrammingModeEnabled();
|
||||||
|
void onProgrammingModeDisabled();
|
||||||
void onRegistersWritten(Targets::TargetRegisters targetRegisters);
|
void onRegistersWritten(Targets::TargetRegisters targetRegisters);
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user