Implement gpio setting

custom
jacqueline 3 years ago
parent 353df98ba1
commit 23671453c0
  1. 21
      main/gpio-expander.cpp

@ -54,8 +54,7 @@ bool GpioExpander::charge_power_ok(void) {
} }
bool GpioExpander::headphone_detect(void) { bool GpioExpander::headphone_detect(void) {
// Active-low. return (input_b_ & (1 << 0));
return (input_b_ & (1 << 0)) == 0; // TODO.
} }
uint8_t GpioExpander::key_states(void) { uint8_t GpioExpander::key_states(void) {
@ -63,15 +62,27 @@ uint8_t GpioExpander::key_states(void) {
} }
void GpioExpander::set_sd_mux(SdMuxController controller) { void GpioExpander::set_sd_mux(SdMuxController controller) {
port_a_ &= (1 << 5); if (controller == USB) {
port_a_ |= (1 << 5);
} else {
port_a_ &= ~(1 << 5);
}
} }
void GpioExpander::set_sd_cs(bool high) { void GpioExpander::set_sd_cs(bool high) {
port_a_ &= (1 << 6); if (high) {
port_a_ |= (1 << 6);
} else {
port_a_ &= ~(1 << 6);
}
} }
void GpioExpander::set_display_cs(bool high) { void GpioExpander::set_display_cs(bool high) {
port_a_ &= (1 << 7); if (high) {
port_a_ |= (1 << 7);
} else {
port_a_ &= ~(1 << 7);
}
} }
} // namespace gay_ipod } // namespace gay_ipod

Loading…
Cancel
Save