1
0
Fork 0

Adding SX60 work by amnobis and configurator settings (#3122)

* Add SX60

* Add config maps and layouts as well as readmes.

* cleanup and fixes

* correct readme

* add missing closing commenty tag

* Changing includes to QMK_KEYBOARD_H

* Update settings.json

Remove config change that was added automatically by vscode.

* Update readme.md

fix readme formatting
This commit is contained in:
Jason 2018-06-05 12:43:20 -07:00 committed by Drashna Jaelre
parent 1ae011d919
commit 96546c79c0
21 changed files with 1131 additions and 14 deletions

38
keyboards/sx60/sx60.c Executable file
View file

@ -0,0 +1,38 @@
#include "sx60.h"
#include "i2cmaster.h"
bool i2c_initialized = 0;
uint8_t mcp23018_status = 0x20;
uint8_t init_mcp23018(void) {
mcp23018_status = 0x20;
/* I2C subsystem */
if (i2c_initialized == 0) {
i2c_init(); // on pins D(1,0)
i2c_initialized = true;
_delay_ms(1000);
}
/* B Pins are Row, A pins are Columns
Set them to output */
mcp23018_status = i2c_start(I2C_ADDR_WRITE); if (mcp23018_status) goto out;
mcp23018_status = i2c_write(IODIRA); if (mcp23018_status) goto out;
mcp23018_status = i2c_write(0b11111111); if (mcp23018_status) goto out;
/* Now write to IODIRB */
mcp23018_status = i2c_write(0b00000000); if (mcp23018_status) goto out;
i2c_stop();
mcp23018_status = i2c_start(I2C_ADDR_WRITE); if (mcp23018_status) goto out;
mcp23018_status = i2c_write(GPPUA); if (mcp23018_status) goto out;
mcp23018_status = i2c_write(0b11111111); if (mcp23018_status) goto out;
/* Now write to GPPUB */
mcp23018_status = i2c_write(0b00000000); if (mcp23018_status) goto out;
out:
i2c_stop();
return mcp23018_status;
}