Complete documentation for every App SDK call, split by category. This page is the index; each entry below links straight to the function.
For each function the reference gives:
- the full C signature from
jpp_sdk_bridge.h, - the MicroPython binding from the
jppsdkmodule, where one exists, - the capability required — if none is listed, the call is ungated,
- the return value in both languages, including any output parameters,
- notes covering what the signature does not tell you.
Signatures are shown as C / MicroPython tabs, switched per signature.
Errors in MicroPython.
Unless a function's entry says otherwise, a jppsdk binding raises
jppsdk.SdkError on any non-OK status, and jppsdk.SdkPermissionError
(a subclass) when the capability was not granted. Catch the permission
error separately and degrade — a denied capability is a normal outcome,
not a crash.
Not every C call has a Python binding.
Headings marked (C only) exist solely in the native SDK. The largest
gaps are net_connect, file_pick, confirm, the ble_host_* server
calls, the crypto primitives, and code modules.
Index¶
Core¶
Data¶
| Page | Functions |
|---|---|
| Storage and IPC | file_read · file_write · file_list · shared I/O · kv_get · kv_set · kv_delete · ipc_send · ipc_recv |
Full file access ⚠ files.full |
file_open · handle_read · handle_write · handle_list · handle_close |
Connectivity¶
| Page | Functions |
|---|---|
HTTP ⚠ http.request |
http_request |
HTTPS ⚠ https.request |
https_request · per-origin consent |
TCP server ⚠ network.bind |
net_bind · net_accept · net_recv · net_send · net_close |
TCP client ⚠ network.connect |
net_connect · shares net_recv/net_send/net_close |
BLE scan ⚠ ble.scan |
ble_scan |
BLE advertise ⚠ ble.advertise |
ble_advertise_start · ble_advertise_stop · ble_set_connectable |
BLE GATT client ⚠ ble.connect |
ble_connect · ble_read_char · ble_write_char · ble_disconnect |
BLE GATT server ⚠ ble.host |
ble_service_register · ble_service_unregister · ble_host_set_value · ble_host_wait_write · ble_host_clear |
ESP-NOW ⚠ esp_now |
espnow_send · espnow_recv |
Compute and lifecycle¶
| Page | Functions |
|---|---|
| Crypto primitives | sha256 · sha1 · aes256_ige_encrypt/_decrypt · modexp · rsa_encrypt · dh_compute |
Background tasks ⚠ background.register |
background_register |
| Code modules (native only) | module_load · module_run · module_unload |
| Resource limits | every hard cap in one table |
⚠ = capability required. See Capabilities for the tier rules and what each one unlocks.
Which SDK level do I need?¶
The firmware exports a single API level, and an app declares the lowest one
it can run on via sdk_min. Everything in this reference
is available at level 2 (firmware v1.1). The calls that are not available at
level 1 are marked in place with a "Requires SDK level 2" note.
The SDK changelog lists every level, what it added, and how
to pick a value for sdk_min.