This commit is contained in:
2025-07-05 18:27:13 -04:00
parent d507a27c0b
commit 3bc92ac6f3
6 changed files with 21 additions and 11 deletions

View File

@@ -18,13 +18,12 @@
// todo: - add message routing to correct client
// - authenticate (don't just return true from the auth function)
// - tx from board
TCPServer::TCPServer(const int port) {
this->m_port = port;
this->m_mutex = xSemaphoreCreateMutex();
this->m_clients = std::unordered_set<int>();
this->m_task = nullptr;
this->m_rx_task = nullptr;
this->m_tx_task = nullptr;
@@ -153,7 +152,7 @@ TCPServer::~TCPServer() {
close(sock);
to_remove.emplace_back(sock);
} else {
// todo: send to rx queue
// todo: send to rx queue instead of printing
buffer[len] = 0; // temp: Null-terminate whatever is received and treat it like a string
printf("TCP Server Received %d bytes: %s\n", len, buffer);
}

View File

@@ -104,10 +104,10 @@ int WifiManager::init_connection() {
}
};
esp_wifi_set_mode(WIFI_MODE_STA);
esp_wifi_set_config(static_cast<wifi_interface_t>(ESP_IF_WIFI_STA), &wifi_configuration);
esp_wifi_start();
esp_wifi_set_mode(WIFI_MODE_STA);
esp_wifi_connect();
return 0;

View File

@@ -5,9 +5,12 @@
#ifndef DISCOVERYSERVICE_H
#define DISCOVERYSERVICE_H
class mDNSDiscoveryService {
class mDNSDiscoveryService final {
public:
mDNSDiscoveryService();
mDNSDiscoveryService() = delete;
~mDNSDiscoveryService() = delete;
static void setup();
};
#endif //DISCOVERYSERVICE_H

View File

@@ -13,12 +13,20 @@
#include <string>
#include <format>
// todo: clean this up (strange to be a constructor) also need to add more details
mDNSDiscoveryService::mDNSDiscoveryService() {
// todo: clean this up (strange to be a constructor) also need to add more details, need to add to routing table
void mDNSDiscoveryService::setup() {
mdns_init();
mdns_hostname_set(std::format("botchain-{}", ConfigManager::get_module_id()).c_str());
mdns_instance_name_set(std::format("BotChain Robot Module {}", ConfigManager::get_module_id()).c_str());
mdns_service_add(nullptr, "_robotcontrol", "_tcp", TCP_PORT, nullptr, 0);
mdns_service_instance_name_set("_robotcontrol", "_tcp", "Robot Control TCP Server");
mdns_txt_item_t service_txt_data[3] = {
{"module_id",std::to_string(ConfigManager::get_module_id()).c_str()},
{"module_type",std::to_string(ConfigManager::get_module_type()).c_str()},
{"connected_modules","2,3,4,5,6,7,8,9"},
};
mdns_service_txt_set("_robotcontrol", "_tcp", service_txt_data, 3);
}