Przeglądaj źródła

Fix compatibility issue with IR remoter

old_master
Kai Ryu 9 lat temu
rodzic
commit
9e625c84f1
1 zmienionych plików z 15 dodań i 1 usunięć
  1. 15
    1
      keyboard/RedScarfIII/yc059.c

+ 15
- 1
keyboard/RedScarfIII/yc059.c Wyświetl plik

#include "yc059.h" #include "yc059.h"
#include "debug.h" #include "debug.h"


inline
void yc059_ir_enable(void)
{
YC059_IR_DDR |= (1<<YC059_IR_BIT);
}

inline
void yc059_ir_disable(void)
{
YC059_IR_DDR &= ~(1<<YC059_IR_BIT);
}

inline inline
void yc059_ir_high(void) void yc059_ir_high(void)
{ {


void yc059_init(void) void yc059_init(void)
{ {
YC059_IR_DDR |= (1<<YC059_IR_BIT);
YC059_IR_DDR &= ~(1<<YC059_IR_BIT);
YC059_IR_PORT &= ~(1<<YC059_IR_BIT); YC059_IR_PORT &= ~(1<<YC059_IR_BIT);
} }


void yc059_send(uint8_t data) void yc059_send(uint8_t data)
{ {
cli(); cli();
yc059_ir_enable();
yc059_send_header(); yc059_send_header();
yc059_send_address(); yc059_send_address();
yc059_send_byte(data); yc059_send_byte(data);
yc059_send_byte(~data); yc059_send_byte(~data);
yc059_send_stop(); yc059_send_stop();
yc059_ir_disable();
sei(); sei();
} }