#pragma once

#include <cstdint>
#include <string>

namespace obb::hardware {

struct I2CPort {
  int scl = -1;
  int sda = -1;
};

struct UartPort {
  int tx = -1;
  int rx = -1;
};

struct AudioPort {
  int pwm = -1;
  int enable = -1;
};

struct BoardMap {
  std::string name;
  I2CPort main_i2c;
  int adc_io35 = -1;
  UartPort uart_header;
  AudioPort speaker;
  int sd_cs = -1;
  int sd_mosi = -1;
  int sd_miso = -1;
  int sd_sck = -1;
};

const BoardMap &station_s_board();

}  // namespace obb::hardware