110 lines
3.3 KiB
C
110 lines
3.3 KiB
C
/*
|
|
* Author: klaute -Kai Lauterbach - @kailauterbach - me@klaute.de
|
|
* Date: 08/2016
|
|
* License: GPLv3
|
|
*/
|
|
|
|
#ifndef __COMMAND_CONFIG_H__
|
|
#define __COMMAND_CONFIG_H__
|
|
|
|
/*****************************************************************************/
|
|
|
|
#include <stdio.h>
|
|
#include <string.h>
|
|
|
|
#include <avr/wdt.h>
|
|
|
|
#include "config_helper.h"
|
|
#include "led_matrix.h"
|
|
#include "globals.h"
|
|
|
|
/*****************************************************************************/
|
|
|
|
extern uint8_t key_config[EEP_KEY_CNT][EEP_KEY_SEQ_LEN][EEP_KEY_TUPLE_LEN];
|
|
extern uint8_t os_type;
|
|
extern uint8_t keystroke_delay;
|
|
|
|
/*****************************************************************************/
|
|
|
|
void cc_getConfig(void);
|
|
void cc_setKeyConfig(void);
|
|
void cc_setLEDState(void);
|
|
void cc_setOSType(void);
|
|
void cc_startBootloader(void);
|
|
void cc_saveFullSampleCfg(void);
|
|
void cc_setKeyStrokeDelay(void);
|
|
|
|
/*****************************************************************************/
|
|
|
|
#define CC_CMD_GET_CONFIG 0x0A
|
|
#define CC_CMD_SET_KEY_CONFIG 0x14
|
|
#define CC_CMD_SET_LED_STATE 0x1E
|
|
#define CC_CMD_SET_OS_TYPE 0x28
|
|
#define CC_CMD_START_BTLDR 0x32
|
|
#define CC_CMD_SSKC 0x3C
|
|
#define CC_CMD_SET_KS_DELAY 0x46
|
|
//#define CC_CMD_SET_BAUDRATE 0x32
|
|
|
|
/*****************************************************************************/
|
|
|
|
#define CC_CMD_GET_CONFIG_FUNC &cc_getConfig
|
|
#define CC_CMD_SET_KEY_CONFIG_FUNC &cc_setKeyConfig
|
|
#define CC_CMD_SET_LED_STATE_FUNC &cc_setLEDState
|
|
#define CC_CMD_SET_OS_TYPE_FUNC &cc_setOSType
|
|
#define CC_CMD_START_BTLDR_FUNC &cc_startBootloader
|
|
#define CC_CMD_SSKC_FUNC &cc_saveFullSampleCfg
|
|
#define CC_CMD_SET_KS_DELAY_FUNC &cc_setKeyStrokeDelay
|
|
//#define CC_CMD_SET_BAUDRATE_FUNC &cc_setBaudrate
|
|
|
|
/*****************************************************************************/
|
|
|
|
#define CC_CMD_GET_CONFIG_DATA_TO_READ 0
|
|
#define CC_CMD_SET_KEY_CONFIG_DATA_TO_READ 41 // Key number, 40 byte sequence data
|
|
#define CC_CMD_SET_LED_STATE_DATA_TO_READ 2 // LED number, state
|
|
#define CC_CMD_SET_OS_TYPE_DATA_TO_READ 1 // the OS type
|
|
#define CC_CMD_START_BTLDR_DATA_TO_READ 0 // start bootloader
|
|
#define CC_CMD_SSKC_DATA_TO_READ 0 // save sample key config
|
|
#define CC_CMD_SET_KS_DELAY_DATA_TO_READ 1 // the keystroke delay value
|
|
|
|
/*****************************************************************************/
|
|
|
|
#define CC_READ_DATA_MAX 64
|
|
|
|
/*****************************************************************************/
|
|
|
|
uint8_t cc_commands[] = {
|
|
CC_CMD_GET_CONFIG,
|
|
CC_CMD_SET_KEY_CONFIG,
|
|
CC_CMD_SET_LED_STATE,
|
|
CC_CMD_SET_OS_TYPE,
|
|
CC_CMD_START_BTLDR,
|
|
CC_CMD_SSKC,
|
|
CC_CMD_SET_KS_DELAY,
|
|
};
|
|
|
|
void (*cc_cmd_functions[])() = {
|
|
CC_CMD_GET_CONFIG_FUNC,
|
|
CC_CMD_SET_KEY_CONFIG_FUNC,
|
|
CC_CMD_SET_LED_STATE_FUNC,
|
|
CC_CMD_SET_OS_TYPE_FUNC,
|
|
CC_CMD_START_BTLDR_FUNC,
|
|
CC_CMD_SSKC_FUNC,
|
|
CC_CMD_SET_KS_DELAY_FUNC,
|
|
};
|
|
|
|
uint8_t cc_cmd_data_to_read[] = {
|
|
CC_CMD_GET_CONFIG_DATA_TO_READ,
|
|
CC_CMD_SET_KEY_CONFIG_DATA_TO_READ,
|
|
CC_CMD_SET_LED_STATE_DATA_TO_READ,
|
|
CC_CMD_SET_OS_TYPE_DATA_TO_READ,
|
|
CC_CMD_START_BTLDR_DATA_TO_READ,
|
|
CC_CMD_SSKC_DATA_TO_READ,
|
|
CC_CMD_SET_KS_DELAY_DATA_TO_READ,
|
|
};
|
|
|
|
uint8_t cc_read_data[CC_READ_DATA_MAX];
|
|
|
|
/*****************************************************************************/
|
|
|
|
#endif
|
|
|