From 634ebad7cdc2b1e613b0b9671a06cca820b3aeef Mon Sep 17 00:00:00 2001 From: Puck Meerburg Date: Fri, 6 Feb 2026 18:09:21 +0000 Subject: [PATCH] Fix build warnings --- src/ble.c | 16 ++++++++-------- src/led.c | 3 --- src/menu.c | 4 ++-- src/usb/core.c | 18 +++++++++--------- src/usb/ctrl.c | 10 +++++----- src/wang.h | 2 ++ 6 files changed, 26 insertions(+), 27 deletions(-) diff --git a/src/ble.c b/src/ble.c index a6748d9..8c6ce77 100644 --- a/src/ble.c +++ b/src/ble.c @@ -71,7 +71,7 @@ uint8_t scanRspData[31] = { GAP_ADTYPE_LOCAL_NAME_COMPLETE, 'L', 'S', 'L', 'E', 'D', ' ', 'B', 'a', 'd', 'g', 'e', ' ', 'W', 'i', 't', 'c', 'h', 0, - 0, 0, 0, 0, + 0, 0, }; static gapRolesBroadcasterCBs_t broadcast_handlers = { @@ -89,17 +89,17 @@ static gapBondCBs_t bond_managers = { 0, }; -static const uint16_t service_uuid = 0xFEE0; -static const gattAttrType_t service = {2, (uint8_t *) &service_uuid}; +static const uint8_t service_uuid[2] = {LO_UINT16(0xFEE0), HI_UINT16(0xFEE0)}; +static const gattAttrType_t service = {2, service_uuid}; -static const uint16_t rx_char_uuid = 0xFEE1; +static const uint8_t rx_char_uuid[2] = {LO_UINT16(0xFEE1), HI_UINT16(0xFEE1)}; static uint8_t rx_char_props = GATT_PROP_WRITE; static uint8_t rx_char_val[16]; static gattAttribute_t attr_table[] = { - {{2, &primaryServiceUUID}, GATT_PERMIT_READ, 0, &service}, - {{2, &characterUUID}, GATT_PERMIT_READ, 0, &rx_char_props}, - {{2, &rx_char_uuid}, GATT_PERMIT_WRITE, 0, &rx_char_val}, + {{2, primaryServiceUUID}, GATT_PERMIT_READ, 0, (uint8_t *)&service}, + {{2, characterUUID}, GATT_PERMIT_READ, 0, &rx_char_props}, + {{2, rx_char_uuid}, GATT_PERMIT_WRITE, 0, (uint8_t *)&rx_char_val}, }; uint16_t blefb[44] = {0}; @@ -108,7 +108,7 @@ static bStatus_t write_handler(uint16_t conn_handle, gattAttribute_t *pAttr, uin if (gattPermitAuthorWrite(pAttr->permissions)) return ATT_ERR_INSUFFICIENT_AUTHOR; uint16_t uuid = BUILD_UINT16(pAttr->type.uuid[0], pAttr->type.uuid[1]); - if (uuid != rx_char_uuid) return ATT_ERR_ATTR_NOT_FOUND; + if (uuid != 0xFEE1) return ATT_ERR_ATTR_NOT_FOUND; wang_rx(pValue, len); diff --git a/src/led.c b/src/led.c index 54e398f..5cf42b2 100644 --- a/src/led.c +++ b/src/led.c @@ -137,9 +137,6 @@ struct row_buf *display_screen = display_screens; static struct row_buf *display_screen_render = display_screens + 22; void display_flip(void) { - struct row_buf *new_render = display_screen == display_screens ? (display_screens + 22) : display_screens; - struct row_buf *old_render = display_screen; - __atomic_exchange(&display_screen, &display_screen_render, &display_screen_render, __ATOMIC_RELAXED); } diff --git a/src/menu.c b/src/menu.c index 549e7ef..07f03ed 100644 --- a/src/menu.c +++ b/src/menu.c @@ -38,7 +38,7 @@ static void boop() LowPower_Shutdown(0); } -static void render_xbm(unsigned char *bits, struct row_buf *b) { +static void render_xbm(uint8_t *bits, struct row_buf *b) { uint16_t fb[45] = {0}; int index = 0; for (int j = 0; j < 11; j++) { @@ -58,7 +58,7 @@ int menu_index = 0; static int was_button_pressed[BUTTON_COUNT] = {0}; void menu_render(void) { - char buffer[(48 * 11) / 8]; + uint8_t buffer[(48 * 11) / 8]; memcpy(buffer, menu_bits, sizeof(buffer)); int invert_index = 1 + menu_index * 13; for (int i = invert_index; i < (invert_index + 9); i++) { diff --git a/src/usb/core.c b/src/usb/core.c index 2ca6fe1..f900bbd 100644 --- a/src/usb/core.c +++ b/src/usb/core.c @@ -135,13 +135,13 @@ void usb_init() { R8_USB_DEV_AD = 0x00; R8_USB_INT_FG = 0xFF; - R16_UEP0_DMA = ep04_buf; - R16_UEP1_DMA = epbuf + 0 * 128; - R16_UEP2_DMA = epbuf + 1 * 128; - R16_UEP3_DMA = epbuf + 2 * 128; - R16_UEP5_DMA = epbuf + 3 * 128; - R16_UEP6_DMA = epbuf + 4 * 128; - R16_UEP7_DMA = epbuf + 5 * 128; + R16_UEP0_DMA = (uint16_t) (uintptr_t) ep04_buf; + R16_UEP1_DMA = (uint16_t) (uintptr_t) (epbuf + 0 * 128); + R16_UEP2_DMA = (uint16_t) (uintptr_t) (epbuf + 1 * 128); + R16_UEP3_DMA = (uint16_t) (uintptr_t) (epbuf + 2 * 128); + R16_UEP5_DMA = (uint16_t) (uintptr_t) (epbuf + 3 * 128); + R16_UEP6_DMA = (uint16_t) (uintptr_t) (epbuf + 4 * 128); + R16_UEP7_DMA = (uint16_t) (uintptr_t) (epbuf + 5 * 128); for (int i = 0; i < 8; i++) { set_endpoint_state(i, USB_EP_STATE_NAK); @@ -203,7 +203,7 @@ int16_t usb_recv(uint8_t endpoint, void *buffer, size_t buflen) { recvlens[endpoint] = 0xFF; - memcpy(buffer, buf_for_ep(endpoint, 0), buflen); + memcpy(buffer, (uint8_t *)buf_for_ep(endpoint, 0), buflen); return buflen; } @@ -216,7 +216,7 @@ int16_t usb_xmit(uint8_t endpoint, void *buffer, size_t buflen) { if (buflen > 64) buflen = 64; - memcpy(buf_for_ep(endpoint, 1), buffer, buflen); + memcpy((uint8_t *)buf_for_ep(endpoint, 1), buffer, buflen); *ep_t_len_regs[endpoint] = buflen; set_endpoint_state(endpoint | 0x80, USB_EP_STATE_ACK); diff --git a/src/usb/ctrl.c b/src/usb/ctrl.c index cb69ea5..4724c78 100644 --- a/src/usb/ctrl.c +++ b/src/usb/ctrl.c @@ -189,7 +189,7 @@ static enum usb_control_resp handle_hid_request(enum usb_control_state state) { __HIGH_CODE static enum usb_control_resp handle_main_request(enum usb_control_state state) { - if (usb_control_request.bmRequestType & 0x7F != 0x00) return USB_CONTROL_RESP_PASS; + if ((usb_control_request.bmRequestType & 0x7F) != 0x00) return USB_CONTROL_RESP_PASS; switch (usb_control_request.bRequest) { case 0: // GET_STATUS @@ -291,7 +291,7 @@ void handle_ctrl_transfer(int is_in) { // DMA. if (control_transfer_len > 0) { - memcpy(ep04_buf, control_transfer_buf, control_transfer_len > 64 ? 64 : control_transfer_len); + memcpy((uint8_t *)ep04_buf, control_transfer_buf, control_transfer_len > 64 ? 64 : control_transfer_len); R8_UEP0_T_LEN = control_transfer_len > 64 ? 64 : control_transfer_len; set_endpoint_state(0x80, USB_EP_STATE_ACK); } else { @@ -306,7 +306,7 @@ void handle_ctrl_transfer(int is_in) { } control_transfer_len -= ack_bytes; - memcpy(control_transfer_buf, ep04_buf, ack_bytes); + memcpy(control_transfer_buf, (uint8_t *)ep04_buf, ack_bytes); control_transfer_buf += ack_bytes; if (control_transfer_len > 0) { @@ -323,7 +323,7 @@ void handle_ctrl_transfer(int is_in) { __HIGH_CODE void handle_setup_request() { // Copy the setup request from the EP0 buffer. - memcpy(&usb_control_request, ep04_buf, 8); + memcpy(&usb_control_request, (uint8_t *)ep04_buf, 8); // We don't expect the previous request to be driven anymore. // Reset the control transfer. @@ -352,7 +352,7 @@ void handle_setup_request() { if (ctrlreq_type() != USB_CONTROL_REQUEST_TYPE_OUT) { int mlen = control_transfer_len; if (mlen > 64) mlen = 64; - memcpy(ep04_buf, control_transfer_buf, mlen); + memcpy((uint8_t *)ep04_buf, control_transfer_buf, mlen); R8_UEP0_T_LEN = mlen; set_endpoint_state(0x80, USB_EP_STATE_ACK); } else { diff --git a/src/wang.h b/src/wang.h index fba6e93..31057c5 100644 --- a/src/wang.h +++ b/src/wang.h @@ -1,5 +1,7 @@ #pragma once +#include "led.h" + struct wang_header { // First 16-byte chunk uint8_t magic[6]; // "wang\0\0"