Initial packages for gyroscope / accelerometer#2692
Conversation
|
@spycat88 where would you like to put the sensor data? I'm not sure if it's fully device specific or not, so I'm a bit torn on putting it in extra-firmware maybe take a look at the sensor file structure when you get a chance: https://github.com/user-attachments/files/27588824/message.txt |
What would you like to do? I'm fine with either. |
|
A new sensor-firmware repo sounds good (I can't make the repo though obv), if you create it I can PR / commit the files |
6f1a89a to
409c72f
Compare
|
Just a bit of an aside - the rp5/flip2; needs a full dump of the android firmware as the rocketboard mbm that's upstream and currently used doesn't include its gyro sensor. So potentially this needs to include such consideration. |
|
Why? this is for SM8750. SM8250 can be added later if possible. |
|
I just meant in context of 'WHERE' such things live. |
|
Merged InputPlumber DS5 |
Lovely, thanks This PR will be modified soon - I'm working on getting libssc support directly in InputPlumber as a source device instead of going through a virtual device (which was the point of ssc-uinput) InputPlumber has some issues with IMU support though virtual devices, so this should help out a lot If the changes to InputPlumber get accepted, I can remove the ssc-uinput part of this PR 🙂 |
|
Need to remove unused stuff from the protobuf package, install_pkg is ~40M |
4c325ea to
10f92b0
Compare
Adds Protobuf 33.6, a requirement for libprotobuf-c and by extension libssc Signed-off-by: Gianni Spadoni <me@gio.blue>
Adds libprotobuf-c, a requirement for libssc Requires the protobuf package Signed-off-by: Gianni Spadoni <me@gio.blue>
Adds libqmi and its dependency libqrtr-glib, requirements of hexagonrpc & libssc Requires the libprotobuf-c package Signed-off-by: Gianni Spadoni <me@gio.blue>
Adds the libssc package, a dependency of hexagonrpc Depends on the libqmi package Signed-off-by: Gianni Spadoni <me@gio.blue>
NOTE: This package is using the tree from this PR: linux-msm/hexagonrpc#21 Without this PR (by @z3ntu), newer Snapdragon chips won't work (as there are missing calls) This package comes with the hexagonrpcd service which works alongside libssc Both this service and the data files in /usr/share/qcom are required for the Qualcomm SSC sensors to work. Signed-off-by: Gianni Spadoni <me@gio.blue>
ssc-uinput takes data from libssc & hexagonrpc and outputs it as a virtual IMU (through evdev / uinput) Signed-off-by: Gianni Spadoni <me@gio.blue>
Adds ssc-uinput as an additional package for SM8750 devices Adds mount matrix info for the Ayn Odin 3 Signed-off-by: Gianni Spadoni <me@gio.blue>
libqmi depends on this package Signed-off-by: Gianni Spadoni <me@gio.blue>
No need to install protobuf to the device, everything else links to it statically Signed-off-by: Gianni Spadoni <me@gio.blue>
Contains sensor data for the Qualcomm SSC The repo needs to be moved to the ROCKNIX organisation Signed-off-by: Gianni Spadoni <me@gio.blue>
This commit needs to be removed in a rebase Signed-off-by: Gianni Spadoni <me@gio.blue>
We need to build InputPlumber as SSC support is still unmerged Pretty standard Rust build Signed-off-by: Gianni Spadoni <me@gio.blue>
Accepts the structure used in the sensor-firmware repo Signed-off-by: Gianni Spadoni <me@gio.blue>
Keeps this stuff we don't need off of the device Signed-off-by: Gianni Spadoni <me@gio.blue>
Signed-off-by: Gianni Spadoni <me@gio.blue>
Repo was transferred to the org Signed-off-by: Gianni Spadoni <me@gio.blue>
Signed-off-by: Gianni Spadoni <me@gio.blue>
Easier data structuring Signed-off-by: Gianni Spadoni <me@gio.blue>
|
|
||
| post_makeinstall_target() { | ||
| cp -rf ${PKG_DIR}/scripts/* ${INSTALL}/usr/bin/ | ||
| chmod +x ${INSTALL}/usr/bin/* |
There was a problem hiding this comment.
Can you remove the commented out lines, also if you chmod 755 the file in your commit then the chmod line is not needed here.
Summary
Adds ssc-uinput, hexagonrpc and dependencies of them (notably libssc)
To finish this and get these sensors actually working, we need to:
If a device has the ssc-uinput additional package and has the data files in /usr/share/qcom, the input device should show up in evtest
Virtual IMU
The virtual IMU shows up as "Sunshine gamepad (virtual) motion sensors", as InputPlumber has a whitelist for virtual input devices (see InputPlumber manager.rs)
The IMU values are scaled 100x (with
SSCU_IMU_OUTPUT_SCALE) so InputPlumber works (see InputPlumber translator.rs)Sensor data in /usr/share/qcom
The sensor data can be found downstream in /vendor/etc/sensors and /vendor/etc/acdbdata (see hexagonrpc README)
On this Odin 3, the /usr/share/qcom folder looks like this: message.txt
AI Usage
While ROCKNIX doesn't have restrictions on AI tools in contributing, please be transparent about their usage as it
helps set the right context for reviewers.
Did you use AI tools to help write this code? NO