58 lines
1.5 KiB
C
58 lines
1.5 KiB
C
#include "oryx.h"
|
|
|
|
bool oryx_state_live_training_enabled;
|
|
|
|
bool webusb_receive_oryx(uint8_t *data, uint8_t length) {
|
|
uint8_t command = data[0];
|
|
uint8_t param = data[1];
|
|
|
|
switch (command) {
|
|
case ORYX_GET_LAYER:
|
|
oryx_layer_event();
|
|
return true; break;
|
|
case ORYX_CMD_LIVE_TRAINING: {
|
|
uint8_t event[4];
|
|
switch (param) { // 0 for state, 1 for off, 2 for on
|
|
case 0:
|
|
break;
|
|
case 1:
|
|
oryx_state_live_training_enabled = false;
|
|
break;
|
|
case 2:
|
|
oryx_state_live_training_enabled = true;
|
|
break;
|
|
default:
|
|
webusb_error(WEBUSB_STATUS_UNKNOWN_COMMAND);
|
|
return true;
|
|
}
|
|
event[0] = WEBUSB_STATUS_OK;
|
|
event[1] = WEBUSB_EVT_PAIRED;
|
|
event[2] = oryx_state_live_training_enabled;
|
|
event[3] = WEBUSB_STOP_BIT;
|
|
webusb_send(event, sizeof(event));
|
|
return true;
|
|
}
|
|
default:
|
|
return webusb_receive_kb(data, length);
|
|
|
|
}
|
|
}
|
|
|
|
|
|
void oryx_layer_event(void) {
|
|
uint8_t layer;
|
|
uint8_t event[4];
|
|
layer = get_highest_layer(layer_state);
|
|
#ifdef WEBUSB_ENABLE
|
|
event[0] = WEBUSB_STATUS_OK;
|
|
event[1] = ORYX_EVT_LAYER;
|
|
event[2] = layer;
|
|
event[3] = WEBUSB_STOP_BIT;
|
|
webusb_send(event, sizeof(event));
|
|
#endif
|
|
}
|
|
|
|
bool is_oryx_live_training_enabled(void) {
|
|
return oryx_state_live_training_enabled;
|
|
}
|