-
-
Notifications
You must be signed in to change notification settings - Fork 19
Open
Labels
Description
Here I am just writing ideas from my mind to future implement in our own protocol, when current protocol from bHaptics when it ceases to meet the needs
OpenHaptics Protocol
Coordinates encoding
Each axis (X and Y) is uint8_t between 0 and 255
Coordinates preview
(0, 0) (128, 0) (255, 0)
(0, 128) (128, 128) (255, 128)
(0, 255) (128, 255) (255, 255)
Intensity
Intensity is uint8_t:
0: 0%,255: 100%
Effects layer
Effect layer is 16 possible values (4 bits - uint8_t << 4)
Proposed Effects layer IDs (WIP)
- Vibro:
0x0 - Touch (LRA):
0x1 - Temperature (Peltier):
0x2 - Electricity (TENS):
0x3
Body Parts IDs mapping
Every diverging part of the body is separated into Front and Back faces.
Coordinate path has 255 possible values (8 bits - uint8_t)
Proposed Body Parts IDs (WIP)
human://chest:human://chest/front:0x00human://chest/back:0x01
human://arm:human://arm/left:0x02human://arm/right:0x03
human://forearm:human://forearm/left:0x04human://forearm/right:0x05
human://hand:human://hand/left:human://hand/left/palm:human://hand/left/palm/front:0x06human://hand/left/palm/back:0x07
human://hand/left/finger:human://hand/left/finger/thumb:0x08human://hand/left/finger/index:0x09human://hand/left/finger/middle:0x0ahuman://hand/left/finger/ring:0x0bhuman://hand/left/finger/pinky:0x0c
human://hand/right:human://hand/right/palm:human://hand/right/palm/front:0x0dhuman://hand/right/palm/back:0x0e
human://hand/right/finger:human://hand/right/finger/thumb:0x0fhuman://hand/right/finger/index:0x10human://hand/right/finger/middle:0x11human://hand/right/finger/ring:0x12human://hand/right/finger/pinky:0x13
human://upper_leg:human://upper_leg/left:0x14human://upper_leg/right:0x15
human://lower_leg:human://lower_leg/left:0x16human://lower_leg/right:0x17
human://foot:human://foot/left:human://foot/left/top:0x18human://foot/left/bottom:0x19
human://foot/right:human://foot/right/top:0x1ahuman://foot/right/bottom:0x1b
human://neck:0x1chuman://head:human://head/face:0x1dhuman://head/back:0x1ehuman://head/top:0x1f