LOGGER  Logger
Data Logging using ESP8266
Macros | Enumerations | Functions | Variables
webpages.cpp File Reference
#include <arduino.h>
#include <Time.h>
#include <ESP8266WiFi.h>
#include "webpages.h"
#include "dataservices.h"
#include "espserver.h"
#include "i2cservices.h"
#include "networkservices.h"
#include "parameters.h"
#include "pincounter.h"
#include "security.h"
#include "sensorlibrary.h"
#include "services.h"
#include "sleepservices.h"
#include "tca9539.h"
#include "timeservices.h"
#include "webservices.h"

Macros

#define webpagesEdit   1
 version of this module
 
#define DEBUG_LEVEL   1
 Set to non zero value to increase the detail of debug output.
 
#define DEFAULT_INTERVAL   (15)
 Default # of seconds for pages that display lists of samples.
 
#define DEFAULT_SAMPLES   (15)
 Default # of samples for pages that display lists of samples.
 

Enumerations

enum  ChartType_t { ChartNone, ChartSamples, ChartIntervals }
 Possible charts to emit at the end of a page.
 

Functions

LOCALREF void rebootSystem (const char *)
 force a system reboot
 
LOCALREF void sendChartHeader (Print *pPrint, ChartType_t chartType, SensorDatatypeID_t datatype)
 Send the header portion of chart initialization.
 
EXTERNDEF void webpagesInit ()
 < version of this include file More...
 
LOCALDEF void webEmitMenuItem (Print *pPrint, const char *pName, const char *pUrl)
 
EXTERNDEF void webEmitMainMenu (Print *pPrint)
 Emit the main menu.
 
EXTERNDEF void processButtonCommand (Print *pPrint, String buttonPressed)
 
EXTERNDEF void processPulldownSelected (Print *pPrint, String pulldownName, String pulldownValue)
 
EXTERNDEF void webEmitHeader (Print *pPrint)
 Emit the header section of a web page. More...
 
EXTERNDEF void handleRootPage ()
 
EXTERNDEF time_t getTimeFromArguments (String prefix, time_t defaultTime)
 
EXTERNDEF void emitDaytimeInput (Print *pPrint, String prefix, int32_t defaultYear, int32_t defaultMonth, int32_t defaultDay, int32_t defaultHour, int32_t defaultMin, int32_t defaultSec)
 
EXTERNDEF void handleSamplesPage ()
 display the sample history page More...
 
EXTERNDEF void handleParametersPage ()
 Display all of the permanent parameters on a web page.
 
EXTERNDEF void handleIntervalsPage ()
 Display web page for intervals.
 
EXTERNDEF void handleIOpinControlPage ()
 display the I/O pin control page
 
EXTERNDEF void handleSensorsPage ()
 display the sensors page
 
EXTERNDEF void webUpdateTime (const char *pTimeZone)
 

Variables

EXTERNVAR ConfigMode_t savedConfigMode
 Remember what mode to run in next.
 
EXTERNVAR ConfigMode_t runningConfigMode
 Mode we are currently running in.
 

Detailed Description

Web page routines that are application specific.

Function Documentation

EXTERNDEF void emitDaytimeInput ( Print *  pPrint,
String  prefix,
int32_t  defaultYear,
int32_t  defaultMonth,
int32_t  defaultDay,
int32_t  defaultHour,
int32_t  defaultMin,
int32_t  defaultSec 
)

Emit a time and date selection, each field of the time and date is named: year, month, day, hour, minutes, seconds. The field names are prefixed the the prefix argument.

Parameters
pPrintwhere to emit the output
prefixstring to prefix each field name with
defaultYearinitial value for year
defaultMonthinitial value for month
defaultDayinitial value for day
defaultHourinitial value for hour
defaultMininitial value for minutes
defaultSecinitial value for seconds
EXTERNDEF time_t getTimeFromArguments ( String  prefix,
time_t  defaultTime 
)

Read the time from a set of related arguments. A prefix is supplied and the arguments are that prefix followed by these names: year, month, day, hour, minutes, seconds. The default time is used when an argument is missing. The decision to use it is on an argument by argument basis, so a default time can be used and offset by a number of seconds by only passing the seconds argument.

Parameters
prefixargument prefix
defaultTimetime if argument is missing
Returns
time that was input
EXTERNDEF void handleRootPage ( )

Service routine called when there is a server request for the root file.

EXTERNDEF void handleSamplesPage ( )

display the sample history page

Service routine called when there is a server request to display a list of samples. (Also used for the root page.)

EXTERNDEF void processButtonCommand ( Print *  pPrint,
String  buttonName 
)

Using the arguments from the web page handle a button press and perform any actions that are expected.

Parameters
pPrintwhere to send output
buttonNamename of the button that was pressed
EXTERNDEF void processPulldownSelected ( Print *  pPrint,
String  pulldownName,
String  pulldownValue 
)

Using the arguments from the web page handle a pulldown selection and perform any actions that are expected.

Parameters
pPrintwhere to send output
pulldownNamename of the selector
pulldownValuename of the option selected
EXTERNDEF void webEmitHeader ( Print *  pPrint)

Emit the header section of a web page.

NOTE: Depends on the global variable chartType set when a page is started. ??? should this be indirected through a table that establishes other things too?

LOCALDEF void webEmitMenuItem ( Print *  pPrint,
const char *  pName,
const char *  pUrl 
)

Emit a menu item. If a signature was passed in pass the signature to the menu item.

Parameters
pPrintwhere to send the output
pNamewhat to use for the menu item name
pUrlwhere to go to, no arguments expected
EXTERNDEF void webpagesInit ( )

< version of this include file

Initialize the web services

EXTERNDEF void webUpdateTime ( const char *  pTimeZone)

Schedule a time update. The actual update can be asyncronous and occur after this routine returns.

Parameters
pTimeZonename of the local time zone