v1 Stable
Dependencies: F401RE-USBHost USBHostXpad mbed
Diff: main.cpp
- Revision:
- 8:2479ec34467b
- Parent:
- 7:65d1a7a3948b
- Child:
- 9:b64b08b130ed
--- a/main.cpp Wed Dec 28 23:21:26 2016 +0000 +++ b/main.cpp Fri Dec 30 19:08:35 2016 +0000 @@ -480,44 +480,28 @@ int val = stick_lx; float X1_norm; if(val > 0) - { X1_norm = val / 32767.f; - X1_norm = (X1_norm - dead_zone / 100.0) * 100.0 / (100.0 - dead_zone); - if (X1_norm < 0) X1_norm = 0; + else X1_norm = val / -32767.f; + + X1_norm = (X1_norm - dead_zone / 100.0) * 100.0 / (100.0 - dead_zone); + if (X1_norm < 0) X1_norm = 0; - char ans = (char)(127 * X1_norm * joy_range / 100); - n64_data.x_axis = reverse(ans); - } - else - { - X1_norm = val / 32768.f; - X1_norm = (X1_norm + dead_zone / 100.0) * 100.0 / (100.0 - dead_zone); - if (X1_norm > 0) X1_norm = 0; - - char ans = (char)(128 * X1_norm * joy_range / 100); - n64_data.x_axis = reverse(ans); - } + char ans = (char)(127 * X1_norm * joy_range / 100); + if (val < 0) ans = -ans; + n64_data.x_axis = reverse(ans); // repeat for y values val = stick_ly; if(val > 0) - { X1_norm = val / 32767.f; - X1_norm = (X1_norm - dead_zone / 100.0) * 100.0 / (100.0 - dead_zone); - if (X1_norm < 0) X1_norm = 0; + else X1_norm = val / -32767.f; + + X1_norm = (X1_norm - dead_zone / 100.0) * 100.0 / (100.0 - dead_zone); + if (X1_norm < 0) X1_norm = 0; - char ans = (char)(127 * X1_norm * joy_range / 100); - n64_data.y_axis = reverse(ans); - } - else - { - X1_norm = val / 32768.f; - X1_norm = (X1_norm + dead_zone / 100.0) * 100.0 / (100.0 - dead_zone); - if (X1_norm > 0) X1_norm = 0; - - char ans = (char)(128 * X1_norm * joy_range / 100); - n64_data.y_axis = reverse(ans); - } + ans = (char)(127 * X1_norm * joy_range / 100); + if (val < 0) ans = -ans; + n64_data.y_axis = reverse(ans); // Generic analog stick /*if(LSX > DEADZONE)