From c8b54a30aabaf2a8a99aa1a61f75d3b4ba241f5f Mon Sep 17 00:00:00 2001 From: Kevin D Date: Thu, 29 Jan 2026 20:08:51 -0800 Subject: [PATCH] reorganized and added aerpawlib submodule --- .gitignore | 4 + .gitmodules | 3 + aerpaw/aerpawlib | 1 + aerpaw/basic_demo/comms.cpp | 85 -- aerpaw/basic_demo/compile.sh | 9 - aerpaw/basic_demo/controller.cpp | 64 -- aerpaw/basic_demo/controller.h | 23 - aerpaw/basic_demo/controller_data.h | 20 - aerpaw/basic_demo/controller_initialize.cpp | 19 - aerpaw/basic_demo/controller_initialize.h | 23 - aerpaw/basic_demo/controller_terminate.cpp | 19 - aerpaw/basic_demo/controller_terminate.h | 23 - aerpaw/basic_demo/controller_types.h | 18 - aerpaw/basic_demo/copy_codegen.sh | 3 - aerpaw/basic_demo/rtwtypes.h | 44 - aerpaw/basic_demo/tmwtypes.h | 888 ------------------ aerpaw/build/controller_app | Bin 0 -> 25624 bytes aerpaw/{basic_demo => client}/uav.py | 0 aerpaw/compile.sh | 22 + aerpaw/{basic_demo => config}/targets.txt | 0 aerpaw/controller.coderprj | 2 +- aerpaw/controller.m | 6 +- .../{basic_demo => impl}/controller_impl.cpp | 0 aerpaw/{basic_demo => impl}/controller_impl.h | 0 .../{basic_demo => impl}/controller_main.cpp | 0 .../DT1kUQeJY6fcqPoFwxbXgNUS8lIp.xml | 2 - .../KKBV-7KuZ8BHvHksNu5JJFcUe4op.xml | 2 - .../KtdYjPriN9I6DGnwvLHvl_xju8cp.xml | 2 - .../jgOJohqRy86fwKjFIbPiQBzesd0d.xml | 6 - .../jgOJohqRy86fwKjFIbPiQBzesd0p.xml | 2 - .../5kqAGPAcSSlbCfxgpmA59U0UWcUd.xml} | 0 .../5kqAGPAcSSlbCfxgpmA59U0UWcUp.xml} | 0 .../DtKmIMiY6orJIYug9tOtsq_Fzhcd.xml} | 0 .../DtKmIMiY6orJIYug9tOtsq_Fzhcp.xml} | 0 .../ob3_1xfVXe9xJyMpU2OoFU4cuiAd.xml} | 0 .../ob3_1xfVXe9xJyMpU2OoFU4cuiAp.xml} | 0 .../z4z4lM08j9WL4zP-VuDL0ahDO0Ud.xml} | 0 .../z4z4lM08j9WL4zP-VuDL0ahDO0Up.xml} | 0 .../vvkdLmboxiWCk6Hhn0GbursF9fUd.xml | 2 - .../vvkdLmboxiWCk6Hhn0GbursF9fUp.xml | 2 - .../4XBBbvgKHLBtx6tMwElTfwSe284p.xml | 2 - .../4sXto5Q6PQxNCRaZ_E3lobFdDW0d.xml} | 0 .../4sXto5Q6PQxNCRaZ_E3lobFdDW0p.xml} | 2 +- .../H19IO1jEs0wteU5qOxvbqC7nlNQd.xml} | 0 .../H19IO1jEs0wteU5qOxvbqC7nlNQp.xml | 2 + .../_OVq48gDE3e3rOLnb5h-BM7EFlod.xml} | 0 .../_OVq48gDE3e3rOLnb5h-BM7EFlop.xml | 2 + ...d.xml => vmVRNnXTZxyEiUtNp09z8POG4wwd.xml} | 0 .../vmVRNnXTZxyEiUtNp09z8POG4wwp.xml | 2 + .../rVU_JX95v1I2OBq2J6-2O96LoUkd.xml} | 0 .../rVU_JX95v1I2OBq2J6-2O96LoUkp.xml} | 0 .../vGABa5Ph5Hrybd7I6QzfUMH_twod.xml | 2 + .../vGABa5Ph5Hrybd7I6QzfUMH_twop.xml | 2 + .../-vjR0MepbwFP9l9LODKOdkhWQxgd.xml | 2 + .../-vjR0MepbwFP9l9LODKOdkhWQxgp.xml | 2 + .../SIIQXGNdeuOFxWuW0X-F0AZ8GhYd.xml | 2 + .../SIIQXGNdeuOFxWuW0X-F0AZ8GhYp.xml} | 0 .../61BK8NUy-hRFQwhke5DFvl8vVzMd.xml | 2 + .../61BK8NUy-hRFQwhke5DFvl8vVzMp.xml | 2 + .../LK7oJyAsjG7L54MEiqw4vyI1c5cd.xml | 2 + .../LK7oJyAsjG7L54MEiqw4vyI1c5cp.xml | 2 + .../IB5aEp3NY6701lx9CrzeP4p_AdMd.xml | 6 - .../IB5aEp3NY6701lx9CrzeP4p_AdMp.xml | 2 - .../tXIxTbpNO0wMjrPsAfR_XQDWLXod.xml | 6 - .../vsJddY_pZWxGvvAn6QlLbHdhf6Qd.xml | 6 - 65 files changed, 59 insertions(+), 1283 deletions(-) create mode 100644 .gitmodules create mode 160000 aerpaw/aerpawlib delete mode 100644 aerpaw/basic_demo/comms.cpp delete mode 100755 aerpaw/basic_demo/compile.sh delete mode 100644 aerpaw/basic_demo/controller.cpp delete mode 100644 aerpaw/basic_demo/controller.h delete mode 100644 aerpaw/basic_demo/controller_data.h delete mode 100644 aerpaw/basic_demo/controller_initialize.cpp delete mode 100644 aerpaw/basic_demo/controller_initialize.h delete mode 100644 aerpaw/basic_demo/controller_terminate.cpp delete mode 100644 aerpaw/basic_demo/controller_terminate.h delete mode 100644 aerpaw/basic_demo/controller_types.h delete mode 100755 aerpaw/basic_demo/copy_codegen.sh delete mode 100644 aerpaw/basic_demo/rtwtypes.h delete mode 100644 aerpaw/basic_demo/tmwtypes.h create mode 100755 aerpaw/build/controller_app rename aerpaw/{basic_demo => client}/uav.py (100%) create mode 100755 aerpaw/compile.sh rename aerpaw/{basic_demo => config}/targets.txt (100%) rename aerpaw/{basic_demo => impl}/controller_impl.cpp (100%) rename aerpaw/{basic_demo => impl}/controller_impl.h (100%) rename aerpaw/{basic_demo => impl}/controller_main.cpp (100%) delete mode 100644 resources/project/4XBBbvgKHLBtx6tMwElTfwSe284/DT1kUQeJY6fcqPoFwxbXgNUS8lIp.xml delete mode 100644 resources/project/4XBBbvgKHLBtx6tMwElTfwSe284/KKBV-7KuZ8BHvHksNu5JJFcUe4op.xml delete mode 100644 resources/project/4XBBbvgKHLBtx6tMwElTfwSe284/KtdYjPriN9I6DGnwvLHvl_xju8cp.xml delete mode 100644 resources/project/4XBBbvgKHLBtx6tMwElTfwSe284/jgOJohqRy86fwKjFIbPiQBzesd0d.xml delete mode 100644 resources/project/4XBBbvgKHLBtx6tMwElTfwSe284/jgOJohqRy86fwKjFIbPiQBzesd0p.xml rename resources/project/{4XBBbvgKHLBtx6tMwElTfwSe284/DT1kUQeJY6fcqPoFwxbXgNUS8lId.xml => 4sXto5Q6PQxNCRaZ_E3lobFdDW0/5kqAGPAcSSlbCfxgpmA59U0UWcUd.xml} (100%) rename resources/project/{yqzx3eu-5BBs0TaADSKy2J7RAA8/vsJddY_pZWxGvvAn6QlLbHdhf6Qp.xml => 4sXto5Q6PQxNCRaZ_E3lobFdDW0/5kqAGPAcSSlbCfxgpmA59U0UWcUp.xml} (100%) rename resources/project/{4XBBbvgKHLBtx6tMwElTfwSe284/KtdYjPriN9I6DGnwvLHvl_xju8cd.xml => 4sXto5Q6PQxNCRaZ_E3lobFdDW0/DtKmIMiY6orJIYug9tOtsq_Fzhcd.xml} (100%) rename resources/project/{yqzx3eu-5BBs0TaADSKy2J7RAA8/tXIxTbpNO0wMjrPsAfR_XQDWLXop.xml => 4sXto5Q6PQxNCRaZ_E3lobFdDW0/DtKmIMiY6orJIYug9tOtsq_Fzhcp.xml} (100%) rename resources/project/{4XBBbvgKHLBtx6tMwElTfwSe284/2At36Gb0jC6HQmgXbAN4ShlbqAgd.xml => 4sXto5Q6PQxNCRaZ_E3lobFdDW0/ob3_1xfVXe9xJyMpU2OoFU4cuiAd.xml} (100%) rename resources/project/{4XBBbvgKHLBtx6tMwElTfwSe284/2At36Gb0jC6HQmgXbAN4ShlbqAgp.xml => 4sXto5Q6PQxNCRaZ_E3lobFdDW0/ob3_1xfVXe9xJyMpU2OoFU4cuiAp.xml} (100%) rename resources/project/{4XBBbvgKHLBtx6tMwElTfwSe284/SKpQU057yTGLn9b7Hh4v5-10P0gd.xml => 4sXto5Q6PQxNCRaZ_E3lobFdDW0/z4z4lM08j9WL4zP-VuDL0ahDO0Ud.xml} (100%) rename resources/project/{4XBBbvgKHLBtx6tMwElTfwSe284/SKpQU057yTGLn9b7Hh4v5-10P0gp.xml => 4sXto5Q6PQxNCRaZ_E3lobFdDW0/z4z4lM08j9WL4zP-VuDL0ahDO0Up.xml} (100%) delete mode 100644 resources/project/EEtUlUb-dLAdf0KpMVivaUlztwA/vvkdLmboxiWCk6Hhn0GbursF9fUd.xml delete mode 100644 resources/project/EEtUlUb-dLAdf0KpMVivaUlztwA/vvkdLmboxiWCk6Hhn0GbursF9fUp.xml delete mode 100644 resources/project/Gnz6T47dAsmf4YcBHB3EkpeZeYA/4XBBbvgKHLBtx6tMwElTfwSe284p.xml rename resources/project/{4XBBbvgKHLBtx6tMwElTfwSe284/KKBV-7KuZ8BHvHksNu5JJFcUe4od.xml => Gnz6T47dAsmf4YcBHB3EkpeZeYA/4sXto5Q6PQxNCRaZ_E3lobFdDW0d.xml} (100%) rename resources/project/{4XBBbvgKHLBtx6tMwElTfwSe284/yqzx3eu-5BBs0TaADSKy2J7RAA8p.xml => Gnz6T47dAsmf4YcBHB3EkpeZeYA/4sXto5Q6PQxNCRaZ_E3lobFdDW0p.xml} (50%) rename resources/project/{4XBBbvgKHLBtx6tMwElTfwSe284/uqjVJgVIW1gykl7rcImcpGWqgpkd.xml => Gnz6T47dAsmf4YcBHB3EkpeZeYA/H19IO1jEs0wteU5qOxvbqC7nlNQd.xml} (100%) create mode 100644 resources/project/Gnz6T47dAsmf4YcBHB3EkpeZeYA/H19IO1jEs0wteU5qOxvbqC7nlNQp.xml rename resources/project/{4XBBbvgKHLBtx6tMwElTfwSe284/yqzx3eu-5BBs0TaADSKy2J7RAA8d.xml => Gnz6T47dAsmf4YcBHB3EkpeZeYA/_OVq48gDE3e3rOLnb5h-BM7EFlod.xml} (100%) create mode 100644 resources/project/Gnz6T47dAsmf4YcBHB3EkpeZeYA/_OVq48gDE3e3rOLnb5h-BM7EFlop.xml rename resources/project/Gnz6T47dAsmf4YcBHB3EkpeZeYA/{4XBBbvgKHLBtx6tMwElTfwSe284d.xml => vmVRNnXTZxyEiUtNp09z8POG4wwd.xml} (100%) create mode 100644 resources/project/Gnz6T47dAsmf4YcBHB3EkpeZeYA/vmVRNnXTZxyEiUtNp09z8POG4wwp.xml rename resources/project/{yqzx3eu-5BBs0TaADSKy2J7RAA8/iuj6vdt6zgYrIPo9qqcdlIGyEUkd.xml => H19IO1jEs0wteU5qOxvbqC7nlNQ/rVU_JX95v1I2OBq2J6-2O96LoUkd.xml} (100%) rename resources/project/{yqzx3eu-5BBs0TaADSKy2J7RAA8/iuj6vdt6zgYrIPo9qqcdlIGyEUkp.xml => H19IO1jEs0wteU5qOxvbqC7nlNQ/rVU_JX95v1I2OBq2J6-2O96LoUkp.xml} (100%) create mode 100644 resources/project/H19IO1jEs0wteU5qOxvbqC7nlNQ/vGABa5Ph5Hrybd7I6QzfUMH_twod.xml create mode 100644 resources/project/H19IO1jEs0wteU5qOxvbqC7nlNQ/vGABa5Ph5Hrybd7I6QzfUMH_twop.xml create mode 100644 resources/project/_OVq48gDE3e3rOLnb5h-BM7EFlo/-vjR0MepbwFP9l9LODKOdkhWQxgd.xml create mode 100644 resources/project/_OVq48gDE3e3rOLnb5h-BM7EFlo/-vjR0MepbwFP9l9LODKOdkhWQxgp.xml create mode 100644 resources/project/_OVq48gDE3e3rOLnb5h-BM7EFlo/SIIQXGNdeuOFxWuW0X-F0AZ8GhYd.xml rename resources/project/{4XBBbvgKHLBtx6tMwElTfwSe284/uqjVJgVIW1gykl7rcImcpGWqgpkp.xml => _OVq48gDE3e3rOLnb5h-BM7EFlo/SIIQXGNdeuOFxWuW0X-F0AZ8GhYp.xml} (100%) create mode 100644 resources/project/vmVRNnXTZxyEiUtNp09z8POG4ww/61BK8NUy-hRFQwhke5DFvl8vVzMd.xml create mode 100644 resources/project/vmVRNnXTZxyEiUtNp09z8POG4ww/61BK8NUy-hRFQwhke5DFvl8vVzMp.xml create mode 100644 resources/project/vmVRNnXTZxyEiUtNp09z8POG4ww/LK7oJyAsjG7L54MEiqw4vyI1c5cd.xml create mode 100644 resources/project/vmVRNnXTZxyEiUtNp09z8POG4ww/LK7oJyAsjG7L54MEiqw4vyI1c5cp.xml delete mode 100644 resources/project/yqzx3eu-5BBs0TaADSKy2J7RAA8/IB5aEp3NY6701lx9CrzeP4p_AdMd.xml delete mode 100644 resources/project/yqzx3eu-5BBs0TaADSKy2J7RAA8/IB5aEp3NY6701lx9CrzeP4p_AdMp.xml delete mode 100644 resources/project/yqzx3eu-5BBs0TaADSKy2J7RAA8/tXIxTbpNO0wMjrPsAfR_XQDWLXod.xml delete mode 100644 resources/project/yqzx3eu-5BBs0TaADSKy2J7RAA8/vsJddY_pZWxGvvAn6QlLbHdhf6Qd.xml diff --git a/.gitignore b/.gitignore index 4e2548b..bfd2525 100644 --- a/.gitignore +++ b/.gitignore @@ -48,3 +48,7 @@ sandbox/* # Figures *.fig + +# Python Virtual Environment +aerpaw/venv/ +aerpaw/venv/* diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..3801969 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "aerpaw/aerpawlib"] + path = aerpaw/aerpawlib + url = https://github.com/morzack/aerpawlib-vehicle-control.git diff --git a/aerpaw/aerpawlib b/aerpaw/aerpawlib new file mode 160000 index 0000000..705fc69 --- /dev/null +++ b/aerpaw/aerpawlib @@ -0,0 +1 @@ +Subproject commit 705fc699eff896ceea073d1e65f7d8bc549377c7 diff --git a/aerpaw/basic_demo/comms.cpp b/aerpaw/basic_demo/comms.cpp deleted file mode 100644 index fb71d12..0000000 --- a/aerpaw/basic_demo/comms.cpp +++ /dev/null @@ -1,85 +0,0 @@ -#include -#include -#include -#include -#include -#include -#include - -#define SERVER_PORT 5000 -#define SERVER_IP "127.0.0.1" - -#define OPCODE_SHUTDOWN 0xFF - -// Socket init -void initSockets() {} -void cleanupSockets() {} - -int serverSocket = -1; -std::vector clientSockets; - -extern "C" { - -// Initialize server (call once) -void initServer() { - initSockets(); - serverSocket = socket(AF_INET, SOCK_STREAM, 0); - if(serverSocket < 0) { std::cerr << "Socket creation failed\n"; return; } - - sockaddr_in serverAddr; - serverAddr.sin_family = AF_INET; - serverAddr.sin_addr.s_addr = INADDR_ANY; - serverAddr.sin_port = htons(SERVER_PORT); - - int opt = 1; - setsockopt(serverSocket, SOL_SOCKET, SO_REUSEADDR, (char*)&opt, sizeof(opt)); - - if(bind(serverSocket, (sockaddr*)&serverAddr, sizeof(serverAddr)) < 0) { - std::cerr << "Bind failed\n"; return; - } - if(listen(serverSocket, 5) < 0) { - std::cerr << "Listen failed\n"; return; - } - - std::cout << "Server initialized, waiting for clients...\n"; -} - -// Accept client connections (call once per client) -void acceptClient(int clientId) { - sockaddr_in clientAddr; - socklen_t addrLen = sizeof(clientAddr); - int clientSock = accept(serverSocket, (sockaddr*)&clientAddr, &addrLen); - if(clientSock < 0) { std::cerr << "Accept failed for client " << clientId << "\n"; return; } - clientSockets.push_back(clientSock); - std::cout << "Client " << clientId << " connected\n"; -} - -// Send a message to a specific client -void sendMessage(int clientId) { - if(clientId <= 0 || clientId > clientSockets.size()) return; - const char* msg = "Hello from server"; - send(clientSockets[clientId-1], msg, strlen(msg), 0); - std::cout << "Sent message to client " << clientId << "\n"; -} - -// Receive ACK from a specific client -int receiveAck(int clientId) { - if(clientId <= 0 || clientId > clientSockets.size()) return 0; - char buffer[1024]; - int len = recv(clientSockets[clientId-1], buffer, sizeof(buffer)-1, 0); - if(len <= 0) return 0; - buffer[len] = '\0'; - std::cout << "Received ACK from client " << clientId << ": " << buffer << "\n"; - return 1; -} - -// Cleanup server -void closeServer() { - for(auto sock : clientSockets) { - close(sock); - } - close(serverSocket); - cleanupSockets(); -} - -} \ No newline at end of file diff --git a/aerpaw/basic_demo/compile.sh b/aerpaw/basic_demo/compile.sh deleted file mode 100755 index 874826f..0000000 --- a/aerpaw/basic_demo/compile.sh +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/bash -#g++ -I/home/kdee/matlab/R2025a/extern/include controller_main.cpp controller.cpp controller_impl.cpp -o controller_app -lpthread - -#wd=$(pwd) -#cd /home/kdee/Desktop/miSim/aerpaw/codegen -g++ -I/home/kdee/matlab/R2025a/extern/include -I. controller_main.cpp controller.cpp controller_impl.cpp controller_initialize.cpp controller_terminate.cpp -o controller_app -lpthread -#cd $wd - -#g++ controller_main.cpp controller.cpp controller_impl.cpp controller_initialize.cpp controller_terminate.cpp diff --git a/aerpaw/basic_demo/controller.cpp b/aerpaw/basic_demo/controller.cpp deleted file mode 100644 index f68385a..0000000 --- a/aerpaw/basic_demo/controller.cpp +++ /dev/null @@ -1,64 +0,0 @@ -// -// Academic License - for use in teaching, academic research, and meeting -// course requirements at degree granting institutions only. Not for -// government, commercial, or other organizational use. -// -// controller.cpp -// -// Code generation for function 'controller' -// - -// Include files -#include "controller.h" -#include "controller_impl.h" - -// Function Definitions -void controller(int numClients) -{ - static const char b_filename[12]{"targets.txt"}; - double targets[12]; - char filename[12]; - // Maximum clients supported - // Allocate targets array (MAX_CLIENTS x 3) - // Load targets from file - // Define filename as null-terminated character array for C compatibility - for (int i{0}; i < 12; i++) { - targets[i] = 0.0; - filename[i] = b_filename[i]; - } - // loadTargets fills targets array (row-major: x1,y1,z1,x2,y2,z2,...) - loadTargets(&filename[0], &targets[0], 4); - // Initialize server - initServer(); - // Accept clients - for (int i{0}; i < numClients; i++) { - acceptClient(i + 1); - } - // Send target coordinates to each client - for (int i{0}; i < numClients; i++) { - double target[3]; - // Get target for this client (1x3 array) - target[0] = targets[i]; - target[1] = targets[i + 4]; - target[2] = targets[i + 8]; - sendTarget(i + 1, &target[0]); - } - // Receive TARGET acknowledgments - for (int i{0}; i < numClients; i++) { - receiveTargetAck(i + 1); - } - // Check all ACKs received - // Wait for READY signals (UAVs have reached their targets) - for (int i{0}; i < numClients; i++) { - waitForReady(i + 1); - } - // Check all READY signals received - // Send COMPLETE to all clients before closing - for (int i{0}; i < numClients; i++) { - sendFinished(i + 1); - } - // Close server - closeServer(); -} - -// End of code generation (controller.cpp) diff --git a/aerpaw/basic_demo/controller.h b/aerpaw/basic_demo/controller.h deleted file mode 100644 index 601942e..0000000 --- a/aerpaw/basic_demo/controller.h +++ /dev/null @@ -1,23 +0,0 @@ -// -// Academic License - for use in teaching, academic research, and meeting -// course requirements at degree granting institutions only. Not for -// government, commercial, or other organizational use. -// -// controller.h -// -// Code generation for function 'controller' -// - -#ifndef CONTROLLER_H -#define CONTROLLER_H - -// Include files -#include "rtwtypes.h" -#include -#include - -// Function Declarations -extern void controller(int numClients); - -#endif -// End of code generation (controller.h) diff --git a/aerpaw/basic_demo/controller_data.h b/aerpaw/basic_demo/controller_data.h deleted file mode 100644 index a7a15dc..0000000 --- a/aerpaw/basic_demo/controller_data.h +++ /dev/null @@ -1,20 +0,0 @@ -// -// Academic License - for use in teaching, academic research, and meeting -// course requirements at degree granting institutions only. Not for -// government, commercial, or other organizational use. -// -// controller_data.h -// -// Code generation for function 'controller_data' -// - -#ifndef CONTROLLER_DATA_H -#define CONTROLLER_DATA_H - -// Include files -#include "rtwtypes.h" -#include -#include - -#endif -// End of code generation (controller_data.h) diff --git a/aerpaw/basic_demo/controller_initialize.cpp b/aerpaw/basic_demo/controller_initialize.cpp deleted file mode 100644 index 2510b0d..0000000 --- a/aerpaw/basic_demo/controller_initialize.cpp +++ /dev/null @@ -1,19 +0,0 @@ -// -// Academic License - for use in teaching, academic research, and meeting -// course requirements at degree granting institutions only. Not for -// government, commercial, or other organizational use. -// -// controller_initialize.cpp -// -// Code generation for function 'controller_initialize' -// - -// Include files -#include "controller_initialize.h" - -// Function Definitions -void controller_initialize() -{ -} - -// End of code generation (controller_initialize.cpp) diff --git a/aerpaw/basic_demo/controller_initialize.h b/aerpaw/basic_demo/controller_initialize.h deleted file mode 100644 index 82e0ed2..0000000 --- a/aerpaw/basic_demo/controller_initialize.h +++ /dev/null @@ -1,23 +0,0 @@ -// -// Academic License - for use in teaching, academic research, and meeting -// course requirements at degree granting institutions only. Not for -// government, commercial, or other organizational use. -// -// controller_initialize.h -// -// Code generation for function 'controller_initialize' -// - -#ifndef CONTROLLER_INITIALIZE_H -#define CONTROLLER_INITIALIZE_H - -// Include files -#include "rtwtypes.h" -#include -#include - -// Function Declarations -extern void controller_initialize(); - -#endif -// End of code generation (controller_initialize.h) diff --git a/aerpaw/basic_demo/controller_terminate.cpp b/aerpaw/basic_demo/controller_terminate.cpp deleted file mode 100644 index 1577159..0000000 --- a/aerpaw/basic_demo/controller_terminate.cpp +++ /dev/null @@ -1,19 +0,0 @@ -// -// Academic License - for use in teaching, academic research, and meeting -// course requirements at degree granting institutions only. Not for -// government, commercial, or other organizational use. -// -// controller_terminate.cpp -// -// Code generation for function 'controller_terminate' -// - -// Include files -#include "controller_terminate.h" - -// Function Definitions -void controller_terminate() -{ -} - -// End of code generation (controller_terminate.cpp) diff --git a/aerpaw/basic_demo/controller_terminate.h b/aerpaw/basic_demo/controller_terminate.h deleted file mode 100644 index 723736f..0000000 --- a/aerpaw/basic_demo/controller_terminate.h +++ /dev/null @@ -1,23 +0,0 @@ -// -// Academic License - for use in teaching, academic research, and meeting -// course requirements at degree granting institutions only. Not for -// government, commercial, or other organizational use. -// -// controller_terminate.h -// -// Code generation for function 'controller_terminate' -// - -#ifndef CONTROLLER_TERMINATE_H -#define CONTROLLER_TERMINATE_H - -// Include files -#include "rtwtypes.h" -#include -#include - -// Function Declarations -extern void controller_terminate(); - -#endif -// End of code generation (controller_terminate.h) diff --git a/aerpaw/basic_demo/controller_types.h b/aerpaw/basic_demo/controller_types.h deleted file mode 100644 index 33c4323..0000000 --- a/aerpaw/basic_demo/controller_types.h +++ /dev/null @@ -1,18 +0,0 @@ -// -// Academic License - for use in teaching, academic research, and meeting -// course requirements at degree granting institutions only. Not for -// government, commercial, or other organizational use. -// -// controller_types.h -// -// Code generation for function 'controller' -// - -#ifndef CONTROLLER_TYPES_H -#define CONTROLLER_TYPES_H - -// Include files -#include "rtwtypes.h" - -#endif -// End of code generation (controller_types.h) diff --git a/aerpaw/basic_demo/copy_codegen.sh b/aerpaw/basic_demo/copy_codegen.sh deleted file mode 100755 index 41d6a92..0000000 --- a/aerpaw/basic_demo/copy_codegen.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/bash -cp ../codegen/*.h . -cp ../codegen/*.cpp . diff --git a/aerpaw/basic_demo/rtwtypes.h b/aerpaw/basic_demo/rtwtypes.h deleted file mode 100644 index 85c8e3f..0000000 --- a/aerpaw/basic_demo/rtwtypes.h +++ /dev/null @@ -1,44 +0,0 @@ -// -// Academic License - for use in teaching, academic research, and meeting -// course requirements at degree granting institutions only. Not for -// government, commercial, or other organizational use. -// -// rtwtypes.h -// -// Code generation for function 'controller' -// - -#ifndef RTWTYPES_H -#define RTWTYPES_H - -/*=======================================================================* - * Fixed width word size data types: * - * int64_T - signed 64 bit integers * - * uint64_T - unsigned 64 bit integers * - *=======================================================================*/ - -#if defined(__APPLE__) -#ifndef INT64_T -#define INT64_T long -#define FMT64 "l" -#if defined(__LP64__) && !defined(INT_TYPE_64_IS_LONG) -#define INT_TYPE_64_IS_LONG -#endif -#endif -#endif - -#if defined(__APPLE__) -#ifndef UINT64_T -#define UINT64_T unsigned long -#define FMT64 "l" -#if defined(__LP64__) && !defined(INT_TYPE_64_IS_LONG) -#define INT_TYPE_64_IS_LONG -#endif -#endif -#endif - -// Include files -#include "tmwtypes.h" - -#endif -// End of code generation (rtwtypes.h) diff --git a/aerpaw/basic_demo/tmwtypes.h b/aerpaw/basic_demo/tmwtypes.h deleted file mode 100644 index 0ee3d69..0000000 --- a/aerpaw/basic_demo/tmwtypes.h +++ /dev/null @@ -1,888 +0,0 @@ -/* - * Copyright 1984-2023 The MathWorks, Inc. - */ - -#if defined(_MSC_VER) -# pragma once -#endif -#if defined(__GNUC__) && (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ > 3)) -# pragma once -#endif - -#ifndef tmwtypes_h -#define tmwtypes_h - -#ifndef __TMWTYPES__ -#define __TMWTYPES__ -/* - * File : tmwtypes.h - * Abstract: - * Data types for use with MATLAB/SIMULINK and the Real-Time Workshop. - * - * When compiling stand-alone model code, data types can be overridden - * via compiler switches. - * - * Define NO_FLOATS to eliminate reference to real_T, etc. - */ - -#ifdef MW_LIBTOOLING -#include "mwstdint.h" -#endif - -#include - -/* __STDC_VERSION__ version check below means "check for a C99 compiler". - - Visual Studio (checked on versions 2015 and 2017) does - not define __STDC_VERSION__, however it has stdbool.h available, - thus a separate check for _MSC_VER below. - */ -#if defined(__APPLE_CC__) \ - || (defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L)) \ - || (defined(_MSC_VER) && (_MSC_VER >= 1900)) -#ifndef tmwtypes_do_not_include_stdbool -#include -#endif -#endif - -#define LOGICAL_IS_A_TYPE -#define SPARSE_GENERALIZATION - -#ifdef NO_FLOATS -# define double double_not_allowed -# define float float_not_allowed -#endif /*NO_FLOATS*/ - -#ifndef NO_FLOATS - -#ifndef __MWERKS__ -# ifdef __STDC__ -# include -# else -# ifndef FLT_MANT_DIG -# define FLT_MANT_DIG 24 -# endif -# ifndef DBL_MANT_DIG -# define DBL_MANT_DIG 53 -# endif -# endif -#endif - -#endif /*NO_FLOATS*/ - -/* - * The following data types cannot be overridden when building MEX files. - */ -#ifdef MATLAB_MEX_FILE -# undef CHARACTER_T -# undef INTEGER_T -# undef BOOLEAN_T -# undef REAL_T -# undef TIME_T -#endif - -/* - * The uchar_T, ushort_T and ulong_T types are needed for compilers which do - * not allow defines to be specified, at the command line, with spaces in them. - */ - -typedef unsigned char uchar_T; -typedef unsigned short ushort_T; -typedef unsigned long ulong_T; - -#if (defined(_MSC_VER) && _MSC_VER >= 1500) \ - || defined(__x86_64__) || defined(__LP64__) \ - || defined(__LCC64__) - -typedef unsigned long long ulonglong_T; -#endif - - - -/*=======================================================================* - * Fixed width word size data types: * - * int8_T, int16_T, int32_T - signed 8, 16, or 32 bit integers * - * uint8_T, uint16_T, uint32_T - unsigned 8, 16, or 32 bit integers * - * real32_T, real64_T - 32 and 64 bit floating point numbers * - *=======================================================================*/ - -/* When used with Real Time Workshop generated code, this - * header file can be used with a variety of compilers. - * - * The compiler could be for an 8 bit embedded processor that - * only had 8 bits per integer and 16 bits per long. - * In that example, a 32 bit integer size is not even available. - * This header file should be robust to that. - * - * For the case of an 8 bit processor, the preprocessor - * may be limited to 16 bit math like its target. That limitation - * would mean that 32 bit comparisons can't be done accurately. - * To increase robustness to this, comparisons are done against - * smaller values first. An inaccurate 32 bit comparison isn't - * attempted if the 16 bit comparison has already succeeded. - * - * Limitations on preprocessor math can also be stricter than - * for the target. There are known cases where a compiler - * targeting processors with 64 bit longs can't do accurate - * preprocessor comparisons on more than 32 bits. - */ - -/* Determine the number of bits for int, long, short, and char. - * If one fails to be determined, set the number of bits to -1 - */ - -#ifndef TMW_BITS_PER_INT -# if INT_MAX == 0x7FL -# define TMW_BITS_PER_INT 8 -# elif INT_MAX == 0x7FFFL -# define TMW_BITS_PER_INT 16 -# elif INT_MAX == 0x7FFFFFFFL -# define TMW_BITS_PER_INT 32 -# else -# define TMW_BITS_PER_INT -1 -# endif -#endif - -#ifndef TMW_BITS_PER_LONG -# if LONG_MAX == 0x7FL -# define TMW_BITS_PER_LONG 8 -# elif LONG_MAX == 0x7FFFL -# define TMW_BITS_PER_LONG 16 -# elif LONG_MAX == 0x7FFFFFFFL -# define TMW_BITS_PER_LONG 32 -# else -# define TMW_BITS_PER_LONG -1 -# endif -#endif - -#ifndef TMW_BITS_PER_SHRT -# if SHRT_MAX == 0x7FL -# define TMW_BITS_PER_SHRT 8 -# elif SHRT_MAX == 0x7FFFL -# define TMW_BITS_PER_SHRT 16 -# elif SHRT_MAX == 0x7FFFFFFFL -# define TMW_BITS_PER_SHRT 32 -# else -# define TMW_BITS_PER_SHRT -1 -# endif -#endif - -#ifndef TMW_BITS_PER_SCHAR -# if SCHAR_MAX == 0x7FL -# define TMW_BITS_PER_SCHAR 8 -# elif SCHAR_MAX == 0x7FFFL -# define TMW_BITS_PER_SCHAR 16 -# elif SCHAR_MAX == 0x7FFFFFFFL -# define TMW_BITS_PER_SCHAR 32 -# else -# define TMW_BITS_PER_SCHAR -1 -# endif -#endif - -#ifndef TMW_CHAR_SIGNED -# if SCHAR_MAX == CHAR_MAX -# define TMW_CHAR_SIGNED 1 -# else -# define TMW_CHAR_SIGNED 0 -# endif -#endif - -/* It is common for one or more of the integer types - * to be the same size. For example, on many embedded - * processors, both shorts and ints are 16 bits. On - * processors used for workstations, it is quite common - * for both int and long to be 32 bits. - * When there is more than one choice for typdef'ing - * a portable type like int16_T or uint32_T, in - * concept, it should not matter which choice is made. - * However, some style guides and some code checking - * tools do identify and complain about seemingly - * irrelevant differences. For example, a code - * checking tool may complain about an implicit - * conversion from int to short even though both - * are 16 bits. To reduce these types of - * complaints, it is best to make int the - * preferred choice when more than one is available. - */ - -#ifndef INT8_T -# if defined(MW_LIBTOOLING) -# define INT8_T int8_t -# elif TMW_BITS_PER_INT == 8 -# define INT8_T int -# elif TMW_BITS_PER_LONG == 8 -# define INT8_T long -# elif TMW_BITS_PER_SCHAR == 8 -# define INT8_T signed char -# elif TMW_BITS_PER_SHRT == 8 -# define INT8_T short -# endif -#endif -#ifdef INT8_T - typedef INT8_T int8_T; -#endif - -#ifndef UINT8_T -# if defined(MW_LIBTOOLING) -# define UINT8_T uint8_t -# elif TMW_BITS_PER_INT == 8 -# define UINT8_T unsigned int -# elif TMW_BITS_PER_LONG == 8 -# define UINT8_T unsigned long -# elif TMW_BITS_PER_SCHAR == 8 -# define UINT8_T unsigned char -# elif TMW_BITS_PER_SHRT == 8 -# define UINT8_T unsigned short -# endif -#endif -#ifdef UINT8_T - typedef UINT8_T uint8_T; -#endif - - -#ifndef INT16_T -# if defined(MW_LIBTOOLING) -# define INT16_T int16_t -# elif TMW_BITS_PER_INT == 16 -# define INT16_T int -# elif TMW_BITS_PER_LONG == 16 -# define INT16_T long -# elif TMW_BITS_PER_SCHAR == 16 -# define INT16_T signed char -# elif TMW_BITS_PER_SHRT == 16 -# define INT16_T short -# endif -#endif -#ifdef INT16_T - typedef INT16_T int16_T; -#endif - - -#ifndef UINT16_T -# if defined(MW_LIBTOOLING) -# define UINT16_T uint16_t -# elif TMW_BITS_PER_INT == 16 -# define UINT16_T unsigned int -# elif TMW_BITS_PER_LONG == 16 -# define UINT16_T unsigned long -# elif TMW_BITS_PER_SCHAR == 16 -# define UINT16_T unsigned char -# elif TMW_BITS_PER_SHRT == 16 -# define UINT16_T unsigned short -# endif -#endif -#ifdef UINT16_T - typedef UINT16_T uint16_T; -#endif - - -#ifndef INT32_T -# if defined(MW_LIBTOOLING) -# define INT32_T int32_t -# elif TMW_BITS_PER_INT == 32 -# define INT32_T int -# elif TMW_BITS_PER_LONG == 32 -# define INT32_T long -# elif TMW_BITS_PER_SCHAR == 32 -# define INT32_T signed char -# elif TMW_BITS_PER_SHRT == 32 -# define INT32_T short -# endif -#endif -#ifdef INT32_T - typedef INT32_T int32_T; -#endif - - -#ifndef UINT32_T -# if defined(MW_LIBTOOLING) -# define UINT32_T uint32_t -# elif TMW_BITS_PER_INT == 32 -# define UINT32_T unsigned int -# elif TMW_BITS_PER_LONG == 32 -# define UINT32_T unsigned long -# elif TMW_BITS_PER_SCHAR == 32 -# define UINT32_T unsigned char -# elif TMW_BITS_PER_SHRT == 32 -# define UINT32_T unsigned short -# endif -#endif -#ifdef UINT32_T - typedef UINT32_T uint32_T; -#endif - -/* The following is used to emulate smaller integer types when only - * larger types are available. For example, compilers for TI C3x/C4x DSPs - * define char and short to be 32 bits, so 8 and 16 bits are not directly - * available. This target is commonly used with RTW rapid prototyping. - * Other DSPs define char to be 16 bits, so 8 bits is not directly - * available. - */ -#ifndef INT8_T -# ifdef INT16_T -# define INT8_T INT16_T - typedef INT8_T int8_T; -# else -# ifdef INT32_T -# define INT8_T INT32_T - typedef INT8_T int8_T; -# endif -# endif -#endif - -#ifndef UINT8_T -# ifdef UINT16_T -# define UINT8_T UINT16_T - typedef UINT8_T uint8_T; -# else -# ifdef UINT32_T -# define UINT8_T UINT32_T - typedef UINT8_T uint8_T; -# endif -# endif -#endif - -#ifndef INT16_T -# ifdef INT32_T -# define INT16_T INT32_T - typedef INT16_T int16_T; -# endif -#endif - -#ifndef UINT16_T -# ifdef UINT32_T -# define UINT16_T UINT32_T - typedef UINT16_T uint16_T; -# endif -#endif - - -#ifndef NO_FLOATS - -#ifndef REAL32_T -# ifndef __MWERKS__ -# if FLT_MANT_DIG >= 23 -# define REAL32_T float -# endif -# else -# define REAL32_T float -# endif -#endif -#ifdef REAL32_T - typedef REAL32_T real32_T; -#endif - - -#ifndef REAL64_T -# ifndef __MWERKS__ -# if DBL_MANT_DIG >= 52 -# define REAL64_T double -# endif -# else -# define REAL64_T double -# endif -#endif -#ifdef REAL64_T - typedef REAL64_T real64_T; -#endif - -#endif /* NO_FLOATS*/ - -/*=======================================================================* - * Fixed width word size data types: * - * int64_T - signed 64 bit integers * - * uint64_T - unsigned 64 bit integers * - *=======================================================================*/ - -# if defined(MW_LIBTOOLING) -# ifdef INT64_T -# undef INT64_T -# endif -# define INT64_T int64_t -# ifdef UINT64_T -# undef UINT64_T -# endif -# define UINT64_T uint64_t -# endif -#if !defined(INT64_T) || !defined(UINT64_T) || !defined(FMT64) -# if defined(__APPLE__) || defined(__clang__) -# ifndef INT64_T -# define INT64_T long long -# endif -# ifndef UINT64_T -# define UINT64_T unsigned long long -# endif -# ifndef FMT64 -# define FMT64 "ll" -# endif -# if defined(__LP64__) && !defined(INT_TYPE_64_IS_LONG) -# define INT_TYPE_64_IS_LONG -# endif -# elif (defined(__x86_64__) || defined(__LP64__))&& !defined(__MINGW64__) -# ifndef INT64_T -# define INT64_T long -# endif -# ifndef UINT64_T -# define UINT64_T unsigned long -# endif -# ifndef FMT64 -# define FMT64 "l" -# endif -# if !defined(INT_TYPE_64_IS_LONG) -# define INT_TYPE_64_IS_LONG -# endif -# elif defined(_MSC_VER) || (defined(__BORLANDC__) && __BORLANDC__ >= 0x530) \ - || (defined(__WATCOMC__) && __WATCOMC__ >= 1100) -# ifndef INT64_T -# define INT64_T __int64 -# endif -# ifndef UINT64_T -# define UINT64_T unsigned __int64 -# endif -# ifndef FMT64 -# define FMT64 "I64" -# endif -# elif defined(__GNUC__) || defined(TMW_ENABLE_INT64) \ - || defined(__LCC64__) -# ifndef INT64_T -# define INT64_T long long -# endif -# ifndef UINT64_T -# define UINT64_T unsigned long long -# endif -# ifndef FMT64 -# define FMT64 "ll" -# endif -# endif - -#endif - -#if defined(INT64_T) -# if defined(__GNUC__) && \ - ((__GNUC__ > 2) || ((__GNUC__ == 2) && (__GNUC_MINOR__ >=9))) - __extension__ -# endif - typedef INT64_T int64_T; -#endif - -#if defined(_WIN64) || (defined(__APPLE__) && defined(__LP64__)) \ - || defined(__x86_64__) \ - || defined(__LP64__) -# define INT_TYPE_64_IS_SUPPORTED -#endif - -#if defined(UINT64_T) -# if defined(__GNUC__) && \ - ((__GNUC__ > 2) || ((__GNUC__ == 2) && (__GNUC_MINOR__ >=9))) - __extension__ -# endif - typedef UINT64_T uint64_T; -#endif - -/*===========================================================================* - * Format string modifiers for using size_t variables in printf statements. * - *===========================================================================*/ - -#ifndef FMT_SIZE_T -# if (defined( __GNUC__ ) || defined(_STDC_C99))&& !defined(__MINGW64__) -# define FMT_SIZE_T "z" -# elif defined (__WATCOMC__) -# define FMT_SIZE_T "l" -# elif defined (_WIN32 ) -# define FMT_SIZE_T "I" -# else -# define FMT_SIZE_T "l" -# endif -#endif - -#ifndef FMT_PTRDIFF_T -# if defined(__APPLE__) -# define FMT_PTRDIFF_T "l" -# elif defined( __GNUC__ ) || defined(_STDC_C99) -# define FMT_PTRDIFF_T "t" -# elif defined (__WATCOMC__) -# define FMT_PTRDIFF_T "l" -# elif defined (_WIN32 ) -# define FMT_PTRDIFF_T "I" -# else -# define FMT_PTRDIFF_T "l" -# endif -#endif - -/*===========================================================================* - * General or logical data types where the word size is not guaranteed. * - * real_T - possible settings include real32_T or real64_T * - * time_T - possible settings include real32_T or real64_T * - * boolean_T * - * char_T * - * int_T * - * uint_T * - * byte_T * - *===========================================================================*/ - -#ifndef NO_FLOATS - -#ifndef REAL_T -# ifdef REAL64_T -# define REAL_T real64_T -# else -# ifdef REAL32_T -# define REAL_T real32_T -# endif -# endif -#endif -#ifdef REAL_T - typedef REAL_T real_T; -#endif - -#ifndef TIME_T -# ifdef REAL_T -# define TIME_T real_T -# endif -#endif -#ifdef TIME_T - typedef TIME_T time_T; -#endif - -#endif /* NO_FLOATS */ - -#ifndef BOOLEAN_T -# if defined(UINT8_T) -# define BOOLEAN_T UINT8_T -# else -# define BOOLEAN_T unsigned int -# endif -#endif -typedef BOOLEAN_T boolean_T; - - -#ifndef CHARACTER_T -# define CHARACTER_T char -#endif -typedef CHARACTER_T char_T; - - -#ifndef INTEGER_T -# define INTEGER_T int -#endif -typedef INTEGER_T int_T; - - -#ifndef UINTEGER_T -# define UINTEGER_T unsigned -#endif -typedef UINTEGER_T uint_T; - - -#ifndef BYTE_T -# define BYTE_T unsigned char -#endif -typedef BYTE_T byte_T; - - -/*===========================================================================* - * Define Complex Structures * - *===========================================================================*/ -#ifndef NO_FLOATS - -#ifndef CREAL32_T -# ifdef REAL32_T - typedef struct { - real32_T re, im; - } creal32_T; -# define CREAL32_T creal32_T -# endif -#endif - -#ifndef CREAL64_T -# ifdef REAL64_T - typedef struct { - real64_T re, im; - } creal64_T; -# define CREAL64_T creal64_T -# endif -#endif - -#ifndef CREAL_T -# ifdef REAL_T - typedef struct { - real_T re, im; - } creal_T; -# define CREAL_T creal_T -# endif -#endif - -#endif /* NO_FLOATS */ - -#ifndef CINT8_T -# ifdef INT8_T - typedef struct { - int8_T re, im; - } cint8_T; -# define CINT8_T cint8_T -# endif -#endif - -#ifndef CUINT8_T -# ifdef UINT8_T - typedef struct { - uint8_T re, im; - } cuint8_T; -# define CUINT8_T cuint8_T -# endif -#endif - -#ifndef CINT16_T -# ifdef INT16_T - typedef struct { - int16_T re, im; - } cint16_T; -# define CINT16_T cint16_T -# endif -#endif - -#ifndef CUINT16_T -# ifdef UINT16_T - typedef struct { - uint16_T re, im; - } cuint16_T; -# define CUINT16_T cuint16_T -# endif -#endif - -#ifndef CINT32_T -# ifdef INT32_T - typedef struct { - int32_T re, im; - } cint32_T; -# define CINT32_T cint32_T -# endif -#endif - -#ifndef CUINT32_T -# ifdef UINT32_T - typedef struct { - uint32_T re, im; - } cuint32_T; -# define CUINT32_T cuint32_T -# endif -#endif - -#ifndef CINT64_T -# ifdef INT64_T - typedef struct { - int64_T re, im; - } cint64_T; -# define CINT64_T cint64_T -# endif -#endif - -#ifndef CUINT64_T -# ifdef UINT64_T - typedef struct { - uint64_T re, im; - } cuint64_T; -# define CUINT64_T cuint64_T -# endif -#endif - -/*=======================================================================* - * Min and Max: * - * int8_T, int16_T, int32_T - signed 8, 16, or 32 bit integers * - * uint8_T, uint16_T, uint32_T - unsigned 8, 16, or 32 bit integers * - *=======================================================================*/ - -#define MAX_int8_T ((int8_T)(127)) /* 127 */ -#define MIN_int8_T ((int8_T)(-128)) /* -128 */ -#define MAX_uint8_T ((uint8_T)(255)) /* 255 */ -#define MIN_uint8_T ((uint8_T)(0)) - -#define MAX_int16_T ((int16_T)(32767)) /* 32767 */ -#define MIN_int16_T ((int16_T)(-32768)) /* -32768 */ -#define MAX_uint16_T ((uint16_T)(65535)) /* 65535 */ -#define MIN_uint16_T ((uint16_T)(0)) - -#define MAX_int32_T ((int32_T)(2147483647)) /* 2147483647 */ -#define MIN_int32_T ((int32_T)(-2147483647-1)) /* -2147483648 */ -#define MAX_uint32_T ((uint32_T)(0xFFFFFFFFU)) /* 4294967295 */ -#define MIN_uint32_T ((uint32_T)(0)) - -#if defined(_MSC_VER) || (defined(__BORLANDC__) && __BORLANDC__ >= 0x530) \ - || (defined(__WATCOMC__) && __WATCOMC__ >= 1100) \ - || defined(__LCC64__) -# ifdef INT64_T -# define MAX_int64_T ((int64_T)(9223372036854775807LL)) -# define MIN_int64_T ((int64_T)(-9223372036854775807LL-1LL)) -# endif -# ifdef UINT64_T -# define MAX_uint64_T ((uint64_T)(0xFFFFFFFFFFFFFFFFULL)) -# define MIN_uint64_T ((uint64_T)(0)) -# endif -#else -# ifdef INT64_T -# ifdef INT_TYPE_64_IS_LONG -# define MAX_int64_T ((int64_T)(9223372036854775807L)) -# define MIN_int64_T ((int64_T)(-9223372036854775807L-1L)) -# else -# define MAX_int64_T ((int64_T)(9223372036854775807LL)) -# define MIN_int64_T ((int64_T)(-9223372036854775807LL-1LL)) -# endif -# endif -# ifdef UINT64_T -# ifdef INT_TYPE_64_IS_LONG -# define MAX_uint64_T ((uint64_T)(0xFFFFFFFFFFFFFFFFUL)) -# define MIN_uint64_T ((uint64_T)(0)) -# else -# define MAX_uint64_T ((uint64_T)(0xFFFFFFFFFFFFFFFFULL)) -# define MIN_uint64_T ((uint64_T)(0)) -# endif -# endif -#endif - -#if (defined(_MSC_VER) && !defined(__clang__)) - -/* Conversion from unsigned __int64 to double is not implemented in Visual Studio - * and results in a compile error, thus the value must first be cast to - * signed __int64, and then to double. - * - * If the 64 bit int value is greater than 2^63-1, which is the signed int64 max, - * the macro below provides a workaround for casting a uint64 value to a double - * in windows. - */ -# define uint64_to_double(u) ( ((u) > _I64_MAX) ? \ - (double)(__int64)((u) - _I64_MAX - 1) + (double)_I64_MAX + 1: \ - (double)(__int64)(u) ) - -/* The following inline function should only be used in the macro double_to_uint64, - * as it only handles the specfic range of double between 2^63 and 2^64-1 */ -__forceinline -uint64_T double_to_uint64_helper(double d) { - union double_to_uint64_union_type { - double dd; - uint64_T i64; - } di; - di.dd = d; - return (((di.i64 & 0x000fffffffffffff) | 0x0010000000000000) << 11); -} - -/* The largest double value that can be cast to uint64 in windows is the - * signed int64 max, which is 2^63-1. The macro below provides - * a workaround for casting large double values to uint64 in windows. - */ -/* The magic number 18446744073709551616.0 is 2^64 */ -/* The magic number 9223372036854775808.0 is 2^63 */ -# define double_to_uint64(d) ( ((d) >= 18446744073709551616.0) ? \ - 0xffffffffffffffffULL : \ - ((d) >= 0.0) ? \ - ((d) >= 9223372036854775808.0) ? \ - double_to_uint64_helper(d) : \ - (unsigned __int64)(d) : \ - 0ULL ) -#else -# define uint64_to_double(u) ((double)(u)) -# if defined(__BORLANDC__) || defined(__WATCOMC__) || defined(__TICCSC__) -/* double_to_uint64 defined only for MSVC and UNIX */ -# else -# define double_to_uint64(d) ( ((d) >= 18446744073709551616.0) ? \ - (unsigned long long) 0xffffffffffffffffULL : \ - ((d) >= 0) ? (unsigned long long)(d) : (unsigned long long) 0 ) -# endif -#endif - -#if !defined(__cplusplus) && !defined(__bool_true_false_are_defined) - -#ifndef _bool_T -#define _bool_T - -typedef boolean_T bool; - -#ifndef false -#define false (0) -#endif -#ifndef true -#define true (1) -#endif - -#endif /* _bool_T */ - -#endif /* !__cplusplus */ - -/* - * This software assumes that the code is being compiled on a target using a - * 2's complement representation for signed integer values. - */ -#if ((SCHAR_MIN + 1) != -SCHAR_MAX) -#error "This code must be compiled using a 2's complement representation for signed integer values" -#endif - -/* - * Maximum length of a MATLAB identifier (function/variable/model) - * including the null-termination character. - */ -#define TMW_NAME_LENGTH_MAX 2049 - -/* - * Maximum values for indices and dimensions - */ -#include - -#ifdef MX_COMPAT_32 -typedef int mwSize; -typedef int mwIndex; -typedef int mwSignedIndex; -#else -typedef size_t mwSize; /* unsigned pointer-width integer */ -typedef size_t mwIndex; /* unsigned pointer-width integer */ -typedef ptrdiff_t mwSignedIndex; /* a signed pointer-width integer */ -#endif - - /* for the individual dim */ -/* If updating SLSize or SLIndex, update defintions in sl_types_def.h - as well. */ -#ifndef SLSIZE_SLINDEX - #define SLSIZE_SLINDEX - #ifdef INT_TYPE_64_IS_SUPPORTED - typedef int64_T SLIndex; - typedef int64_T SLSize; - #else - typedef int SLIndex; - typedef int SLSize; - #endif -#endif - -/* for the total size */ -#define SLIndexType size_t -#define INVALID_SIZET_VALUE (std::numeric_limits::max()) -#define MAX_VALID_SIZET_VALUE (std::numeric_limits::max() -1) - - -#if (defined(_LP64) || defined(_WIN64)) && !defined(MX_COMPAT_32) -/* Currently 2^48 based on hardware limitations */ -# define MWSIZE_MAX 281474976710655UL -# define MWINDEX_MAX 281474976710655UL -# define MWSINDEX_MAX 281474976710655L -# define MWSINDEX_MIN -281474976710655L -#else -# define MWSIZE_MAX 2147483647UL -# define MWINDEX_MAX 2147483647UL -# define MWSINDEX_MAX 2147483647L -# define MWSINDEX_MIN -2147483647L -#endif -#define MWSIZE_MIN 0UL -#define MWINDEX_MIN 0UL - -/** UTF-16 character type */ - -#if (defined(__cplusplus) && (__cplusplus >= 201103L)) || (defined(_HAS_CHAR16_T_LANGUAGE_SUPPORT) && _HAS_CHAR16_T_LANGUAGE_SUPPORT) -typedef char16_t CHAR16_T; -#define U16_STRING_LITERAL_PREFIX u -#elif defined(_MSC_VER) -typedef wchar_t CHAR16_T; -#define U16_STRING_LITERAL_PREFIX L -#else -typedef UINT16_T CHAR16_T; -#endif - -#endif /* __TMWTYPES__ */ - -#endif /* tmwtypes_h */ diff --git a/aerpaw/build/controller_app b/aerpaw/build/controller_app new file mode 100755 index 0000000000000000000000000000000000000000..56ed54ee51c12a01914b961fb70b95c9b0f1581a GIT binary patch literal 25624 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 ryB#C|#V4Q>fyrnY7-lb283Snf3pV}Qpo)QkfdO true - 2026-01-29T16:33:06 + 2026-01-29T19:44:44 diff --git a/aerpaw/controller.m b/aerpaw/controller.m index 3ff3615..3b39ca7 100644 --- a/aerpaw/controller.m +++ b/aerpaw/controller.m @@ -14,15 +14,15 @@ targets = zeros(MAX_CLIENTS, 3); % Load targets from file if coder.target('MATLAB') disp('Loading targets from file (simulation)...'); - targetsLoaded = readmatrix('targets.txt'); + targetsLoaded = readmatrix('config/targets.txt'); numTargets = min(size(targetsLoaded, 1), numClients); targets(1:numTargets, :) = targetsLoaded(1:numTargets, :); disp(['Loaded ', num2str(numTargets), ' targets']); else coder.cinclude('controller_impl.h'); % Define filename as null-terminated character array for C compatibility - filename = ['targets.txt', char(0)]; - % loadTargets fills targets array (row-major: x1,y1,z1,x2,y2,z2,...) + filename = ['config/targets.txt', char(0)]; + % loadTargets fills targets array (column-major for MATLAB compatibility) coder.ceval('loadTargets', coder.ref(filename), ... coder.ref(targets), int32(MAX_CLIENTS)); end diff --git a/aerpaw/basic_demo/controller_impl.cpp b/aerpaw/impl/controller_impl.cpp similarity index 100% rename from aerpaw/basic_demo/controller_impl.cpp rename to aerpaw/impl/controller_impl.cpp diff --git a/aerpaw/basic_demo/controller_impl.h b/aerpaw/impl/controller_impl.h similarity index 100% rename from aerpaw/basic_demo/controller_impl.h rename to aerpaw/impl/controller_impl.h diff --git a/aerpaw/basic_demo/controller_main.cpp b/aerpaw/impl/controller_main.cpp similarity index 100% rename from aerpaw/basic_demo/controller_main.cpp rename to aerpaw/impl/controller_main.cpp diff --git a/resources/project/4XBBbvgKHLBtx6tMwElTfwSe284/DT1kUQeJY6fcqPoFwxbXgNUS8lIp.xml b/resources/project/4XBBbvgKHLBtx6tMwElTfwSe284/DT1kUQeJY6fcqPoFwxbXgNUS8lIp.xml deleted file mode 100644 index 7625d02..0000000 --- a/resources/project/4XBBbvgKHLBtx6tMwElTfwSe284/DT1kUQeJY6fcqPoFwxbXgNUS8lIp.xml +++ /dev/null @@ -1,2 +0,0 @@ - - \ No newline at end of file diff --git a/resources/project/4XBBbvgKHLBtx6tMwElTfwSe284/KKBV-7KuZ8BHvHksNu5JJFcUe4op.xml b/resources/project/4XBBbvgKHLBtx6tMwElTfwSe284/KKBV-7KuZ8BHvHksNu5JJFcUe4op.xml deleted file mode 100644 index 69ac313..0000000 --- a/resources/project/4XBBbvgKHLBtx6tMwElTfwSe284/KKBV-7KuZ8BHvHksNu5JJFcUe4op.xml +++ /dev/null @@ -1,2 +0,0 @@ - - \ No newline at end of file diff --git a/resources/project/4XBBbvgKHLBtx6tMwElTfwSe284/KtdYjPriN9I6DGnwvLHvl_xju8cp.xml b/resources/project/4XBBbvgKHLBtx6tMwElTfwSe284/KtdYjPriN9I6DGnwvLHvl_xju8cp.xml deleted file mode 100644 index 8ae81d3..0000000 --- a/resources/project/4XBBbvgKHLBtx6tMwElTfwSe284/KtdYjPriN9I6DGnwvLHvl_xju8cp.xml +++ /dev/null @@ -1,2 +0,0 @@ - - \ No newline at end of file diff --git a/resources/project/4XBBbvgKHLBtx6tMwElTfwSe284/jgOJohqRy86fwKjFIbPiQBzesd0d.xml b/resources/project/4XBBbvgKHLBtx6tMwElTfwSe284/jgOJohqRy86fwKjFIbPiQBzesd0d.xml deleted file mode 100644 index 99772b4..0000000 --- a/resources/project/4XBBbvgKHLBtx6tMwElTfwSe284/jgOJohqRy86fwKjFIbPiQBzesd0d.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - \ No newline at end of file diff --git a/resources/project/4XBBbvgKHLBtx6tMwElTfwSe284/jgOJohqRy86fwKjFIbPiQBzesd0p.xml b/resources/project/4XBBbvgKHLBtx6tMwElTfwSe284/jgOJohqRy86fwKjFIbPiQBzesd0p.xml deleted file mode 100644 index f8aa85c..0000000 --- a/resources/project/4XBBbvgKHLBtx6tMwElTfwSe284/jgOJohqRy86fwKjFIbPiQBzesd0p.xml +++ /dev/null @@ -1,2 +0,0 @@ - - \ No newline at end of file diff --git a/resources/project/4XBBbvgKHLBtx6tMwElTfwSe284/DT1kUQeJY6fcqPoFwxbXgNUS8lId.xml b/resources/project/4sXto5Q6PQxNCRaZ_E3lobFdDW0/5kqAGPAcSSlbCfxgpmA59U0UWcUd.xml similarity index 100% rename from resources/project/4XBBbvgKHLBtx6tMwElTfwSe284/DT1kUQeJY6fcqPoFwxbXgNUS8lId.xml rename to resources/project/4sXto5Q6PQxNCRaZ_E3lobFdDW0/5kqAGPAcSSlbCfxgpmA59U0UWcUd.xml diff --git a/resources/project/yqzx3eu-5BBs0TaADSKy2J7RAA8/vsJddY_pZWxGvvAn6QlLbHdhf6Qp.xml b/resources/project/4sXto5Q6PQxNCRaZ_E3lobFdDW0/5kqAGPAcSSlbCfxgpmA59U0UWcUp.xml similarity index 100% rename from resources/project/yqzx3eu-5BBs0TaADSKy2J7RAA8/vsJddY_pZWxGvvAn6QlLbHdhf6Qp.xml rename to resources/project/4sXto5Q6PQxNCRaZ_E3lobFdDW0/5kqAGPAcSSlbCfxgpmA59U0UWcUp.xml diff --git a/resources/project/4XBBbvgKHLBtx6tMwElTfwSe284/KtdYjPriN9I6DGnwvLHvl_xju8cd.xml b/resources/project/4sXto5Q6PQxNCRaZ_E3lobFdDW0/DtKmIMiY6orJIYug9tOtsq_Fzhcd.xml similarity index 100% rename from resources/project/4XBBbvgKHLBtx6tMwElTfwSe284/KtdYjPriN9I6DGnwvLHvl_xju8cd.xml rename to resources/project/4sXto5Q6PQxNCRaZ_E3lobFdDW0/DtKmIMiY6orJIYug9tOtsq_Fzhcd.xml diff --git a/resources/project/yqzx3eu-5BBs0TaADSKy2J7RAA8/tXIxTbpNO0wMjrPsAfR_XQDWLXop.xml b/resources/project/4sXto5Q6PQxNCRaZ_E3lobFdDW0/DtKmIMiY6orJIYug9tOtsq_Fzhcp.xml similarity index 100% rename from resources/project/yqzx3eu-5BBs0TaADSKy2J7RAA8/tXIxTbpNO0wMjrPsAfR_XQDWLXop.xml rename to resources/project/4sXto5Q6PQxNCRaZ_E3lobFdDW0/DtKmIMiY6orJIYug9tOtsq_Fzhcp.xml diff --git a/resources/project/4XBBbvgKHLBtx6tMwElTfwSe284/2At36Gb0jC6HQmgXbAN4ShlbqAgd.xml b/resources/project/4sXto5Q6PQxNCRaZ_E3lobFdDW0/ob3_1xfVXe9xJyMpU2OoFU4cuiAd.xml similarity index 100% rename from resources/project/4XBBbvgKHLBtx6tMwElTfwSe284/2At36Gb0jC6HQmgXbAN4ShlbqAgd.xml rename to resources/project/4sXto5Q6PQxNCRaZ_E3lobFdDW0/ob3_1xfVXe9xJyMpU2OoFU4cuiAd.xml diff --git a/resources/project/4XBBbvgKHLBtx6tMwElTfwSe284/2At36Gb0jC6HQmgXbAN4ShlbqAgp.xml b/resources/project/4sXto5Q6PQxNCRaZ_E3lobFdDW0/ob3_1xfVXe9xJyMpU2OoFU4cuiAp.xml similarity index 100% rename from resources/project/4XBBbvgKHLBtx6tMwElTfwSe284/2At36Gb0jC6HQmgXbAN4ShlbqAgp.xml rename to resources/project/4sXto5Q6PQxNCRaZ_E3lobFdDW0/ob3_1xfVXe9xJyMpU2OoFU4cuiAp.xml diff --git a/resources/project/4XBBbvgKHLBtx6tMwElTfwSe284/SKpQU057yTGLn9b7Hh4v5-10P0gd.xml b/resources/project/4sXto5Q6PQxNCRaZ_E3lobFdDW0/z4z4lM08j9WL4zP-VuDL0ahDO0Ud.xml similarity index 100% rename from resources/project/4XBBbvgKHLBtx6tMwElTfwSe284/SKpQU057yTGLn9b7Hh4v5-10P0gd.xml rename to resources/project/4sXto5Q6PQxNCRaZ_E3lobFdDW0/z4z4lM08j9WL4zP-VuDL0ahDO0Ud.xml diff --git a/resources/project/4XBBbvgKHLBtx6tMwElTfwSe284/SKpQU057yTGLn9b7Hh4v5-10P0gp.xml b/resources/project/4sXto5Q6PQxNCRaZ_E3lobFdDW0/z4z4lM08j9WL4zP-VuDL0ahDO0Up.xml similarity index 100% rename from resources/project/4XBBbvgKHLBtx6tMwElTfwSe284/SKpQU057yTGLn9b7Hh4v5-10P0gp.xml rename to resources/project/4sXto5Q6PQxNCRaZ_E3lobFdDW0/z4z4lM08j9WL4zP-VuDL0ahDO0Up.xml diff --git a/resources/project/EEtUlUb-dLAdf0KpMVivaUlztwA/vvkdLmboxiWCk6Hhn0GbursF9fUd.xml b/resources/project/EEtUlUb-dLAdf0KpMVivaUlztwA/vvkdLmboxiWCk6Hhn0GbursF9fUd.xml deleted file mode 100644 index 1034b5b..0000000 --- a/resources/project/EEtUlUb-dLAdf0KpMVivaUlztwA/vvkdLmboxiWCk6Hhn0GbursF9fUd.xml +++ /dev/null @@ -1,2 +0,0 @@ - - \ No newline at end of file diff --git a/resources/project/EEtUlUb-dLAdf0KpMVivaUlztwA/vvkdLmboxiWCk6Hhn0GbursF9fUp.xml b/resources/project/EEtUlUb-dLAdf0KpMVivaUlztwA/vvkdLmboxiWCk6Hhn0GbursF9fUp.xml deleted file mode 100644 index 803e56c..0000000 --- a/resources/project/EEtUlUb-dLAdf0KpMVivaUlztwA/vvkdLmboxiWCk6Hhn0GbursF9fUp.xml +++ /dev/null @@ -1,2 +0,0 @@ - - \ No newline at end of file diff --git a/resources/project/Gnz6T47dAsmf4YcBHB3EkpeZeYA/4XBBbvgKHLBtx6tMwElTfwSe284p.xml b/resources/project/Gnz6T47dAsmf4YcBHB3EkpeZeYA/4XBBbvgKHLBtx6tMwElTfwSe284p.xml deleted file mode 100644 index a0fcfbf..0000000 --- a/resources/project/Gnz6T47dAsmf4YcBHB3EkpeZeYA/4XBBbvgKHLBtx6tMwElTfwSe284p.xml +++ /dev/null @@ -1,2 +0,0 @@ - - \ No newline at end of file diff --git a/resources/project/4XBBbvgKHLBtx6tMwElTfwSe284/KKBV-7KuZ8BHvHksNu5JJFcUe4od.xml b/resources/project/Gnz6T47dAsmf4YcBHB3EkpeZeYA/4sXto5Q6PQxNCRaZ_E3lobFdDW0d.xml similarity index 100% rename from resources/project/4XBBbvgKHLBtx6tMwElTfwSe284/KKBV-7KuZ8BHvHksNu5JJFcUe4od.xml rename to resources/project/Gnz6T47dAsmf4YcBHB3EkpeZeYA/4sXto5Q6PQxNCRaZ_E3lobFdDW0d.xml diff --git a/resources/project/4XBBbvgKHLBtx6tMwElTfwSe284/yqzx3eu-5BBs0TaADSKy2J7RAA8p.xml b/resources/project/Gnz6T47dAsmf4YcBHB3EkpeZeYA/4sXto5Q6PQxNCRaZ_E3lobFdDW0p.xml similarity index 50% rename from resources/project/4XBBbvgKHLBtx6tMwElTfwSe284/yqzx3eu-5BBs0TaADSKy2J7RAA8p.xml rename to resources/project/Gnz6T47dAsmf4YcBHB3EkpeZeYA/4sXto5Q6PQxNCRaZ_E3lobFdDW0p.xml index 8f365a7..e39f5e2 100644 --- a/resources/project/4XBBbvgKHLBtx6tMwElTfwSe284/yqzx3eu-5BBs0TaADSKy2J7RAA8p.xml +++ b/resources/project/Gnz6T47dAsmf4YcBHB3EkpeZeYA/4sXto5Q6PQxNCRaZ_E3lobFdDW0p.xml @@ -1,2 +1,2 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/resources/project/4XBBbvgKHLBtx6tMwElTfwSe284/uqjVJgVIW1gykl7rcImcpGWqgpkd.xml b/resources/project/Gnz6T47dAsmf4YcBHB3EkpeZeYA/H19IO1jEs0wteU5qOxvbqC7nlNQd.xml similarity index 100% rename from resources/project/4XBBbvgKHLBtx6tMwElTfwSe284/uqjVJgVIW1gykl7rcImcpGWqgpkd.xml rename to resources/project/Gnz6T47dAsmf4YcBHB3EkpeZeYA/H19IO1jEs0wteU5qOxvbqC7nlNQd.xml diff --git a/resources/project/Gnz6T47dAsmf4YcBHB3EkpeZeYA/H19IO1jEs0wteU5qOxvbqC7nlNQp.xml b/resources/project/Gnz6T47dAsmf4YcBHB3EkpeZeYA/H19IO1jEs0wteU5qOxvbqC7nlNQp.xml new file mode 100644 index 0000000..1c2c1d0 --- /dev/null +++ b/resources/project/Gnz6T47dAsmf4YcBHB3EkpeZeYA/H19IO1jEs0wteU5qOxvbqC7nlNQp.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/resources/project/4XBBbvgKHLBtx6tMwElTfwSe284/yqzx3eu-5BBs0TaADSKy2J7RAA8d.xml b/resources/project/Gnz6T47dAsmf4YcBHB3EkpeZeYA/_OVq48gDE3e3rOLnb5h-BM7EFlod.xml similarity index 100% rename from resources/project/4XBBbvgKHLBtx6tMwElTfwSe284/yqzx3eu-5BBs0TaADSKy2J7RAA8d.xml rename to resources/project/Gnz6T47dAsmf4YcBHB3EkpeZeYA/_OVq48gDE3e3rOLnb5h-BM7EFlod.xml diff --git a/resources/project/Gnz6T47dAsmf4YcBHB3EkpeZeYA/_OVq48gDE3e3rOLnb5h-BM7EFlop.xml b/resources/project/Gnz6T47dAsmf4YcBHB3EkpeZeYA/_OVq48gDE3e3rOLnb5h-BM7EFlop.xml new file mode 100644 index 0000000..126d2a0 --- /dev/null +++ b/resources/project/Gnz6T47dAsmf4YcBHB3EkpeZeYA/_OVq48gDE3e3rOLnb5h-BM7EFlop.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/resources/project/Gnz6T47dAsmf4YcBHB3EkpeZeYA/4XBBbvgKHLBtx6tMwElTfwSe284d.xml b/resources/project/Gnz6T47dAsmf4YcBHB3EkpeZeYA/vmVRNnXTZxyEiUtNp09z8POG4wwd.xml similarity index 100% rename from resources/project/Gnz6T47dAsmf4YcBHB3EkpeZeYA/4XBBbvgKHLBtx6tMwElTfwSe284d.xml rename to resources/project/Gnz6T47dAsmf4YcBHB3EkpeZeYA/vmVRNnXTZxyEiUtNp09z8POG4wwd.xml diff --git a/resources/project/Gnz6T47dAsmf4YcBHB3EkpeZeYA/vmVRNnXTZxyEiUtNp09z8POG4wwp.xml b/resources/project/Gnz6T47dAsmf4YcBHB3EkpeZeYA/vmVRNnXTZxyEiUtNp09z8POG4wwp.xml new file mode 100644 index 0000000..2ceddc2 --- /dev/null +++ b/resources/project/Gnz6T47dAsmf4YcBHB3EkpeZeYA/vmVRNnXTZxyEiUtNp09z8POG4wwp.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/resources/project/yqzx3eu-5BBs0TaADSKy2J7RAA8/iuj6vdt6zgYrIPo9qqcdlIGyEUkd.xml b/resources/project/H19IO1jEs0wteU5qOxvbqC7nlNQ/rVU_JX95v1I2OBq2J6-2O96LoUkd.xml similarity index 100% rename from resources/project/yqzx3eu-5BBs0TaADSKy2J7RAA8/iuj6vdt6zgYrIPo9qqcdlIGyEUkd.xml rename to resources/project/H19IO1jEs0wteU5qOxvbqC7nlNQ/rVU_JX95v1I2OBq2J6-2O96LoUkd.xml diff --git a/resources/project/yqzx3eu-5BBs0TaADSKy2J7RAA8/iuj6vdt6zgYrIPo9qqcdlIGyEUkp.xml b/resources/project/H19IO1jEs0wteU5qOxvbqC7nlNQ/rVU_JX95v1I2OBq2J6-2O96LoUkp.xml similarity index 100% rename from resources/project/yqzx3eu-5BBs0TaADSKy2J7RAA8/iuj6vdt6zgYrIPo9qqcdlIGyEUkp.xml rename to resources/project/H19IO1jEs0wteU5qOxvbqC7nlNQ/rVU_JX95v1I2OBq2J6-2O96LoUkp.xml diff --git a/resources/project/H19IO1jEs0wteU5qOxvbqC7nlNQ/vGABa5Ph5Hrybd7I6QzfUMH_twod.xml b/resources/project/H19IO1jEs0wteU5qOxvbqC7nlNQ/vGABa5Ph5Hrybd7I6QzfUMH_twod.xml new file mode 100644 index 0000000..4356a6a --- /dev/null +++ b/resources/project/H19IO1jEs0wteU5qOxvbqC7nlNQ/vGABa5Ph5Hrybd7I6QzfUMH_twod.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/resources/project/H19IO1jEs0wteU5qOxvbqC7nlNQ/vGABa5Ph5Hrybd7I6QzfUMH_twop.xml b/resources/project/H19IO1jEs0wteU5qOxvbqC7nlNQ/vGABa5Ph5Hrybd7I6QzfUMH_twop.xml new file mode 100644 index 0000000..dd5c621 --- /dev/null +++ b/resources/project/H19IO1jEs0wteU5qOxvbqC7nlNQ/vGABa5Ph5Hrybd7I6QzfUMH_twop.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/resources/project/_OVq48gDE3e3rOLnb5h-BM7EFlo/-vjR0MepbwFP9l9LODKOdkhWQxgd.xml b/resources/project/_OVq48gDE3e3rOLnb5h-BM7EFlo/-vjR0MepbwFP9l9LODKOdkhWQxgd.xml new file mode 100644 index 0000000..4356a6a --- /dev/null +++ b/resources/project/_OVq48gDE3e3rOLnb5h-BM7EFlo/-vjR0MepbwFP9l9LODKOdkhWQxgd.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/resources/project/_OVq48gDE3e3rOLnb5h-BM7EFlo/-vjR0MepbwFP9l9LODKOdkhWQxgp.xml b/resources/project/_OVq48gDE3e3rOLnb5h-BM7EFlo/-vjR0MepbwFP9l9LODKOdkhWQxgp.xml new file mode 100644 index 0000000..01cb34e --- /dev/null +++ b/resources/project/_OVq48gDE3e3rOLnb5h-BM7EFlo/-vjR0MepbwFP9l9LODKOdkhWQxgp.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/resources/project/_OVq48gDE3e3rOLnb5h-BM7EFlo/SIIQXGNdeuOFxWuW0X-F0AZ8GhYd.xml b/resources/project/_OVq48gDE3e3rOLnb5h-BM7EFlo/SIIQXGNdeuOFxWuW0X-F0AZ8GhYd.xml new file mode 100644 index 0000000..4356a6a --- /dev/null +++ b/resources/project/_OVq48gDE3e3rOLnb5h-BM7EFlo/SIIQXGNdeuOFxWuW0X-F0AZ8GhYd.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/resources/project/4XBBbvgKHLBtx6tMwElTfwSe284/uqjVJgVIW1gykl7rcImcpGWqgpkp.xml b/resources/project/_OVq48gDE3e3rOLnb5h-BM7EFlo/SIIQXGNdeuOFxWuW0X-F0AZ8GhYp.xml similarity index 100% rename from resources/project/4XBBbvgKHLBtx6tMwElTfwSe284/uqjVJgVIW1gykl7rcImcpGWqgpkp.xml rename to resources/project/_OVq48gDE3e3rOLnb5h-BM7EFlo/SIIQXGNdeuOFxWuW0X-F0AZ8GhYp.xml diff --git a/resources/project/vmVRNnXTZxyEiUtNp09z8POG4ww/61BK8NUy-hRFQwhke5DFvl8vVzMd.xml b/resources/project/vmVRNnXTZxyEiUtNp09z8POG4ww/61BK8NUy-hRFQwhke5DFvl8vVzMd.xml new file mode 100644 index 0000000..4356a6a --- /dev/null +++ b/resources/project/vmVRNnXTZxyEiUtNp09z8POG4ww/61BK8NUy-hRFQwhke5DFvl8vVzMd.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/resources/project/vmVRNnXTZxyEiUtNp09z8POG4ww/61BK8NUy-hRFQwhke5DFvl8vVzMp.xml b/resources/project/vmVRNnXTZxyEiUtNp09z8POG4ww/61BK8NUy-hRFQwhke5DFvl8vVzMp.xml new file mode 100644 index 0000000..01cb34e --- /dev/null +++ b/resources/project/vmVRNnXTZxyEiUtNp09z8POG4ww/61BK8NUy-hRFQwhke5DFvl8vVzMp.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/resources/project/vmVRNnXTZxyEiUtNp09z8POG4ww/LK7oJyAsjG7L54MEiqw4vyI1c5cd.xml b/resources/project/vmVRNnXTZxyEiUtNp09z8POG4ww/LK7oJyAsjG7L54MEiqw4vyI1c5cd.xml new file mode 100644 index 0000000..4356a6a --- /dev/null +++ b/resources/project/vmVRNnXTZxyEiUtNp09z8POG4ww/LK7oJyAsjG7L54MEiqw4vyI1c5cd.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/resources/project/vmVRNnXTZxyEiUtNp09z8POG4ww/LK7oJyAsjG7L54MEiqw4vyI1c5cp.xml b/resources/project/vmVRNnXTZxyEiUtNp09z8POG4ww/LK7oJyAsjG7L54MEiqw4vyI1c5cp.xml new file mode 100644 index 0000000..03568fb --- /dev/null +++ b/resources/project/vmVRNnXTZxyEiUtNp09z8POG4ww/LK7oJyAsjG7L54MEiqw4vyI1c5cp.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/resources/project/yqzx3eu-5BBs0TaADSKy2J7RAA8/IB5aEp3NY6701lx9CrzeP4p_AdMd.xml b/resources/project/yqzx3eu-5BBs0TaADSKy2J7RAA8/IB5aEp3NY6701lx9CrzeP4p_AdMd.xml deleted file mode 100644 index 99772b4..0000000 --- a/resources/project/yqzx3eu-5BBs0TaADSKy2J7RAA8/IB5aEp3NY6701lx9CrzeP4p_AdMd.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - \ No newline at end of file diff --git a/resources/project/yqzx3eu-5BBs0TaADSKy2J7RAA8/IB5aEp3NY6701lx9CrzeP4p_AdMp.xml b/resources/project/yqzx3eu-5BBs0TaADSKy2J7RAA8/IB5aEp3NY6701lx9CrzeP4p_AdMp.xml deleted file mode 100644 index c37029c..0000000 --- a/resources/project/yqzx3eu-5BBs0TaADSKy2J7RAA8/IB5aEp3NY6701lx9CrzeP4p_AdMp.xml +++ /dev/null @@ -1,2 +0,0 @@ - - \ No newline at end of file diff --git a/resources/project/yqzx3eu-5BBs0TaADSKy2J7RAA8/tXIxTbpNO0wMjrPsAfR_XQDWLXod.xml b/resources/project/yqzx3eu-5BBs0TaADSKy2J7RAA8/tXIxTbpNO0wMjrPsAfR_XQDWLXod.xml deleted file mode 100644 index 99772b4..0000000 --- a/resources/project/yqzx3eu-5BBs0TaADSKy2J7RAA8/tXIxTbpNO0wMjrPsAfR_XQDWLXod.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - \ No newline at end of file diff --git a/resources/project/yqzx3eu-5BBs0TaADSKy2J7RAA8/vsJddY_pZWxGvvAn6QlLbHdhf6Qd.xml b/resources/project/yqzx3eu-5BBs0TaADSKy2J7RAA8/vsJddY_pZWxGvvAn6QlLbHdhf6Qd.xml deleted file mode 100644 index 99772b4..0000000 --- a/resources/project/yqzx3eu-5BBs0TaADSKy2J7RAA8/vsJddY_pZWxGvvAn6QlLbHdhf6Qd.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - \ No newline at end of file