]> git.donarmstrong.com Git - kiibohd-controller.git/blobdiff - Scan/Kaypro1/scan_loop.c
Bootloader fix
[kiibohd-controller.git] / Scan / Kaypro1 / scan_loop.c
index 97d0318b97b02bd66b56076415ac77f03c1223ce..be17c9e8de60be1f2c91af2710f372659da3a595 100644 (file)
@@ -1,15 +1,15 @@
-/* Copyright (C) 2011-2013 by Jacob Alexander
- * 
+/* Copyright (C) 2011-2014 by Jacob Alexander
+ *
  * 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
@@ -21,9 +21,8 @@
 
 // ----- Includes -----
 
-// AVR Includes
-#include <avr/interrupt.h>
-#include <avr/io.h>
+// Compiler Includes
+#include <Lib/ScanLib.h>
 
 // Project Includes
 #include <led.h>
 
 // ----- Macros -----
 
-// Make sure we haven't overflowed the buffer
-#define bufferAdd(byte) \
-               if ( KeyIndex_BufferUsed < KEYBOARD_BUFFER ) \
-                       KeyIndex_Buffer[KeyIndex_BufferUsed++] = byte
-
 
 
 // ----- Variables -----
@@ -67,10 +61,10 @@ static uint8_t cmd_ACK_AA    = 0x10; // Keyboard will send ack (0xAA) back to PC
 // ----- Functions -----
 
 // Setup
-inline void scan_setup()
+inline void Scan_setup()
 {
        // Setup the the USART interface for keyboard data input
-       
+
        // Setup baud rate
        // 16 MHz / ( 16 * Baud ) = UBRR
        // Baud <- 3.358 ms per bit, thus 1000 / 3.358 = 297.80
@@ -93,7 +87,7 @@ inline void scan_setup()
 // Nothing is needed here for the Kaypro, but the function is available as part of the api to be called in a polling fashion
 // TODO
 //  - Add songs :D
-inline uint8_t scan_loop()
+inline uint8_t Scan_loop()
 {
        // We *could* do extra offline processing here, but, it's not really needed for the Kaypro 1 keyboard
        return 0;
@@ -127,7 +121,7 @@ ISR(USART1_RX_vect)
        case 0x09: // ^I
        case 0x0D: // ^M
        case 0x1B: // ^[
-               bufferAdd( keyValue );
+               Macro_bufferAdd( keyValue );
                break;
        // 0x40 Offset Keys
        // Add Ctrl key and offset to the lower alphabet
@@ -136,8 +130,8 @@ ISR(USART1_RX_vect)
        case 0x1D: // ^]
        case 0x1E: // ^^
        case 0x1F: // ^_
-               bufferAdd( 0xF6 );
-               bufferAdd( keyValue + 0x40 );
+               Macro_bufferAdd( 0xF6 );
+               Macro_bufferAdd( keyValue + 0x40 );
                break;
 
        // - Add Shift key and offset to non-shifted key -
@@ -146,73 +140,73 @@ ISR(USART1_RX_vect)
        case 0x23: // #
        case 0x24: // $
        case 0x25: // %
-               bufferAdd( 0xF5 );
-               bufferAdd( keyValue + 0x10 );
+               Macro_bufferAdd( 0xF5 );
+               Macro_bufferAdd( keyValue + 0x10 );
                break;
        // 0x11 Offset Keys
        case 0x26: // &
        case 0x28: // (
-               bufferAdd( 0xF5 );
-               bufferAdd( keyValue + 0x11 );
+               Macro_bufferAdd( 0xF5 );
+               Macro_bufferAdd( keyValue + 0x11 );
                break;
        // 0x07 Offset Keys
        case 0x29: // )
-               bufferAdd( 0xF5 );
-               bufferAdd( keyValue + 0x07 );
+               Macro_bufferAdd( 0xF5 );
+               Macro_bufferAdd( keyValue + 0x07 );
                break;
        // -0x0E Offset Keys
        case 0x40: // @
-               bufferAdd( 0xF5 );
-               bufferAdd( keyValue - 0x0E );
+               Macro_bufferAdd( 0xF5 );
+               Macro_bufferAdd( keyValue - 0x0E );
                break;
        // 0x0E Offset Keys
        case 0x2A: // *
-               bufferAdd( 0xF5 );
-               bufferAdd( keyValue + 0x0E );
+               Macro_bufferAdd( 0xF5 );
+               Macro_bufferAdd( keyValue + 0x0E );
                break;
        // 0x12 Offset Keys
        case 0x2B: // +
-               bufferAdd( 0xF5 );
-               bufferAdd( keyValue + 0x12 );
+               Macro_bufferAdd( 0xF5 );
+               Macro_bufferAdd( keyValue + 0x12 );
                break;
        // 0x05 Offset Keys
        case 0x22: // "
-               bufferAdd( 0xF5 );
-               bufferAdd( keyValue + 0x05 );
+               Macro_bufferAdd( 0xF5 );
+               Macro_bufferAdd( keyValue + 0x05 );
                break;
        // 0x01 Offset Keys
        case 0x3A: // :
-               bufferAdd( 0xF5 );
-               bufferAdd( keyValue + 0x01 );
+               Macro_bufferAdd( 0xF5 );
+               Macro_bufferAdd( keyValue + 0x01 );
                break;
        // -0x10 Offset Keys
        case 0x3C: // <
        case 0x3E: // >
        case 0x3F: // ?
-               bufferAdd( 0xF5 );
-               bufferAdd( keyValue - 0x10 );
+               Macro_bufferAdd( 0xF5 );
+               Macro_bufferAdd( keyValue - 0x10 );
                break;
        // -0x28 Offset Keys
        case 0x5E: // ^
-               bufferAdd( 0xF5 );
-               bufferAdd( keyValue - 0x28 );
+               Macro_bufferAdd( 0xF5 );
+               Macro_bufferAdd( keyValue - 0x28 );
                break;
        // -0x32 Offset Keys
        case 0x5F: // _
-               bufferAdd( 0xF5 );
-               bufferAdd( keyValue - 0x32 );
+               Macro_bufferAdd( 0xF5 );
+               Macro_bufferAdd( keyValue - 0x32 );
                break;
        // -0x20 Offset Keys
        case 0x7B: // {
        case 0x7C: // |
        case 0x7D: // }
-               bufferAdd( 0xF5 );
-               bufferAdd( keyValue - 0x20 );
+               Macro_bufferAdd( 0xF5 );
+               Macro_bufferAdd( keyValue - 0x20 );
                break;
        // -0x1E Offset Keys
        case 0x7E: // ~
-               bufferAdd( 0xF5 );
-               bufferAdd( keyValue - 0x1E );
+               Macro_bufferAdd( 0xF5 );
+               Macro_bufferAdd( keyValue - 0x1E );
                break;
        // All other keys
        default:
@@ -227,8 +221,8 @@ ISR(USART1_RX_vect)
                // Add Ctrl key and offset to the lower alphabet
                if ( keyValue >= 0x00 && keyValue <= 0x1F )
                {
-                       bufferAdd( 0xF6 );
-                       bufferAdd( keyValue + 0x60 );
+                       Macro_bufferAdd( 0xF6 );
+                       Macro_bufferAdd( keyValue + 0x60 );
                }
 
                // Shift Characters are from 0x41 to 0x59
@@ -236,14 +230,14 @@ ISR(USART1_RX_vect)
                // Add Shift key and offset to the lower alphabet
                else if ( keyValue >= 0x41 && keyValue <= 0x5A )
                {
-                       bufferAdd( 0xF5 );
-                       bufferAdd( keyValue + 0x20 );
+                       Macro_bufferAdd( 0xF5 );
+                       Macro_bufferAdd( keyValue + 0x20 );
                }
 
                // Everything else
                else
                {
-                       bufferAdd( keyValue );
+                       Macro_bufferAdd( keyValue );
                }
                break;
        }
@@ -275,35 +269,35 @@ ISR(USART1_RX_vect)
 }
 
 // Send data
-uint8_t scan_sendData( uint8_t dataPayload )
+uint8_t Scan_sendData( uint8_t dataPayload )
 {
        UDR1 = dataPayload;
        return 0;
 }
 
 // Signal KeyIndex_Buffer that it has been properly read
-void scan_finishedWithBuffer( uint8_t sentKeys )
+void Scan_finishedWithBuffer( uint8_t sentKeys )
 {
 }
 
 // Signal that the keys have been properly sent over USB
-void scan_finishedWithUSBBuffer( uint8_t sentKeys )
+void Scan_finishedWithUSBBuffer( uint8_t sentKeys )
 {
 }
 
 // Reset/Hold keyboard
 // NOTE: Does nothing with the BETKB
-void scan_lockKeyboard( void )
+void Scan_lockKeyboard( void )
 {
 }
 
 // NOTE: Does nothing with the BETKB
-void scan_unlockKeyboard( void )
+void Scan_unlockKeyboard( void )
 {
 }
 
 // Reset Keyboard
-void scan_resetKeyboard( void )
+void Scan_resetKeyboard( void )
 {
 }