This commit is contained in:
Nav
2022-04-17 23:56:57 +01:00
parent 13f5c13065
commit 0a21526a68
7 changed files with 16 additions and 8 deletions

View File

@@ -13,11 +13,9 @@ set(ENABLE_SANITIZERS off)
add_definitions(-D_GLIBCXX_USE_CXX11_ABI=0) add_definitions(-D_GLIBCXX_USE_CXX11_ABI=0)
# The HIDAPI library lives here
link_directories(/usr/local/lib) link_directories(/usr/local/lib)
set(CMAKE_AUTOMOC ON) set(CMAKE_AUTOMOC ON)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(AUTOGEN_BUILD_DIR ../build/) set(AUTOGEN_BUILD_DIR ../build/)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/build/bin") set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/build/bin")
@@ -30,6 +28,12 @@ find_package(Qt6UiTools REQUIRED)
find_package(Qt6SvgWidgets REQUIRED) find_package(Qt6SvgWidgets REQUIRED)
find_package(Qt6Network REQUIRED) find_package(Qt6Network REQUIRED)
# Bloom is distributed with some third-party dependencies (in the form of shared objects). These dependencies are
# distributed with Bloom for various reasons (licensing, availability in some package managers, etc).
#
# The shared objects are located in bin/lib (relative to Bloom's installation directory). For this reason, we instruct
# the dynamic linker to look for any of Bloom's shared object dependencies in that location first. We do this by
# including '$ORIGIN/lib' in the RPATH of Bloom's binary executable.
set(CMAKE_SKIP_BUILD_RPATH false) set(CMAKE_SKIP_BUILD_RPATH false)
set(CMAKE_BUILD_RPATH_USE_ORIGIN true) set(CMAKE_BUILD_RPATH_USE_ORIGIN true)
set(CMAKE_INSTALL_RPATH "\$ORIGIN/lib:/usr/local/lib") set(CMAKE_INSTALL_RPATH "\$ORIGIN/lib:/usr/local/lib")

View File

@@ -228,7 +228,8 @@ namespace Bloom
void stopSignalHandler(); void stopSignalHandler();
/** /**
* Prepares a dedicated thread for the TargetController and kicks it off with a call to TargetController::run(). * Prepares a dedicated thread for the TargetController and kicks it off with a call to
* TargetControllerComponent::run().
*/ */
void startTargetController(); void startTargetController();

View File

@@ -942,7 +942,7 @@ namespace Bloom::TargetController
* Insight has just started up. * Insight has just started up.
* *
* Refresh the target state and kick off a target stop/resume execution event. Setting the lastTargetState * Refresh the target state and kick off a target stop/resume execution event. Setting the lastTargetState
* to UNKNOWN will be enough to do this. See TargetController::fireTargetEvents(). * to UNKNOWN will be enough to do this. See TargetControllerComponent::fireTargetEvents().
*/ */
this->lastTargetState = TargetState::UNKNOWN; this->lastTargetState = TargetState::UNKNOWN;
} }

View File

@@ -75,8 +75,10 @@ namespace Bloom::TargetController
static inline ConditionVariableNotifier notifier = ConditionVariableNotifier(); static inline ConditionVariableNotifier notifier = ConditionVariableNotifier();
static inline std::condition_variable responsesByCommandIdCv = std::condition_variable(); static inline std::condition_variable responsesByCommandIdCv = std::condition_variable();
/** /**
* The TC starts off in a suspended state. TargetController::resume() is invoked from the startup routine. * The TC starts off in a suspended state. TargetControllerComponent::resume() is invoked from the startup
* routine.
*/ */
TargetControllerState state = TargetControllerState::SUSPENDED; TargetControllerState state = TargetControllerState::SUSPENDED;

View File

@@ -10,7 +10,8 @@ namespace Bloom::TargetController
using namespace Bloom::Exceptions; using namespace Bloom::Exceptions;
TargetControllerConsole::TargetControllerConsole(EventListener& eventListener) TargetControllerConsole::TargetControllerConsole(EventListener& eventListener)
:eventListener(eventListener) {} : eventListener(eventListener)
{}
TargetControllerState TargetControllerConsole::getTargetControllerState() { TargetControllerState TargetControllerConsole::getTargetControllerState() {
return this->triggerTargetControllerEventAndWaitForResponse( return this->triggerTargetControllerEventAndWaitForResponse(

View File

@@ -79,7 +79,7 @@ namespace Bloom::Targets::Microchip::Avr::Avr8Bit
* *
* We don't use this->getId() here as that could return the ID that was extracted from the target description * We don't use this->getId() here as that could return the ID that was extracted from the target description
* file (which it would, if the user specified the exact target name in their project config - see * file (which it would, if the user specified the exact target name in their project config - see
* Avr8::getId() and TargetController::getSupportedTargets() for more). * Avr8::getId() and TargetControllerComponent::getSupportedTargets() for more).
*/ */
auto targetSignature = this->avr8DebugInterface->getDeviceId(); auto targetSignature = this->avr8DebugInterface->getDeviceId();
auto tdSignature = this->targetDescriptionFile->getTargetSignature(); auto tdSignature = this->targetDescriptionFile->getTargetSignature();

View File

@@ -157,7 +157,7 @@ namespace Bloom::Targets
* Once at least one of the above conditions are met, the TargetController will break out of the loop and use * Once at least one of the above conditions are met, the TargetController will break out of the loop and use
* the last promoted target instance from there onwards. * the last promoted target instance from there onwards.
* *
* See TargetController::acquireHardware() for more on this. * See TargetControllerComponent::acquireHardware() for more on this.
* *
* @return * @return
*/ */