|
12 | 12 |
|
13 | 13 | bool JSliderInput::available() { |
14 | 14 | const SliderOptions& options = Storage::getInstance().getAddonOptions().sliderOptions; |
15 | | - return ( options.enabled && isValidPin(options.pinLS) && isValidPin(options.pinRS) ); |
| 15 | + return ( options.enabled && (isValidPin(options.pinLS) || isValidPin(options.pinRS)) ); |
16 | 16 | } |
17 | 17 |
|
18 | 18 | void JSliderInput::setup() |
19 | 19 | { |
20 | 20 | const SliderOptions& options = Storage::getInstance().getAddonOptions().sliderOptions; |
21 | | - pinSliderLS = options.pinLS; |
22 | | - pinSliderRS = options.pinRS; |
23 | | - |
24 | | - gpio_init(pinSliderLS); // Initialize pin |
25 | | - gpio_set_dir(pinSliderLS, GPIO_IN); // Set as INPUT |
26 | | - gpio_pull_up(pinSliderLS); // Set as PULLUP |
27 | | - gpio_init(pinSliderRS); |
28 | | - gpio_set_dir(pinSliderRS, GPIO_IN); // Set as INPUT |
29 | | - gpio_pull_up(pinSliderRS); // Set as PULLUP |
| 21 | + if ( isValidPin(options.pinLS)) { |
| 22 | + gpio_init(options.pinLS); // Initialize pin |
| 23 | + gpio_set_dir(options.pinLS, GPIO_IN); // Set as INPUT |
| 24 | + gpio_pull_up(options.pinLS); // Set as PULLUP |
| 25 | + } |
| 26 | + if ( isValidPin(options.pinRS)) { |
| 27 | + gpio_init(options.pinRS); |
| 28 | + gpio_set_dir(options.pinRS, GPIO_IN); // Set as INPUT |
| 29 | + gpio_pull_up(options.pinRS); // Set as PULLUP |
| 30 | + } |
30 | 31 | } |
31 | 32 |
|
32 | 33 | DpadMode JSliderInput::read() { |
33 | | - if ( pinSliderLS != (uint8_t)-1 && pinSliderRS != (uint8_t)-1) { |
34 | | - if ( !gpio_get(pinSliderLS)) { |
35 | | - return DPAD_MODE_LEFT_ANALOG; |
36 | | - } else if ( !gpio_get(pinSliderRS)) { |
37 | | - return DPAD_MODE_RIGHT_ANALOG; |
38 | | - } |
| 34 | + const SliderOptions& options = Storage::getInstance().getAddonOptions().sliderOptions; |
| 35 | + if ( isValidPin(options.pinLS) && !gpio_get(options.pinLS)) { |
| 36 | + return DPAD_MODE_LEFT_ANALOG; |
| 37 | + } |
| 38 | + if ( isValidPin(options.pinRS) && !gpio_get(options.pinRS)) { |
| 39 | + return DPAD_MODE_RIGHT_ANALOG; |
39 | 40 | } |
40 | 41 | return DPAD_MODE_DIGITAL; |
41 | 42 | } |
|
0 commit comments