arduino stuffs
Diffstat (limited to 'steer/buttons.cpp')
-rw-r--r--steer/buttons.cpp121
1 files changed, 0 insertions, 121 deletions
diff --git a/steer/buttons.cpp b/steer/buttons.cpp
deleted file mode 100644
index 17c9651..0000000
--- a/steer/buttons.cpp
+++ /dev/null
@@ -1,121 +0,0 @@
-#include "buttons.h"
-#include "Joystick.h"
-#include "Streaming.h"
-
-#define INVERT == HIGH ? LOW : HIGH
-#define TEXT == HIGH ? "high" : "low"
-
-namespace Controller {
-/// pins
-#define STEER_X A0
-#define ACCEL 10
-#define ANY 7 // used for A in gamepad mode, and x in button mode (a accel)````
-#define BRAKE 8
-
-#ifdef GAMEPAD_USE_BUTTONS
-#define PAD_B 1
-#define PAD_X 2
-#endif
-
-#ifdef MODE_STEERING_WHEEL
-Joystick_ Gamepad(JOYSTICK_DEFAULT_REPORT_ID, JOYSTICK_TYPE_MULTI_AXIS, 16, 1, false, false, true, false, false,
- true, false, false, true, true, true);
-#elif defined(MODE_GAMEPAD)
-#define PAD_A 0
-Joystick_ Gamepad(JOYSTICK_DEFAULT_REPORT_ID, JOYSTICK_TYPE_GAMEPAD, 10, 0, true, true, true, true, true, true,
- false, false, false, false, false);
-#endif
-
-void begin() {
- pinMode(STEER_X, INPUT);
- pinMode(ACCEL, INPUT_PULLUP);
- pinMode(BRAKE, INPUT_PULLUP);
- pinMode(ANY, INPUT_PULLUP);
- Gamepad.begin();
-#ifdef MODE_STEERING_WHEEL
- Gamepad.setBrakeRange(0, 1);
- Gamepad.setSteering(1023 / 2);
- Gamepad.setSteeringRange(0, 1);
-#elif defined(MODE_GAMEPAD)
- Gamepad.setRzAxisRange(0, 1);
- Gamepad.setXAxis(1023 / 2);
- Gamepad.setYAxis(1023 / 2);
-#ifdef GAMEPAD_USE_TRIGGERS
- Gamepad.setZAxisRange(0, 1);
-#endif
-#endif
-}
-
-void any() {
- static uint8_t last_any = LOW;
- uint8_t new_any = digitalRead(ANY) INVERT;
- if (new_any != last_any) {
- Serial << "ANY set to " << (new_any TEXT) << endl;
- last_any = new_any;
-#ifdef GAMEPAD_USE_BUTTONS
- Gamepad.setButton(PAD_X, new_any);
-#else
- Gamepad.setButton(PAD_A, new_any);
-#endif
- }
-}
-
-void accel() {
- static uint8_t last_accel_value = LOW; // my pot broke so were back to digital
- uint8_t new_accel = digitalRead(ACCEL) INVERT;
- if (new_accel != last_accel_value) {
- Serial << "ACCEL set to " << (new_accel TEXT) << endl;
- last_accel_value = new_accel;
-#ifdef MODE_GAMEPAD
-#ifdef GAMEPAD_USE_BUTTONS
- Gamepad.setButton(PAD_A, new_accel);
-#elif defined(GAMEPAD_USE_TRIGGERS)
- Gamepad.setRzAxis(new_accel);
-#endif
-#elif defined(MODE_STEERING_WHEEL)
- Gamepad.setAccelerator(new_accel);
-#endif
- }
-}
-
-/// @brief still a button
-void brake() {
- static uint8_t last_brake_value = LOW; // still digital
- uint8_t new_brake = digitalRead(BRAKE) INVERT;
- if (new_brake != last_brake_value) {
- Serial << "BRAKE set to " << (new_brake TEXT) << endl;
- last_brake_value = new_brake;
-#ifdef MODE_GAMEPAD
-#ifdef GAMEPAD_USE_BUTTONS
- Gamepad.setButton(PAD_B, new_brake);
-#elif defined(GAMEPAD_USE_TRIGGERS)
- Gamepad.setZAxis(new_brake); // if this becomes pot, remember to change this
-#endif
-#elif defined(MODE_STEERING_WHEEL)
- Gamepad.setBrake(new_brake);
-#endif
- }
-}
-
-void x() {
- static uint16_t last_x_value = 1023 / 2;
- uint16_t new_x = analogRead(STEER_X);
- if (new_x != last_x_value) {
- // Serial << "X set to " << new_x << endl;
- last_x_value = new_x;
-#ifdef MODE_GAMEPAD
- Gamepad.setXAxis(new_x);
-#elif defined(MODE_STEERING_WHEEL)
- Gamepad.setSteering(new_x);
-#endif
- }
-}
-
-void send() {
- x();
- any();
- accel();
- brake();
-}
-
-} // namespace Controller