Skip to content

Implement missing PROGMEM / _P functions in pgmspace.h #204

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
matthijskooijman opened this issue Nov 10, 2020 · 1 comment
Open

Implement missing PROGMEM / _P functions in pgmspace.h #204

matthijskooijman opened this issue Nov 10, 2020 · 1 comment
Labels
arduino mocks Compilation mocks for the Arduino library bug Something isn't working some OSes Only affects some OSes

Comments

@matthijskooijman
Copy link
Collaborator

Pgmspace.h provides implementations for functions like memcpy_P, which is the PROGMEM version of memcpy. On AVR, these functions handle loading data from flash (PROGMEM) into RAM before operating on it, on other platforms and in arduino_ci, these are just no-ops wrapper functions.

In #144, these wrappers were changed from macros to inline functions. However, for some of the less common functions (like memccpy), the to-be-wrapped function (without the _P) was not available when compiling under CYGWIN. It was not clear why exactly, since the header files they were defined in did seem to contain the proper declarations and the needed macros for them also seemed set. To prevent stalling merging that PR, these problematic function wrappers were just disabled in pgmspace.h, but it would be good to reintroduce (uncomment) them and make them work on cygwin too.

@matthijskooijman matthijskooijman mentioned this issue Nov 10, 2020
@ianfixes
Copy link
Collaborator

Relates to the string TODO: These functions cannot be found on the CYGWIN test build in the codebase

@ianfixes ianfixes added arduino mocks Compilation mocks for the Arduino library bug Something isn't working some OSes Only affects some OSes labels Nov 10, 2020
@ianfixes ianfixes added this to the Arduino library completeness milestone Dec 24, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
arduino mocks Compilation mocks for the Arduino library bug Something isn't working some OSes Only affects some OSes
Projects
None yet
Development

No branches or pull requests

2 participants