camerad: build camerad on PC (#25726)

* compile camerad on PC

* scons cleanup

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
old-commit-hash: 29f9c536b4
taco
Dean Lee 3 years ago committed by GitHub
parent 246f03e72b
commit fad0bdf23c
  1. 3
      SConstruct
  2. 24
      system/camerad/SConscript
  3. 4
      system/camerad/cameras/camera_common.cc
  4. 1
      system/camerad/cameras/camera_qcom2.cc
  5. 15
      system/camerad/main.cc
  6. 27
      system/camerad/test/camera_test.h

@ -99,9 +99,6 @@ if arch == "larch64":
"#third_party/libyuv/larch64/lib", "#third_party/libyuv/larch64/lib",
"/usr/lib/aarch64-linux-gnu" "/usr/lib/aarch64-linux-gnu"
] ]
cpppath += [
"#system/camerad/include",
]
cflags = ["-DQCOM2", "-mcpu=cortex-a57"] cflags = ["-DQCOM2", "-mcpu=cortex-a57"]
cxxflags = ["-DQCOM2", "-mcpu=cortex-a57"] cxxflags = ["-DQCOM2", "-mcpu=cortex-a57"]
rpath += ["/usr/local/lib"] rpath += ["/usr/local/lib"]

@ -1,22 +1,18 @@
Import('env', 'arch', 'cereal', 'messaging', 'common', 'gpucommon', 'visionipc') Import('env', 'arch', 'cereal', 'messaging', 'common', 'gpucommon', 'visionipc')
libs = ['m', 'pthread', common, 'jpeg', 'OpenCL', 'yuv', cereal, messaging, 'zmq', 'capnp', 'kj', visionipc, gpucommon] libs = ['m', 'pthread', common, 'jpeg', 'OpenCL', 'yuv', cereal, messaging, 'zmq', 'capnp', 'kj', visionipc, gpucommon, 'atomic']
cameras = [] cenv = env.Clone()
if arch == "larch64": cenv['CPPPATH'].append('include/')
libs += ['atomic']
cameras = ['cameras/camera_qcom2.cc']
env.Program('camerad', [ camera_obj = cenv.Object(['cameras/camera_qcom2.cc', 'cameras/camera_common.cc', 'cameras/camera_util.cc'])
'main.cc', cenv.Program('camerad', [
'cameras/camera_common.cc', 'main.cc',
'cameras/camera_util.cc', camera_obj,
'imgproc/utils.cc', ], LIBS=libs)
cameras,
], LIBS=libs)
if GetOption("test") and arch == "x86_64": if GetOption("test") and arch == "x86_64":
env.Program('test/ae_gray_test', [ cenv.Program('test/ae_gray_test', [
'test/ae_gray_test.cc', 'test/ae_gray_test.cc',
'cameras/camera_common.cc', camera_obj,
], LIBS=libs) ], LIBS=libs)

@ -18,11 +18,9 @@
#include "system/hardware/hw.h" #include "system/hardware/hw.h"
#include "msm_media_info.h" #include "msm_media_info.h"
#include "system/camerad/cameras/camera_qcom2.h"
#ifdef QCOM2 #ifdef QCOM2
#include "CL/cl_ext_qcom.h" #include "CL/cl_ext_qcom.h"
#include "system/camerad/cameras/camera_qcom2.h"
#else
#include "system/camerad/test/camera_test.h"
#endif #endif
ExitHandler do_exit; ExitHandler do_exit;

@ -1304,4 +1304,3 @@ void cameras_run(MultiCameraState *s) {
cameras_close(s); cameras_close(s);
} }

@ -7,14 +7,17 @@
#include "system/hardware/hw.h" #include "system/hardware/hw.h"
int main(int argc, char *argv[]) { int main(int argc, char *argv[]) {
if (!Hardware::PC()) { if (Hardware::PC()) {
int ret; printf("camerad is not meant to run on PC\n");
ret = util::set_realtime_priority(53); return 0;
assert(ret == 0);
ret = util::set_core_affinity({6});
assert(ret == 0 || Params().getBool("IsOffroad")); // failure ok while offroad due to offlining cores
} }
int ret;
ret = util::set_realtime_priority(53);
assert(ret == 0);
ret = util::set_core_affinity({6});
assert(ret == 0 || Params().getBool("IsOffroad")); // failure ok while offroad due to offlining cores
camerad_thread(); camerad_thread();
return 0; return 0;
} }

@ -1,27 +0,0 @@
// TODO: cleanup AE tests
// needed by camera_common.cc
void camera_autoexposure(CameraState *s, float grey_frac) {}
void cameras_init(VisionIpcServer *v, MultiCameraState *s, cl_device_id device_id, cl_context ctx) {}
void cameras_open(MultiCameraState *s) {}
void cameras_run(MultiCameraState *s) {}
typedef struct CameraState {
int camera_num;
CameraInfo ci;
int fps;
float digital_gain = 0;
int camera_id;
CameraBuf buf;
} CameraState;
typedef struct MultiCameraState {
CameraState road_cam;
CameraState driver_cam;
PubMaster *pm = nullptr;
} MultiCameraState;
Loading…
Cancel
Save