BangleApps/modules
Gordon Williams 341517881b update docs to put the best solution at the top 2022-12-06 09:41:54 +00:00
..
.eslintrc.json oops - forgot to commit lint config 2022-11-10 13:57:38 +00:00
ClockFace.js ClockFace: support Fast Loading, by adding a remove() function to clocks 2022-12-01 01:13:34 +01:00
ClockFace.md ClockFace: support Fast Loading, by adding a remove() function to clocks 2022-12-01 01:13:34 +01:00
ClockFace_menu.js ClockFace_menu: add "powerSave" menu option 2022-06-25 23:58:33 +02:00
Layout.js layout - Allow providing a remove handler in options 2022-11-30 18:46:21 +01:00
Layout.md layout - Allow providing a remove handler in options 2022-11-30 18:46:21 +01:00
Layout.min.js layout - Allow providing a remove handler in options 2022-11-30 18:46:21 +01:00
README.md update docs to put the best solution at the top 2022-12-06 09:41:54 +00:00
buzz.js constant decl in function saves RAM 2022-06-06 11:16:41 +01:00
buzz_menu.js [buzz] Add support for ',' and ';' 2022-06-03 17:29:57 +02:00
clock_info.js aiclock -- support clkinfo module and updated icons of some clkinfos... 2022-12-04 16:42:24 +01:00
dane_arwes.js docs on modules 2022-01-28 09:46:19 +00:00
dane_arwes.min.js Add pre minified dane_arwes module while automatic minification is broken 2020-12-17 12:01:44 +01:00
date_utils.js [date_utils] Refactor functions, documentation 2022-05-03 23:22:50 +02:00
exstats.js exstats: Add altitude (GPS and barometer) 2022-06-07 16:47:45 +01:00
testmodule.js Allow custom modules for apps 2020-12-09 13:43:29 +00:00
time_utils.js [time_utils] Add compact mode to formatDuration 2022-05-28 21:30:50 +02:00
wear_detect.js optimize for precision over accuracy 2022-09-09 17:54:08 -07:00
widget_utils.js widget_utils - Allow setting a time for auto hideout 2022-12-04 20:26:18 +01:00

README.md

App Modules

These are modules used by apps - you can use them from a Bangle.js app with:

var testmodule = require("testmodule");
testmodule.test()

Development

When apps that use these modules are uploaded via the app loader, the module is automatically included in the app's source. However when developing via the IDE the module won't get pulled in by default so you may see the error "Module <module_name> not found" in the IDE when sending code to the Bangle.

To fix this you have three options:

Change the Web IDE search path to include Bangle.js modules

This is nice and easy (and the results are the same as if the app was uploaded via the app loader), however you cannot then make/test changes to the module.

  • In the IDE, Click the Settings icon in the top right
  • Click Communications and scroll down to Module URL
  • Now change the module URL from the default of https://www.espruino.com/modules to https://banglejs.com/apps/modules|https://www.espruino.com/modules

The next time you upload your app, the module will automatically be included.

Note: You can optionally use https://raw.githubusercontent.com/espruino/BangleApps/master/modules|https://www.espruino.com/modules as the module URL to pull in modules direct from the development app loader (which could be slightly newer than the ones on https://banglejs.com/apps)

Host your own App Loader and upload from that

This is reasonably easy to set up, but it's more difficult to make changes and upload:

  • Follow the steps here to set up your own App Loader: https://www.espruino.com/Bangle.js+App+Loader
  • Make changes to that repository
  • Refresh and upload your app from the app loader (you can have the IDE connected at the same time so you can see any error messages)

Upload the module to the Bangle's internal storage

This allows you to develop both the app and module very quickly, but the app is uploaded in a slightly different way to what you'd get when you use the App Loader or the method below:

  • Load the module's source file in the Web IDE
  • Click the down-arrow below the upload button, then Storage
  • Click New File, type your_module_name as the name (with no .js extension), click Ok
  • Now Click the Upload icon.

You can now upload the app direct from the IDE. You can even leave a second Web IDE window open (one for the app, one for the module) to allow you to change the module.