mirror of
https://github.com/spice2x/spice2x.github.io.git
synced 2026-08-02 23:00:42 -07:00
Initial commit for GitHub migration based on spice2x-25-03-03
This commit is contained in:
@@ -0,0 +1,67 @@
|
||||
#pragma once
|
||||
|
||||
#include <cstdint>
|
||||
#include <string>
|
||||
#include <windows.h>
|
||||
|
||||
namespace rawinput {
|
||||
|
||||
namespace SextetLights {
|
||||
enum {
|
||||
BASS_NEON = 0,
|
||||
|
||||
MARQUEE_P1_UPPER,
|
||||
MARQUEE_P1_LOWER,
|
||||
MARQUEE_P2_UPPER,
|
||||
MARQUEE_P2_LOWER,
|
||||
|
||||
P1_MENU,
|
||||
P2_MENU,
|
||||
|
||||
P1_UP,
|
||||
P1_DOWN,
|
||||
P1_LEFT,
|
||||
P1_RIGHT,
|
||||
|
||||
P2_UP,
|
||||
P2_DOWN,
|
||||
P2_LEFT,
|
||||
P2_RIGHT
|
||||
};
|
||||
}
|
||||
|
||||
class SextetDevice {
|
||||
private:
|
||||
|
||||
// COM port handle
|
||||
std::string device_name;
|
||||
HANDLE device;
|
||||
|
||||
// number of bytes to contain the full sextet pack and a trailing LF
|
||||
static const size_t FULL_SEXTET_COUNT = 14;
|
||||
|
||||
void set_all(bool state);
|
||||
void fill_packet(uint8_t *buffer, bool *light_state);
|
||||
|
||||
public:
|
||||
|
||||
// only 15 lights are used on SD DDR Cabinets.
|
||||
static const int LIGHT_COUNT = 15;
|
||||
static const std::string LIGHT_NAMES[];
|
||||
|
||||
// state
|
||||
bool is_connected;
|
||||
bool light_state[LIGHT_COUNT];
|
||||
|
||||
SextetDevice(std::string device_name);
|
||||
~SextetDevice();
|
||||
|
||||
bool connect();
|
||||
bool disconnect();
|
||||
|
||||
bool push_light_state();
|
||||
|
||||
void all_on();
|
||||
void all_off();
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user