Refactor quantum/split_common/i2c.c, quantum/split_common/serial.c (#4522)
* add temporary compile test shell script
* Extended support of SKIP_VERSION to make invariant compile results during testing.
* build_keyboard.mk, tmk_core/rules.mk: add LIB_SRC, QUANTUM_LIB_SRC support
Support compiled object enclosed in library.
e.g.
```
LIB_SRC += xxxx.c
xxxx.c --> xxxx.o ---> xxxx.a
```
* remove 'ifdef/ifndef USE_I2C' from quantum/split_common/{i2c|serial}.c
* add SKIP_DEBUG_INFO into tmk_core/rules.mk
When SKIP_DEBUG_INFO=yes is specified, do not use the -g option at compile time.
* tmk_core/rules.mk: Library object need -fno-lto
* add SKIP_DEBUG_INFO=yes
* remove temporary compile test shell script
* add '#define SOFT_SERIAL_PIN D0' to keyboards/lets_split/rev?/config.h
* quantum/split_common/serial.c: Changed not to use USE_I2C.
			
			
This commit is contained in:
		
							parent
							
								
									a49d98e665
								
							
						
					
					
						commit
						8f790948e5
					
				
					 9 changed files with 56 additions and 24 deletions
				
			
		| 
						 | 
				
			
			@ -7,8 +7,6 @@
 | 
			
		|||
#include "i2c.h"
 | 
			
		||||
#include "split_flags.h"
 | 
			
		||||
 | 
			
		||||
#if defined(USE_I2C) || defined(EH)
 | 
			
		||||
 | 
			
		||||
// Limits the amount of we wait for any one i2c transaction.
 | 
			
		||||
// Since were running SCL line 100kHz (=> 10μs/bit), and each transactions is
 | 
			
		||||
// 9 bits, a single transaction will take around 90μs to complete.
 | 
			
		||||
| 
						 | 
				
			
			@ -184,4 +182,3 @@ ISR(TWI_vect) {
 | 
			
		|||
  // Reset everything, so we are ready for the next TWI interrupt
 | 
			
		||||
  TWCR |= (1<<TWIE) | (1<<TWINT) | (ack<<TWEA) | (1<<TWEN);
 | 
			
		||||
}
 | 
			
		||||
#endif
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -12,18 +12,14 @@
 | 
			
		|||
#include <stdbool.h>
 | 
			
		||||
#include "serial.h"
 | 
			
		||||
 | 
			
		||||
#ifndef USE_I2C
 | 
			
		||||
 | 
			
		||||
#ifndef SOFT_SERIAL_PIN
 | 
			
		||||
  #error quantum/split_common/serial.c need SOFT_SERIAL_PIN define
 | 
			
		||||
#endif
 | 
			
		||||
#ifdef SOFT_SERIAL_PIN
 | 
			
		||||
 | 
			
		||||
#ifdef __AVR_ATmega32U4__
 | 
			
		||||
  // if using ATmega32U4 I2C, can not use PD0 and PD1 in soft serial.
 | 
			
		||||
  #ifdef USE_I2C
 | 
			
		||||
    #if SOFT_SERIAL_PIN == D0 || SOFT_SERIAL_PIN == D1
 | 
			
		||||
      #error Using ATmega32U4 I2C, so can not use PD0, PD1
 | 
			
		||||
    #endif
 | 
			
		||||
  #ifdef USE_AVR_I2C
 | 
			
		||||
     #if SOFT_SERIAL_PIN == D0 || SOFT_SERIAL_PIN == D1
 | 
			
		||||
       #error Using ATmega32U4 I2C, so can not use PD0, PD1
 | 
			
		||||
     #endif
 | 
			
		||||
  #endif
 | 
			
		||||
 | 
			
		||||
  #if SOFT_SERIAL_PIN >= D0 && SOFT_SERIAL_PIN <= D3
 | 
			
		||||
| 
						 | 
				
			
			@ -278,4 +274,4 @@ int serial_update_buffers(void) {
 | 
			
		|||
  return 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
#endif /* SOFT_SERIAL_PIN */
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue