mirror of
https://github.com/BotChain-Robots/firmware.git
synced 2026-07-08 17:47:21 +02:00
Config manager fixes
This commit is contained in:
@@ -17,7 +17,7 @@
|
||||
#define METADATA_PERIOD_MS 1000
|
||||
|
||||
[[noreturn]] void LoopManager::control_loop() const {
|
||||
const auto actuator = ActuatorFactory::create_actuator(ConfigManager::get_module_type());
|
||||
const auto actuator = ActuatorFactory::create_actuator(m_config_manager.get_module_type());
|
||||
|
||||
uint8_t buffer[512];
|
||||
while (true) {
|
||||
@@ -38,7 +38,7 @@
|
||||
casted_orientations.emplace_back(orientation);
|
||||
}
|
||||
|
||||
const auto [data, size] = topology_message_builder->build_topology_message(ConfigManager::get_module_id(), ConfigManager::get_module_type(), module_ids, casted_orientations);
|
||||
const auto [data, size] = topology_message_builder->build_topology_message(that->m_config_manager.get_module_id(), that->m_config_manager.get_module_type(), module_ids, casted_orientations);
|
||||
that->m_messaging_interface->send(static_cast<char *>(data), size, PC_ADDR, TOPOLOGY_CMD_TAG, true);
|
||||
vTaskDelay(METADATA_PERIOD_MS / portTICK_PERIOD_MS);
|
||||
}
|
||||
|
||||
@@ -14,11 +14,14 @@
|
||||
|
||||
class LoopManager {
|
||||
public:
|
||||
LoopManager() : m_messaging_interface(std::make_unique<MessagingInterface>(std::make_unique<WifiManager>())) {}
|
||||
LoopManager() : m_config_manager(ConfigManager::get_instance()),
|
||||
m_messaging_interface(std::make_unique<MessagingInterface>(std::make_unique<WifiManager>())) {}
|
||||
[[noreturn]] void control_loop() const;
|
||||
[[noreturn]] static void metadata_tx_loop(char * args);
|
||||
[[noreturn]] static void metadata_rx_loop(char * args);
|
||||
|
||||
private:
|
||||
ConfigManager& m_config_manager;
|
||||
std::unique_ptr<MessagingInterface> m_messaging_interface;
|
||||
|
||||
private:
|
||||
|
||||
@@ -1,25 +1,25 @@
|
||||
#include <cstdio>
|
||||
#include <memory>
|
||||
|
||||
#include "sdkconfig.h"
|
||||
#include "freertos/FreeRTOS.h"
|
||||
#include "sdkconfig.h"
|
||||
|
||||
#include "WifiManager.h"
|
||||
#include "mDNSDiscoveryService.h"
|
||||
#include "TCPServer.h"
|
||||
#include "ConfigManager.h"
|
||||
#include "LoopManager.h"
|
||||
#include "TCPServer.h"
|
||||
#include "WifiManager.h"
|
||||
#include "esp_log.h"
|
||||
#include "mDNSDiscoveryService.h"
|
||||
|
||||
extern "C" [[noreturn]] void app_main(void) {
|
||||
ESP_LOGI("MEM", "Free internal RAM: %d", heap_caps_get_free_size(MALLOC_CAP_8BIT));
|
||||
ESP_LOGI("MEM", "Free internal RAM: %d",
|
||||
heap_caps_get_free_size(MALLOC_CAP_8BIT));
|
||||
ESP_LOGI("MEM", "Free PSRAM: %d", heap_caps_get_free_size(MALLOC_CAP_SPIRAM));
|
||||
|
||||
ConfigManager::init_config();
|
||||
|
||||
|
||||
auto& config_manager = ConfigManager::get_instance(); // NOLINT - here for easily adding temporary config
|
||||
|
||||
const auto loop_manager = std::make_unique<LoopManager>();
|
||||
xTaskCreate(reinterpret_cast<TaskFunction_t>(LoopManager::metadata_tx_loop), "metadata_tx", 3096, loop_manager.get(), 3, nullptr);
|
||||
xTaskCreate(reinterpret_cast<TaskFunction_t>(LoopManager::metadata_tx_loop),
|
||||
"metadata_tx", 3096, loop_manager.get(), 3, nullptr);
|
||||
loop_manager->control_loop();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user