From bcb087f9eef8895ba8cc7e62c8749a7f8311d1c3 Mon Sep 17 00:00:00 2001 From: Philippe G Date: Wed, 12 Aug 2020 16:31:47 -0700 Subject: [PATCH] warning-free compile (prepare archiving) - release --- components/display/SSD132x.c | 13 +++--- components/display/SSD1675.c | 6 +-- components/display/ST77xx.c | 3 +- components/raop/raop.c | 20 +++++--- components/raop/rtp.c | 22 ++++++--- components/squeezelite/ac101/ac101.c | 69 +++++++++++++++------------- components/squeezelite/buffer.c | 2 + components/squeezelite/output_i2s.c | 11 ++--- components/squeezelite/stream.c | 2 + main/cmd_wifi.c | 12 ++--- 10 files changed, 92 insertions(+), 68 deletions(-) diff --git a/components/display/SSD132x.c b/components/display/SSD132x.c index db324d0c..12749177 100644 --- a/components/display/SSD132x.c +++ b/components/display/SSD132x.c @@ -168,7 +168,7 @@ static void Update1( struct GDS_Device* Device ) { } // in 1 bit mode, SSD1326 has a different memory map than SSD1306 and SH1106 -static void IRAM_ATTR DrawPixel1FastLocal( struct GDS_Device* Device, int X, int Y, int Color ) { +static void IRAM_ATTR _DrawPixel1Fast( struct GDS_Device* Device, int X, int Y, int Color ) { uint32_t XBit = ( X & 0x07 ); uint8_t* FBOffset = Device->Framebuffer + ( ( Y * Device->Width + X ) >> 3 ); @@ -188,12 +188,12 @@ static void ClearWindow( struct GDS_Device* Device, int x1, int y1, int x2, int for (int r = y1; r <= y2; r++) { int c = x1; // for a row that is not on a boundary, not column opt can be done, so handle all columns on that line - while (c & 0x07 && c <= x2) DrawPixel1FastLocal( Device, c++, r, Color ); + while (c & 0x07 && c <= x2) _DrawPixel1Fast( Device, c++, r, Color ); // at this point we are aligned on column boundary int chunk = (x2 - c + 1) >> 3; memset(optr + Width * r + (c >> 3), _Color, chunk ); c += chunk * 8; - while (c <= x2) DrawPixel1FastLocal( Device, c++, r, Color ); + while (c <= x2) _DrawPixel1Fast( Device, c++, r, Color ); } } @@ -320,7 +320,7 @@ static const struct GDS_Device SSD132x = { struct GDS_Device* SSD132x_Detect(char *Driver, struct GDS_Device* Device) { uint8_t Model; int Depth; - + if (strcasestr(Driver, "SSD1326")) Model = SSD1326; else if (strcasestr(Driver, "SSD1327")) Model = SSD1327; else return NULL; @@ -328,13 +328,14 @@ struct GDS_Device* SSD132x_Detect(char *Driver, struct GDS_Device* Device) { if (!Device) Device = calloc(1, sizeof(struct GDS_Device)); *Device = SSD132x; - ((struct PrivateSpace*) Device->Private)->Model = Model; + struct PrivateSpace *Private = (struct PrivateSpace*) Device->Private; + Private->Model = Model; sscanf(Driver, "%*[^:]:%u", &Depth); if (Model == SSD1326 && Depth == 1) { Device->Update = Update1; - Device->DrawPixelFast = DrawPixel1FastLocal; + Device->DrawPixelFast = _DrawPixel1Fast; Device->DrawBitmapCBR = DrawBitmapCBR; Device->ClearWindow = ClearWindow; Device->Depth = 1; diff --git a/components/display/SSD1675.c b/components/display/SSD1675.c index c458b068..5b421ea0 100644 --- a/components/display/SSD1675.c +++ b/components/display/SSD1675.c @@ -118,7 +118,7 @@ static void Update( struct GDS_Device* Device ) { } // remember that for these ELD drivers W and H are "inverted" -static inline void DrawPixelLocal( struct GDS_Device* Device, int X, int Y, int Color ) { +static inline void _DrawPixel( struct GDS_Device* Device, int X, int Y, int Color ) { uint32_t YBit = ( Y & 0x07 ); Y>>= 3; @@ -129,7 +129,7 @@ static inline void DrawPixelLocal( struct GDS_Device* Device, int X, int Y, int static void ClearWindow( struct GDS_Device* Device, int x1, int y1, int x2, int y2, int Color ) { for (int r = y1; r <= y2; r++) { for (int c = x1; c <= x2; c++) { - DrawPixelLocal( Device, c, r, Color ); + _DrawPixel( Device, c, r, Color ); } } } @@ -228,7 +228,7 @@ static bool Init( struct GDS_Device* Device ) { static const struct GDS_Device SSD1675 = { .DrawBitmapCBR = DrawBitmapCBR, .ClearWindow = ClearWindow, - .DrawPixelFast = DrawPixelLocal, + .DrawPixelFast = _DrawPixel, .Update = Update, .Init = Init, .Mode = GDS_MONO, .Depth = 1, .Alloc = GDS_ALLOC_NONE, diff --git a/components/display/ST77xx.c b/components/display/ST77xx.c index 8c21dbf5..3deaee2a 100644 --- a/components/display/ST77xx.c +++ b/components/display/ST77xx.c @@ -282,8 +282,9 @@ struct GDS_Device* ST77xx_Detect(char *Driver, struct GDS_Device* Device) { if (!Device) Device = calloc(1, sizeof(struct GDS_Device)); *Device = ST77xx; - ((struct PrivateSpace*) Device->Private)->Model = Model; sscanf(Driver, "%*[^:]:%u", &Depth); + struct PrivateSpace* Private = (struct PrivateSpace*) Device->Private; + Private->Model = Model; if (Depth == 18) { Device->Mode = GDS_RGB666; diff --git a/components/raop/raop.c b/components/raop/raop.c index 175306c5..742531e3 100644 --- a/components/raop/raop.c +++ b/components/raop/raop.c @@ -89,7 +89,13 @@ extern struct mdnsd* glmDNSServer; extern log_level raop_loglevel; static log_level *loglevel = &raop_loglevel; +#ifdef WIN32 static void* rtsp_thread(void *arg); +static void* search_remote(void *args); +#else +static void rtsp_thread(void *arg); +static void search_remote(void *args); +#endif static void cleanup_rtsp(raop_ctx_t *ctx, bool abort); static bool handle_rtsp(raop_ctx_t *ctx, int sock); @@ -97,7 +103,7 @@ static char* rsa_apply(unsigned char *input, int inlen, int *outlen, int mode); static int base64_pad(char *src, char **padded); static int base64_encode(const void *data, int size, char **str); static int base64_decode(const char *str, void *data); -static void* search_remote(void *args); + extern char private_key[]; enum { RSA_MODE_KEY, RSA_MODE_AUTH }; @@ -352,7 +358,11 @@ bool raop_cmd(struct raop_ctx_s *ctx, raop_event_t event, void *param) { } /*----------------------------------------------------------------------------*/ +#ifdef WIN32 static void *rtsp_thread(void *arg) { +#else +static void rtsp_thread(void *arg) { +#endif raop_ctx_t *ctx = (raop_ctx_t*) arg; int sock = -1; @@ -397,9 +407,9 @@ static void *rtsp_thread(void *arg) { #ifndef WIN32 xTaskNotifyGive(ctx->joiner); vTaskSuspend(NULL); +#else + return NULL; #endif - - return NULL; } @@ -708,7 +718,7 @@ static void* search_remote(void *args) { #else /*----------------------------------------------------------------------------*/ -static void* search_remote(void *args) { +static void search_remote(void *args) { raop_ctx_t *ctx = (raop_ctx_t*) args; bool found = false; @@ -741,8 +751,6 @@ static void* search_remote(void *args) { // can't use xNotifyGive as it seems LWIP is using it as well xSemaphoreGive(ctx->active_remote.destroy_mutex); vTaskSuspend(NULL); - - return NULL; } #endif diff --git a/components/raop/rtp.c b/components/raop/rtp.c index a659c1eb..599fb224 100644 --- a/components/raop/rtp.c +++ b/components/raop/rtp.c @@ -158,8 +158,12 @@ static void buffer_reset(abuf_t *audio_buffer); static void buffer_push_packet(rtp_t *ctx); static bool rtp_request_resend(rtp_t *ctx, seq_t first, seq_t last); static bool rtp_request_timing(rtp_t *ctx); -static void* rtp_thread_func(void *arg); static int seq_order(seq_t a, seq_t b); +#ifdef WIN32 +static void *rtp_thread_func(void *arg); +#else +static void rtp_thread_func(void *arg); +#endif /*---------------------------------------------------------------------------*/ static struct alac_codec_s* alac_init(int fmtp[32]) { @@ -565,7 +569,11 @@ static void buffer_push_packet(rtp_t *ctx) { /*---------------------------------------------------------------------------*/ +#ifdef WIN32 static void *rtp_thread_func(void *arg) { +#else +static void rtp_thread_func(void *arg) { +#endif fd_set fds; int i, sock = -1; int count = 0; @@ -620,8 +628,9 @@ static void *rtp_thread_func(void *arg) { case 0x56: { pktp += 4; plen -= 4; - } - + } + // fall through + // data packet case 0x60: { seqno = ntohs(*(u16_t*)(pktp+2)); @@ -695,7 +704,6 @@ static void *rtp_thread_func(void *arg) { // NTP timing packet case 0x53: { - u64_t expected; u32_t reference = ntohl(*(u32_t*)(pktp+12)); // only low 32 bits in our case u64_t remote =(((u64_t) ntohl(*(u32_t*)(pktp+16))) << 32) + ntohl(*(u32_t*)(pktp+20)); u32_t roundtrip = gettime_ms() - reference; @@ -712,8 +720,8 @@ static void *rtp_thread_func(void *arg) { The expected elapsed remote time should be exactly the same as elapsed local time between the two request, corrected by the drifting + u64_t expected = ctx->timing.remote + MS2NTP(reference - ctx->timing.local); */ - expected = ctx->timing.remote + MS2NTP(reference - ctx->timing.local); ctx->timing.remote = remote; ctx->timing.local = reference; @@ -740,9 +748,9 @@ static void *rtp_thread_func(void *arg) { #ifndef WIN32 xTaskNotifyGive(ctx->joiner); vTaskSuspend(NULL); -#endif - +#else return NULL; +#endif } /*---------------------------------------------------------------------------*/ diff --git a/components/squeezelite/ac101/ac101.c b/components/squeezelite/ac101/ac101.c index bb76d457..e3bac89d 100644 --- a/components/squeezelite/ac101/ac101.c +++ b/components/squeezelite/ac101/ac101.c @@ -63,7 +63,6 @@ static void ac101_start(ac_module_t mode); static void ac101_stop(void); static void ac101_set_earph_volume(uint8_t volume); static void ac101_set_spk_volume(uint8_t volume); -static int ac101_get_spk_volume(void); static int i2c_port; @@ -268,13 +267,6 @@ void set_sample_rate(int rate) { i2c_write_reg(I2S_SR_CTRL, rate); } -/**************************************************************************************** - * Get normalized (0..100) speaker volume - */ -static int ac101_get_spk_volume(void) { - return ((i2c_read_reg(SPKOUT_CTRL) & 0x1f) * 100) / 0x1f; -} - /**************************************************************************************** * Set normalized (0..100) volume */ @@ -285,13 +277,6 @@ static void ac101_set_spk_volume(uint8_t volume) { i2c_write_reg(SPKOUT_CTRL, value); } -/**************************************************************************************** - * Get normalized (0..100) earphone volume - */ -static int ac101_get_earph_volume(void) { - return (((i2c_read_reg(HPOUT_CTRL) >> 4) & 0x3f) * 100) / 0x3f; -} - /**************************************************************************************** * Set normalized (0..100) earphone volume */ @@ -302,6 +287,21 @@ static void ac101_set_earph_volume(uint8_t volume) { i2c_write_reg(HPOUT_CTRL, value); } +#if 0 +/**************************************************************************************** + * Get normalized (0..100) speaker volume + */ +static int ac101_get_spk_volume(void) { + return ((i2c_read_reg(SPKOUT_CTRL) & 0x1f) * 100) / 0x1f; +} + +/**************************************************************************************** + * Get normalized (0..100) earphone volume + */ +static int ac101_get_earph_volume(void) { + return (((i2c_read_reg(HPOUT_CTRL) >> 4) & 0x3f) * 100) / 0x3f; +} + /**************************************************************************************** * */ @@ -330,6 +330,27 @@ static void ac101_set_output_mixer_gain(ac_output_mixer_gain_t gain,ac_output_mi i2c_write_reg(OMIXER_BST1_CTRL,regval); } +/**************************************************************************************** + * + */ +static void ac101_deinit(void) { + i2c_write_reg(CHIP_AUDIO_RS, 0x123); //soft reset +} + +/**************************************************************************************** + * Don't know when this one is supposed to be called + */ +static void ac101_i2s_config_clock(ac_i2s_clock_t *cfg) { + uint16_t regval=0; + regval = i2c_read_reg(I2S1LCK_CTRL); + regval &= 0xe03f; + regval |= (cfg->bclk_div << 9); + regval |= (cfg->lclk_div << 6); + i2c_write_reg(I2S1LCK_CTRL, regval); +} + +#endif + /**************************************************************************************** * */ @@ -362,21 +383,3 @@ static void ac101_stop(void) { i2c_write_reg(PLL_CTRL2, value); } -/**************************************************************************************** - * - */ -static void ac101_deinit(void) { - i2c_write_reg(CHIP_AUDIO_RS, 0x123); //soft reset -} - -/**************************************************************************************** - * Don't know when this one is supposed to be called - */ -static void ac101_i2s_config_clock(ac_i2s_clock_t *cfg) { - uint16_t regval=0; - regval = i2c_read_reg(I2S1LCK_CTRL); - regval &= 0xe03f; - regval |= (cfg->bclk_div << 9); - regval |= (cfg->lclk_div << 6); - i2c_write_reg(I2S1LCK_CTRL, regval); -} diff --git a/components/squeezelite/buffer.c b/components/squeezelite/buffer.c index 53d77f96..d8bb48f4 100644 --- a/components/squeezelite/buffer.c +++ b/components/squeezelite/buffer.c @@ -21,7 +21,9 @@ // fifo bufffers +#ifndef _GNU_SOURCE #define _GNU_SOURCE +#endif #include "squeezelite.h" diff --git a/components/squeezelite/output_i2s.c b/components/squeezelite/output_i2s.c index 06963e2d..9e1369ac 100644 --- a/components/squeezelite/output_i2s.c +++ b/components/squeezelite/output_i2s.c @@ -102,7 +102,7 @@ DECLARE_ALL_MIN_MAX; static int _i2s_write_frames(frames_t out_frames, bool silence, s32_t gainL, s32_t gainR, s32_t cross_gain_in, s32_t cross_gain_out, ISAMPLE_T **cross_ptr); static void *output_thread_i2s(void *arg); -static void *output_thread_i2s_stats(void *arg); +static void output_thread_i2s_stats(void *arg); static void spdif_convert(ISAMPLE_T *src, size_t frames, u32_t *dst, size_t *count); static void (*jack_handler_chain)(bool inserted); @@ -502,13 +502,13 @@ static void *output_thread_i2s(void *arg) { // this does not work well as set_sample_rates resets the fifos (and it's too early) if (i2s_config.sample_rate != output.current_sample_rate) { LOG_INFO("changing sampling rate %u to %u", i2s_config.sample_rate, output.current_sample_rate); - /* - if (synced) + if (synced) { + /* // can sleep for a buffer_queue - 1 and then eat a buffer (discard) if we are synced usleep(((DMA_BUF_COUNT - 1) * DMA_BUF_LEN * BYTES_PER_FRAME * 1000) / 44100 * 1000); discard = DMA_BUF_COUNT * DMA_BUF_LEN * BYTES_PER_FRAME; + */ } - */ i2s_config.sample_rate = output.current_sample_rate; i2s_set_sample_rates(CONFIG_I2S_NUM, spdif ? i2s_config.sample_rate * 2 : i2s_config.sample_rate); i2s_zero_dma_buffer(CONFIG_I2S_NUM); @@ -552,7 +552,7 @@ static void *output_thread_i2s(void *arg) { /**************************************************************************************** * Stats output thread */ -static void *output_thread_i2s_stats(void *arg) { +static void output_thread_i2s_stats(void *arg) { while (1) { // no need to lock output_state state = output.state; @@ -579,7 +579,6 @@ static void *output_thread_i2s_stats(void *arg) { } vTaskDelay( pdMS_TO_TICKS( STATS_PERIOD_MS ) ); } - return NULL; } /**************************************************************************************** diff --git a/components/squeezelite/stream.c b/components/squeezelite/stream.c index 9561f339..f9247e11 100644 --- a/components/squeezelite/stream.c +++ b/components/squeezelite/stream.c @@ -21,7 +21,9 @@ // stream thread +#ifndef _GNU_SOURCE #define _GNU_SOURCE +#endif #include "squeezelite.h" diff --git a/main/cmd_wifi.c b/main/cmd_wifi.c index c7e9528b..8c17bb31 100644 --- a/main/cmd_wifi.c +++ b/main/cmd_wifi.c @@ -37,7 +37,7 @@ extern bool bypass_wifi_manager; extern EventGroupHandle_t wifi_event_group; extern const int CONNECTED_BIT; -static const char * TAG = "cmd_wifi"; +//static const char * TAG = "cmd_wifi"; /** Arguments used by 'join' function */ static struct { struct arg_int *timeout; @@ -123,9 +123,8 @@ static bool wifi_join(const char *ssid, const char *pass, int timeout_ms) return (bits & CONNECTED_BIT) != 0; } - -static int set_auto_connect(int argc, char **argv) -{ +//static int set_auto_connect(int argc, char **argv) +//{ // int nerrors = arg_parse(argc, argv, (void **) &join_args); // if (nerrors != 0) { // arg_print_errors(stderr, join_args.end, argv[0]); @@ -147,8 +146,9 @@ static int set_auto_connect(int argc, char **argv) // return 1; // } // ESP_LOGI(__func__, "Connected"); - return 0; -} +// return 0; +//} + static int connect(int argc, char **argv) { int nerrors = arg_parse(argc, argv, (void **) &join_args);