hidcam: Bangle.js 2 support

master
Hank 2022-07-05 10:51:38 +02:00
parent 427cfb593e
commit b593fd56ff
4 changed files with 33 additions and 21 deletions

View File

@ -1,3 +1,4 @@
0.01: Core functionnality
0.02: Offer to enable HID if disabled
0.03: Adds Readme and tags to be used by App Loader
0.04: Adds Bangle.js 2 support

View File

@ -7,7 +7,7 @@ Control the camera shutter from your phone using your watch
1. In settings, enable HID for "Keyboard & Media".
2. Pair your watch to your phone.
3. Load your camera app on your phone.
4. There you go, launch the app on your watch and press button 2 to trigger the shutter !
4. There you go, launch the app on your watch and press the button (button 2 on Bangle.js 1) to trigger the shutter !
## How does it work ?

View File

@ -1,12 +1,13 @@
var storage = require('Storage');
const settings = storage.readJSON('setting.json',1) || { HID: false };
const isB2 = process.env.HWVERSION === 2;
var sendHid, camShot, profile;
if (settings.HID=="kbmedia") {
profile = 'camShutter';
sendHid = function (code, cb) {
try {
NRF.sendHIDReport([1,code], () => {
NRF.sendHIDReport([1,0], () => {
@ -16,10 +17,13 @@ if (settings.HID=="kbmedia") {
} catch(e) {
print(e);
}
};
camShot = function (cb) { sendHid(0x80, cb); };
} else {
E.showPrompt("Enable HID?",{title:"HID disabled"}).then(function(enable) {
if (enable) {
settings.HID = "kbmedia";
require("Storage").write('setting.json', settings);
@ -46,12 +50,19 @@ function drawApp() {
g.fillRect(180,130, 240, 124);
}
if (camShot) {
if (camShot) {
if (!isB2) { // Bangle.js 1
setWatch(function(e) {
E.showMessage('camShot !');
setTimeout(drawApp, 1000);
camShot(() => {});
}, BTN2, { edge:"falling",repeat:true,debounce:50});
} else { // Bangle.js 2
setWatch(function(e) {
E.showMessage('camShot !');
setTimeout(drawApp, 1000);
camShot(() => {});
}, BTN, { edge:"falling",repeat:true,debounce:50});
}
drawApp();
}
}

View File

@ -2,11 +2,11 @@
"id": "hidcam",
"name": "Camera shutter",
"shortName": "Cam shutter",
"version": "0.03",
"version": "0.04",
"description": "Enable HID, connect to your phone, start your camera and trigger the shot on your Bangle",
"icon": "app.png",
"tags": "bluetooth,tool",
"supports": ["BANGLEJS"],
"supports": ["BANGLEJS","BANGLEJS2"],
"readme": "README.md",
"storage": [
{"name":"hidcam.app.js","url":"app.js"},