reef monitor

Dependencies:   mbed-rtos EthernetInterface FatFileSystemCpp MCP23S17 SDFileSystem mbed

Fork of HTTPServerHelloWorld by Donatien Garnier

Files at this revision

API Documentation at this revision

Comitter:
wyunreal
Date:
Sun Mar 02 18:15:47 2014 +0000
Parent:
9:8f1dce5f85fe
Child:
11:9366140ebe5f
Commit message:
integrating microchip io expander

Changed in this revision

HardwareDrivers/MCP23S17.lib Show annotated file Show diff for this revision Revisions of this file
HardwareDrivers/SDFileSystem.lib Show annotated file Show diff for this revision Revisions of this file
Model/Application.cpp Show annotated file Show diff for this revision Revisions of this file
Model/Application.h Show annotated file Show diff for this revision Revisions of this file
Services/Actuators/ActuatorsController.cpp Show annotated file Show diff for this revision Revisions of this file
Services/Actuators/ActuatorsController.h Show annotated file Show diff for this revision Revisions of this file
--- a/HardwareDrivers/MCP23S17.lib	Sun Mar 02 12:44:28 2014 +0000
+++ b/HardwareDrivers/MCP23S17.lib	Sun Mar 02 18:15:47 2014 +0000
@@ -1,1 +1,1 @@
-http://mbed.org/users/romilly/code/MCP23S17/#068b1e8909bb
+http://mbed.org/users/romilly/code/MCP23S17/#ca0429a15915
--- a/HardwareDrivers/SDFileSystem.lib	Sun Mar 02 12:44:28 2014 +0000
+++ b/HardwareDrivers/SDFileSystem.lib	Sun Mar 02 18:15:47 2014 +0000
@@ -1,1 +1,1 @@
-http://mbed.org/users/simon/code/SDFileSystem/#93796e8ed42f
+http://mbed.org/users/simon/code/SDFileSystem/#498b360ea482
--- a/Model/Application.cpp	Sun Mar 02 12:44:28 2014 +0000
+++ b/Model/Application.cpp	Sun Mar 02 18:15:47 2014 +0000
@@ -22,9 +22,18 @@
     // set the system time from NTP
     ethernetService->setRtcTime();
     
-    // starting the file system
+    // start spi
+    spiHandler = new SPI(p5, p6, p7);
+    spiHandler->frequency(100000); // 100 khz for slow periperals intialization
+    
+    // starting the file systems
     localFileSystem = new LocalFileSystem("local");
-    sdFileSystem = new SDFileSystem(p5, p6, p7, p8, "sd");
+    sdFileSystem = new SDFileSystem(spiHandler, p8, "sd");
+    
+    // starting the external actuators control group
+    actuatorsController = new ActuatorsController(spiHandler);
+    
+    spiHandler->frequency(4000000); // 4 Mhz spi normal operation frequency
     
     // start the rest api server
     restServer = new RestServer(localFileSystem, sdFileSystem);
--- a/Model/Application.h	Sun Mar 02 12:44:28 2014 +0000
+++ b/Model/Application.h	Sun Mar 02 18:15:47 2014 +0000
@@ -5,14 +5,18 @@
 #include "RestServer.h"
 #include "SDFileSystem.h"
 #include "WatchDogTimer.h"
+#include "ActuatorsController.h"
 
 class Application {
     private:
+        SPI *spiHandler;
+        
         WatchDogTimer* watchDog;
         EthernetService* ethernetService;
         RestServer* restServer;
         FileSystemLike* localFileSystem;
         FileSystemLike* sdFileSystem;
+        ActuatorsController* actuatorsController;
         
         void setup();
         void loop();
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Services/Actuators/ActuatorsController.cpp	Sun Mar 02 18:15:47 2014 +0000
@@ -0,0 +1,10 @@
+#include "ActuatorsController.h"
+
+ActuatorsController::ActuatorsController(SPI* spiHandler){
+    char ioPortAddress = 0x40;
+    ioPort = new MCP23S17(spiHandler, p20, ioPortAddress);
+    
+    // all 16 bits as output
+    ioPort->direction(PORT_A, 0x00);
+    ioPort->direction(PORT_B, 0x00);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Services/Actuators/ActuatorsController.h	Sun Mar 02 18:15:47 2014 +0000
@@ -0,0 +1,15 @@
+#ifndef ACTUATORS_CONTROLLER_H
+#define ACTUATORS_CONTROLLER_H
+
+#include "mbed.h"
+#include "MCP23S17.h"
+
+class ActuatorsController {
+    private:
+        MCP23S17* ioPort;
+    public:
+        ActuatorsController(SPI* spiHandler);
+
+};
+
+#endif
\ No newline at end of file