Skip to content

Ghost FAT driver prevents compilation when USB is enabled #134

@jamesadevine

Description

@jamesadevine

#if CONFIG_ENABLED(DEVICE_USB)

@mmoskal is there anyway we can be more precise with the conditional compilation of the GhostFAT driver?

The board I am working on has not defined BOOTLOADER_START_ADDR and UF2_DEFINE_HANDOVER so functions required by the GhostFAT driver are not being defined by uf2format.h. This breaks compilation:

/Users/James/Desktop/VM/MSR/makeable/libraries/codal-core/source/drivers/GhostFAT.cpp: In member function 'virtual void codal::GhostFAT::writeBlocks(int, int)':
/Users/James/Desktop/VM/MSR/makeable/libraries/codal-core/source/drivers/GhostFAT.cpp:304:22: error: 'uf2_info' was not declared in this scope
  304 |     const char *p0 = uf2_info(), *p = p0;
      |                      ^~~~~~~~
/Users/James/Desktop/VM/MSR/makeable/libraries/codal-core/source/drivers/GhostFAT.cpp:305:13: error: 'p' was not declared in this scope; did you mean 'p0'?
  305 |     while (*p && *p != '\n')
      |             ^
      |             p0
/Users/James/Desktop/VM/MSR/makeable/libraries/codal-core/source/drivers/GhostFAT.cpp:307:12: error: 'p' was not declared in this scope; did you mean 'p0'?
  307 |     while (p > p0)
      |            ^
      |            p0
/Users/James/Desktop/VM/MSR/makeable/libraries/codal-core/source/drivers/GhostFAT.cpp:324:17: error: 'check_uf2_handover' was not declared in this scope
  324 |                 check_uf2_handover(buf, numBlocks, in->ep & 0xf, out->ep & 0xf, cbwTag());
      |                 ^~~~~~~~~~~~~~~~~~
/Users/James/Desktop/VM/MSR/makeable/libraries/codal-core/source/drivers/GhostFAT.cpp: In member function 'virtual void codal::GhostFAT::addFiles()':
/Users/James/Desktop/VM/MSR/makeable/libraries/codal-core/source/drivers/GhostFAT.cpp:470:19: error: 'uf2_info' was not declared in this scope
  470 |     addStringFile(uf2_info(), "info_uf2.txt");
      |                   ^~~~~~~~

Do you see any issue with guarding the compilation of this driver using the BOOTLOADER_START_ADDR define?

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions