Brian Stuart did a port of Inferno to the Sun SPOT hardware, which has some overlap with the devices in question:
http://iwp9.org/8e/sunspot.pdf I did an accelerometer on a pi hat a while ago. I think I ended up with the same interface you were describing, but without the normalization, which seems like a good improvement. I don’t think the Bitsy hardware screen was multi touch, but the software interface certainly wasn’t. From memory, it matches what you describe. > On Mar 24, 2025, at 03:02, Dave MacFarlane via 9fans <[email protected]> wrote: > > Hello all, > > I've been working on trying to get a pinephone kernel that can run > 9front at https://github.com/driusan/9front-A64 > > I spent some time this weekend on the userspace getting readings off > the i2c sensors. > > I've managed to use /dev/i2c*/ to get data from the: > 1. Touch panel > 2. Light/proximity sensor > 3. Magnetometer > 4. Accelerometer/gyroscope > > and now I want to expose the data in a filesystem before I put it > online in some other repo. I've done some looking around but can't > find any prior art for any of the above sensor types in Plan9. Does > anyone know of any? I'd like to aim for compatibility if they exist. > > Assuming they don't, I'm looking for input if anyone has any strong > opinions on what the interface should look like. > > Left to my own devices my plan is: > > 1. TouchPanel -- just write to /dev/mousein and treat touches as > button 1. Since it's a userspace driver we can experiment with > multitouch later. > 2. Light/proximity sensor - create a /dev/lightsensor that > returns light readings. A /dev/proximity read returns "close" or > "notclose". No ctl files or scaling. > 3. Magnetometer - /dev/compass blocks until there's enough > data to calibrate. Reads return 3 values, x y z that are the raw > (short int) readings. /dev/compassctl for calibrating > sensitivity/etc. > 4. Accel/gyroscope - /dev/accel returns 6 readings of the > raw (also short) value ax ay az gx gy gz. /dev/accelctl > for customizing sensitivity/etc. > > x/y/z aren't the raw sensor orientation, but normalized so that +y is the > top of the screen, +x is to the right, and +z is towards the back of the > phone. > > I've done the work to read the values but haven't done any work to > expose it other than printing debugging to stdout, so I'm open to > suggestions to other interfaces. > > - Dave ------------------------------------------ 9fans: 9fans Permalink: https://9fans.topicbox.com/groups/9fans/T4d13b3016d2a2310-M2a2b3180abf6142a77a54c1f Delivery options: https://9fans.topicbox.com/groups/9fans/subscription
