mirror of
https://github.com/eried/portapack-mayhem.git
synced 2024-10-01 01:26:06 -04:00
init commit for fix touchscreen bad corner (#1071)
fix a rounding issue and allow more sensible touchscreen
This commit is contained in:
parent
5bdf9363e9
commit
53fcdedb88
@ -71,10 +71,10 @@ Samples get() {
|
||||
const auto yp_reg = LPC_ADC0->DR[portapack::adc0_touch_yp_input];
|
||||
const auto yn_reg = LPC_ADC0->DR[portapack::adc0_touch_yn_input];
|
||||
return {
|
||||
(xp_reg >> 6) & 0x3ff,
|
||||
(xn_reg >> 6) & 0x3ff,
|
||||
(yp_reg >> 6) & 0x3ff,
|
||||
(yn_reg >> 6) & 0x3ff,
|
||||
((xp_reg >> 6) & 0x3ff) * 16,
|
||||
((xn_reg >> 6) & 0x3ff) * 16,
|
||||
((yp_reg >> 6) & 0x3ff) * 16,
|
||||
((yn_reg >> 6) & 0x3ff) * 16,
|
||||
};
|
||||
}
|
||||
|
||||
|
@ -34,16 +34,16 @@ Metrics calculate_metrics(const Frame& frame) {
|
||||
* fast *enough*?), so maybe leave it alone at least for now.
|
||||
*/
|
||||
|
||||
const auto x_max = frame.x.xp;
|
||||
const auto x_min = frame.x.xn;
|
||||
const auto x_max = frame.x.xp / 16;
|
||||
const auto x_min = frame.x.xn / 16;
|
||||
const auto x_range = x_max - x_min;
|
||||
const float x_position = (frame.x.yp + frame.x.yn) * 0.5f;
|
||||
const float x_position = (frame.x.yp / 16 + frame.x.yn / 16) * 0.5f;
|
||||
const float x_norm = (x_position - x_min) / x_range;
|
||||
|
||||
const auto y_max = frame.y.yn;
|
||||
const auto y_min = frame.y.yp;
|
||||
const auto y_max = frame.y.yn / 16;
|
||||
const auto y_min = frame.y.yp / 16;
|
||||
const auto y_range = y_max - y_min;
|
||||
const float y_position = (frame.y.xp + frame.y.xn) * 0.5f;
|
||||
const float y_position = (frame.y.xp / 16 + frame.y.xn / 16) * 0.5f;
|
||||
const float y_norm = (y_position - y_min) / y_range;
|
||||
|
||||
const auto z_max = frame.pressure.yp;
|
||||
|
Loading…
Reference in New Issue
Block a user