From 43788f812db75b3aac1754c6dde460f47017c99e Mon Sep 17 00:00:00 2001 From: Devaev Maxim Date: Tue, 12 May 2020 07:27:42 +0300 Subject: [PATCH] type fixes --- src/device.h | 10 ++++----- src/encoder.h | 5 +++-- src/encoders/cpu/encoder.c | 2 +- src/encoders/omx/encoder.h | 5 +++-- src/gpio.h | 42 +++++++++++++++++++++----------------- src/http/blank.c | 2 +- src/threading.h | 4 ++-- src/xioctl.h | 7 ++++--- 8 files changed, 42 insertions(+), 35 deletions(-) diff --git a/src/device.h b/src/device.h index 55240b5..5248355 100644 --- a/src/device.h +++ b/src/device.h @@ -30,13 +30,13 @@ #include "picture.h" -#define VIDEO_MIN_WIDTH 160 -#define VIDEO_MAX_WIDTH 10240 +#define VIDEO_MIN_WIDTH ((unsigned)160) +#define VIDEO_MAX_WIDTH ((unsigned)10240) -#define VIDEO_MIN_HEIGHT 120 -#define VIDEO_MAX_HEIGHT 4320 +#define VIDEO_MIN_HEIGHT ((unsigned)120) +#define VIDEO_MAX_HEIGHT ((unsigned)4320) -#define VIDEO_MAX_FPS 120 +#define VIDEO_MAX_FPS ((unsigned)120) #define STANDARD_UNKNOWN V4L2_STD_UNKNOWN #define STANDARDS_STR "PAL, NTSC, SECAM" diff --git a/src/encoder.h b/src/encoder.h index 270d9ef..a8b3281 100644 --- a/src/encoder.h +++ b/src/encoder.h @@ -33,9 +33,10 @@ # define ENCODER_TYPES_OMX_HINT ", OMX" -# ifndef MAX_GLITCHED_RESOLUTIONS -# define MAX_GLITCHED_RESOLUTIONS 1024 +# ifndef CFG_MAX_GLITCHED_RESOLUTIONS +# define CFG_MAX_GLITCHED_RESOLUTIONS 1024 # endif +# define MAX_GLITCHED_RESOLUTIONS ((unsigned)(CFG_MAX_GLITCHED_RESOLUTIONS)) #else # define ENCODER_TYPES_OMX_HINT "" #endif diff --git a/src/encoders/cpu/encoder.c b/src/encoders/cpu/encoder.c index a2ad747..83b4988 100644 --- a/src/encoders/cpu/encoder.c +++ b/src/encoders/cpu/encoder.c @@ -258,7 +258,7 @@ static void _jpeg_write_scanlines_rgb24( } } -#define JPEG_OUTPUT_BUFFER_SIZE 4096 +#define JPEG_OUTPUT_BUFFER_SIZE ((size_t)4096) static void _jpeg_init_destination(j_compress_ptr jpeg) { struct _jpeg_dest_manager_t *dest = (struct _jpeg_dest_manager_t *)jpeg->dest; diff --git a/src/encoders/omx/encoder.h b/src/encoders/omx/encoder.h index 2d3b9b8..7d297aa 100644 --- a/src/encoders/omx/encoder.h +++ b/src/encoders/omx/encoder.h @@ -29,9 +29,10 @@ #include "../../device.h" -#ifndef OMX_MAX_ENCODERS -# define OMX_MAX_ENCODERS 3 // Raspberry Pi limitation +#ifndef CFG_OMX_MAX_ENCODERS +# define CFG_OMX_MAX_ENCODERS 3 // Raspberry Pi limitation #endif +#define OMX_MAX_ENCODERS ((unsigned)(CFG_OMX_MAX_ENCODERS)) struct omx_encoder_t { diff --git a/src/gpio.h b/src/gpio.h index be5e7f5..8f929af 100644 --- a/src/gpio.h +++ b/src/gpio.h @@ -26,6 +26,7 @@ #include +#include "tools.h" #include "logging.h" @@ -42,17 +43,18 @@ int gpio_pin_workers_busy_at; gpio_pin_workers_busy_at = -1; \ } -#define GPIO_INIT_PIN(_role, _offset) { \ - if (gpio_pin_##_role >= 0) { \ - pinMode(gpio_pin_##_role + _offset, OUTPUT); \ - digitalWrite(gpio_pin_##_role + _offset, LOW); \ - if (_offset == 0) { \ - LOG_INFO("GPIO: Using pin %d as %s", gpio_pin_##_role, #_role); \ - } else { \ - LOG_INFO("GPIO: Using pin %d+%d as %s", gpio_pin_##_role, _offset, #_role); \ - } \ - } \ +#define GPIO_INIT_PIN(_role, _offset) _gpio_init_pin(#_role, gpio_pin_##_role, _offset) + +INLINE void _gpio_init_pin(const char *role, int base, unsigned offset) { + if (base >= 0) { + pinMode(base + offset, OUTPUT); + if (offset == 0) { + LOG_INFO("GPIO: Using pin %d as %s", base, role); + } else { + LOG_INFO("GPIO: Using pin %d+%u as %s", base, offset, role); + } } +} #define GPIO_INIT_PINOUT { \ if ( \ @@ -74,16 +76,18 @@ int gpio_pin_workers_busy_at; } \ } -#define GPIO_SET_STATE(_role, _offset, _state) { \ - if (gpio_pin_##_role >= 0) { \ - if (_offset == 0) { \ - LOG_DEBUG("GPIO: Writing %d to pin %d (%s)", _state, gpio_pin_##_role, #_role); \ - } else { \ - LOG_DEBUG("GPIO: Writing %d to pin %d+%d (%s)", _state, gpio_pin_##_role, _offset, #_role); \ - } \ - digitalWrite(gpio_pin_##_role + _offset, _state); \ - } \ +#define GPIO_SET_STATE(_role, _offset, _state) _gpio_set_state(#_role, gpio_pin_##_role, _offset, _state) + +INLINE void _gpio_set_state(const char *role, int base, unsigned offset, int state) { + if (base >= 0) { + if (offset == 0) { + LOG_DEBUG("GPIO: Writing %d to pin %d (%s)", state, base, role); + } else { + LOG_DEBUG("GPIO: Writing %d to pin %d+%u (%s)", state, base, offset, role); + } + digitalWrite(base + offset, state); } +} #define GPIO_SET_LOW(_role) GPIO_SET_STATE(_role, 0, LOW) #define GPIO_SET_HIGH(_role) GPIO_SET_STATE(_role, 0, HIGH) diff --git a/src/http/blank.c b/src/http/blank.c index e2f16d3..0f978fa 100644 --- a/src/http/blank.c +++ b/src/http/blank.c @@ -94,7 +94,7 @@ static struct picture_t *_init_external(const char *path) { goto error; } -# define CHUNK_SIZE (100 * 1024) +# define CHUNK_SIZE ((size_t)(100 * 1024)) while (true) { if (blank->used + CHUNK_SIZE >= blank->allocated) { picture_realloc_data(blank, blank->used + CHUNK_SIZE * 2); diff --git a/src/threading.h b/src/threading.h index 4ce2953..5cc759d 100644 --- a/src/threading.h +++ b/src/threading.h @@ -41,9 +41,9 @@ #ifdef PTHREAD_MAX_NAMELEN_NP -# define MAX_THREAD_NAME PTHREAD_MAX_NAMELEN_NP +# define MAX_THREAD_NAME ((size_t)(PTHREAD_MAX_NAMELEN_NP)) #else -# define MAX_THREAD_NAME 16 +# define MAX_THREAD_NAME ((size_t)16) #endif #define A_THREAD_CREATE(_tid, _func, _arg) assert(!pthread_create(_tid, NULL, _func, _arg)) diff --git a/src/xioctl.h b/src/xioctl.h index 690b057..7e891b6 100644 --- a/src/xioctl.h +++ b/src/xioctl.h @@ -30,9 +30,10 @@ #include "logging.h" -#ifndef XIOCTL_RETRIES -# define XIOCTL_RETRIES 4 +#ifndef CFG_XIOCTL_RETRIES +# define CFG_XIOCTL_RETRIES 4 #endif +#define XIOCTL_RETRIES ((unsigned)(CFG_XIOCTL_RETRIES)) INLINE int xioctl(int fd, int request, void *arg) { @@ -52,7 +53,7 @@ INLINE int xioctl(int fd, int request, void *arg) { ); if (retval && retries <= 0) { - LOG_PERROR("ioctl(%d) retried %d times; giving up", request, XIOCTL_RETRIES); + LOG_PERROR("ioctl(%d) retried %u times; giving up", request, XIOCTL_RETRIES); } return retval; }