logo

qmk_firmware

custom branch of QMK firmware git clone https://anongit.hacktivis.me/git/qmk_firmware.git

sx60.c (808B)


  1. #include "sx60.h"
  2. #include "i2c_master.h"
  3. bool i2c_initialized = 0;
  4. uint8_t mcp23018_status = 0x20;
  5. uint8_t init_mcp23018(void) {
  6. mcp23018_status = 0x20;
  7. /* I2C subsystem */
  8. if (i2c_initialized == 0) {
  9. i2c_init(); // on pins D(1,0)
  10. i2c_initialized = true;
  11. _delay_ms(1000);
  12. }
  13. /* B Pins are Row, A pins are Columns
  14. Set them to output */
  15. static uint8_t direction[2] = {
  16. 0b11111111,
  17. 0b00000000,
  18. };
  19. static uint8_t pullup[2] = {
  20. 0b11111111,
  21. 0b00000000,
  22. };
  23. mcp23018_status = i2c_write_register(I2C_ADDR, IODIRA, direction, 2, I2C_TIMEOUT);
  24. if (mcp23018_status) return mcp23018_status;
  25. mcp23018_status = i2c_write_register(I2C_ADDR, GPPUA, pullup, 2, I2C_TIMEOUT);
  26. return mcp23018_status;
  27. }