hhkb: Integrate RN-42 support, remove hhkb_rn42
This commit is contained in:
		
							parent
							
								
									ce66988650
								
							
						
					
					
						commit
						099701dd31
					
				
					 32 changed files with 69 additions and 1004 deletions
				
			
		| 
						 | 
				
			
			@ -41,17 +41,32 @@ static inline void KEY_UNABLE(void) { (PORTB |=  (1<<6)); }
 | 
			
		|||
static inline bool KEY_STATE(void) { return (PIND & (1<<7)); }
 | 
			
		||||
static inline void KEY_PREV_ON(void) { (PORTB |=  (1<<7)); }
 | 
			
		||||
static inline void KEY_PREV_OFF(void) { (PORTB &= ~(1<<7)); }
 | 
			
		||||
#ifdef HHKB_POWER_SAVING
 | 
			
		||||
static inline void KEY_POWER_ON(void) {
 | 
			
		||||
    DDRB = 0xFF; PORTB = 0x40;          // change pins output
 | 
			
		||||
    DDRD |= (1<<4); PORTD |= (1<<4);    // MOS FET switch on
 | 
			
		||||
    /* Without this wait you will miss or get false key events. */
 | 
			
		||||
    _delay_ms(5);                       // wait for powering up
 | 
			
		||||
}
 | 
			
		||||
static inline void KEY_POWER_OFF(void) {
 | 
			
		||||
    /* input with pull-up consumes less than without it when pin is open. */
 | 
			
		||||
    DDRB = 0x00; PORTB = 0xFF;          // change pins input with pull-up
 | 
			
		||||
    DDRD |= (1<<4); PORTD &= ~(1<<4);   // MOS FET switch off
 | 
			
		||||
}
 | 
			
		||||
static inline bool KEY_POWER_STATE(void) { return PORTD & (1<<4); }
 | 
			
		||||
#else
 | 
			
		||||
static inline void KEY_POWER_ON(void) {}
 | 
			
		||||
static inline void KEY_POWER_OFF(void) {}
 | 
			
		||||
static inline bool KEY_POWER_STATE(void) { return true; }
 | 
			
		||||
#endif
 | 
			
		||||
static inline void KEY_INIT(void)
 | 
			
		||||
{
 | 
			
		||||
    /* row,col,prev: output */
 | 
			
		||||
    DDRB  = 0xFF;
 | 
			
		||||
    PORTB = 0x00;
 | 
			
		||||
    PORTB = 0x40;   // unable
 | 
			
		||||
    /* key: input with pull-up */
 | 
			
		||||
    DDRD  &= ~0x80;
 | 
			
		||||
    PORTD |= 0x80;
 | 
			
		||||
    /* keyswitch board power on */
 | 
			
		||||
    DDRD  |=  (1<<4);
 | 
			
		||||
    PORTD |=  (1<<4);
 | 
			
		||||
    PORTD |=  0x80;
 | 
			
		||||
#ifdef HHKB_JP
 | 
			
		||||
    /* row extention for HHKB JP */
 | 
			
		||||
    DDRC  |= (1<<6|1<<7);
 | 
			
		||||
| 
						 | 
				
			
			@ -59,6 +74,8 @@ static inline void KEY_INIT(void)
 | 
			
		|||
#endif
 | 
			
		||||
    KEY_UNABLE();
 | 
			
		||||
    KEY_PREV_OFF();
 | 
			
		||||
 | 
			
		||||
    KEY_POWER_OFF();
 | 
			
		||||
}
 | 
			
		||||
static inline void KEY_SELECT(uint8_t ROW, uint8_t COL)
 | 
			
		||||
{
 | 
			
		||||
| 
						 | 
				
			
			@ -98,6 +115,7 @@ static inline void KEY_SELECT(uint8_t ROW, uint8_t COL)
 | 
			
		|||
#define KEY_PREV_OFF()          (PORTE &= ~(1<<7))
 | 
			
		||||
#define KEY_POWER_ON()
 | 
			
		||||
#define KEY_POWER_OFF()
 | 
			
		||||
#define KEY_POWER_STATE()       true
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#else
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue