| 586 | } |
| 587 | |
| 588 | int Joystick_::buildAndSet16BitValue(bool includeValue, int32_t value, int32_t valueMinimum, int32_t valueMaximum, int32_t actualMinimum, int32_t actualMaximum, uint8_t dataLocation[]) |
| 589 | { |
| 590 | int32_t convertedValue; |
| 591 | uint8_t highByte; |
| 592 | uint8_t lowByte; |
| 593 | int32_t realMinimum = min(valueMinimum, valueMaximum); |
| 594 | int32_t realMaximum = max(valueMinimum, valueMaximum); |
| 595 | |
| 596 | if (includeValue == false) return 0; |
| 597 | |
| 598 | if (value < realMinimum) { |
| 599 | value = realMinimum; |
| 600 | } |
| 601 | if (value > realMaximum) { |
| 602 | value = realMaximum; |
| 603 | } |
| 604 | |
| 605 | if (valueMinimum > valueMaximum) { |
| 606 | // Values go from a larger number to a smaller number (e.g. 1024 to 0) |
| 607 | value = realMaximum - value + realMinimum; |
| 608 | } |
| 609 | |
| 610 | convertedValue = map(value, realMinimum, realMaximum, actualMinimum, actualMaximum); |
| 611 | |
| 612 | highByte = (uint8_t)(convertedValue >> 8); |
| 613 | lowByte = (uint8_t)(convertedValue & 0x00FF); |
| 614 | |
| 615 | dataLocation[0] = lowByte; |
| 616 | dataLocation[1] = highByte; |
| 617 | |
| 618 | return 2; |
| 619 | } |
| 620 | |
| 621 | int Joystick_::buildAndSetAxisValue(bool includeAxis, int32_t axisValue, int32_t axisMinimum, int32_t axisMaximum, uint8_t dataLocation[]) |
| 622 | { |
nothing calls this directly
no outgoing calls
no test coverage detected