Bug fixes.
This commit is contained in:
@ -1,5 +1,6 @@
|
||||
// An example sketch using the joystick library, demonstrating recommended usage
|
||||
// of all features.
|
||||
// This code loads the sketch in debug mode. Connect to the Arduino's serial port at 115200 baud to read the output.
|
||||
|
||||
#include <Joystick.h>
|
||||
#include <Matrix.h>
|
||||
@ -18,17 +19,16 @@ using namespace admux;
|
||||
#define BTN3 6
|
||||
#define BTN4 7
|
||||
|
||||
// pins 8-13 are attached to a 3x3 scanning input matrix. Pins 8-10 are the row pins, 11-13 are the column pins
|
||||
// However, note that the column pins are 0-indexed; the actual pins are defined in the Matrix object later.
|
||||
#define MATRIX1 8,0
|
||||
#define MATRIX2 9,0
|
||||
#define MATRIX3 10,0
|
||||
#define MATRIX4 8,1
|
||||
#define MATRIX5 9,1
|
||||
#define MATRIX6 10,1
|
||||
#define MATRIX7 8,2
|
||||
#define MATRIX8 9,2
|
||||
#define MATRIX9 10,2
|
||||
// pins 8-13 are attached to a 3x3 scanning input matrix. Pins 8-10 are the row pins, 11-13 are the column pins.
|
||||
#define MATRIX1 8,11
|
||||
#define MATRIX2 9,11
|
||||
#define MATRIX3 10,11
|
||||
#define MATRIX4 8,12
|
||||
#define MATRIX5 9,12
|
||||
#define MATRIX6 10,12
|
||||
#define MATRIX7 8,13
|
||||
#define MATRIX8 9,13
|
||||
#define MATRIX9 10,13
|
||||
|
||||
// A multiplexer is attached to pins A1-A5
|
||||
#define MUX_SIG A1 // the multiplexer's signal pin is on Analog 1
|
||||
@ -40,14 +40,18 @@ using namespace admux;
|
||||
#define MUX_BTN3 2
|
||||
|
||||
|
||||
bool debug = false;
|
||||
bool debug = true;
|
||||
Joystick js(debug);
|
||||
|
||||
void setup() {
|
||||
js.Init();
|
||||
|
||||
Serial.println("Adding encoder.");
|
||||
js.AddEncoder(ENCODER, ENCODER_PULSED_SPLIT);
|
||||
|
||||
// Different types of button programming are available. BUTTON_PASSTHRU simply passes on the button's
|
||||
// real state, and will be the most common, but you can also change how the button works in software like so...
|
||||
Serial.println("Adding directly connected buttons.");
|
||||
|
||||
// With BUTTON_PULSED, no matter how long the button stays held down, it will only send a button press for 250ms
|
||||
// then deactivate until pressed again.
|
||||
@ -69,8 +73,9 @@ void setup() {
|
||||
// See http://blog.komar.be/how-to-make-a-keyboard-the-matrix/ for a very detailed discussion of how these work.
|
||||
// This is a 3x3 example, so we can get 9 buttons out of 6 inputs.
|
||||
// For faster read results, always add buttons so that buttons with the same *column* are grouped together.
|
||||
Serial.println("Adding matrix.");
|
||||
uint8_t cols[] = {11, 12, 13};
|
||||
Matrix* matrix = new Matrix(cols);
|
||||
Matrix* matrix = new Matrix(cols, 3);
|
||||
js.AddMatrixButton(MATRIX1, matrix, BUTTON_PASSTHRU);
|
||||
js.AddMatrixButton(MATRIX2, matrix, BUTTON_PASSTHRU);
|
||||
js.AddMatrixButton(MATRIX3, matrix, BUTTON_PASSTHRU);
|
||||
@ -83,12 +88,13 @@ void setup() {
|
||||
|
||||
// another way to get more room for our inputs, this code adds a 16-channel multiplexer.
|
||||
// It only attaches 3 buttons, but could attach up to channel 15.
|
||||
Serial.println("Adding multiplexer.");
|
||||
Mux* mux = new Mux(Pin(MUX_SIG, INPUT_PULLUP, PinType::Digital), Pinset(MUX_ADDR));
|
||||
js.AddMuxButton(MUX_BTN1, mux, BUTTON_PASSTHRU);
|
||||
js.AddMuxButton(MUX_BTN2, mux, BUTTON_PASSTHRU);
|
||||
js.AddMuxButton(MUX_BTN3, mux, BUTTON_PASSTHRU);
|
||||
|
||||
js.Init();
|
||||
Serial.println("Example joystick fully configured.");
|
||||
}
|
||||
|
||||
void loop() {
|
||||
|
Reference in New Issue
Block a user