Uniot Core
0.8.1
Loading...
Searching...
No Matches

Contains all classes and functions related to the Uniot Core. More...

Namespaces

namespace  events
 
namespace  JSON
 
namespace  lisp
 Contains type definitions and utilities for interacting with the Lisp interpreter.
 
namespace  primitive
 Contains descriptions and implementations of primitive functions for hardware interaction.
 

Classes

class  AppKit
 
class  Array
 
class  Button
 
class  CallbackEventListener
 
class  CallbackMQTTDevice
 
class  CBORObject
 
class  CBORStorage
 
class  ConfigCaptivePortal
 Complete captive portal implementation for device configuration. More...
 
class  COSEMessage
 Implementation of COSE_Sign1 message format as specified in RFC 8152. More...
 
class  CrashStorage
 Handles crash data storage and retrieval for ESP8266. More...
 
class  Credentials
 Manages device identity and cryptographic credentials for Uniot devices. More...
 
class  DataChannels
 
class  Date
 
class  DetailedAsyncWebServer
 Extended AsyncWebServer with status monitoring capabilities. More...
 
class  ESP32Task
 
class  ESP32WifiScan
 WiFi network scanner implementation for ESP32. More...
 
class  ESP8266Task
 
class  ESP8266WifiScan
 WiFi network scanner implementation for ESP8266. More...
 
class  EventBus
 
class  EventEmitter
 
class  EventEntity
 Entity that can connect to and interact with EventBus instances. More...
 
class  EventListener
 
class  GlobalBufferMemoryManager
 
class  GpioRegister
 
class  ICOSESigner
 Interface for CBOR Object Signing and Encryption (COSE) signing operations. More...
 
class  IEventBusConnectionKit
 
class  IExecutor
 Interface for executing tasks in the scheduler system. More...
 
class  IncomingEventManager
 
class  ISchedulerConnectionKit
 Interface for connecting components to the TaskScheduler. More...
 
class  IWithType
 Interface for objects that expose their runtime type information. More...
 
class  Lisp
 Utility class for working with Lisp objects in C++. More...
 
class  LispDevice
 
struct  LispEvent
 
class  Map
 
class  MQTTDevice
 
class  MQTTKit
 
class  MQTTPath
 
class  NetworkController
 Network management controller with user interface integration. More...
 
class  NetworkScheduler
 Complete WiFi network management and configuration scheduler. More...
 
class  NVSFile
 
class  NVSFileSystem
 
class  ObjectRegister
 
class  ObjectRegisterRecord
 
class  PrimitiveExpeditor
 
class  Register
 
class  RegisterManager
 
class  RegisterManagerProxy
 
class  SchedulerTask
 
class  SimpleNTP
 
class  Singleton
 
class  Storage
 
class  TaskScheduler
 
class  TopDevice
 
class  Type
 Utility class providing static methods for runtime type identification and safe casting. More...
 
class  unLisp
 
class  WifiStorage
 

Typedefs

using LispEventInterceptor = std::function<bool(const LispEvent &event)>
 
typedef enum uniot::COSETag COSETag
 
typedef enum uniot::COSEHeaderLabel COSEHeaderLabel
 
typedef enum uniot::COSEAlgorithm COSEAlgorithm
 
using CoreCallbackEventListener = CallbackEventListener<unsigned int, int, Bytes>
 Convenience alias for the most common usage of CallbackEventListener.
 
using CoreEventBus = EventBus<unsigned int, int, Bytes>
 Standard EventBus configuration used throughout the core system.
 
using CoreEventEmitter = EventEmitter<unsigned int, int, Bytes>
 A specialized EventEmitter for core system events.
 
using CoreEventListener = EventListener<unsigned int, int, Bytes>
 Type alias for the common EventListener configuration used in the core system.
 
using ICoreEventBusConnectionKit = IEventBusConnectionKit<unsigned int, int, Bytes>
 A specific instance of IEventBusConnectionKit for core system events.
 
using RecordPtr = ObjectRegisterRecord *
 Type alias for ObjectRegisterRecord pointers for better readability.
 
typedef struct _ETSTIMER_ ETSTimer
 
using Task = ESP8266Task
 
typedef const void * type_id
 Type alias for a unique type identifier.
 

Enumerations

enum  COSETag {
  Sign = 98 , Sign1 = 18 , Encrypted = 96 , Encrypted1 = 16 ,
  Mac = 97 , Mac0 = 17
}
 CBOR tag values that identify the type of COSE message. More...
 
enum  COSEHeaderLabel {
  Algorithm = 1 , Critical = 2 , ContentType = 3 , KeyIdentifier = 4 ,
  IV = 5 , PartialIV = 6 , CounterSignature = 7 , CounterSignature0 = 9
}
 Common header parameter labels for COSE messages. More...
 
enum  COSEAlgorithm {
  PS256 = -37 , PS384 = -38 , PS512 = -39 , ES256 = -7 ,
  ES384 = -35 , ES512 = -36 , EdDSA = -8
}
 Cryptographic algorithm identifiers for COSE. More...
 

Functions

void uniotCrashCallback (struct rst_info *resetInfo, uint32_t stackStart, uint32_t stackEnd)
 ESP8266 crash callback function registered with system.
 
size_t alignSize (size_t size)
 Align a size value to a 4-byte boundary.
 

Variables

NVSFileSystem NVSFS
 Global NVS file system instance.
 
template<typename T>
using UniquePointer = std::unique_ptr<T>
 Type alias for std::unique_ptr with cleaner syntax.
 
template<typename T>
using SharedPointer = std::shared_ptr<T>
 Type alias for std::shared_ptr with cleaner syntax.
 
template<typename T_First, typename T_Second>
using Pair = std::pair<T_First, T_Second>
 Type alias for std::pair with cleaner syntax.
 
template<typename T, typename... Args>
auto MakeShared (Args &&...args) -> decltype(std::make_shared< T >(std::forward< Args >(args)...))
 Creates a shared pointer instance, alias for std::make_shared.
 
template<typename T, typename... Args>
auto MakeUnique (Args &&...args) -> decltype(std::make_unique< T >(std::forward< Args >(args)...))
 Creates a unique pointer instance, alias for std::make_unique.
 
template<typename... Args>
auto MakePair (Args &&...args) -> decltype(std::make_pair(std::forward< Args >(args)...))
 Creates a pair instance, alias for std::make_pair.
 

Detailed Description

Contains all classes and functions related to the Uniot Core.

Typedef Documentation

◆ COSEAlgorithm

◆ COSEHeaderLabel

◆ COSETag

◆ ETSTimer

typedef struct _ETSTIMER_ uniot::ETSTimer

◆ LispEventInterceptor

using uniot::LispEventInterceptor = std::function<bool(const LispEvent &event)>

◆ Task

Variable Documentation

◆ NVSFS

NVSFileSystem uniot::NVSFS

Global NVS file system instance.

Provides a global NVSFS object that can be used as a drop-in replacement for SPIFFS or LittleFS in the Storage class and other file system operations.

Usage example:

#define FileFS NVSFS // Use NVS instead of SPIFFS/LittleFS