view Scan/avr-capsense/scan_loop.h @ 85:0e3157680bd1

Adapting the avr-capsense code to the Kiibohd Controller API - Adding "template" keymap - Removed "stray" functions, variables - Cleaned up warnings - Now builds - Added buffered macro integration (rather than dealing with USB directly) - Updated the print messages to use the Kiibohd print header TODO - Add generic matrix integration (this will require some changes to the matrix code) - Add more comments...lots more - Clean up dead code
author Jacob Alexander <triplehaata@gmail.com>
date Sat, 13 Apr 2013 22:35:59 -0400
parents
children 5ed7aa36e0b9
line wrap: on
line source

/* Copyright (C) 2013 by Jacob Alexander
 * 
 * dfj, put whatever license here you want
 * This file will probably be removed though.
 */

#ifndef __SCAN_LOOP_H
#define __SCAN_LOOP_H

// ----- Includes -----

// Compiler Includes
#include <stdint.h>

// Local Includes



// ----- Defines -----

#define KEYBOARD_KEYS 0xFF // TODO Determine max number of keys
#define KEYBOARD_BUFFER 24 // Max number of key signals to buffer
                           // This limits the NKRO-ability, so at 24, the keyboard is 24KRO
                           // The buffer is really only needed for converter modules
                           // An alternative macro module could be written for matrix modules and still work well



// ----- Variables -----

extern volatile     uint8_t KeyIndex_Buffer[KEYBOARD_BUFFER];
extern volatile     uint8_t KeyIndex_BufferUsed;



// ----- Functions -----

// Functions used by main.c
void scan_setup( void );
uint8_t scan_loop( void );


// Functions available to macro.c
uint8_t scan_sendData( uint8_t dataPayload );

void scan_finishedWithBuffer( uint8_t sentKeys );
void scan_finishedWithUSBBuffer( uint8_t sentKeys );
void scan_lockKeyboard( void );
void scan_unlockKeyboard( void );
void scan_resetKeyboard( void );


#endif // __SCAN_LOOP_H