Archived
1
0

Fixing compiler errors for usbMuxUart Output module

- Removing (currently) redundant usbMuxUart capabilities.kll file
- Issues were due to the recent AddModule cmake function addition
This commit is contained in:
Jacob Alexander 2015-03-06 23:37:09 -08:00
parent ae6daa0e5c
commit 733201d39b
4 changed files with 91 additions and 18 deletions

View File

@ -1,14 +0,0 @@
Name = usbMuxUartCapabilities;
Version = 0.1;
Author = "HaaTa (Jacob Alexander) 2014";
KLL = 0.3;
# Modified Date
Date = 2014-09-28;
# Capabilties available to the usbMuxUart output module
consCtrlOut => Output_consCtrlSend_capability( consCode : 2 );
sysCtrlOut => Output_sysCtrlSend_capability( sysCode : 1 );
usbKeyOut => Output_usbCodeSend_capability( usbCode : 1 );

View File

@ -33,10 +33,10 @@
// USB Includes
#if defined(_at90usb162_) || defined(_atmega32u4_) || defined(_at90usb646_) || defined(_at90usb1286_)
#elif defined(_mk20dx128_) || defined(_mk20dx128vlf5_) || defined(_mk20dx256_) || defined(_mk20dx256vlh7_)
#include <uartOut/arm/uart_serial.h>
#include <pjrcUSB/arm/usb_dev.h>
#include <pjrcUSB/arm/usb_keyboard.h>
#include <pjrcUSB/arm/usb_serial.h>
#include <arm/uart_serial.h>
#include <arm/usb_dev.h>
#include <arm/usb_keyboard.h>
#include <arm/usb_serial.h>
#endif
// Local Includes
@ -135,10 +135,69 @@ USBKeyChangeState USBKeys_Changed = USBKeyChangeState_None;
// 0 is often used to show that a USB cable is not plugged in (but has power)
uint8_t Output_Available = 0;
// Debug control variable for Output modules
// 0 - Debug disabled (default)
// 1 - Debug enabled
uint8_t Output_DebugMode = 0;
// ----- Capabilities -----
// Set Boot Keyboard Protocol
void Output_kbdProtocolBoot_capability( uint8_t state, uint8_t stateType, uint8_t *args )
{
// Display capability name
if ( stateType == 0xFF && state == 0xFF )
{
print("Output_kbdProtocolBoot()");
return;
}
// Only set if necessary
if ( USBKeys_Protocol == 0 )
return;
// TODO Analog inputs
// Only set on key press
if ( stateType != 0x01 )
return;
// Flush the key buffers
Output_flushBuffers();
// Set the keyboard protocol to Boot Mode
USBKeys_Protocol = 0;
}
// Set NKRO Keyboard Protocol
void Output_kbdProtocolNKRO_capability( uint8_t state, uint8_t stateType, uint8_t *args )
{
// Display capability name
if ( stateType == 0xFF && state == 0xFF )
{
print("Output_kbdProtocolNKRO()");
return;
}
// Only set if necessary
if ( USBKeys_Protocol == 1 )
return;
// TODO Analog inputs
// Only set on key press
if ( stateType != 0x01 )
return;
// Flush the key buffers
Output_flushBuffers();
// Set the keyboard protocol to NKRO Mode
USBKeys_Protocol = 1;
}
// Sends a Consumer Control code to the USB Output buffer
void Output_consCtrlSend_capability( uint8_t state, uint8_t stateType, uint8_t *args )
{
@ -374,6 +433,20 @@ void Output_usbCodeSend_capability( uint8_t state, uint8_t stateType, uint8_t *a
// ----- Functions -----
// Flush Key buffers
void Output_flushBuffers()
{
// Zero out USBKeys_Keys array
for ( uint8_t c = 0; c < USB_NKRO_BITFIELD_SIZE_KEYS; c++ )
USBKeys_Keys[ c ] = 0;
// Zero out other key buffers
USBKeys_ConsCtrl = 0;
USBKeys_Modifiers = 0;
USBKeys_SysCtrl = 0;
}
// USB Module Setup
inline void Output_setup()
{

View File

@ -80,6 +80,8 @@ extern USBKeyChangeState USBKeys_Changed;
extern uint8_t Output_Available; // 0 - Output module not fully functional, 1 - Output module working
extern uint8_t Output_DebugMode; // 0 - Debug disabled, 1 - Debug enabled
// ----- Capabilities -----
@ -88,6 +90,10 @@ void Output_consCtrlSend_capability( uint8_t state, uint8_t stateType, uint8_t *
void Output_sysCtrlSend_capability( uint8_t state, uint8_t stateType, uint8_t *args );
void Output_usbCodeSend_capability( uint8_t state, uint8_t stateType, uint8_t *args );
// Configuration capabilities
void Output_kbdProtocolBoot_capability( uint8_t state, uint8_t stateType, uint8_t *args );
void Output_kbdProtocolNKRO_capability( uint8_t state, uint8_t stateType, uint8_t *args );
// ----- Functions -----
@ -95,6 +101,8 @@ void Output_usbCodeSend_capability( uint8_t state, uint8_t stateType, uint8_t *a
void Output_setup();
void Output_send();
void Output_flushBuffers();
void Output_firmwareReload();
void Output_softReset();

View File

@ -23,6 +23,12 @@ set( Module_SRCS
output_com.c
)
# Remove duplicate output_com.c files from pjrcUSB and uartOut
list ( REMOVE_ITEM Output_SRCS
Output/pjrcUSB/output_com.c
Output/uartOut/output_com.c
)
###
# Compiler Family Compatibility