toyoshim / iona-us

MP07-IONA-US, Designed By Mellow PCB
https://toyoshim.github.io/iona-us/en
BSD 3-Clause "New" or "Revised" License
17 stars 3 forks source link

Xboxコントローラのトリガをアナログに割り当てると値の遷移がおかしくなる #25

Closed toyoshim closed 1 year ago

toyoshim commented 2 years ago

1.40以降の実験版のみで問題になる現象。 One用のコントローラにてRT/LTのアナログ入力値のうち上位8bitの動きがおかしい。 デジタル入力として判定している時は正しく動作しているようなので要確認。

toyoshim commented 1 year ago

seems like the naomi implements a curious logic to handle 8-bits and 16-bits input transparently.

int16_t adjust_value(int16_t jvs_value) {
  if (jvs_value & 0x0080) {
    return jvs_value - 0x0100;
  }
  return jvs_value;
}

with this trick, int8_t can be extended to int16_t, and int16_t can return a near value that contains ~0.5% noise.