Skip to content

changing CFG_TUD_CDC from 1 -> 0 compile issues #497

Open
@JeffCalwood

Description

@JeffCalwood

Operating System

Windows 10

Arduino IDE version

2.3.4

Board

Feather M0 adalogger (SAMD21)

ArduinoCore version

1.8.5

TinyUSB Library version

3.4.1

Sketch as ATTACHED TXT

Compiled Log as ATTACHED TXT

several compile issue. Really sorry I didn't keep them, but easy to reproduce and probably a little expected. More constructive info below.

What happened ?

How to reproduce ?

To the motivation: between CFG_TUD_CDC==0 and the CFG_TUD_HID==1 (I changed them at the same time. shouldn't have ...) I save 7kB to flash so I felt it was worth reporting.
Sorry, my TinyUSB library code is a little butchered by now, so I can't make a pretty pull request. But here are the fixes (all via #if/#endif).

Adafruit_tinyUSB.h, line 40: (this fixes a C linkage error)

#if CFG_TUD_CDC
#include "arduino/Adafruit_USBD_CDC.h"
#else
#include "Adafruit_TinyUSB_API.h" // usually, Adafruit_USBD_CDC.h would include this. but without CFG_TUD_CDC ...
#endif

Adafruit_USBD_Device.cpp, line 273. must prevent access to SerialTinyUSB

    #if CFG_TUD_CDC
      SerialTinyUSB.begin(115200);
    #endif

Adafruit_TinyUSB_API.cpp, line 53. Keep body of FlushCDC empty

  #if CFG_TUD_CDC
  uint8_t const cdc_instance = Adafruit_USBD_CDC::getInstanceCount();
  for (uint8_t instance = 0; instance < cdc_instance; instance++) {
    tud_cdc_n_write_flush(instance);
  }
  #endif

Just my suggestions. Hope this helps.

Debug Log

No response

Screenshots

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    BugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions