Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed-rtos EthernetInterface FatFileSystemCpp MCP23S17 SDFileSystem mbed
Fork of HTTPServerHelloWorld by
Revision 12:72e0c404017a, committed 2015-01-03
- Comitter:
- wyunreal
- Date:
- Sat Jan 03 17:50:52 2015 +0000
- Parent:
- 11:9366140ebe5f
- Commit message:
- draft of file request handler;
Changed in this revision
--- a/HardwareDrivers/WatchDogTimer/WatchDogTimer.cpp Fri Jan 02 22:44:42 2015 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,18 +0,0 @@
-#include "WatchDogTimer.h"
-
-int WatchDogTimer::systemResetReason() {
- return ((LPC_WDT->WDMOD >> 2) & 1) ? SYSTEM_RESET_WATCH_DOG : SYSTEM_RESET_NORMAL;
-}
-
-WatchDogTimer::WatchDogTimer(float seconds) {
- LPC_WDT->WDCLKSEL = 0x1; // Set CLK src to PCLK
- uint32_t clk = SystemCoreClock / 16; // WD has a fixed /4 prescaler, PCLK default is /4
- LPC_WDT->WDTC = seconds * (float)clk; // Load WD Timer Constant with value determined by float s
- LPC_WDT->WDMOD = 0x3; // Enabled and Reset
- feed();
-}
-
-void WatchDogTimer::feed() {
- LPC_WDT->WDFEED = 0xAA;
- LPC_WDT->WDFEED = 0x55;
-}
\ No newline at end of file
--- a/HardwareDrivers/WatchDogTimer/WatchDogTimer.h Fri Jan 02 22:44:42 2015 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,16 +0,0 @@
-#ifndef WATCH_DOG_TIMER_H
-#define WATCH_DOG_TIMER_H
-
-#include "mbed.h"
-
-#define SYSTEM_RESET_NORMAL 1
-#define SYSTEM_RESET_WATCH_DOG 2
-
-class WatchDogTimer {
-public:
- WatchDogTimer(float seconds);
- void feed();
- static int systemResetReason();
-};
-
-#endif
\ No newline at end of file
--- a/Services/Network/RestApiServer/HttpServer.cpp Fri Jan 02 22:44:42 2015 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,72 +0,0 @@
-#include "HttpServer.h"
-
-HttpServer::HttpServer() {
- listeningThread = NULL;
- mainThreadId = osThreadGetId();
-}
-
-HttpServer::~HttpServer() {
- stop();
-}
-
-void HttpServer::httpServerListeningThread(void const *serverInstance) {
- bool stopListening = false;
- osThreadId mainThreadId = ((HttpServer*)serverInstance)->getMainThreadId();
- while (!stopListening) {
-
-
- handleServerAliveRequests(mainThreadId);
- }
-}
-
-void HttpServer::handleServerAliveRequests(osThreadId mainThreadId) {
- osEvent event = Thread::signal_wait(STATUS_CHECK_SIGNAL, STATUS_CHECK_NO_BLOCKING);
- if ((event.status == osEventSignal) && (event.value.signals & STATUS_CHECK_SIGNAL)) {
- osSignalSet(mainThreadId, STATUS_CHECK_ACK_SIGNAL);
- }
-}
-
-bool HttpServer::start() {
- if (!listeningThread) {
- slaveThreadStatusCounter = 0;
- listeningThread = new Thread(&HttpServer::httpServerListeningThread, this);
- }
- return listeningThread != NULL && listeningThread->get_state() != Thread::Inactive;
-}
-
-bool HttpServer::stop() {
- if (listeningThread) {
- listeningThread->signal_set(CLOSE_SIGNAL);
- unsigned short int waitingShutdownAttempts = 0;
- while(waitingShutdownAttempts < WAITING_SHUTDOWN_ATTEMPTS && listeningThread->get_state() != Thread::Inactive) {
- Thread::wait(SHUTDOWN_TIMEOUT_MILLIS);
- waitingShutdownAttempts++;
- }
- return listeningThread->get_state() == Thread::Inactive;
- }
- return true;
-}
-
-bool HttpServer::restart() {
- if (stop()) {
- return start();
- } else {
- return false;
- };
-}
-
-bool HttpServer::isAlive() {
- if (listeningThread) {
- listeningThread->signal_set(STATUS_CHECK_SIGNAL);
- osEvent statusAckEvent = Thread::signal_wait(STATUS_CHECK_ACK_SIGNAL, STATUS_CHECK_TIMEOUT_MILLIS);
- if((statusAckEvent.status == osEventSignal) && (statusAckEvent.value.signals & STATUS_CHECK_ACK_SIGNAL)) {
- slaveThreadStatusCounter = 0;
- } else {
- slaveThreadStatusCounter++;
- }
- if (slaveThreadStatusCounter >= FAULTY_REPORTS_COUNT) {
- return false;
- }
- }
- return true;
-}
\ No newline at end of file
--- a/Services/Network/RestApiServer/HttpServer.h Fri Jan 02 22:44:42 2015 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,40 +0,0 @@
-#ifndef HTTP_SERVER_H
-#define HTTP_SERVER_H
-
-#include "rtos.h"
-
-class HttpServer {
- private:
- static const unsigned short int FAULTY_REPORTS_COUNT = 10;
- static const unsigned short int STATUS_CHECK_TIMEOUT_MILLIS = 50;
- static const unsigned short int STATUS_CHECK_NO_BLOCKING = 0;
- static const unsigned short int WAITING_SHUTDOWN_ATTEMPTS = 10;
- static const unsigned short int SHUTDOWN_TIMEOUT_MILLIS = 50;
-
- enum HttpServerSignals{
- // rtos signals are flags, assign values with care
- STATUS_CHECK_SIGNAL = 1,
- STATUS_CHECK_ACK_SIGNAL = 2,
- CLOSE_SIGNAL = 4,
- };
-
- short unsigned int slaveThreadStatusCounter;
- osThreadId mainThreadId;
- Thread* listeningThread;
-
- osThreadId getMainThreadId() {return mainThreadId;}
- static void httpServerListeningThread(void const *serverInstance);
- static void handleServerAliveRequests(osThreadId mainThreadId);
-
- public:
- HttpServer();
- ~HttpServer();
-
- bool start();
- bool stop();
- bool restart();
-
- bool isAlive();
-};
-
-#endif
\ No newline at end of file
