Browse Source

Fix some warnings and add debugging information into the build

Suren A. Chilingaryan 8 years ago
parent
commit
c392c9920f
6 changed files with 17 additions and 5 deletions
  1. 2 0
      CMakeLists.txt
  2. 0 1
      cmosis.c
  3. 8 0
      ipecamera.h
  4. 1 0
      model.c
  5. 1 0
      private.h
  6. 5 4
      reader.c

+ 2 - 0
CMakeLists.txt

@@ -6,6 +6,8 @@ set(IPECAMERA_ABI_VERSION "0")
 cmake_minimum_required(VERSION 2.6)
 list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake")
 
+add_definitions("-fPIC --std=gnu99 -Wall -O2 -gdwarf-2 -g3  -fno-omit-frame-pointer")
+
 find_package(PkgConfig REQUIRED)
 find_package(Threads REQUIRED)
 pkg_check_modules(UFODECODE ufodecode>=0.3 REQUIRED)

+ 0 - 1
cmosis.c

@@ -46,7 +46,6 @@ void ipecamera_cmosis_close(pcilib_t *ctx, pcilib_register_bank_context_t *reg_b
 }
 
 pcilib_register_bank_context_t* ipecamera_cmosis_open(pcilib_t *ctx, pcilib_register_bank_t bank, const char* model, const void *args) {
-	int err;
 	ipecamera_cmosis_context_t *bank_ctx;
 
 	bank_ctx = calloc(1, sizeof(ipecamera_cmosis_context_t));

+ 8 - 0
ipecamera.h

@@ -33,7 +33,15 @@ typedef struct {
     size_t raw_size;		/**< Indicates the actual size of raw data */
 } ipecamera_event_info_t;
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 int ipecamera_set_buffer_size(ipecamera_t *ctx, int size);
 
+#ifdef __cplusplus
+}
+#endif
+
 
 #endif /* _IPECAMERA_H */

+ 1 - 0
model.c

@@ -1,4 +1,5 @@
 #include <stdio.h>
+#include <strings.h>
 
 #include <pcilib.h>
 #include <pcilib/model.h>

+ 1 - 0
private.h

@@ -5,6 +5,7 @@
 #include <pcilib/model.h>
 #include <pcilib/debug.h>
 #include <pcilib/locking.h>
+#include "base.h"
 #include "ipecamera.h"
 #include "env.h"
 

+ 5 - 4
reader.c

@@ -38,8 +38,10 @@
 	} \
     }
 
-//#define CHECK_FRAME_MAGIC(buf) \
-//	memcmp(buf, ((void*)frame_magic) + 1, sizeof(frame_magic) - 1)
+/*
+#define CHECK_FRAME_MAGIC(buf) \
+	memcmp(buf, ((void*)frame_magic) + 1, sizeof(frame_magic) - 1)
+*/
 
 #define CHECK_FRAME_MAGIC(buf) \
 	memcmp(((ipecamera_payload_t*)(buf)) + 1, &frame_magic[1], sizeof(frame_magic) - sizeof(ipecamera_payload_t))
@@ -341,14 +343,13 @@ void *ipecamera_reader_thread(void *user) {
 		}
 #ifdef IPECAMERA_BUG_STUCKED_BUSY
 		GET_REG(status2_reg, value);
-		if (value&0x2FFFFFFF) {
+		if ((!err)&&(value&0x2FFFFFFF)) {
 		    pcilib_warning("Camera stuck in busy, trying to recover...");
 		    GET_REG(control_reg, saved);
 		    SET_REG(control_reg, IPECAMERA_IDLE);
 		    while ((value&0x2FFFFFFF)&&(ctx->run_reader)) {
 			usleep(IPECAMERA_NOFRAME_SLEEP);
 		    }
-		    return 0;
 		}
 #endif /* IPECAMERA_BUG_STUCKED_BUSY */
 		usleep(IPECAMERA_NOFRAME_SLEEP);