The *_DEF macros in SDK14 define service structures as static. This means that the application level functions for a service must all be called from the same c file where the structure was defined (since the structure must be passed as a parameter).
What is Nordic's recommended method for calling a service from multiple c files? In previous SDKs, I declared the service structures extern in a "BLE Manager" header file. Options:
- define wrappers in my BLE Manager which don't require the service structure as a parameter
- store pointers to the service structures in new variables which are extern
- don't use the *_DEF macros, omit static from the service structure declarations
- something I haven't thought of