]> git.donarmstrong.com Git - kiibohd-controller.git/blobdiff - main.c
Updating udev rules to reflect the USB ID changes.
[kiibohd-controller.git] / main.c
diff --git a/main.c b/main.c
index 7412fc6c99de56606dc9ebf8974e1a720bc37843..d6b7ee65571f26988bd4adde17b0e417cf31e166 100644 (file)
--- a/main.c
+++ b/main.c
 
 
 
-// ----- Function Declarations -----
-
-
-
 // ----- Variables -----
 
 // Timer Interrupt for flagging a send of the sampled key detection data to the USB host
@@ -65,42 +61,7 @@ volatile uint8_t sendKeypresses = 0;
 
 // ----- Functions -----
 
-// Initial Pin Setup, make sure they are sane
-inline void pinSetup(void)
-{
-
-// AVR
-#if defined(_at90usb162_) || defined(_atmega32u4_) || defined(_at90usb646_) || defined(_at90usb1286_)
-
-       // For each pin, 0=input, 1=output
-#if defined(__AVR_AT90USB1286__)
-       DDRA = 0x00;
-#endif
-       DDRB = 0x00;
-       DDRC = 0x00;
-       DDRD = 0x00;
-       DDRE = 0x00;
-       DDRF = 0x00;
-
-
-       // Setting pins to either high or pull-up resistor
-#if defined(__AVR_AT90USB1286__)
-       PORTA = 0x00;
-#endif
-       PORTB = 0x00;
-       PORTC = 0x00;
-       PORTD = 0x00;
-       PORTE = 0x00;
-       PORTF = 0x00;
-
-// ARM
-#elif defined(_mk20dx128_)
-       // TODO - Should be cleared, but not that necessary due to the pin layout
-#endif
-}
-
-
-inline void usbTimerSetup(void)
+inline void usbTimerSetup()
 {
 // AVR
 #if defined(_at90usb162_) || defined(_atmega32u4_) || defined(_at90usb646_) || defined(_at90usb1286_)
@@ -115,7 +76,7 @@ inline void usbTimerSetup(void)
        TIMSK0 = (1 << TOIE0);
 
 // ARM
-#elif defined(_mk20dx128_)
+#elif defined(_mk20dx128_) || defined(_mk20dx128vlf5_) || defined(_mk20dx256_) // ARM
        // 48 MHz clock by default
 
        // System Clock Gating Register Disable
@@ -135,44 +96,40 @@ inline void usbTimerSetup(void)
 }
 
 
-int main(void)
+int main()
 {
-       // Configuring Pins
-       pinSetup();
-
        // Enable CLI
-       init_cli();
+       CLI_init();
 
-       // Setup Output Module
-       output_setup();
+       // Setup Modules
+       Output_setup();
+       Macro_setup();
+       Scan_setup();
 
        // Setup ISR Timer for flagging a kepress send to USB
        usbTimerSetup();
 
-       // Setup the scanning module
-       //scan_setup();
-
        // Main Detection Loop
        while ( 1 )
        {
                // Process CLI
-               process_cli();
+               CLI_process();
 
                // Acquire Key Indices
                // Loop continuously until scan_loop returns 0
                cli();
-               //while ( scan_loop() );
+               while ( Scan_loop() );
                sei();
 
                // Run Macros over Key Indices and convert to USB Keys
-               process_macros();
+               Macro_process();
 
                // Send keypresses over USB if the ISR has signalled that it's time
                if ( !sendKeypresses )
                        continue;
 
                // Send USB Data
-               output_send();
+               Output_send();
 
                // Clear sendKeypresses Flag
                sendKeypresses = 0;
@@ -185,8 +142,8 @@ int main(void)
 // USB Keyboard Data Send Counter Interrupt
 #if defined(_at90usb162_) || defined(_atmega32u4_) || defined(_at90usb646_) || defined(_at90usb1286_) // AVR
 ISR( TIMER0_OVF_vect )
-#elif defined(_mk20dx128_) // ARM
-void pit0_isr(void)
+#elif defined(_mk20dx128_) || defined(_mk20dx128vlf5_) || defined(_mk20dx256_) // ARM
+void pit0_isr()
 #endif
 {
        sendKeypressCounter++;
@@ -195,13 +152,9 @@ void pit0_isr(void)
                sendKeypresses = 1;
        }
 
-#if defined(_mk20dx128_) // ARM
+#if defined(_mk20dx128_) || defined(_mk20dx128vlf5_) || defined(_mk20dx256_) // ARM
        // Clear the interrupt flag
        PIT_TFLG0 = 1;
 #endif
 }
 
-
-// ----- CLI Command Functions -----
-
-