forked from mirrors/qmk_firmware
revert some attempts, update i2c
This commit is contained in:
parent
998ddbb122
commit
b8564f5dd0
4 changed files with 14 additions and 15 deletions
|
@ -21,7 +21,7 @@ void i2c_init(void)
|
||||||
uint8_t i2c_start(uint8_t address)
|
uint8_t i2c_start(uint8_t address)
|
||||||
{
|
{
|
||||||
// reset TWI control register
|
// reset TWI control register
|
||||||
//TWCR = 0;
|
TWCR = 0;
|
||||||
// transmit START condition
|
// transmit START condition
|
||||||
TWCR = (1<<TWINT) | (1<<TWSTA) | (1<<TWEN);
|
TWCR = (1<<TWINT) | (1<<TWSTA) | (1<<TWEN);
|
||||||
// wait for end of transmission
|
// wait for end of transmission
|
||||||
|
|
|
@ -81,10 +81,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
/* fix space cadet rollover issue */
|
/* fix space cadet rollover issue */
|
||||||
#define DISABLE_SPACE_CADET_ROLLOVER
|
#define DISABLE_SPACE_CADET_ROLLOVER
|
||||||
|
|
||||||
// #define RGB_MIDI
|
// #define RGBW_BB_TWI
|
||||||
#define RGBW_BB_TWI
|
|
||||||
|
|
||||||
#define RGBW 1
|
// #define RGBW 1
|
||||||
|
|
||||||
/* "debounce" is measured in keyboard scans. Some users reported
|
/* "debounce" is measured in keyboard scans. Some users reported
|
||||||
* needing values as high as 15, which was at the time around 50ms.
|
* needing values as high as 15, which was at the time around 50ms.
|
||||||
|
|
|
@ -113,13 +113,13 @@ uint8_t init_mcp23018(void) {
|
||||||
// sreg_prev=SREG;
|
// sreg_prev=SREG;
|
||||||
// cli();
|
// cli();
|
||||||
|
|
||||||
// if (i2c_initialized == 0) {
|
if (i2c_initialized == 0) {
|
||||||
// i2c_init(); // on pins D(1,0)
|
i2c_init(); // on pins D(1,0)
|
||||||
// i2c_initialized = true;
|
i2c_initialized = true;
|
||||||
// _delay_ms(1000);
|
_delay_ms(1000);
|
||||||
// }
|
}
|
||||||
i2c_init(); // on pins D(1,0)
|
// i2c_init(); // on pins D(1,0)
|
||||||
_delay_ms(1000);
|
// _delay_ms(1000);
|
||||||
|
|
||||||
// set pin direction
|
// set pin direction
|
||||||
// - unused : input : 1
|
// - unused : input : 1
|
||||||
|
|
|
@ -68,8 +68,8 @@ static void init_cols(void);
|
||||||
static void unselect_rows(void);
|
static void unselect_rows(void);
|
||||||
static void select_row(uint8_t row);
|
static void select_row(uint8_t row);
|
||||||
|
|
||||||
// static uint8_t mcp23018_reset_loop;
|
static uint8_t mcp23018_reset_loop;
|
||||||
static uint16_t mcp23018_reset_loop;
|
// static uint16_t mcp23018_reset_loop;
|
||||||
|
|
||||||
#ifdef DEBUG_MATRIX_SCAN_RATE
|
#ifdef DEBUG_MATRIX_SCAN_RATE
|
||||||
uint32_t matrix_timer;
|
uint32_t matrix_timer;
|
||||||
|
@ -176,8 +176,8 @@ void debounce_report(matrix_row_t change, uint8_t row) {
|
||||||
uint8_t matrix_scan(void)
|
uint8_t matrix_scan(void)
|
||||||
{
|
{
|
||||||
if (mcp23018_status) { // if there was an error
|
if (mcp23018_status) { // if there was an error
|
||||||
// if (++mcp23018_reset_loop == 0) {
|
if (++mcp23018_reset_loop == 0) {
|
||||||
if (++mcp23018_reset_loop >= 1300) {
|
// if (++mcp23018_reset_loop >= 1300) {
|
||||||
// since mcp23018_reset_loop is 8 bit - we'll try to reset once in 255 matrix scans
|
// since mcp23018_reset_loop is 8 bit - we'll try to reset once in 255 matrix scans
|
||||||
// this will be approx bit more frequent than once per second
|
// this will be approx bit more frequent than once per second
|
||||||
print("trying to reset mcp23018\n");
|
print("trying to reset mcp23018\n");
|
||||||
|
|
Loading…
Reference in a new issue