DualCameraState -> MultiCameraState

pull/2048/head
ZwX1616 5 years ago
parent 7b3f9b5f8c
commit f8090865c3
  1. 10
      selfdrive/camerad/cameras/camera_frame_stream.cc
  2. 12
      selfdrive/camerad/cameras/camera_frame_stream.h
  3. 12
      selfdrive/camerad/cameras/camera_qcom.cc
  4. 12
      selfdrive/camerad/cameras/camera_qcom.h
  5. 10
      selfdrive/camerad/cameras/camera_qcom2.c
  6. 12
      selfdrive/camerad/cameras/camera_qcom2.h
  7. 8
      selfdrive/camerad/cameras/camera_webcam.cc
  8. 12
      selfdrive/camerad/cameras/camera_webcam.h
  9. 2
      selfdrive/camerad/main.cc
  10. 2
      selfdrive/camerad/test/camera/test.c

@ -51,7 +51,7 @@ void camera_init(CameraState *s, int camera_id, unsigned int fps) {
tbuffer_init2(&s->camera_tb, FRAME_BUF_COUNT, "frame", camera_release_buffer, s);
}
void run_frame_stream(DualCameraState *s) {
void run_frame_stream(MultiCameraState *s) {
int err;
Context * context = Context::create();
SubSocket * recorder_sock = SubSocket::create(context, "frame");
@ -121,7 +121,7 @@ CameraInfo cameras_supported[CAMERA_ID_MAX] = {
},
};
void cameras_init(DualCameraState *s) {
void cameras_init(MultiCameraState *s) {
memset(s, 0, sizeof(*s));
camera_init(&s->rear, CAMERA_ID_IMX298, 20);
@ -141,7 +141,7 @@ void cameras_init(DualCameraState *s) {
void camera_autoexposure(CameraState *s, float grey_frac) {}
void cameras_open(DualCameraState *s, VisionBuf *camera_bufs_rear,
void cameras_open(MultiCameraState *s, VisionBuf *camera_bufs_rear,
VisionBuf *camera_bufs_focus, VisionBuf *camera_bufs_stats,
VisionBuf *camera_bufs_front) {
assert(camera_bufs_rear);
@ -155,11 +155,11 @@ void cameras_open(DualCameraState *s, VisionBuf *camera_bufs_rear,
camera_open(&s->rear, camera_bufs_rear, true);
}
void cameras_close(DualCameraState *s) {
void cameras_close(MultiCameraState *s) {
camera_close(&s->rear);
}
void cameras_run(DualCameraState *s) {
void cameras_run(MultiCameraState *s) {
set_thread_name("frame_streaming");
run_frame_stream(s);
cameras_close(s);

@ -40,17 +40,17 @@ typedef struct CameraState {
} CameraState;
typedef struct DualCameraState {
typedef struct MultiCameraState {
int ispif_fd;
CameraState rear;
CameraState front;
} DualCameraState;
} MultiCameraState;
void cameras_init(DualCameraState *s);
void cameras_open(DualCameraState *s, VisionBuf *camera_bufs_rear, VisionBuf *camera_bufs_focus, VisionBuf *camera_bufs_stats, VisionBuf *camera_bufs_front);
void cameras_run(DualCameraState *s);
void cameras_close(DualCameraState *s);
void cameras_init(MultiCameraState *s);
void cameras_open(MultiCameraState *s, VisionBuf *camera_bufs_rear, VisionBuf *camera_bufs_focus, VisionBuf *camera_bufs_stats, VisionBuf *camera_bufs_front);
void cameras_run(MultiCameraState *s);
void cameras_close(MultiCameraState *s);
void camera_autoexposure(CameraState *s, float grey_frac);
#ifdef __cplusplus
} // extern "C"

@ -268,7 +268,7 @@ static int imx179_s5k3p8sp_apply_exposure(CameraState *s, int gain, int integ_li
return err;
}
void cameras_init(DualCameraState *s) {
void cameras_init(MultiCameraState *s) {
memset(s, 0, sizeof(*s));
char project_name[1024] = {0};
@ -527,7 +527,7 @@ static void imx298_ois_calibration(int ois_fd, uint8_t* eeprom) {
static void sensors_init(DualCameraState *s) {
static void sensors_init(MultiCameraState *s) {
int err;
int sensorinit_fd = -1;
@ -1805,7 +1805,7 @@ static void front_start(CameraState *s) {
void cameras_open(DualCameraState *s, VisionBuf *camera_bufs_rear, VisionBuf *camera_bufs_focus, VisionBuf *camera_bufs_stats, VisionBuf *camera_bufs_front) {
void cameras_open(MultiCameraState *s, VisionBuf *camera_bufs_rear, VisionBuf *camera_bufs_focus, VisionBuf *camera_bufs_stats, VisionBuf *camera_bufs_front) {
int err;
struct ispif_cfg_data ispif_cfg_data;
@ -2029,7 +2029,7 @@ static void ops_term() {
static void* ops_thread(void* arg) {
int err;
DualCameraState *s = (DualCameraState*)arg;
MultiCameraState *s = (MultiCameraState*)arg;
set_thread_name("camera_settings");
@ -2101,7 +2101,7 @@ static void* ops_thread(void* arg) {
return NULL;
}
void cameras_run(DualCameraState *s) {
void cameras_run(MultiCameraState *s) {
int err;
pthread_t ops_thread_handle;
@ -2213,7 +2213,7 @@ void cameras_run(DualCameraState *s) {
cameras_close(s);
}
void cameras_close(DualCameraState *s) {
void cameras_close(MultiCameraState *s) {
camera_close(&s->rear);
camera_close(&s->front);
}

@ -106,19 +106,19 @@ typedef struct CameraState {
} CameraState;
typedef struct DualCameraState {
typedef struct MultiCameraState {
int device;
int ispif_fd;
CameraState rear;
CameraState front;
} DualCameraState;
} MultiCameraState;
void cameras_init(DualCameraState *s);
void cameras_open(DualCameraState *s, VisionBuf *camera_bufs_rear, VisionBuf *camera_bufs_focus, VisionBuf *camera_bufs_stats, VisionBuf *camera_bufs_front);
void cameras_run(DualCameraState *s);
void cameras_close(DualCameraState *s);
void cameras_init(MultiCameraState *s);
void cameras_open(MultiCameraState *s, VisionBuf *camera_bufs_rear, VisionBuf *camera_bufs_focus, VisionBuf *camera_bufs_stats, VisionBuf *camera_bufs_front);
void cameras_run(MultiCameraState *s);
void cameras_close(MultiCameraState *s);
void camera_autoexposure(CameraState *s, float grey_frac);
void actuator_move(CameraState *s, uint16_t target);

@ -788,7 +788,7 @@ static void camera_open(CameraState *s, VisionBuf* b) {
}
void cameras_init(DualCameraState *s) {
void cameras_init(MultiCameraState *s) {
camera_init(&s->rear, CAMERA_ID_AR0231, 1, 20); // swap left/right
printf("rear initted \n");
camera_init(&s->wide, CAMERA_ID_AR0231, 0, 20);
@ -802,7 +802,7 @@ void cameras_init(DualCameraState *s) {
#endif
}
void cameras_open(DualCameraState *s, VisionBuf *camera_bufs_rear, VisionBuf *camera_bufs_focus, VisionBuf *camera_bufs_stats, VisionBuf *camera_bufs_front, VisionBuf *camera_bufs_wide) {
void cameras_open(MultiCameraState *s, VisionBuf *camera_bufs_rear, VisionBuf *camera_bufs_focus, VisionBuf *camera_bufs_stats, VisionBuf *camera_bufs_front, VisionBuf *camera_bufs_wide) {
int ret;
LOG("-- Opening devices");
@ -900,7 +900,7 @@ static void camera_close(CameraState *s) {
tbuffer_stop(&s->camera_tb);
}
static void cameras_close(DualCameraState *s) {
static void cameras_close(MultiCameraState *s) {
camera_close(&s->rear);
camera_close(&s->wide);
camera_close(&s->front);
@ -919,7 +919,7 @@ struct video_event_data {
uint64_t tv_usec;
};
void cameras_run(DualCameraState *s) {
void cameras_run(MultiCameraState *s) {
// start devices
LOG("-- Start devices");
@ -1055,7 +1055,7 @@ void camera_autoexposure(CameraState *s, float grey_frac) {
}
#ifdef NOSCREEN
void sendrgb(DualCameraState *s, uint8_t* dat, int len, uint8_t cam_id) {
void sendrgb(MultiCameraState *s, uint8_t* dat, int len, uint8_t cam_id) {
int err, err2;
int scale = 6;
int old_width = FRAME_WIDTH;

@ -72,7 +72,7 @@ typedef struct CameraState {
} CameraState;
typedef struct DualCameraState {
typedef struct MultiCameraState {
int device;
int video0_fd;
@ -87,14 +87,14 @@ typedef struct DualCameraState {
#endif
pthread_mutex_t isp_lock;
} DualCameraState;
} MultiCameraState;
void cameras_init(DualCameraState *s);
void cameras_open(DualCameraState *s, VisionBuf *camera_bufs_rear, VisionBuf *camera_bufs_focus, VisionBuf *camera_bufs_stats, VisionBuf *camera_bufs_front, VisionBuf *camera_bufs_wide);
void cameras_run(DualCameraState *s);
void cameras_init(MultiCameraState *s);
void cameras_open(MultiCameraState *s, VisionBuf *camera_bufs_rear, VisionBuf *camera_bufs_focus, VisionBuf *camera_bufs_stats, VisionBuf *camera_bufs_front, VisionBuf *camera_bufs_wide);
void cameras_run(MultiCameraState *s);
void camera_autoexposure(CameraState *s, float grey_frac);
#ifdef NOSCREEN
void sendrgb(DualCameraState *s, uint8_t* dat, int len, uint8_t cam_id);
void sendrgb(MultiCameraState *s, uint8_t* dat, int len, uint8_t cam_id);
#endif
#ifdef __cplusplus

@ -221,7 +221,7 @@ CameraInfo cameras_supported[CAMERA_ID_MAX] = {
},
};
void cameras_init(DualCameraState *s) {
void cameras_init(MultiCameraState *s) {
memset(s, 0, sizeof(*s));
camera_init(&s->rear, CAMERA_ID_LGC920, 20);
@ -241,7 +241,7 @@ void cameras_init(DualCameraState *s) {
void camera_autoexposure(CameraState *s, float grey_frac) {}
void cameras_open(DualCameraState *s, VisionBuf *camera_bufs_rear,
void cameras_open(MultiCameraState *s, VisionBuf *camera_bufs_rear,
VisionBuf *camera_bufs_focus, VisionBuf *camera_bufs_stats,
VisionBuf *camera_bufs_front) {
assert(camera_bufs_rear);
@ -255,12 +255,12 @@ void cameras_open(DualCameraState *s, VisionBuf *camera_bufs_rear,
camera_open(&s->rear, camera_bufs_rear, true);
}
void cameras_close(DualCameraState *s) {
void cameras_close(MultiCameraState *s) {
camera_close(&s->rear);
camera_close(&s->front);
}
void cameras_run(DualCameraState *s) {
void cameras_run(MultiCameraState *s) {
set_thread_name("webcam_thread");
int err;

@ -39,17 +39,17 @@ typedef struct CameraState {
} CameraState;
typedef struct DualCameraState {
typedef struct MultiCameraState {
int ispif_fd;
CameraState rear;
CameraState front;
} DualCameraState;
} MultiCameraState;
void cameras_init(DualCameraState *s);
void cameras_open(DualCameraState *s, VisionBuf *camera_bufs_rear, VisionBuf *camera_bufs_focus, VisionBuf *camera_bufs_stats, VisionBuf *camera_bufs_front);
void cameras_run(DualCameraState *s);
void cameras_close(DualCameraState *s);
void cameras_init(MultiCameraState *s);
void cameras_open(MultiCameraState *s, VisionBuf *camera_bufs_rear, VisionBuf *camera_bufs_focus, VisionBuf *camera_bufs_stats, VisionBuf *camera_bufs_front);
void cameras_run(MultiCameraState *s);
void cameras_close(MultiCameraState *s);
void camera_autoexposure(CameraState *s, float grey_frac);
#ifdef __cplusplus
} // extern "C"

@ -164,7 +164,7 @@ struct VisionState {
VisionBuf wide_camera_bufs[FRAME_BUF_COUNT];
DualCameraState cameras;
MultiCameraState cameras;
zsock_t *terminate_pub;

@ -34,7 +34,7 @@ void tbuffer_stop(TBuffer *tb) {
}
int main() {
DualCameraState s;
MultiCameraState s;
cameras_init(&s);
VisionBuf camera_bufs_rear[0x10] = {0};
VisionBuf camera_bufs_focus[0x10] = {0};

Loading…
Cancel
Save