EmbAJAX
Simplistic framework for creating and handling displays and controls on a web page served by an embeddable device (Arduino or other microcontroller with Arduino support).
Classes | Macros
EmbAJAX.h File Reference
#include <Arduino.h>
#include "macro_definitions.h"
Include dependency graph for EmbAJAX.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  EmbAJAXBase
 Abstract base class for anything shown on an EmbAJAXPage. More...
 
class  EmbAJAXOutputDriverBase
 Abstract base class for output drivers/server implementations. More...
 
class  EmbAJAXStatic
 A static chunk of HTML. More...
 
class  EmbAJAXConnectionIndicator
 connection status indicator More...
 
class  EmbAJAXElement
 Abstract base class for modifiable elements. More...
 
class  EmbAJAXMutableSpan
 An HTML span element with content that can be updated from the server (not the client) More...
 
class  EmbAJAXTextInput< SIZE >
 A text input field. More...
 
class  EmbAJAXSlider
 An HTML span element with content that can be updated from the server (not the client) More...
 
class  EmbAJAXColorPicker
 A color picker element (<input type="color">) More...
 
class  EmbAJAXPushButton
 A push-button. More...
 
class  EmbAJAXMomentaryButton
 A momentary "press-and-hold" button. More...
 
class  EmbAJAXCheckButton
 A checkable (option) button. More...
 
class  EmbAJAXRadioGroupBase
 abstract base for EmbAJAXRadioGroup, needed for internal reasons. More...
 
class  EmbAJAXContainer< NUM >
 Base class for groups of objects. More...
 
class  EmbAJAXHideableContainer< NUM >
 A list of objects that can be hidden, completely. More...
 
class  EmbAJAXRadioGroup< NUM >
 A set of radio buttons (mutally exclusive buttons), e.g. for on/off, or low/mid/high, etc. More...
 
class  EmbAJAXOptionSelectBase
 Abstract base class for EmbAJAXOptionSelect. More...
 
class  EmbAJAXOptionSelect< NUM >
 Drop-down list of selectable options. More...
 
class  EmbAJAXPageBase
 Absrract internal helper class. More...
 
class  EmbAJAXPage< NUM >
 The main interface class. More...
 

Macros

#define EMBAJAX_MAX_ID_LEN
 
#define USE_PROGMEM_STRINGS
 
#define MAKE_EmbAJAXPage(name, title, header_add, ...)
 

Detailed Description

V

Main include file.

Macro Definition Documentation

◆ EMBAJAX_MAX_ID_LEN

#define EMBAJAX_MAX_ID_LEN

Maximum length to assume for id strings. Reducing this could help to reduce RAM usage, a little.

◆ MAKE_EmbAJAXPage

#define MAKE_EmbAJAXPage (   name,
  title,
  header_add,
  ... 
)

Convenience macro to set up an EmbAJAXPage, without counting the number of elements for the template. See EmbAJAXPage::EmbAJAXPage()

Parameters
nameVariable name of the page instance
titleHTML Title
header_adda custom string to add to the HTML header section, e.g. a CSS definition.

◆ USE_PROGMEM_STRINGS

#define USE_PROGMEM_STRINGS

Control storage of string constants

On some MCU-architectures, RAM and FLASH reside in two logically distinct address spaces. This implies that regular const char* strings need to be copied into RAM address space, even if they are fully static. EmbAJAX needs many string constants, and is therefore quite affected by this problem.

The Arduino F() macro helps to work around this (further reading, there), but does incur a small performance penalty, which can be avoided if a) RAM usage is not an issue, or b) the MCU uses a unified address space.

This define controls whether (most) static strings in EmbAJAX will be wrapped into the Arduino F() macro: 1 - always 0 - never undefined - based on auto-detected CPU arch (this is the default)