mirror of
https://github.com/Next-Flip/Momentum-Firmware.git
synced 2026-04-24 03:29:57 -07:00
JS: Add extra SDK feature strings
This commit is contained in:
@@ -1,3 +1,6 @@
|
||||
// Script cannot work without blebeacon module so check before
|
||||
checkSdkFeatures(["blebeacon"]);
|
||||
|
||||
let blebeacon = require("blebeacon");
|
||||
|
||||
// Stop if previous background beacon is active
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
// Script cannot work without i2c module so check before
|
||||
checkSdkFeatures(["i2c"]);
|
||||
|
||||
// Connect an 24C32N EEPROM to the I2C bus of the board. SDA=pin 15, SCL=pin 16, VCC=pin 9, GND=pin 8.
|
||||
let i2c = require("i2c");
|
||||
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
// Script cannot work without spi module so check before
|
||||
checkSdkFeatures(["spi"]);
|
||||
|
||||
// Connect a w25q32 SPI device to the Flipper Zero.
|
||||
// D1=pin 2 (MOSI), SLK=pin 5 (SCK), GND=pin 8 (GND), D0=pin 3 (MISO), CS=pin 4 (CS), VCC=pin 9 (3V3)
|
||||
let spi = require("spi");
|
||||
|
||||
@@ -26,4 +26,16 @@ storage.remove(path);
|
||||
print("Done")
|
||||
|
||||
// You don't need to close the file after each operation, this is just to show some different ways to use the API
|
||||
// There's also many more functions and options, check type definitions in firmware repo
|
||||
// There's also many more functions and options, check type definitions in firmware repo
|
||||
|
||||
// There is also virtual API, which is not available in all firmwares
|
||||
// Allows you to mount disk images (like mass storage) and read/modify their contents
|
||||
// If you want to use this as an optional feature, not essential to your script:
|
||||
// if (doesSdkSupport(["storage-virtual"])) {
|
||||
// storage.virtualInit("/ext/disk_image.img");
|
||||
// storage.virtualMount();
|
||||
// // Read/modify data from /mnt filesystem
|
||||
// storage.virtualQuit();
|
||||
// }
|
||||
// If instead virtual API is essential to your script, put this near beginning of script:
|
||||
// checkSdkFeatures(["storage-virtual"]);
|
||||
@@ -1,3 +1,6 @@
|
||||
// Script cannot work without subghz module so check before
|
||||
checkSdkFeatures(["subghz"]);
|
||||
|
||||
let subghz = require("subghz");
|
||||
subghz.setup();
|
||||
|
||||
|
||||
@@ -1,12 +1,39 @@
|
||||
// Script cannot work without usbdisk module so check before
|
||||
checkSdkFeatures(["usbdisk"]);
|
||||
|
||||
let usbdisk = require("usbdisk");
|
||||
// print("Creating image...");
|
||||
// usbdisk.createImage("/ext/apps_data/mass_storage/128MB.img", 128 * 1024 * 1024);
|
||||
let storage = require("storage");
|
||||
|
||||
let imagePath = "/ext/apps_data/mass_storage/128MB.img";
|
||||
let imageSize = 128 * 1024 * 1024;
|
||||
|
||||
let imageExisted = storage.fileExists(imagePath);
|
||||
if (imageExisted) {
|
||||
print("Disk image '128MB' already exists");
|
||||
} else {
|
||||
// CreateImage isn't necessary to overall function, check when its used not at script start
|
||||
if (doesSdkSupport(["usbdisk-createimage"])) {
|
||||
print("Creating disk image '128MB'...");
|
||||
usbdisk.createImage(imagePath, imageSize);
|
||||
} else {
|
||||
die("Disk image '128MB' not present, can't auto-create");
|
||||
}
|
||||
}
|
||||
|
||||
print("Starting UsbDisk...");
|
||||
usbdisk.start("/ext/apps_data/mass_storage/128MB.img");
|
||||
|
||||
print("Started, waiting until ejected...");
|
||||
while (!usbdisk.wasEjected()) {
|
||||
delay(1000);
|
||||
}
|
||||
|
||||
print("Ejected, stopping UsbDisk...");
|
||||
usbdisk.stop();
|
||||
|
||||
if (!imageExisted) {
|
||||
print("Removing disk image...");
|
||||
storage.remove(imagePath);
|
||||
}
|
||||
|
||||
print("Done");
|
||||
@@ -1,3 +1,6 @@
|
||||
// Script cannot work without widget module so check before
|
||||
checkSdkFeatures(["widget"]);
|
||||
|
||||
let widget = require("widget");
|
||||
|
||||
let demo_seconds = 30;
|
||||
@@ -34,8 +37,12 @@ widget.addDot(102, 44);
|
||||
widget.addDot(104, 43);
|
||||
|
||||
// add an icon (x, y, icon)
|
||||
widget.addIcon(100, 50, "ButtonUp_7x4");
|
||||
widget.addIcon(100, 55, "ButtonDown_7x4");
|
||||
// not available in all firmwares, but not essential for this script's
|
||||
// functionality, so we just check at runtime and use it if it is available
|
||||
if (doesSdkSupport(["widget-addicon"])) {
|
||||
widget.addIcon(100, 50, "ButtonUp_7x4");
|
||||
widget.addIcon(100, 55, "ButtonDown_7x4");
|
||||
}
|
||||
|
||||
// add a glyph (x, y, glyph)
|
||||
widget.addGlyph(115, 50, "#".charCodeAt(0));
|
||||
|
||||
Reference in New Issue
Block a user