|
|
|
![]() |
|
|||||||
|
||||||||
|
|
Thread Tools | Rate Thread | Display Modes |
|
#1
|
||||
|
||||
|
Problems with NullZone
Hey Guys,
we have a problem with a scale function that we wrote in order to have a rectangular NullZone where the joystick is deactivated. Once the Joystick get s out of the Zone (for example p1_x > 147) then we want to scale the new value over the full range of the output (here from 147 - 255 TO 127 - 255) in order to not start with like 20 speed when we get out of the zone. The function that we came up with works in calculators and other c-Compilers but not with the RC so I hope somebody could help us with this: Here is the Function: unsigned char scale ( unsigned char sNum , // Value to Scale unsigned char sMin , // Old Min Value unsigned char sMax , // Old Max Value unsigned char eMin , // New Min Value unsigned char eMax) // New Max Value { unsigned char eNum = (( sNum - sMin ) * ( eMax - eMin ) / ( sMax - sMin ) + eMin); return eNum; } And here where we call it (N_ZONE_X = 40): (int)scale((unsigned char)p1_x, 127 + (N_ZONE_X / 2), 254, 127, 254); the value that we get is always either 127 or 254 but never stuff in between so we're kinda confused : ( ... Thanks, bye Felix |
| Thread Tools | |
| Display Modes | Rate This Thread |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| PC problems. . . | opnickc | IT / Communications | 5 | 12-01-2005 16:53 |
| Robot Rodeo - fixing control problems | Gary Dillard | Off-Season Events | 7 | 26-10-2004 00:46 |
| Joystick problems | archiver | 2001 | 3 | 24-06-2002 02:40 |
| Radio problems -- not | archiver | 2000 | 1 | 23-06-2002 22:23 |