28 lines
657 B
C
28 lines
657 B
C
|
#pragma once
|
||
|
|
||
|
class SPIMaster {
|
||
|
public:
|
||
|
static void init() {
|
||
|
SPI.setHwCs(false);
|
||
|
pinMode(PIN_SD_CS, OUTPUT);
|
||
|
pinMode(PIN_VS1053_XCS, OUTPUT);
|
||
|
pinMode(PIN_VS1053_XDCS, OUTPUT);
|
||
|
}
|
||
|
static void enable(uint8_t pin) {
|
||
|
digitalWrite(PIN_SD_CS, pin==PIN_SD_CS ? LOW : HIGH);
|
||
|
digitalWrite(PIN_VS1053_XCS, pin==PIN_VS1053_XCS ? LOW : HIGH);
|
||
|
digitalWrite(PIN_VS1053_XDCS, pin==PIN_VS1053_XDCS ? LOW : HIGH);
|
||
|
}
|
||
|
|
||
|
static void printStatus() {
|
||
|
Serial.printf("CS state: SD:%d, VS1053_XCS:%d, VS1053_XDCS:%d\n",
|
||
|
digitalRead(PIN_SD_CS),
|
||
|
digitalRead(PIN_VS1053_XCS),
|
||
|
digitalRead(PIN_VS1053_XDCS));
|
||
|
}
|
||
|
|
||
|
static void disable() {
|
||
|
enable(142);
|
||
|
}
|
||
|
};
|