mirror of
https://github.com/Next-Flip/Momentum-Firmware.git
synced 2025-10-09 22:52:32 +02:00
3.9 KiB
3.9 KiB
JavaScript scripting API (WIP)
Note: This documentation is still work in progress!
Todo:
- Migrate to new format from OFW (see /documentation/js/ folder)
- Add missing parameters & returns (Dialog and lower)
Description
Momentum supports JavaScript scripting using mjs. Note: Read about mjs's limitations in the link above! You will experience alot of missing js features (e.g. createTimeout).
Examples
Make sure to check out the included examples! They cover basically everything that is possible with Flipper JS.
API
Global
print(...args: any): undefined
delay(...args: any): undefined | error
to_string(num: number): string
to_hex_string(num: number): string
ffi_address(symbol: string): foreign
require(module: string): object | error
parse_int(text: string): number
to_upper_case(text: string): string | error
to_lower_case(text: string): string | error
SubGHZ
const subghz = require("subghz");
subghz.setup(): undefined
subghz.setRx(): undefined
subghz.setIdle(): undefined
subghz.getRssi(): number
subghz.getState(): string
subghz.getFrequency(): number
subghz.setFrequency(freq: number): number | error
subghz.isExternal(): bool
subghz.transmitFile(file: string): bool | error
Usbdisk
const usbdisk = require("usbdisk");
createImage(file: string, size: number): undefined | error
start(file: string): undefined | error
stop(): undefined | error
wasEjected(): bool | error
BadUsb
const badusb = require("badusb");
setup({ vid: number, pid: number, mfr_name: string, prod_name: string }): undefined | error
quit(): undefined | error
isConnected(): bool | error
press(...keyAndModifiers: string | number): undefined | error
hold(...keyAndModifiers: string | number): undefined | error
release(...keyAndModifiers: string | number | undefined): undefined | error
print(text: string, delay: number | undefined): undefined | error
println(text: string, delay: number | undefined): undefined | error
altPrint(text: string, delay: number | undefined): undefined | error
altPrintln(text: string, delay: number | undefined): undefined | error
BleBeacon
const blebeacon = require("blebeacon");
isActive(): bool | error
setConfig(mac: Uint8Array, power: number | undefined, intvMin: number | undefined, intvMax: number | undefined): undefined | error
setData(data: Uint8Array): undefined | error
start(): undefined | error
stop(): undefined | error
keepAlive(keep: boolean): undefined | error
Dialog
const dialog = require("dialog");
message()
custom()
pickFile()
Flipper
const flipper= require("flipper");
getModel()
getName()
getBatteryCharge()
Gpio
const gpio = require("gpio");
init()
write()
read()
Keyboard
const keyboard = require("keyboard");
setHeader()
text()
byte()
Math
const math = require("math");
abs()
acos()
acosh()
asin()
asinh()
atan()
atan2()
atanh()
cbrt()
ceil()
clz32()
cos()
exp()
floor()
log()
max()
min()
pow()
random()
sign()
sin()
sqrt()
trunc()
PI
E
Notification
const notify = require("notification");
success()
error()
blink()
Serial
const serial = require("serial");
setup()
write()
read()
readln()
readBytes()
expect()
Storage
const storage = require("storage");
read()
write()
append()
exists()
remove()
virtualInit()
virtualMount()
virtualQuit()
Submenu
const submenu = require("submenu");
addItem()
setHeader()
show()