Changed from MCP23S17 to MCP23017. Lots of changes.
Doesn't really work because of timing stuff.
This commit is contained in:
74
src/main.cpp
74
src/main.cpp
@ -1,7 +1,8 @@
|
||||
#include <Arduino.h>
|
||||
#include <SPI.h>
|
||||
#include <SD.h>
|
||||
#include <MCP23S17/MCP23S17.h>
|
||||
#include <Wire.h>
|
||||
#include <Adafruit_MCP23017.h>
|
||||
#include "config.h"
|
||||
#include "controller.h"
|
||||
#include "player.h"
|
||||
@ -12,7 +13,7 @@
|
||||
|
||||
Controller* controller;
|
||||
Player* player;
|
||||
MCP* mcp;
|
||||
Adafruit_MCP23017* mcp;
|
||||
HTTPServer* http_server;
|
||||
FtpServer* ftp_server;
|
||||
MQTTClient* mqtt_client;
|
||||
@ -21,6 +22,8 @@ unsigned long last_mqtt_report = 0;
|
||||
void setup() {
|
||||
delay(500);
|
||||
Serial.begin(74880);
|
||||
/*Serial.println("Starting...");
|
||||
Serial.println("Started.");
|
||||
INFO("Starting.\n");
|
||||
#ifdef VERSION
|
||||
INFO("ESMP3 version %s\n", VERSION);
|
||||
@ -28,7 +31,47 @@ void setup() {
|
||||
INFO("ESMP3, version unknown\n");
|
||||
#endif
|
||||
INFO("Initializing...\n");
|
||||
|
||||
|
||||
DEBUG("Setting up MCP...\n");*/
|
||||
Wire.begin();
|
||||
Wire.setClock(1700000);
|
||||
|
||||
uint8_t addr = MCP23017_ADDRESS + MCP_I2C_ADDR;
|
||||
while(true) {
|
||||
Wire.beginTransmission(addr);
|
||||
byte status = Wire.endTransmission();
|
||||
if (status==0) {
|
||||
DEBUG("I2C device found.");
|
||||
break;
|
||||
}
|
||||
DEBUG("No I2C device found.");
|
||||
delay(100);
|
||||
}
|
||||
|
||||
mcp = new Adafruit_MCP23017();
|
||||
mcp->begin(MCP_I2C_ADDR);
|
||||
INFO("MCP initialized.\n");
|
||||
|
||||
DEBUG("Setting up SPI...\n");
|
||||
SPI.begin();
|
||||
SPI.setHwCs(false);
|
||||
SPIMaster* spi = new SPIMaster(mcp);
|
||||
INFO("SPI initialized.\n");
|
||||
|
||||
DEBUG("Setting up SD card...\n");
|
||||
spi->select_sd();
|
||||
if (SD.begin(42)) {
|
||||
INFO("SD card initialized.\n");
|
||||
} else {
|
||||
ERROR("Could not initialize SD card.\n");
|
||||
}
|
||||
spi->select_sd(false);
|
||||
|
||||
DEBUG("Initializing Player and Controller...\n");
|
||||
player = new Player(mcp, spi);
|
||||
controller = new Controller(player, mcp, spi);
|
||||
INFO("Player and controller initialized.\n");
|
||||
|
||||
DEBUG("Connecting to wifi \"%s\"...\n", WIFI_SSID);
|
||||
WiFi.mode(WIFI_AP_STA);
|
||||
WiFi.begin(WIFI_SSID, WIFI_PASS);
|
||||
@ -42,30 +85,7 @@ void setup() {
|
||||
mqtt_client = new MQTTClient();
|
||||
MDNS.begin("esmp3");
|
||||
|
||||
|
||||
|
||||
DEBUG("Setting up SPI...\n");
|
||||
SPI.begin();
|
||||
SPIMaster::init();
|
||||
INFO("SPI initialized.\n");
|
||||
|
||||
DEBUG("Setting up MCP...\n");
|
||||
SPIMaster::enable(PIN_MCP);
|
||||
mcp = new MCP(0, PIN_MCP);
|
||||
INFO("MCP initialized.");
|
||||
|
||||
DEBUG("Setting up SD card...\n");
|
||||
SPIMaster::enable(PIN_SD_CS);
|
||||
if (SD.begin(PIN_SD_CS)) {
|
||||
INFO("SD card initialized.\n");
|
||||
} else {
|
||||
ERROR("Could not initialize SD card.\n");
|
||||
}
|
||||
|
||||
DEBUG("Initializing Player and Controller...\n");
|
||||
player = new Player(mcp);
|
||||
controller = new Controller(player, mcp, mqtt_client);
|
||||
INFO("Player and controller initialized.\n");
|
||||
controller->set_mqtt_client(mqtt_client);
|
||||
|
||||
DEBUG("Setting up WiFi and web server...\n");
|
||||
http_server = new HTTPServer(player, controller);
|
||||
|
Reference in New Issue
Block a user