2013-02-02 01:02:55 +00:00
/* Copyright (C) 2013 by Jacob Alexander
2011-09-30 05:22:19 +00:00
*
* Permission is hereby granted , free of charge , to any person obtaining a copy
* of this software and associated documentation files ( the " Software " ) , to deal
* in the Software without restriction , including without limitation the rights
* to use , copy , modify , merge , publish , distribute , sublicense , and / or sell
* copies of the Software , and to permit persons to whom the Software is
* furnished to do so , subject to the following conditions :
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software .
*
* THE SOFTWARE IS PROVIDED " AS IS " , WITHOUT WARRANTY OF ANY KIND , EXPRESS OR
* IMPLIED , INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY ,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT . IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM , DAMAGES OR OTHER
* LIABILITY , WHETHER IN AN ACTION OF CONTRACT , TORT OR OTHERWISE , ARISING FROM ,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE .
*/
2014-01-20 00:40:36 +00:00
# ifndef __output_com_h
# define __output_com_h
2011-09-30 05:22:19 +00:00
// ----- Includes -----
// Compiler Includes
# include <stdint.h>
// Local Includes
2013-02-02 01:02:55 +00:00
# include <buildvars.h> // Defines USB Parameters, partially generated by CMake
2011-09-30 05:22:19 +00:00
// ----- Defines -----
// Indicator for other modules through USBKeys_MaxSize for how capable the USB module is when sending large number of keypresses
# define USB_MAX_KEY_SEND 6
// ----- Variables -----
// Variables used to communciate to the usb module
extern uint8_t USBKeys_Modifiers ;
extern uint8_t USBKeys_Array [ USB_MAX_KEY_SEND ] ;
extern uint8_t USBKeys_Sent ;
extern volatile uint8_t USBKeys_LEDs ;
2013-01-27 06:47:52 +00:00
2011-09-30 05:22:19 +00:00
static const uint8_t USBKeys_MaxSize = USB_MAX_KEY_SEND ;
2013-01-27 06:47:52 +00:00
// Misc variables (XXX Some are only properly utilized using AVR)
extern uint8_t USBKeys_Protocol ;
extern uint8_t USBKeys_Idle_Config ;
extern uint8_t USBKeys_Idle_Count ;
2011-09-30 05:22:19 +00:00
// ----- Functions -----
2014-01-23 10:01:12 +00:00
void output_setup ( ) ;
void output_firmwareReload ( ) ;
2011-09-30 05:22:19 +00:00
# endif