diff --git a/arch/nrf52/nrf52.ini b/arch/nrf52/nrf52.ini index 294cc6238..6f58b44dd 100644 --- a/arch/nrf52/nrf52.ini +++ b/arch/nrf52/nrf52.ini @@ -11,7 +11,7 @@ build_flags = -Isrc/platform/nrf52 build_src_filter = - ${arduino_base.build_src_filter} - - - - - - - - - - - + ${arduino_base.build_src_filter} - - - - - - - - - - lib_deps= ${arduino_base.lib_deps} diff --git a/arch/rp2040/rp2040.ini b/arch/rp2040/rp2040.ini index 0add7de5d..4dc89c04b 100644 --- a/arch/rp2040/rp2040.ini +++ b/arch/rp2040/rp2040.ini @@ -12,7 +12,7 @@ build_flags = -D__PLAT_RP2040__ # -D _POSIX_THREADS build_src_filter = - ${arduino_base.build_src_filter} - - - - - - - - - - + ${arduino_base.build_src_filter} - - - - - - - - - lib_ignore = BluetoothOTA diff --git a/src/main.cpp b/src/main.cpp index 556025ea6..c2630c88f 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -106,8 +106,8 @@ AudioThread *audioThread; #if HAS_TFT #include "DeviceScreen.h" -#include "sharedMem/PacketClient.h" -#include "sharedMem/PacketServer.h" +#include "PacketClient.h" +#include "PacketServer.h" void tft_task_handler(void *); diff --git a/src/mesh/api/PacketAPI.h b/src/mesh/api/PacketAPI.h index 015bec224..d4aaadad8 100644 --- a/src/mesh/api/PacketAPI.h +++ b/src/mesh/api/PacketAPI.h @@ -1,8 +1,8 @@ #pragma once +#include "PacketServer.h" #include "PhoneAPI.h" #include "concurrency/OSThread.h" -#include "sharedMem/PacketServer.h" /** * A version of the phone API used for inter task communication based on protobuf packets, e.g. diff --git a/src/mesh/sharedMem/PacketClient.cpp b/src/mesh/sharedMem/PacketClient.cpp deleted file mode 100644 index d0656cfd8..000000000 --- a/src/mesh/sharedMem/PacketClient.cpp +++ /dev/null @@ -1,76 +0,0 @@ -#include "sharedMem/PacketClient.h" -#include "Packet.h" -#include "SharedQueue.h" -#include "configuration.h" -#include - -const uint32_t max_packet_queue_size = 10; - -void PacketClient::init(void) -{ - // sharedQueue is currently defined external, it is not shared between processes - connect(sharedQueue); -} - -PacketClient::PacketClient() : queue(nullptr) {} - -bool PacketClient::connect(void) -{ - is_connected = true; - return is_connected; -} - -bool PacketClient::disconnect(void) -{ - is_connected = false; - return is_connected; -} - -bool PacketClient::isConnected(void) -{ - return is_connected; -} - -int PacketClient::connect(SharedQueue *_queue) -{ - if (!queue) { - queue = _queue; - } else if (_queue != queue) { - LOG_WARN("Client already connected."); - } - is_connected = true; - return queue->serverQueueSize(); -} - -bool PacketClient::send(meshtastic_ToRadio &&to) -{ - if (available()) { - static uint32_t id = 0; - return queue->clientSend(DataPacket(++id, to)); - } else { - return false; - } -} - -meshtastic_FromRadio PacketClient::receive(void) -{ - if (hasData()) { - auto p = queue->clientReceive(); - if (p) { - return static_cast *>(p->move().get())->getData(); - } - } - return meshtastic_FromRadio(); -} - -bool PacketClient::hasData() const -{ - assert(queue); - return queue->serverQueueSize() > 0; -} - -bool PacketClient::available() const -{ - assert(queue); - return queue->clientQueueSize() < max_packet_queue_size; -} diff --git a/src/mesh/sharedMem/PacketClient.h b/src/mesh/sharedMem/PacketClient.h deleted file mode 100644 index d4830ee66..000000000 --- a/src/mesh/sharedMem/PacketClient.h +++ /dev/null @@ -1,34 +0,0 @@ -#pragma once - -#include "IClientBase.h" - -class SharedQueue; - -/** - * @brief Client implementation to receive packets from and - * send packets to the shared queue - * - */ -class PacketClient : public IClientBase -{ - public: - PacketClient(); - void init(void) override; - bool connect(void) override; - bool disconnect(void) override; - bool isConnected(void) override; - bool send(meshtastic_ToRadio &&to) override; - meshtastic_FromRadio receive(void) override; - - virtual bool hasData() const; - virtual bool available() const; - - virtual ~PacketClient() = default; - - protected: - virtual int connect(SharedQueue *_queue); - - private: - volatile bool is_connected = false; - SharedQueue *queue; -}; diff --git a/src/mesh/sharedMem/PacketServer.cpp b/src/mesh/sharedMem/PacketServer.cpp deleted file mode 100644 index 4112eb6f9..000000000 --- a/src/mesh/sharedMem/PacketServer.cpp +++ /dev/null @@ -1,55 +0,0 @@ -#include "sharedMem/PacketServer.h" -#include "SharedQueue.h" -#include "api/PacketAPI.h" -#include - -const uint32_t max_packet_queue_size = 50; - -SharedQueue *sharedQueue = nullptr; - -PacketServer *packetServer = nullptr; - -PacketServer::PacketServer() : queue(nullptr) {} - -void PacketServer::init(void) -{ - packetServer = new PacketServer; - packetAPI = new PacketAPI(packetServer); - sharedQueue = new SharedQueue; - packetServer->begin(sharedQueue); -} - -void PacketServer::begin(SharedQueue *_queue) -{ - queue = _queue; -} - -Packet::PacketPtr PacketServer::receivePacket(void) -{ - assert(queue); - if (queue->clientQueueSize() == 0) - return {nullptr}; - return queue->serverReceive(); -} - -bool PacketServer::sendPacket(Packet &&p) -{ - assert(queue); - if (queue->serverQueueSize() >= max_packet_queue_size) { - return false; - } - queue->serverSend(std::move(p)); - return true; -} - -bool PacketServer::hasData() const -{ - assert(queue); - return queue->clientQueueSize() > 0; -} - -bool PacketServer::available() const -{ - assert(queue); - return queue->serverQueueSize() < max_packet_queue_size; -} diff --git a/src/mesh/sharedMem/PacketServer.h b/src/mesh/sharedMem/PacketServer.h deleted file mode 100644 index 1adeea0ed..000000000 --- a/src/mesh/sharedMem/PacketServer.h +++ /dev/null @@ -1,28 +0,0 @@ -#pragma once - -#include "Packet.h" -#include "PacketQueue.h" - -class SharedQueue; - -/** - * Generic server implementation (base class) for bidirectional task communication - * Uses a queue that is shared with the client - */ -class PacketServer -{ - public: - PacketServer(); - static void init(void); - virtual void begin(SharedQueue *_queue); - virtual bool sendPacket(Packet &&p); - virtual Packet::PacketPtr receivePacket(void); - // template variant with typed return values - // template<> Packet::PacketPtr receivePacket() - // template T receivePacket(); - virtual bool hasData() const; - virtual bool available() const; - - private: - SharedQueue *queue; -}; diff --git a/variants/portduino/platformio.ini b/variants/portduino/platformio.ini index a54bdb59f..c2d171561 100644 --- a/variants/portduino/platformio.ini +++ b/variants/portduino/platformio.ini @@ -40,7 +40,6 @@ build_src_filter = ${portduino_base.build_src_filter} +<../lib/device-ui/generated/ui_320x240/fonts> +<../lib/device-ui/resources> +<../lib/device-ui/source> - + [env:native-x11-320x240] extends = portduino_base @@ -74,4 +73,3 @@ build_src_filter = ${portduino_base.build_src_filter} +<../lib/device-ui/generated/ui_320x240/fonts> +<../lib/device-ui/resources> +<../lib/device-ui/source> - +