Export RPC + loader internals to apps
The public rpc_* and loader_* APIs are already exported by stock firmware (RPC sessions, app data exchange, launch/enqueue/lock/menu); enable them explicitly via EXPORT_ENABLE so they stay on. Add the internal loader header set (loader_i.h, loader_menu.h, loader_queue.h, loader_applications.h) to the SDK so the internal Loader handle and the menu/queue helpers are reachable from apps. rpc_i.h is skipped: it depends on the protobuf headers which are not part of the app SDK. API version -> 87.3; firmware links.
This commit is contained in:
@@ -187,6 +187,15 @@ symbol costs one API-table entry.
|
||||
An app can read and modify internal flash directly. **This can brick the
|
||||
device or wipe storage.** Enabled here for research; build with
|
||||
`EXPORT_FLASH=0 ./build.sh` to leave these disabled.
|
||||
* **RPC + loader internals**: the public `rpc_*` and `loader_*` APIs (RPC
|
||||
session open/feed/close, app data exchange, launching and enqueuing apps,
|
||||
lock/unlock, showing the app menu) are already exported by stock firmware and
|
||||
are the supported way to script the Flipper from a host or launch other apps;
|
||||
this build enables them explicitly and adds the internal loader headers
|
||||
(`loader_i.h`, `loader_menu.h`, `loader_queue.h`, `loader_applications.h`) so
|
||||
the internal loader/menu/queue helpers are reachable too. `rpc_i.h` is not
|
||||
exported because it depends on the protobuf headers, which are not in the SDK;
|
||||
the public RPC API covers host scripting.
|
||||
|
||||
`build.sh` also widens the GAP roles the firmware initialises
|
||||
(`GAP_PERIPHERAL_ROLE | GAP_CENTRAL_ROLE | GAP_OBSERVER_ROLE`) in
|
||||
|
||||
Reference in New Issue
Block a user