From f871fb51a8c6909d2398d7a87076644f84cef534 Mon Sep 17 00:00:00 2001 From: Paul Dino Jones Date: Fri, 14 Jul 2023 20:18:24 +0000 Subject: [PATCH] Updated to new release of simapi --- .gitmodules | 2 +- src/monocoque/devices/serialdevice.c | 2 +- src/monocoque/devices/simdevice.c | 2 +- src/monocoque/devices/simdevice.h | 2 +- src/monocoque/devices/sounddevice.c | 2 +- src/monocoque/devices/tachdevice.c | 2 +- src/monocoque/devices/tachdevice.h | 2 +- src/monocoque/devices/usbdevice.c | 2 +- src/monocoque/gameloop/gameloop.c | 4 +- src/monocoque/gameloop/tachconfig.c | 2 +- src/monocoque/gameloop/tachconfig.h | 2 +- src/monocoque/monocoque.c | 2 +- src/monocoque/simulatorapi/CMakeLists.txt | 18 ++- src/monocoque/simulatorapi/ac.h | 21 ---- src/monocoque/simulatorapi/rf2.h | 21 ---- src/monocoque/simulatorapi/simapi | 2 +- src/monocoque/simulatorapi/simdata.h | 17 --- src/monocoque/simulatorapi/simmapper.c | 136 ---------------------- src/monocoque/simulatorapi/simmapper.h | 28 ----- src/monocoque/simulatorapi/test.h | 6 - tests/getmem.c | 4 +- tests/setmem.c | 4 +- tests/setsimdata.c | 4 +- tests/simlighttest.c | 2 +- 24 files changed, 33 insertions(+), 256 deletions(-) delete mode 100755 src/monocoque/simulatorapi/ac.h delete mode 100644 src/monocoque/simulatorapi/rf2.h delete mode 100644 src/monocoque/simulatorapi/simdata.h delete mode 100644 src/monocoque/simulatorapi/simmapper.c delete mode 100644 src/monocoque/simulatorapi/simmapper.h delete mode 100755 src/monocoque/simulatorapi/test.h diff --git a/.gitmodules b/.gitmodules index 7fad509..20e9c5e 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,3 @@ [submodule "src/monocoque/simulatorapi/simapi"] path = src/monocoque/simulatorapi/simapi - url = https://github.com/spacefreak18/simapi + url = git@github.com:spacefreak18/simapi diff --git a/src/monocoque/devices/serialdevice.c b/src/monocoque/devices/serialdevice.c index ffcf146..4106053 100644 --- a/src/monocoque/devices/serialdevice.c +++ b/src/monocoque/devices/serialdevice.c @@ -8,7 +8,7 @@ #include "serialdevice.h" #include "serial/arduino.h" #include "../helper/parameters.h" -#include "../simulatorapi/simdata.h" +#include "../simulatorapi/simapi/simapi/simdata.h" #include "../slog/slog.h" int serialdev_update(SimDevice* this, SimData* simdata) diff --git a/src/monocoque/devices/simdevice.c b/src/monocoque/devices/simdevice.c index f737991..8c1792b 100644 --- a/src/monocoque/devices/simdevice.c +++ b/src/monocoque/devices/simdevice.c @@ -4,7 +4,7 @@ #include "simdevice.h" #include "../helper/parameters.h" #include "../helper/confighelper.h" -#include "../simulatorapi/simdata.h" +#include "../simulatorapi/simapi/simapi/simdata.h" #include "../slog/slog.h" diff --git a/src/monocoque/devices/simdevice.h b/src/monocoque/devices/simdevice.h index eb93632..72bc637 100644 --- a/src/monocoque/devices/simdevice.h +++ b/src/monocoque/devices/simdevice.h @@ -7,7 +7,7 @@ #include "sounddevice.h" #include "serialdevice.h" #include "../helper/confighelper.h" -#include "../simulatorapi/simdata.h" +#include "../simulatorapi/simapi/simapi/simdata.h" typedef struct SimDevice SimDevice; diff --git a/src/monocoque/devices/sounddevice.c b/src/monocoque/devices/sounddevice.c index 54b2668..39b3d17 100644 --- a/src/monocoque/devices/sounddevice.c +++ b/src/monocoque/devices/sounddevice.c @@ -8,7 +8,7 @@ #include "simdevice.h" #include "sounddevice.h" #include "sound/usb_generic_shaker.h" -#include "../simulatorapi/simdata.h" +#include "../simulatorapi/simapi/simapi/simdata.h" #include "../helper/parameters.h" #include "../slog/slog.h" diff --git a/src/monocoque/devices/tachdevice.c b/src/monocoque/devices/tachdevice.c index 26bafdc..c4ac26f 100644 --- a/src/monocoque/devices/tachdevice.c +++ b/src/monocoque/devices/tachdevice.c @@ -5,7 +5,7 @@ #include "tachdevice.h" #include "revburner.h" #include "../../helper/confighelper.h" -#include "../../simulatorapi/simdata.h" +#include "../../simulatorapi/simapi/simapi/simdata.h" #include "../../slog/slog.h" int tachdev_update(TachDevice* tachdevice, SimData* simdata) diff --git a/src/monocoque/devices/tachdevice.h b/src/monocoque/devices/tachdevice.h index c8ba246..1d22a73 100644 --- a/src/monocoque/devices/tachdevice.h +++ b/src/monocoque/devices/tachdevice.h @@ -3,7 +3,7 @@ #include #include "../helper/confighelper.h" -#include "../simulatorapi/simdata.h" +#include "../simulatorapi/simapi/simapi/simdata.h" //typedef int (*tachdev_update)(int revs); diff --git a/src/monocoque/devices/usbdevice.c b/src/monocoque/devices/usbdevice.c index b5ec0fc..57bbe37 100644 --- a/src/monocoque/devices/usbdevice.c +++ b/src/monocoque/devices/usbdevice.c @@ -6,7 +6,7 @@ #include "usbdevice.h" #include "simdevice.h" #include "../helper/parameters.h" -#include "../simulatorapi/simdata.h" +#include "../simulatorapi/simapi/simapi/simdata.h" #include "../slog/slog.h" int usbdev_update(SimDevice* this, SimData* simdata) diff --git a/src/monocoque/gameloop/gameloop.c b/src/monocoque/gameloop/gameloop.c index 56257ed..676bd20 100644 --- a/src/monocoque/gameloop/gameloop.c +++ b/src/monocoque/gameloop/gameloop.c @@ -10,8 +10,8 @@ #include "../helper/parameters.h" #include "../helper/confighelper.h" #include "../devices/simdevice.h" -#include "../simulatorapi/simdata.h" -#include "../simulatorapi/simmapper.h" +#include "../simulatorapi/simapi/simapi/simdata.h" +#include "../simulatorapi/simapi/simapi/simmapper.h" #include "../slog/slog.h" #define DEFAULT_UPDATE_RATE 240.0 diff --git a/src/monocoque/gameloop/tachconfig.c b/src/monocoque/gameloop/tachconfig.c index f490e3b..5fc64ee 100644 --- a/src/monocoque/gameloop/tachconfig.c +++ b/src/monocoque/gameloop/tachconfig.c @@ -15,7 +15,7 @@ #include #include "../devices/simdevice.h" -#include "../simulatorapi/simdata.h" +#include "../simulatorapi/simapi/simapi/simdata.h" #include "../slog/slog.h" #define DEFAULT_UPDATE_RATE 30.0 diff --git a/src/monocoque/gameloop/tachconfig.h b/src/monocoque/gameloop/tachconfig.h index 60574f4..d94ec79 100644 --- a/src/monocoque/gameloop/tachconfig.h +++ b/src/monocoque/gameloop/tachconfig.h @@ -2,7 +2,7 @@ #define _TACHCONFIG_H #include "../devices/simdevice.h" -#include "../simulatorapi/simdata.h" +#include "../simulatorapi/simapi/simapi/simdata.h" int config_tachometer(int max_revs, int granularity, const char* save_file, SimDevice* simdevice, SimData* simdata); diff --git a/src/monocoque/monocoque.c b/src/monocoque/monocoque.c index 79d7cdb..afa8f47 100644 --- a/src/monocoque/monocoque.c +++ b/src/monocoque/monocoque.c @@ -10,7 +10,7 @@ #include "helper/parameters.h" #include "helper/dirhelper.h" #include "helper/confighelper.h" -#include "simulatorapi/simdata.h" +#include "simulatorapi/simapi/simapi/simdata.h" #include "slog/slog.h" int create_dir(char* dir) diff --git a/src/monocoque/simulatorapi/CMakeLists.txt b/src/monocoque/simulatorapi/CMakeLists.txt index e876b52..8ca6420 100644 --- a/src/monocoque/simulatorapi/CMakeLists.txt +++ b/src/monocoque/simulatorapi/CMakeLists.txt @@ -1,10 +1,16 @@ set(simulatorapi_source_files - simmapper.c - simmapper.h - simdata.h - test.h - simapi/acdata.h - ac.h + simapi/simapi/simmapper.c + simapi/simapi/simmapper.h + simapi/simapi/simdata.h + simapi/simapi/test.h + simapi/include/acdata.h + simapi/include/rf2data.h + simapi/simmap/basicmap.h + simapi/simmap/mapacdata.c + simapi/simmap/mapacdata.h + simapi/simapi/ac.h + simapi/simapi/rf2.h ) add_library(simulatorapi STATIC ${simulatorapi_source_files}) +target_compile_definitions(simulatorapi PRIVATE SIMMAP_ALL) diff --git a/src/monocoque/simulatorapi/ac.h b/src/monocoque/simulatorapi/ac.h deleted file mode 100755 index fa8fa09..0000000 --- a/src/monocoque/simulatorapi/ac.h +++ /dev/null @@ -1,21 +0,0 @@ -#ifndef _AC_H -#define _AC_H - -#include -#include "simapi/acdata.h" - -#define AC_PHYSICS_FILE "acpmf_physics" -#define AC_STATIC_FILE "acpmf_static" - -typedef struct -{ - bool has_physics; - bool has_static; - void* physics_map_addr; - void* static_map_addr; - struct SPageFilePhysics ac_physics; - struct SPageFileStatic ac_static; -} -ACMap; - -#endif diff --git a/src/monocoque/simulatorapi/rf2.h b/src/monocoque/simulatorapi/rf2.h deleted file mode 100644 index 583fe41..0000000 --- a/src/monocoque/simulatorapi/rf2.h +++ /dev/null @@ -1,21 +0,0 @@ -#ifndef _RF2_H -#define _RF2_H - -#include -#include "simapi/rf2data.h" - -#define RF2_TELEMETRY_FILE "rFactor2SMMP_Telemetry" -#define RF2_SCORING_FILE "rFactor2SMMP_Scoring" - -typedef struct -{ - bool has_telemetry; - bool has_scoring; - void* telemetry_map_addr; - void* scoring_map_addr; - struct rF2Telemetry rf2_telemetry; - //struct rF2Scoring rf2_scoring; -} -RF2Map; - -#endif diff --git a/src/monocoque/simulatorapi/simapi b/src/monocoque/simulatorapi/simapi index 04fd2ca..962711c 160000 --- a/src/monocoque/simulatorapi/simapi +++ b/src/monocoque/simulatorapi/simapi @@ -1 +1 @@ -Subproject commit 04fd2ca8ed590f562ad6423d9cf9f076daa28b95 +Subproject commit 962711c3de9ab6662a49719f0dde295ad8b3ebfe diff --git a/src/monocoque/simulatorapi/simdata.h b/src/monocoque/simulatorapi/simdata.h deleted file mode 100644 index 43d3f6f..0000000 --- a/src/monocoque/simulatorapi/simdata.h +++ /dev/null @@ -1,17 +0,0 @@ -#ifndef _SIMDATA_H -#define _SIMDATA_H - -#include - -typedef struct -{ - uint32_t velocity; - uint32_t rpms; - uint32_t gear; - uint32_t pulses; - uint32_t maxrpm; - uint32_t altitude; -} -SimData; - -#endif diff --git a/src/monocoque/simulatorapi/simmapper.c b/src/monocoque/simulatorapi/simmapper.c deleted file mode 100644 index a40ec11..0000000 --- a/src/monocoque/simulatorapi/simmapper.c +++ /dev/null @@ -1,136 +0,0 @@ -#include -#include -#include -#include -#include -#include -#include - -#include "simmapper.h" -#include "simdata.h" -#include "test.h" -#include "ac.h" -#include "rf2.h" -#include "../helper/confighelper.h" -#include "../slog/slog.h" - -#include "simapi/acdata.h" -#include "simapi/rf2data.h" - - -int simdatamap(SimData* simdata, SimMap* simmap, Simulator simulator) -{ - char* a; - char* b; - switch ( simulator ) - { - case SIMULATOR_MONOCOQUE_TEST : - memcpy(simdata, simmap->addr, sizeof(SimData)); - break; - case SIMULATOR_ASSETTO_CORSA : - a = simmap->d.ac.physics_map_addr; - if (simmap->d.ac.has_static == true ) - { - b = simmap->d.ac.static_map_addr; - simdata->maxrpm = *(uint32_t*) (char*) (b + offsetof(struct SPageFileStatic, maxRpm)); - } - simdata->rpms = *(uint32_t*) (char*) (a + offsetof(struct SPageFilePhysics, rpms)); - simdata->gear = *(uint32_t*) (char*) (a + offsetof(struct SPageFilePhysics, gear)); - simdata->velocity = ceil( *(float*) (char*) (a + offsetof(struct SPageFilePhysics, speedKmh))); - simdata->altitude = 1; - break; - case SIMULATOR_RFACTOR2 : - - a = simmap->d.rf2.telemetry_map_addr; - - simdata->velocity = ceil(3.6 * ( *(double*) (char*) (a + offsetof(struct rF2Telemetry, mVehicles[0].mLocalVel.z)))); - simdata->rpms = ceil( *(double*) (char*) (a + offsetof(struct rF2Telemetry, mVehicles[0].mEngineRPM))); - simdata->maxrpm = ceil( *(double*) (char*) (a + offsetof(struct rF2Telemetry, mVehicles[0].mEngineMaxRPM))); - simdata->gear = *(uint32_t*) (char*) (a + offsetof(struct rF2Telemetry, mVehicles[0].mGear)); - break; - } -} - - -int siminit(SimData* simdata, SimMap* simmap, Simulator simulator) -{ - slogi("searching for simulator data..."); - int error = MONOCOQUE_ERROR_NONE; - - void* a; - switch ( simulator ) - { - case SIMULATOR_MONOCOQUE_TEST : - simmap->fd = shm_open(TEST_MEM_FILE_LOCATION, O_RDONLY, S_IRUSR | S_IWUSR); - if (simmap->fd == -1) - { - return 10; - } - - simmap->addr = mmap(NULL, sizeof(SimData), PROT_READ, MAP_SHARED, simmap->fd, 0); - if (simmap->addr == MAP_FAILED) - { - return 30; - } - slogi("found data for monocoque test..."); - break; - case SIMULATOR_ASSETTO_CORSA : - - simmap->d.ac.has_physics=false; - simmap->d.ac.has_static=false; - simmap->fd = shm_open(AC_PHYSICS_FILE, O_RDONLY, S_IRUSR | S_IWUSR); - if (simmap->fd == -1) - { - slogd("could not open Assetto Corsa physics engine"); - return MONOCOQUE_ERROR_NODATA; - } - simmap->d.ac.physics_map_addr = mmap(NULL, sizeof(simmap->d.ac.ac_physics), PROT_READ, MAP_SHARED, simmap->fd, 0); - if (simmap->d.ac.physics_map_addr == MAP_FAILED) - { - slogd("could not retrieve Assetto Corsa physics data"); - return 30; - } - simmap->d.ac.has_physics=true; - - simmap->fd = shm_open(AC_STATIC_FILE, O_RDONLY, S_IRUSR | S_IWUSR); - if (simmap->fd == -1) - { - slogd("could not open Assetto Corsa static data"); - return 10; - } - simmap->d.ac.static_map_addr = mmap(NULL, sizeof(simmap->d.ac.ac_static), PROT_READ, MAP_SHARED, simmap->fd, 0); - if (simmap->d.ac.static_map_addr == MAP_FAILED) - { - slogd("could not retrieve Assetto Corsa static data"); - return 30; - } - simmap->d.ac.has_static=true; - - slogi("found data for Assetto Corsa..."); - break; - - case SIMULATOR_RFACTOR2 : - - simmap->d.rf2.has_telemetry=false; - simmap->d.rf2.has_scoring=false; - simmap->fd = shm_open(RF2_TELEMETRY_FILE, O_RDONLY, S_IRUSR | S_IWUSR); - if (simmap->fd == -1) - { - slogd("could not open RFactor2 Telemetry engine"); - return MONOCOQUE_ERROR_NODATA; - } - simmap->d.rf2.telemetry_map_addr = mmap(NULL, sizeof(simmap->d.rf2.rf2_telemetry), PROT_READ, MAP_SHARED, simmap->fd, 0); - if (simmap->d.rf2.telemetry_map_addr == MAP_FAILED) - { - slogd("could not retrieve RFactor2 telemetry data"); - return 30; - } - simmap->d.rf2.has_telemetry=true; - - - slogi("found data for RFactor2..."); - break; - } - - return error; -} diff --git a/src/monocoque/simulatorapi/simmapper.h b/src/monocoque/simulatorapi/simmapper.h deleted file mode 100644 index 981b050..0000000 --- a/src/monocoque/simulatorapi/simmapper.h +++ /dev/null @@ -1,28 +0,0 @@ -#ifndef _SIMMAPPER_H -#define _SIMMAPPER_H - -#include "ac.h" -#include "rf2.h" - -#include "simdata.h" -#include "../helper/confighelper.h" - -#include "simapi/acdata.h" -#include "simapi/rf2data.h" - -typedef struct -{ - void* addr; - int fd; - union - { - ACMap ac; - RF2Map rf2; - } d; -} -SimMap; - -int siminit(SimData* simdata, SimMap* simmap, Simulator simulator); -int simdatamap(SimData* simdata, SimMap* simmap, Simulator simulator); - -#endif diff --git a/src/monocoque/simulatorapi/test.h b/src/monocoque/simulatorapi/test.h deleted file mode 100755 index 31583b7..0000000 --- a/src/monocoque/simulatorapi/test.h +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef _TEST_H -#define _TEST_H - -#define TEST_MEM_FILE_LOCATION "/monocoque_test" - -#endif diff --git a/tests/getmem.c b/tests/getmem.c index bf7f279..572a7ef 100644 --- a/tests/getmem.c +++ b/tests/getmem.c @@ -5,8 +5,8 @@ #include #include -#include "../src/monocoque/simulatorapi/simdata.h" -#include "../src/monocoque/simulatorapi/test.h" +#include "../src/monocoque/simulatorapi/simapi/simapi/simdata.h" +#include "../src/monocoque/simulatorapi/simapi/simapi/test.h" int main(int argc, char* argv[]) { diff --git a/tests/setmem.c b/tests/setmem.c index 9631edc..22b252b 100644 --- a/tests/setmem.c +++ b/tests/setmem.c @@ -6,8 +6,8 @@ #include #include -#include "../src/monocoque/simulatorapi/simdata.h" -#include "../src/monocoque/simulatorapi/test.h" +#include "../src/monocoque/simulatorapi/simapi/simapi/simdata.h" +#include "../src/monocoque/simulatorapi/simapi/simapi/test.h" #define DATA "Hello, World! From PID %d" diff --git a/tests/setsimdata.c b/tests/setsimdata.c index 4e87099..eb0fa72 100644 --- a/tests/setsimdata.c +++ b/tests/setsimdata.c @@ -5,8 +5,8 @@ #include #include -#include "../src/monocoque/simulatorapi/simdata.h" -#include "../src/monocoque/simulatorapi/test.h" +#include "../src/monocoque/simulatorapi/simapi/simapi/simdata.h" +#include "../src/monocoque/simulatorapi/simapi/simapi/test.h" #define DATA "Hello, World! From PID %d" diff --git a/tests/simlighttest.c b/tests/simlighttest.c index cce39e1..abf8f0b 100644 --- a/tests/simlighttest.c +++ b/tests/simlighttest.c @@ -2,7 +2,7 @@ #include #include #include -#include "../src/monocoque/simulatorapi/simdata.h" +#include "../src/monocoque/simulatorapi/simapi/simapi/simdata.h" /* Helper function for error handling. */ int check(enum sp_return result);