Buenas, vuelvo con una consulta con respecto al Joystick. Tengo un Pro Mini. Descargué la librería Arduino Joystick (GitHub - 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.), pude cargar un programa básico de hacer parpadear uno de los leds de la placa pero al intentar compilar el programa para el arduino me salta este error:
C:\Users\Usuario\AppData\Local\Temp\ccbXkCWg.ltrans0.ltrans.o: In function `Joystick_::sendState() [clone .constprop.25]':
c:\Users\Usuario\Documents\Arduino\libraries\src/Joystick.cpp:679: undefined reference to `DynamicHID()'
c:\Users\Usuario\Documents\Arduino\libraries\src/Joystick.cpp:679: undefined reference to `DynamicHID_::SendReport(unsigned char, void const*, int)'
C:\Users\Usuario\AppData\Local\Temp\ccbXkCWg.ltrans0.ltrans.o: In function `global constructors keyed to 65535_0_sketch_oct4a.ino.cpp.o.2293':
<artificial>:(.text.startup+0x2ae): undefined reference to `DynamicHID()'
<artificial>:(.text.startup+0x2b4): undefined reference to `DynamicHID_::AppendDescriptor(DynamicHIDSubDescriptor*)'
collect2.exe: error: ld returned 1 exit status
exit status 1
Compilation error: exit status 1
Estuve buscando, pero no entiendo por donde viene el error. Probé con varias definiciones de JOYSTICK_TYPE_JOYSTICK, pero me da el mismo error. Pego el código:
//Subscribe to NizGamingTech
//Homemade Steering Wheel, Pedals By NizGamingTech
//4 Potentiometer
//Use Arduino Pro Micro
//Tested in ETS 2 and ATS
//Non-Commercial for Personal use only.
#include <Joystick.h>
#define joyRY A2
#define joyRZ A1
#define joyThrottle A3
#define joySteering A0
int ryAxis_ = 0;
int rzAxis_ = 0;
int throttle_ = 0;
int steering_ = 0;
const int numReadings = 10;
int readings[numReadings];
Joystick_ Joystick(0x12, JOYSTICK_TYPE_JOYSTICK, 0, 0,false,false,false,false,true,true,false,true,false,false,true);
const bool initAutoSendState = true;
void setup()
{
Serial.begin(9600);
for (int thisReading = 0; thisReading < numReadings; thisReading++)
{
readings[thisReading] = 0;
}
Joystick.begin();
}
void loop()
{
ryAxis_ = analogRead(joyRY);
ryAxis_ = map(ryAxis_,0,1023,0,255);
Joystick.setRyAxis(ryAxis_);
rzAxis_ = analogRead(joyRZ);
rzAxis_ = map(rzAxis_,0,1023,0,255);
Joystick.setRzAxis(rzAxis_);
throttle_ = analogRead(joyThrottle);
throttle_ = map(throttle_,0,1023,0,255);
Joystick.setThrottle(throttle_);
steering_ = analogRead(joySteering);
steering_ = map(steering_,0,1023,0,1278);
Serial.println(steering_);
delay(0.5);
Joystick.setSteering(steering_);
}
Desde ya muchas gracias,
Saludos,