Cleaning up main.c
- main.c is now mostly complete - Required fixes to matrix.c (some are temporary)
This commit is contained in:
parent
c01efa2d53
commit
05c20112e9
@ -24,9 +24,9 @@
|
|||||||
// AVR Includes
|
// AVR Includes
|
||||||
|
|
||||||
// Project Includes
|
// Project Includes
|
||||||
#include <usb_com.h>
|
|
||||||
#include <scan_loop.h>
|
|
||||||
#include <print.h>
|
#include <print.h>
|
||||||
|
#include <scan_loop.h>
|
||||||
|
#include <usb_com.h>
|
||||||
|
|
||||||
// Keymaps
|
// Keymaps
|
||||||
#include <keymap.h>
|
#include <keymap.h>
|
||||||
|
@ -21,6 +21,9 @@
|
|||||||
|
|
||||||
// ----- Includes -----
|
// ----- Includes -----
|
||||||
|
|
||||||
|
// AVR Includes
|
||||||
|
#include <avr/io.h>
|
||||||
|
|
||||||
// Local Includes
|
// Local Includes
|
||||||
#include "matrix.h"
|
#include "matrix.h"
|
||||||
|
|
||||||
@ -93,9 +96,10 @@ void matrix_pinSetup( uint8_t *matrix )
|
|||||||
uint8_t ddrF = 0x00;
|
uint8_t ddrF = 0x00;
|
||||||
|
|
||||||
// Loop through all the pin assignments, for the initial pin settings
|
// Loop through all the pin assignments, for the initial pin settings
|
||||||
int row, col;
|
//int row, col;
|
||||||
|
|
||||||
// Rows
|
// Rows
|
||||||
|
/*
|
||||||
for ( row = 1; row < sizeof(matrix); row++ ) {
|
for ( row = 1; row < sizeof(matrix); row++ ) {
|
||||||
switch ( matrix[row][col] ) {
|
switch ( matrix[row][col] ) {
|
||||||
PIN_CASE(A):
|
PIN_CASE(A):
|
||||||
@ -136,6 +140,7 @@ void matrix_pinSetup( uint8_t *matrix )
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
// Setting the pins
|
// Setting the pins
|
||||||
DDRA = ddrA;
|
DDRA = ddrA;
|
||||||
@ -158,6 +163,7 @@ void matrix_scan( uint8_t *matrix, uint8_t *detectArray )
|
|||||||
{
|
{
|
||||||
// Column Scan
|
// Column Scan
|
||||||
#if scanMode == scanCol
|
#if scanMode == scanCol
|
||||||
|
/*
|
||||||
uint8_t col = 1;
|
uint8_t col = 1;
|
||||||
uint8_t row = 1;
|
uint8_t row = 1;
|
||||||
for ( ; col < sizeof(matrix[1]); col++ ) {
|
for ( ; col < sizeof(matrix[1]); col++ ) {
|
||||||
@ -176,6 +182,7 @@ void matrix_scan( uint8_t *matrix, uint8_t *detectArray )
|
|||||||
PIN_TEST_COL(PINF);
|
PIN_TEST_COL(PINF);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Row Scan
|
// Row Scan
|
||||||
|
@ -12,6 +12,7 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
set( SCAN_SRCS
|
set( SCAN_SRCS
|
||||||
|
matrix.c
|
||||||
scan_loop.c
|
scan_loop.c
|
||||||
)
|
)
|
||||||
|
|
||||||
|
52
main.c
52
main.c
@ -23,18 +23,15 @@
|
|||||||
|
|
||||||
// AVR Includes
|
// AVR Includes
|
||||||
#include <avr/io.h>
|
#include <avr/io.h>
|
||||||
#include <avr/pgmspace.h>
|
|
||||||
#include <avr/interrupt.h>
|
#include <avr/interrupt.h>
|
||||||
|
|
||||||
// Project Includes
|
// Project Includes
|
||||||
//#include "usb_keys.h"
|
#include <macro.h>
|
||||||
#include "scan_loop.h"
|
#include <scan_loop.h>
|
||||||
//#include "layouts.h"
|
#include <usb_com.h>
|
||||||
//#include "usb_keyboard.h"
|
|
||||||
|
|
||||||
#include "usb_keyboard_debug.h"
|
#include <led.h>
|
||||||
#include "print.h"
|
#include <print.h>
|
||||||
#include "led.h"
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -90,6 +87,7 @@ int main(void)
|
|||||||
|
|
||||||
// Configuring Pins
|
// Configuring Pins
|
||||||
pinSetup();
|
pinSetup();
|
||||||
|
init_errorLED();
|
||||||
|
|
||||||
// Setup USB Module
|
// Setup USB Module
|
||||||
usb_setup();
|
usb_setup();
|
||||||
@ -101,24 +99,36 @@ int main(void)
|
|||||||
TIMSK0 = (1 << TOIE0);
|
TIMSK0 = (1 << TOIE0);
|
||||||
|
|
||||||
// Main Detection Loop
|
// Main Detection Loop
|
||||||
while ( 1 ) {
|
uint8_t ledTimer = 15; // Enable LED for a short time
|
||||||
//scan_loop();
|
while ( 1 )
|
||||||
|
{
|
||||||
|
while ( 1 )
|
||||||
|
{
|
||||||
|
// Acquire Key Indices
|
||||||
|
scan_loop();
|
||||||
|
|
||||||
|
// Send keypresses over USB if the ISR has signalled that it's time
|
||||||
|
if ( !sendKeypresses )
|
||||||
|
continue;
|
||||||
|
|
||||||
|
// Run Macros over Key Indices and convert to USB Keys
|
||||||
|
process_macros();
|
||||||
|
|
||||||
|
// Send USB Data
|
||||||
|
usb_send();
|
||||||
|
|
||||||
|
// Clear sendKeypresses Flag
|
||||||
|
sendKeypresses = 0;
|
||||||
|
|
||||||
|
// Indicate Error, if valid
|
||||||
|
errorLED( ledTimer );
|
||||||
|
}
|
||||||
|
|
||||||
// Loop should never get here (indicate error)
|
// Loop should never get here (indicate error)
|
||||||
errorLED( 1 );
|
ledTimer = 255;
|
||||||
|
|
||||||
// HID Debug Error message
|
// HID Debug Error message
|
||||||
erro_print("Detection loop error, this is very bad...bug report!");
|
erro_print("Detection loop error, this is very bad...bug report!");
|
||||||
|
|
||||||
// Send keypresses over USB if the ISR has signalled that it's time
|
|
||||||
if ( !sendKeypresses )
|
|
||||||
continue;
|
|
||||||
|
|
||||||
// Send USB Data
|
|
||||||
usb_send();
|
|
||||||
|
|
||||||
// Clear sendKeypresses Flag
|
|
||||||
sendKeypresses = 0;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user