-
-
-
Can you please try this: https://forum.espruino.com/comments/16645817/
If you have the SPL06 we might be able to reset the sensor without a full discharge:
https://forum.espruino.com/conversations/381706/#comment16770729 -
On Linux you can "simply" restart the bluetooth service. The discussion about that is here: https://github.com/espruino/BangleApps/issues/349
-
-
Well all acc-sensors I have seen so far do return the earth acceleration when not moving. Also they are usually not accurate enough to measure any other acceleration that is a lot smaller then 1G.
If you want to know the acceleration of your car I would try the GPS. You should be able to get enough satellites in your car.
-
-
-
-
-
-
-
-
Hi,
when an application gets updated we can get the changes from its corresponding changelog.
But what about new apps? Is there a list somewhere?
If not, it probably can be automatically generated with git? e.g. Date of first commit on its folder, assuming that date of first commit and date of merge to master are not far apart. Probably a bash script like this:for appfolder in apps/*/; do echo "$(git log --follow --format=%ai $appfolder) $appfolder" | tail -n 1 ; done | sort -r
-
-
-
-
-
-
The additional zero is inserted in bluez hog-lib.c in the "if (hog->has_report_id)"-block . Unfortunately "report->id" is zero at this time.
-
-
At least now I understand why hidkbd.app.js sends 9 bytes instead of 8: Since there are now two collections instead of only one as in ble_hidÂ_keyboard.js the report id (2 for keyboard) needs to be prefixed. Unfortunately Linux still seem to think it is 0:
drivers/hid/hid-core.c: undefined report_id 0 received
What Linux receives is:
cat /sys/kernel/debug/hid/0005:0000:0000.0003/events
report (size 10) (numbered) = 00 02 00 00 52 00 00 00 00 00..10 bytes
-
Found a parser:
https://eleccelerator.com/usbdescreqparser/0x05, 0x01, // Usage Page (Generic Desktop Ctrls)
0x09, 0x06, // Usage (Keyboard)
0xA1, 0x01, // Collection (Application)
0x85, 0x02, // Report ID (2)
0x05, 0x07, // Usage Page (Kbrd/Keypad)
0x19, 0xE0, // Usage Minimum (0xE0)
0x29, 0xE7, // Usage Maximum (0xE7)
0x15, 0x00, // Logical Minimum (0)
0x25, 0x01, // Logical Maximum (1)
0x75, 0x01, // Report Size (1)
0x95, 0x08, // Report Count (8)
0x81, 0x02, // Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
0x95, 0x01, // Report Count (1)
0x75, 0x08, // Report Size (8)
0x81, 0x01, // Input (Const,Array,Abs,No Wrap,Linear,Preferred State,No Null Position)
0x95, 0x05, // Report Count (5)
0x75, 0x01, // Report Size (1)
0x05, 0x08, // Usage Page (LEDs)
0x19, 0x01, // Usage Minimum (Num Lock)
0x29, 0x05, // Usage Maximum (Kana)
0x91, 0x02, // Output (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
0x95, 0x01, // Report Count (1)
0x75, 0x03, // Report Size (3)
0x91, 0x01, // Output (Const,Array,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
0x95, 0x06, // Report Count (6)
0x75, 0x08, // Report Size (8)
0x15, 0x00, // Logical Minimum (0)
0x25, 0x73, // Logical Maximum (115)
0x05, 0x07, // Usage Page (Kbrd/Keypad)
0x19, 0x00, // Usage Minimum (0x00)
0x29, 0x73, // Usage Maximum (0x73)
0x81, 0x00, // Input (Data,Array,Abs,No Wrap,Linear,Preferred State,No Null Position)
0x09, 0x05, // Usage (0x05)
0x15, 0x00, // Logical Minimum (0)
0x26, 0xFF, 0x00, // Logical Maximum (255)
0x75, 0x08, // Report Size (8)
0x95, 0x02, // Report Count (2)
0xB1, 0x02, // Feature (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
0xC0, // End Collection
0x05, 0x0C, // Usage Page (Consumer)
0x09, 0x01, // Usage (Consumer Control)
0xA1, 0x01, // Collection (Application)
0x85, 0x01, // Report ID (1)
0x15, 0x00, // Logical Minimum (0)
0x25, 0x01, // Logical Maximum (1)
0x75, 0x01, // Report Size (1)
0x95, 0x01, // Report Count (1)
0x09, 0xB5, // Usage (Scan Next Track)
0x81, 0x02, // Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
0x09, 0xB6, // Usage (Scan Previous Track)
0x81, 0x02, // Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
0x09, 0xB7, // Usage (Stop)
0x81, 0x02, // Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
0x09, 0xB8, // Usage (Eject)
0x81, 0x02, // Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
0x09, 0xCD, // Usage (Play/Pause)
0x81, 0x02, // Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
0x09, 0xE2, // Usage (Mute)
0x81, 0x02, // Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
0x09, 0xE9, // Usage (Volume Increment)
0x81, 0x02, // Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
0x09, 0xEA, // Usage (Volume Decrement)
0x81, 0x02, // Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
0xC0, // End Collection
// 127 bytes -
I don't think this is true now. HID just needs to be enabled when you pair it with your device
Well I'm new to this, but when exactly is boot0.js executed, when I pair with another device or a single time on start?
The code in boot0.js is basically:
var s = require('Storage').readJSON('setting.json',1)||{}; if (s.HID) { // Human interface device Bangle.HID = "(...)"; NRF.setServices({}, {uart:true, hid:Bangle.HID}); }
so when HID is not enabled in settings while starting and boot0.js is only executed on start the NRF.setServices() never happens, correct?
I actually had the same error when updating from 2v24.x to 2v25 (My DFU is 2v12) via apploader.
Reflashing again with the nrf toolbox also let me to the bank0 invalid error. Luckily a 2nd flashing with nrf toolbox was successful. So maybe just try again?