Added MCP23S17 support as well as changed some pins and added more de-bouncing for the buttons.

This commit is contained in:
2019-08-11 17:15:22 +02:00
parent ebd9a9f24f
commit 55826823fc
8 changed files with 93 additions and 19 deletions

View File

@ -5,18 +5,19 @@
//Player::_spi_settings
Player::Player() {
pinMode(XRESET, OUTPUT);
digitalWrite(XRESET, HIGH);
Player::Player(MCP* m) {
_mcp = m;
_mcp->pinMode(XRESET, OUTPUT);
_mcp->digitalWrite(XRESET, HIGH);
pinMode(DREQ, INPUT);
_init();
}
void Player::_reset() {
digitalWrite(XRESET, LOW);
_mcp->digitalWrite(XRESET, LOW);
delay(100);
digitalWrite(XRESET, HIGH);
_mcp->digitalWrite(XRESET, HIGH);
delay(100);
_state = uninitialized;
_spi_settings = &_spi_settings_slow; // After reset, communication has to be slow
@ -24,6 +25,7 @@ void Player::_reset() {
void Player::_init() {
SPIMaster::disable();
DEBUG("Resetting VS1053...\n");
_reset();
uint16_t result = _read_control_register(SCI_MODE);
@ -59,14 +61,14 @@ void Player::_init() {
set_volume(VOLUME_DEFAULT);
INFO("VS1053 initialization completed.\n");
INFO("Checking system sounds...\n");
SPIMaster::enable(PIN_SD_CS);
_check_system_sound("no_prev_song.mp3");
_check_system_sound("no_next_song.mp3");
_check_system_sound("volume_max.mp3");
_check_system_sound("volume_min.mp3");
_state = idle;
}