ABSTRACT
This project meant to create full-features joystick, the project covers the hardware design and the firmware, as well as software to test the signals sent by the joystick.
The USB joystick in this project was created with 13 fire buttons (action buttons) and one directions controller which uses two coordinates X and Y. because of limitation of I/O ports, the Z coordinate was written in the software but it was not be implemented in the Hardware.
The communication between devices and a host controller uses USB 2.0 specification in Full-Speed mode as it was defined in Universal Serial Bus Implementers Forum [1]. The standard USB A plug was used in order to make the project more portable.
The USB joystick in this project was created with 13 fire buttons (action buttons) and one directions controller which uses two coordinates X and Y. because of limitation of I/O ports, the Z coordinate was written in the software but it was not be implemented in the Hardware.
The communication between devices and a host controller uses USB 2.0 specification in Full-Speed mode as it was defined in Universal Serial Bus Implementers Forum [1]. The standard USB A plug was used in order to make the project more portable.
Joystick firmware was written in ANSI C, and the joystick software tester was written in Microsoft Visual C# 2008. Also an external header files from microchip were used to establish safe USB connection [2].
The MPLAB version 8.60.00 [3], C18 compiler version v3.37.01 [4], SlimDX SDK version 11.43.00 [5], Visual Studio version 9.0.21022.8 [6] and Microsoft framework version 3.5 SP1 [7] were used to create and test the system.
The term joystick is used within this project to refer to gamepad or control pad since they are almost differ in the physical appearance.
SUMMARY
Approach Type | Optimized |
PL | C# and ANSI C |
Processor | PIC18F4550 |
Libraries | Microchip USB Framework |
Compiler | Microsoft C# Compiler, Microchip C18 Compiler |
REFERENCES
[1] Universal Serial Bus Implementers Forum Full and Low Speed Electrical and Interoperability Compliance Test Procedure
[2] USB CDC Class on an Embedded Device
[3] MPLAB
[4] Microchip C18 Compiler
[5] SlimDX
[6] Microsoft Visual Studio
[7] Microsoft Framework
[2] USB CDC Class on an Embedded Device
[3] MPLAB
[4] Microchip C18 Compiler
[5] SlimDX
[6] Microsoft Visual Studio
[7] Microsoft Framework