diff --git a/.gitignore b/.gitignore index 14cd02e..d6ec003 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,4 @@ -gen -node_modules -package-lock.json +/gen/ *.tmp *.pyc __pycache__ @@ -18,4 +16,3 @@ services.h .sconsign.dblite libcereal_shared.* .mypy_cache/ -catch2/ diff --git a/Dockerfile b/Dockerfile index 21902d1..49a8471 100644 --- a/Dockerfile +++ b/Dockerfile @@ -39,11 +39,12 @@ RUN pyenv install 3.8.10 && \ pyenv rehash && \ pip3 install --no-cache-dir pyyaml==5.1.2 Cython==0.29.14 scons==3.1.1 pycapnp==1.0.0 pre-commit==2.15.0 pylint==2.5.2 parameterized==0.7.4 coverage==5.1 numpy==1.21.1 -WORKDIR /project/cereal/messaging -RUN git clone https://github.com/catchorg/Catch2.git && \ +WORKDIR /project/ +RUN cd /tmp/ && \ + git clone https://github.com/catchorg/Catch2.git && \ cd Catch2 && \ git checkout 229cc4823c8cbe67366da8179efc6089dd3893e9 && \ - mv single_include/catch2 ../catch2 && \ + mv single_include/catch2/ /project/ && \ cd .. \ rm -rf Catch2 diff --git a/SConstruct b/SConstruct index bc98b6d..0512529 100644 --- a/SConstruct +++ b/SConstruct @@ -8,13 +8,10 @@ arch = subprocess.check_output(["uname", "-m"], encoding='utf8').rstrip() if platform.system() == "Darwin": arch = "Darwin" -cereal_dir = Dir('.') -messaging_dir = Dir('./messaging') common = '' cpppath = [ - cereal_dir, - messaging_dir, + f"#/../", '/usr/lib/include', '/opt/homebrew/include', sysconfig.get_paths()['include'], diff --git a/messaging/bridge.cc b/messaging/bridge.cc index 0b72e06..be47eb5 100644 --- a/messaging/bridge.cc +++ b/messaging/bridge.cc @@ -7,9 +7,9 @@ typedef void (*sighandler_t)(int sig); -#include "impl_msgq.h" -#include "impl_zmq.h" -#include "services.h" +#include "cereal/services.h" +#include "cereal/messaging/impl_msgq.h" +#include "cereal/messaging/impl_zmq.h" std::atomic do_exit = false; static void set_do_exit(int sig) { diff --git a/messaging/demo.cc b/messaging/demo.cc index 4c56ba0..5b4d244 100644 --- a/messaging/demo.cc +++ b/messaging/demo.cc @@ -4,8 +4,8 @@ #include #include -#include "messaging.h" -#include "impl_zmq.h" +#include "cereal/messaging/messaging.h" +#include "cereal/messaging/impl_zmq.h" #define MSGS 1e5 diff --git a/messaging/impl_msgq.cc b/messaging/impl_msgq.cc index 51353b4..18e9364 100644 --- a/messaging/impl_msgq.cc +++ b/messaging/impl_msgq.cc @@ -5,8 +5,8 @@ #include #include -#include "services.h" -#include "impl_msgq.h" +#include "cereal/services.h" +#include "cereal/messaging/impl_msgq.h" volatile sig_atomic_t msgq_do_exit = 0; diff --git a/messaging/impl_msgq.h b/messaging/impl_msgq.h index b67aae6..7c2f848 100644 --- a/messaging/impl_msgq.h +++ b/messaging/impl_msgq.h @@ -1,9 +1,11 @@ #pragma once -#include "messaging.h" -#include "msgq.h" + #include #include +#include "cereal/messaging/messaging.h" +#include "cereal/messaging/msgq.h" + #define MAX_POLLERS 128 class MSGQContext : public Context { diff --git a/messaging/impl_zmq.cc b/messaging/impl_zmq.cc index aeed176..b2595fa 100644 --- a/messaging/impl_zmq.cc +++ b/messaging/impl_zmq.cc @@ -6,8 +6,8 @@ #include -#include "services.h" -#include "impl_zmq.h" +#include "cereal/services.h" +#include "cereal/messaging/impl_zmq.h" static int get_port(std::string endpoint) { int port = -1; diff --git a/messaging/impl_zmq.h b/messaging/impl_zmq.h index bb23204..995408c 100644 --- a/messaging/impl_zmq.h +++ b/messaging/impl_zmq.h @@ -1,8 +1,10 @@ #pragma once -#include "messaging.h" + #include #include +#include "cereal/messaging/messaging.h" + #define MAX_POLLERS 128 class ZMQContext : public Context { diff --git a/messaging/messaging.cc b/messaging/messaging.cc index 69c0e80..48e4056 100644 --- a/messaging/messaging.cc +++ b/messaging/messaging.cc @@ -1,9 +1,9 @@ #include #include -#include "messaging.h" -#include "impl_zmq.h" -#include "impl_msgq.h" +#include "cereal/messaging/messaging.h" +#include "cereal/messaging/impl_zmq.h" +#include "cereal/messaging/impl_msgq.h" #ifdef __APPLE__ const bool MUST_USE_ZMQ = true; diff --git a/messaging/messaging.h b/messaging/messaging.h index 5a69dde..770cfe5 100644 --- a/messaging/messaging.h +++ b/messaging/messaging.h @@ -1,4 +1,5 @@ #pragma once + #include #include #include @@ -6,7 +7,8 @@ #include #include -#include "../gen/cpp/log.capnp.h" + +#include "cereal/gen/cpp/log.capnp.h" #ifdef __APPLE__ #define CLOCK_BOOTTIME CLOCK_MONOTONIC @@ -20,7 +22,7 @@ class Context { public: virtual void * getRawContext() = 0; static Context * create(); - virtual ~Context(){}; + virtual ~Context(){} }; class Message { diff --git a/messaging/messaging.pxd b/messaging/messaging.pxd index de232da..38c6b09 100644 --- a/messaging/messaging.pxd +++ b/messaging/messaging.pxd @@ -6,7 +6,7 @@ from libcpp.vector cimport vector from libcpp cimport bool -cdef extern from "messaging.h": +cdef extern from "cereal/messaging/messaging.h": cdef cppclass Context: @staticmethod Context * create() diff --git a/messaging/msgq.cc b/messaging/msgq.cc index 4386acf..631f533 100644 --- a/messaging/msgq.cc +++ b/messaging/msgq.cc @@ -22,7 +22,7 @@ #include -#include "msgq.h" +#include "cereal/messaging/msgq.h" void sigusr2_handler(int signal) { assert(signal == SIGUSR2); diff --git a/messaging/msgq.h b/messaging/msgq.h index 86e9d19..77a6e07 100644 --- a/messaging/msgq.h +++ b/messaging/msgq.h @@ -1,4 +1,5 @@ #pragma once + #include #include #include diff --git a/messaging/msgq_tests.cc b/messaging/msgq_tests.cc index dc10de6..ccfa68e 100644 --- a/messaging/msgq_tests.cc +++ b/messaging/msgq_tests.cc @@ -1,5 +1,5 @@ #include "catch2/catch.hpp" -#include "msgq.h" +#include "cereal/messaging/msgq.h" TEST_CASE("ALIGN"){ REQUIRE(ALIGN(0) == 0); diff --git a/messaging/socketmaster.cc b/messaging/socketmaster.cc index 2066559..4093e86 100644 --- a/messaging/socketmaster.cc +++ b/messaging/socketmaster.cc @@ -4,8 +4,8 @@ #include #include -#include "services.h" -#include "messaging.h" +#include "cereal/services.h" +#include "cereal/messaging/messaging.h" const bool SIMULATION = (getenv("SIMULATION") != nullptr) && (std::string(getenv("SIMULATION")) == "1"); diff --git a/visionipc/visionbuf.cc b/visionipc/visionbuf.cc index 3480e40..e9e0ff3 100644 --- a/visionipc/visionbuf.cc +++ b/visionipc/visionbuf.cc @@ -1,4 +1,4 @@ -#include "visionbuf.h" +#include "cereal/visionipc/visionbuf.h" #define ALIGN(x, align) (((x) + (align)-1) & ~((align)-1)) diff --git a/visionipc/visionbuf.h b/visionipc/visionbuf.h index a01b584..e0e78f4 100644 --- a/visionipc/visionbuf.h +++ b/visionipc/visionbuf.h @@ -1,5 +1,6 @@ #pragma once -#include "visionipc.h" + +#include "cereal/visionipc/visionipc.h" #define CL_USE_DEPRECATED_OPENCL_1_2_APIS #ifdef __APPLE__ diff --git a/visionipc/visionbuf_cl.cc b/visionipc/visionbuf_cl.cc index 8de25fc..0315d8d 100644 --- a/visionipc/visionbuf_cl.cc +++ b/visionipc/visionbuf_cl.cc @@ -1,4 +1,4 @@ -#include "visionbuf.h" +#include "cereal/visionipc/visionbuf.h" #include #include diff --git a/visionipc/visionbuf_ion.cc b/visionipc/visionbuf_ion.cc index c66b668..ed446ab 100644 --- a/visionipc/visionbuf_ion.cc +++ b/visionipc/visionbuf_ion.cc @@ -14,7 +14,7 @@ #include -#include "visionbuf.h" +#include "cereal/visionipc/visionbuf.h" // keep trying if x gets interrupted by a signal #define HANDLE_EINTR(x) \ diff --git a/visionipc/visionipc.pxd b/visionipc/visionipc.pxd index 5c2d6f0..87999e2 100644 --- a/visionipc/visionipc.pxd +++ b/visionipc/visionipc.pxd @@ -6,7 +6,7 @@ from libcpp.vector cimport vector from libc.stdint cimport uint32_t, uint64_t from libcpp cimport bool -cdef extern from "visionbuf.h": +cdef extern from "cereal/visionipc/visionbuf.h": cdef enum VisionStreamType: pass @@ -19,13 +19,13 @@ cdef extern from "visionbuf.h": size_t uv_offset void set_frame_id(uint64_t id) -cdef extern from "visionipc.h": +cdef extern from "cereal/visionipc/visionipc.h": struct VisionIpcBufExtra: uint32_t frame_id uint64_t timestamp_sof uint64_t timestamp_eof -cdef extern from "visionipc_server.h": +cdef extern from "cereal/visionipc/visionipc_server.h": cdef cppclass VisionIpcServer: VisionIpcServer(string, void*, void*) void create_buffers(VisionStreamType, size_t, bool, size_t, size_t) @@ -34,7 +34,7 @@ cdef extern from "visionipc_server.h": void send(VisionBuf *, VisionIpcBufExtra *, bool) void start_listener() -cdef extern from "visionipc_client.h": +cdef extern from "cereal/visionipc/visionipc_client.h": cdef cppclass VisionIpcClient: VisionIpcClient(string, VisionStreamType, bool, void*, void*) VisionBuf * recv(VisionIpcBufExtra *, int) diff --git a/visionipc/visionipc_client.cc b/visionipc/visionipc_client.cc index 573a47d..9d6fa9f 100644 --- a/visionipc/visionipc_client.cc +++ b/visionipc/visionipc_client.cc @@ -3,10 +3,10 @@ #include #include -#include "visionipc/ipc.h" -#include "visionipc/visionipc_client.h" -#include "visionipc/visionipc_server.h" -#include "logger/logger.h" +#include "cereal/visionipc/ipc.h" +#include "cereal/visionipc/visionipc_client.h" +#include "cereal/visionipc/visionipc_server.h" +#include "cereal/logger/logger.h" VisionIpcClient::VisionIpcClient(std::string name, VisionStreamType type, bool conflate, cl_device_id device_id, cl_context ctx) : name(name), type(type), device_id(device_id), ctx(ctx) { msg_ctx = Context::create(); diff --git a/visionipc/visionipc_client.h b/visionipc/visionipc_client.h index a6426ce..c11ee23 100644 --- a/visionipc/visionipc_client.h +++ b/visionipc/visionipc_client.h @@ -3,9 +3,9 @@ #include #include -#include "messaging/messaging.h" -#include "visionipc/visionipc.h" -#include "visionipc/visionbuf.h" +#include "cereal/messaging/messaging.h" +#include "cereal/visionipc/visionipc.h" +#include "cereal/visionipc/visionbuf.h" class VisionIpcClient { private: diff --git a/visionipc/visionipc_server.cc b/visionipc/visionipc_server.cc index cbe3666..4d34cfe 100644 --- a/visionipc/visionipc_server.cc +++ b/visionipc/visionipc_server.cc @@ -7,10 +7,10 @@ #include #include -#include "messaging/messaging.h" -#include "visionipc/ipc.h" -#include "visionipc/visionipc_server.h" -#include "logger/logger.h" +#include "cereal/messaging/messaging.h" +#include "cereal/visionipc/ipc.h" +#include "cereal/visionipc/visionipc_server.h" +#include "cereal/logger/logger.h" std::string get_endpoint_name(std::string name, VisionStreamType type){ if (messaging_use_zmq()){ diff --git a/visionipc/visionipc_server.h b/visionipc/visionipc_server.h index 5c64402..4c23ff6 100644 --- a/visionipc/visionipc_server.h +++ b/visionipc/visionipc_server.h @@ -5,9 +5,9 @@ #include #include -#include "messaging/messaging.h" -#include "visionipc/visionipc.h" -#include "visionipc/visionbuf.h" +#include "cereal/messaging/messaging.h" +#include "cereal/visionipc/visionipc.h" +#include "cereal/visionipc/visionbuf.h" std::string get_endpoint_name(std::string name, VisionStreamType type); diff --git a/visionipc/visionipc_tests.cc b/visionipc/visionipc_tests.cc index b10e332..55a4395 100644 --- a/visionipc/visionipc_tests.cc +++ b/visionipc/visionipc_tests.cc @@ -2,8 +2,8 @@ #include #include "catch2/catch.hpp" -#include "visionipc_server.h" -#include "visionipc_client.h" +#include "cereal/visionipc/visionipc_server.h" +#include "cereal/visionipc/visionipc_client.h" static void zmq_sleep(int milliseconds=1000){ if (messaging_use_zmq()){