/var/www/restricted/ssh/stm32/www/stm32circle/ STM CircleOS forum / Improvement of the moves

Username:     
Password:     
             

Forum

# 1   2008-03-21 08:08:10 Improvement of the moves

Francis
Administrator
From: France-Grenoble
Registered: 2007-07-09
Posts: 890

Improvement of the moves

The current management of the pointer is ok for a 128X128 (one pixel) granularity, but the moves are not easy when the granularity is lower. For example, the games 'Chess' and 'Gobang' are difficult to play (jittery between positions).
An idea would be to specify the granularity (default would be one pixel) by adding a function such as :
        POINTER_SetGranularity(u8 n);
Then, the pointer positions would be multiple of the specified granularity and circleOS would manage smoothly the moves.

If anybody has some ideas/experiences or knows how to do this, the suggestions are welcome.
Thanks.

Offline

 

# 2   2008-03-21 18:34:14 Improvement of the moves

jingxizhang
Member
Registered: 2007-12-13
Posts: 35

Re: Improvement of the moves

When the granularity is higher, the pointer movement is slower. It is ok to move the pointer is small distance for getting the smooth pointer manipulation. However, when you try to move the pointer across the screen you need a lot patient.
Current the pointer speed is linear to the tilt angle. My suggestion is to accelerate the pointer speed when it moves away from the starting angle using non-linear function, such as speed = K*sqare(Angle) where K is the scaling factor. In such way you will get slow fine pointer movement when the device is tilted in a small angle. When the device tilted angle increases the speed will increase faster to speed up the large distance movement.

Jingxi Zhang

Offline

 

# 3   2008-03-22 23:21:13 Improvement of the moves

Francis
Administrator
From: France-Grenoble
Registered: 2007-07-09
Posts: 890

Re: Improvement of the moves

This is a different issue but I agree with you.

Offline

 

# 4   2008-03-23 09:52:30 Improvement of the moves

graham
Member
Registered: 2008-02-23
Posts: 32

Re: Improvement of the moves

I don't find the current implementation of the mems controlled cursor very intuitive.

Remember that the mems is 3D, not 2D only.

For intuitive operation, you want to imitate something physical, that you can hold in your hand and move around, but then add smarts, based on what's available,

The build environment's not working for me, so I'm not offering to make the changes, bu these are my suggestions:

1) Use the Z axis as a stickiness control (i.e. decelerator). Lift up, the cursor becomes mired, wherever it was heading, diminish it's velocity proportional to the amound of extra G force momentarily experience, as the operator lifts the stmcircle vertically, and past a minor at-rest threshold.

2) Using additional angle to move the cursor further, is a disturbing experience, as it takes the LCD out of optimum viewing angle under normal human usage. Better, to have the X-Y axis control be primarily for null zone and direction, Use >1.0 G measurements to directly control velocity, but through a to the power of relationship, i.e. lurch the circle abruptly downward while angling it slightly in the desired cursor motion direction, and the speed will be very fast, drop it in slow motion, and the cursor will creep.

With respect to X-Y axis controlling direction, I'm thinking to use enough bits that the cursor can move with realistic angular granularity, so we are now looking at X-Y for angle, and Z for speed/lock.

Keep in mind, that a good solution can form the basis for more than merely the toy functionality presented on the STM32 primer, it can be translated across to RC model flight control, game joysticks, and various other similiar applications.

Graham

Offline

 

# 5   2008-03-24 19:02:21 Improvement of the moves

Stewee
Member
From: Dorset/England
Registered: 2007-10-11
Posts: 47
Website

Re: Improvement of the moves

Me thinks it would be helpful if we could see the ballsy pointer when in menu mode so that we can see when we are on the edge of one selection and so prevent the selection of the wrong option when we clank the big wretched orange button.

Last edited by Stewee (2008-03-24 19:06:26)


( Please Give Blood http://www.blood.co.uk >50% can.  5% do. )

Offline

 

Board footer