Merge branch 'master' into dwc2_ep0

Signed-off-by: HiFiPhile <admin@hifiphile.com>
This commit is contained in:
HiFiPhile
2025-10-11 16:09:33 +02:00
3 changed files with 28 additions and 12 deletions

View File

@@ -109,20 +109,35 @@ extern void* tusb_app_phys_to_virt(void *phys_addr);
// This is a backport of memset_s from c11
TU_ATTR_ALWAYS_INLINE static inline int tu_memset_s(void *dest, size_t destsz, int ch, size_t count) {
// TODO may check if desst and src is not NULL
if ( count > destsz ) {
// Validate parameters
if (dest == NULL) {
return -1;
}
if (count > destsz) {
return -1;
}
memset(dest, ch, count);
return 0;
}
// This is a backport of memcpy_s from c11
TU_ATTR_ALWAYS_INLINE static inline int tu_memcpy_s(void *dest, size_t destsz, const void *src, size_t count) {
// TODO may check if desst and src is not NULL
if ( count > destsz ) {
// Validate parameters
if (dest == NULL) {
return -1;
}
// For memcpy, src may be NULL only if count == 0. Reject otherwise.
if (src == NULL && count != 0) {
return -1;
}
if (count > destsz) {
return -1;
}
memcpy(dest, src, count);
return 0;
}

View File

@@ -831,14 +831,14 @@ static void handle_rxflvl_irq(uint8_t rhport) {
dfifo_read_packet(dwc2, xfer->buffer, byte_count);
xfer->buffer += byte_count;
}
}
// short packet, minus remaining bytes (xfer_size)
if (byte_count < xfer->max_size) {
const dwc2_ep_tsize_t tsiz = {.value = epout->tsiz};
xfer->total_len -= tsiz.xfer_size;
if (epnum == 0) {
_dcd_data.ep0_pending[TUSB_DIR_OUT] = 0;
}
// short packet (including ZLP when byte_count == 0), minus remaining bytes (xfer_size)
if (byte_count < xfer->max_size) {
const dwc2_ep_tsize_t tsiz = {.value = epout->tsiz};
xfer->total_len -= tsiz.xfer_size;
if (epnum == 0) {
_dcd_data.ep0_pending[TUSB_DIR_OUT] = 0;
}
}
break;

View File

@@ -141,7 +141,8 @@ def read_disk_file(uid, lun, fname):
def open_mtp_dev(uid):
mtp = MTP()
timeout = ENUM_TIMEOUT
# MTP seems to take a while to enumerate
timeout = 2*ENUM_TIMEOUT
while timeout > 0:
# run_cmd(f"gio mount -u mtp://TinyUsb_TinyUsb_Device_{uid}/")
for raw in mtp.detect_devices():