BangleApps/modules
Gordon Williams de40f314c7 Moved clock_info to a module 2023-01-27 13:33:46 +00:00
..
.eslintrc.json oops - forgot to commit lint config 2022-11-10 13:57:38 +00:00
ClockFace.js ClockFace: remove clockHasWidgets hack 2023-01-07 17:52:31 +01:00
ClockFace.md ClockFace: always loadWidgets, option to hide them using widget_utils 2023-01-07 16:50:30 +01:00
ClockFace_menu.js ClockFace: always loadWidgets, option to hide them using widget_utils 2023-01-07 16:50:30 +01:00
Layout.js Update Layout.js 2023-01-20 23:54:13 -05:00
Layout.md Update Layout.md 2023-01-20 22:51:20 -05:00
Layout.min.js Fix layout error when there's not a h or v element as root - https://forum.espruino.com/conversations/382806/#comment16819463 2023-01-09 14:21:27 +00: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
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
graphics_utils.js graphics_utils - Use correct parameter variable 2023-01-22 10:06:32 +01:00
suncalc.js astrocalc 2022-12-11 22:09:16 +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 Add drawWidgets to end of swipeOn 2023-01-17 08:54:47 +00: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.