I'm trying to update usb_desc.h to add USB_SERIAL_FLIGHTSIM_JOYSTICK, so I started by changing USB_FLIGHTSIM_JOYSTICK:
This works as it should.
Now when I change #elif defined(USB_FLIGHTSIM_JOYSTICK) to #elif defined(USB_SERIAL_FLIGHTSIM_JOYSTICK) my build fails with a bunch of joystick not declared errors.
I grepped all the files in the relevant folders for USB_FLIGHTSIM_JOYSTICK to search for clues as to why this would happen, I'm stumped.
It is as if build_flags = -D USB_SERIAL_FLIGHTSIM_JOYSTICK in platformio.ini is ignored, but if I change it to USB_FLIGHTSIM_JOYSTICK it works.
Can someone enlighten me?
Code:
#elif defined(USB_FLIGHTSIM_JOYSTICK)
#define VENDOR_ID 0x16C0
#define PRODUCT_ID 0x0488
#define BCD_DEVICE 0x0211
#define MANUFACTURER_NAME {'T','e','e','n','s','y','d','u','i','n','o'}
#define MANUFACTURER_NAME_LEN 11
#define PRODUCT_NAME {'T','e','e','n','s','y',' ','F','l','i','g','h','t',' ','S','i','m',' ','C','o','n','t','r','o','l','s'}
#define PRODUCT_NAME_LEN 26
#define DEVICE_CLASS 2 // 2 = Communication Class
#define EP0_SIZE 64
#define NUM_ENDPOINTS 9
#define NUM_USB_BUFFERS 30
#define NUM_INTERFACE 3
#define FLIGHTSIM_INTERFACE 0 // Flight Sim Control
#define FLIGHTSIM_TX_ENDPOINT 6
#define FLIGHTSIM_TX_SIZE 64
#define FLIGHTSIM_TX_INTERVAL 1
#define FLIGHTSIM_RX_ENDPOINT 7
#define FLIGHTSIM_RX_SIZE 64
#define FLIGHTSIM_RX_INTERVAL 1
#define CDC_STATUS_INTERFACE 0
#define CDC_DATA_INTERFACE 1
#define CDC_ACM_ENDPOINT 1
#define CDC_RX_ENDPOINT 2
#define CDC_TX_ENDPOINT 3
#define CDC_ACM_SIZE 16
#define CDC_RX_SIZE 64
#define CDC_TX_SIZE 64
#define JOYSTICK_INTERFACE 2 // Joystick
#define JOYSTICK_ENDPOINT 8
#define JOYSTICK_SIZE 64 // 12 = normal, 64 = extreme joystick
#define JOYSTICK_INTERVAL 1
#define ENDPOINT1_CONFIG ENDPOINT_TRANSMIT_ONLY
#define ENDPOINT2_CONFIG ENDPOINT_RECEIVE_ONLY
#define ENDPOINT3_CONFIG ENDPOINT_TRANSMIT_ONLY
#define ENDPOINT4_CONFIG ENDPOINT_TRANSMIT_ONLY // 1
#define ENDPOINT5_CONFIG ENDPOINT_RECEIVE_ONLY // 2
#define ENDPOINT6_CONFIG ENDPOINT_TRANSMIT_ONLY // 3
#define ENDPOINT7_CONFIG ENDPOINT_RECEIVE_ONLY // 4
#define ENDPOINT8_CONFIG ENDPOINT_TRANSMIT_ONLY // 5
This works as it should.
Now when I change #elif defined(USB_FLIGHTSIM_JOYSTICK) to #elif defined(USB_SERIAL_FLIGHTSIM_JOYSTICK) my build fails with a bunch of joystick not declared errors.
I grepped all the files in the relevant folders for USB_FLIGHTSIM_JOYSTICK to search for clues as to why this would happen, I'm stumped.
It is as if build_flags = -D USB_SERIAL_FLIGHTSIM_JOYSTICK in platformio.ini is ignored, but if I change it to USB_FLIGHTSIM_JOYSTICK it works.
Can someone enlighten me?