MHeironimus / ArduinoJoystickLibrary

An Arduino library that adds one or more joysticks to the list of HID devices an Arduino Leonardo or Arduino Micro can support.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Problem with Joystick.sendState() in setup()

mistepien opened this issue · comments

commented

This is code for simple joystick for vice emulator. In setup() I wanted to set axis X and Y in center. It works only with huge delay().

`Joystick_ Joystick(JOYSTICK_DEFAULT_REPORT_ID, JOYSTICK_TYPE_JOYSTICK,
3, 0, // Button Count, Hat Switch Count
true, true, false, // X and Y, but no Z Axis
false, false, false, // No Rx, Ry, or Rz
false, false, // No rudder or throttle
false, false, false); // No accelerator, brake, or steering

void setup() {
Joystick.begin(false);
Joystick.setXAxisRange(-1, 1);
Joystick.setYAxisRange(-1, 1);
delay(2000); //very ugly and dirty hack
Joystick.setXAxis(0);
Joystick.setYAxis(0);
Joystick.sendState();`

If I remove delay(2000) than joystick is not set to center.

You should set axes range before calling Joystick.begin();

commented

It does not work for me. Without "delay(2000)' joystick is set to (-32767,-32767), what is UP-LEFT corner.

`#include <Joystick.h>

Joystick_ Joystick(JOYSTICK_DEFAULT_REPORT_ID, JOYSTICK_TYPE_JOYSTICK,
3, 0, // Button Count, Hat Switch Count
true, true, false, // X and Y, but no Z Axis
false, false, false, // No Rx, Ry, or Rz
false, false, // No rudder or throttle
false, false, false); // No accelerator, brake, or steering

void setup() {
Joystick.setXAxisRange(-1, 1);
Joystick.setYAxisRange(-1, 1);
Joystick.begin(false);
//delay(2000); //very ugly and dirty hack
Joystick.setXAxis(0);
Joystick.setYAxis(0);
Joystick.sendState();
}

void loop() {
// put your main code here, to run repeatedly:

}`