KPN Things Device SDK
senml_enums.h File Reference
#include "defaults.h"

Go to the source code of this file.

Macros

#define SENML_NAME_TEMPERATURE   "temperature"
 
#define SENML_NAME_HUMIDITY   "humidity"
 
#define SENML_NAME_LATTITUDE   "latitude"
 
#define SENML_NAME_LATITUDE   "latitude"
 
#define SENML_NAME_LONGITUDE   "longitude"
 
#define SENML_NAME_ALTITUDE   "altitude"
 
#define SENML_NAME_POWER   "power"
 
#define SENML_NAME_PRESSURE   "pressure"
 
#define SENML_NAME_ANGLE   "angle"
 
#define SENML_NAME_LENGTH   "length"
 
#define SENML_NAME_BREADTH   "breadth"
 
#define SENML_NAME_HEIGHT   "height"
 
#define SENML_NAME_WEIGHT   "weight"
 
#define SENML_NAME_THICKNESS   "thickness"
 
#define SENML_NAME_DISTANCE   "distance"
 
#define SENML_NAME_AREA   "area"
 
#define SENML_NAME_VOLUME   "volume"
 
#define SENML_NAME_VELOCITY   "velocity"
 
#define SENML_NAME_ELECTRIC_CURRENT   "electricCurrent"
 
#define SENML_NAME_ELECTRIC_POTENTIAL   "electricPotential"
 
#define SENML_NAME_ELECTRIC_RESISTANCE   "electricResistance"
 
#define SENML_NAME_ILLUMINANCE   "illuminance"
 
#define SENML_NAME_ACCELERATION_X   "accelerationX"
 
#define SENML_NAME_ACCELERATION_Y   "accelerationY"
 
#define SENML_NAME_ACCELERATION_Z   "accelerationZ"
 
#define SENML_NAME_HEADING   "heading"
 
#define SENML_NAME_CO_CONCENTRATION   "COConcentration"
 
#define SENML_NAME_CO2_CONCENTRATION   "CO2Concentration"
 
#define SENML_NAME_SOUND   "sound"
 
#define SENML_NAME_FREQUENCY   "frequency"
 
#define SENML_NAME_BATTERY_LEVEL   "batteryLevel"
 
#define SENML_NAME_BATTERY_VOLTAGE   "batteryVoltage"
 
#define SENML_NAME_RADIUS   "radius"
 
#define SENML_NAME_BATTERY_LEVEL_LOW   "batteryLevelLow"
 
#define SENML_NAME_COMPASS_X   "compassX"
 
#define SENML_NAME_COMPASS_Y   "compassY"
 
#define SENML_NAME_COMPASS_Z   "compassZ"
 
#define SENML_NAME_READ_SWITCH   "readSwitch"
 
#define SENML_NAME_PRESENCE   "presence"
 
#define SENML_NAME_COUNTER   "counter"
 
#define SENML_NAME_URL   "url"
 
#define SENML_NAME_TOKEN   "token"
 
#define SENML_NAME_FIRMWARE   "firmware"
 

Enumerations

enum  SenMLDataType {
  SENML_TYPE_NR , SENML_TYPE_STRING , SENML_TYPE_BOOL , SENML_TYPE_DATA ,
  CBOR_TYPE_UINT , CBOR_TYPE_INT , CBOR_TYPE_STRING , CBOR_TYPE_FLOAT ,
  CBOR_TYPE_DOUBLE , CBOR_TYPE_BOOL , CBOR_TYPE_DATA
}
 
enum  SenMLStreamMethod { SENML_HEX , SENML_RAW }
 
enum  ThingsMLMeasurementIndex {
  THINGSML_NO_INDEX = -100 , THINGSML_TEMPERATURE = -24 , THINGSML_HUMIDITY = -23 , THINGSML_LATITUDE = -22 ,
  THINGSML_LONGITUDE = -21 , THINGSML_ALTITUDE = -20 , THINGSML_POWER = -19 , THINGSML_PRESSURE = -18 ,
  THINGSML_ANGLE = -17 , THINGSML_LENGTH = -16 , THINGSML_BREADTH = -15 , THINGSML_HEIGHT = -14 ,
  THINGSML_WEIGHT = -13 , THINGSML_THICKNESS = -12 , THINGSML_DISTANCE = -11 , THINGSML_AREA = -10 ,
  THINGSML_VOLUME = -9 , THINGSML_VELOCITY = -8 , THINGSML_ELECTRIC_CURRENT = -7 , THINGSML_ELECTRIC_POTENTIAL = -6 ,
  THINGSML_ELECTRIC_RESISTANCE = -5 , THINGSML_ILLUMINANCE = -4 , THINGSML_ACCELERATION_X = -3 , THINGSML_ACCELERATION_Y = -2 ,
  THINGSML_ACCELERATION_Z = -1 , THINGSML_HEADING = 0 , THINGSML_CO_CONCENTRATION = 1 , THINGSML_CO2_CONCENTRATION = 2 ,
  THINGSML_SOUND = 3 , THINGSML_FREQUENCY = 4 , THINGSML_BATTERY_LEVEL = 5 , THINGSML_BATTERY_VOLTAGE = 6 ,
  THINGSML_RADIUS = 7 , THINGSML_BATTERY_LEVEL_LOW = 8 , THINGSML_COMPASS_X = 9 , THINGSML_COMPASS_Y = 10 ,
  THINGSML_COMPASS_Z = 11 , THINGSML_READ_SWITCH = 12 , THINGSML_PRESENCE = 13 , THINGSML_COUNTER = 14
}
 
enum  SenMLUnit {
  SENML_UNIT_NONE , SENML_UNIT_METER , SENML_UNIT_KILOGRAM , SENML_UNIT_GRAM ,
  SENML_UNIT_SECOND , SENML_UNIT_AMPERE , SENML_UNIT_KELVIN , SENML_UNIT_CANDELA ,
  SENML_UNIT_MOLE , SENML_UNIT_HERTZ , SENML_UNIT_RADIAN , SENML_UNIT_STERADIAN ,
  SENML_UNIT_NEWTON , SENML_UNIT_PASCAL , SENML_UNIT_JOULE , SENML_UNIT_WATT ,
  SENML_UNIT_COULOMB , SENML_UNIT_VOLT , SENML_UNIT_FARAD , SENML_UNIT_OHM ,
  SENML_UNIT_SIEMENS , SENML_UNIT_WEBER , SENML_UNIT_TESLA , SENML_UNIT_HENRY ,
  SENML_UNIT_DEGREES_CELSIUS , SENML_UNIT_LUMEN , SENML_UNIT_LUX , SENML_UNIT_BECQUEREL ,
  SENML_UNIT_GRAY , SENML_UNIT_SIEVERT , SENML_UNIT_KATAL , SENML_UNIT_SQUARE_METER ,
  SENML_UNIT_CUBIC_METER , SENML_UNIT_LITER , SENML_UNIT_VELOCITY , SENML_UNIT_ACCELERATION ,
  SENML_UNIT_CUBIC_METER_PER_SECOND , SENML_UNIT_LITER_PER_SECOND , SENML_UNIT_WATT_PER_SQUARE_METER , SENML_UNIT_CANDELA_PER_SQUARE_METER ,
  SENML_UNIT_BIT , SENML_UNIT_BIT_PER_SECOND , SENML_UNIT_DEGREES_LATITUDE , SENML_UNIT_DEGREES_LONGITUDE ,
  SENML_UNIT_PH , SENML_UNIT_DECIBEL , SENML_UNIT_DECIBEL_RELATIVE_TO_1_W , SENML_UNIT_BEL ,
  SENML_UNIT_COUNTER , SENML_UNIT_RATIO , SENML_UNIT_RELATIVE_HUMIDITY , SENML_UNIT_PERCENTAGE_REMAINING_BATTERY_LEVEL ,
  SENML_UNIT_SECONDS_REMAINING_BATTERY_LEVEL , SENML_UNIT_EVENT_RATE_PER_SECOND , SENML_UNIT_EVENT_RATE_PER_MINUTE , SENML_UNIT_BPM ,
  SENML_UNIT_BEATS , SENML_UNIT_SIEMENS_PER_METER , SENML_UNIT_PARTS_PER_MILLION
}
 

Variables

const char *const senml_units_names []
 

Macro Definition Documentation

◆ SENML_NAME_ACCELERATION_X

#define SENML_NAME_ACCELERATION_X   "accelerationX"

◆ SENML_NAME_ACCELERATION_Y

#define SENML_NAME_ACCELERATION_Y   "accelerationY"

◆ SENML_NAME_ACCELERATION_Z

#define SENML_NAME_ACCELERATION_Z   "accelerationZ"

◆ SENML_NAME_ALTITUDE

#define SENML_NAME_ALTITUDE   "altitude"

◆ SENML_NAME_ANGLE

#define SENML_NAME_ANGLE   "angle"

◆ SENML_NAME_AREA

#define SENML_NAME_AREA   "area"

◆ SENML_NAME_BATTERY_LEVEL

#define SENML_NAME_BATTERY_LEVEL   "batteryLevel"

◆ SENML_NAME_BATTERY_LEVEL_LOW

#define SENML_NAME_BATTERY_LEVEL_LOW   "batteryLevelLow"

◆ SENML_NAME_BATTERY_VOLTAGE

#define SENML_NAME_BATTERY_VOLTAGE   "batteryVoltage"

◆ SENML_NAME_BREADTH

#define SENML_NAME_BREADTH   "breadth"

◆ SENML_NAME_CO2_CONCENTRATION

#define SENML_NAME_CO2_CONCENTRATION   "CO2Concentration"

◆ SENML_NAME_CO_CONCENTRATION

#define SENML_NAME_CO_CONCENTRATION   "COConcentration"

◆ SENML_NAME_COMPASS_X

#define SENML_NAME_COMPASS_X   "compassX"

◆ SENML_NAME_COMPASS_Y

#define SENML_NAME_COMPASS_Y   "compassY"

◆ SENML_NAME_COMPASS_Z

#define SENML_NAME_COMPASS_Z   "compassZ"

◆ SENML_NAME_COUNTER

#define SENML_NAME_COUNTER   "counter"

◆ SENML_NAME_DISTANCE

#define SENML_NAME_DISTANCE   "distance"

◆ SENML_NAME_ELECTRIC_CURRENT

#define SENML_NAME_ELECTRIC_CURRENT   "electricCurrent"

◆ SENML_NAME_ELECTRIC_POTENTIAL

#define SENML_NAME_ELECTRIC_POTENTIAL   "electricPotential"

◆ SENML_NAME_ELECTRIC_RESISTANCE

#define SENML_NAME_ELECTRIC_RESISTANCE   "electricResistance"

◆ SENML_NAME_FIRMWARE

#define SENML_NAME_FIRMWARE   "firmware"

◆ SENML_NAME_FREQUENCY

#define SENML_NAME_FREQUENCY   "frequency"

◆ SENML_NAME_HEADING

#define SENML_NAME_HEADING   "heading"

◆ SENML_NAME_HEIGHT

#define SENML_NAME_HEIGHT   "height"

◆ SENML_NAME_HUMIDITY

#define SENML_NAME_HUMIDITY   "humidity"

◆ SENML_NAME_ILLUMINANCE

#define SENML_NAME_ILLUMINANCE   "illuminance"

◆ SENML_NAME_LATITUDE

#define SENML_NAME_LATITUDE   "latitude"

◆ SENML_NAME_LATTITUDE

#define SENML_NAME_LATTITUDE   "latitude"

◆ SENML_NAME_LENGTH

#define SENML_NAME_LENGTH   "length"

◆ SENML_NAME_LONGITUDE

#define SENML_NAME_LONGITUDE   "longitude"

◆ SENML_NAME_POWER

#define SENML_NAME_POWER   "power"

◆ SENML_NAME_PRESENCE

#define SENML_NAME_PRESENCE   "presence"

◆ SENML_NAME_PRESSURE

#define SENML_NAME_PRESSURE   "pressure"

◆ SENML_NAME_RADIUS

#define SENML_NAME_RADIUS   "radius"

◆ SENML_NAME_READ_SWITCH

#define SENML_NAME_READ_SWITCH   "readSwitch"

◆ SENML_NAME_SOUND

#define SENML_NAME_SOUND   "sound"

◆ SENML_NAME_TEMPERATURE

#define SENML_NAME_TEMPERATURE   "temperature"

◆ SENML_NAME_THICKNESS

#define SENML_NAME_THICKNESS   "thickness"

◆ SENML_NAME_TOKEN

#define SENML_NAME_TOKEN   "token"

◆ SENML_NAME_URL

#define SENML_NAME_URL   "url"

◆ SENML_NAME_VELOCITY

#define SENML_NAME_VELOCITY   "velocity"

◆ SENML_NAME_VOLUME

#define SENML_NAME_VOLUME   "volume"

◆ SENML_NAME_WEIGHT

#define SENML_NAME_WEIGHT   "weight"

Enumeration Type Documentation

◆ SenMLDataType

Lists all the data types that a value can have in senml. This is primarely used for actuator callbacks on SenMLPack objects when no appropirate SenMLRecord could be found for the acutator command.

Enumerator
SENML_TYPE_NR 
SENML_TYPE_STRING 
SENML_TYPE_BOOL 
SENML_TYPE_DATA 
CBOR_TYPE_UINT 
CBOR_TYPE_INT 
CBOR_TYPE_STRING 
CBOR_TYPE_FLOAT 
CBOR_TYPE_DOUBLE 
CBOR_TYPE_BOOL 
CBOR_TYPE_DATA 

◆ SenMLStreamMethod

Determines how data should be read/rendered to the stream: in the original format or converted to hex values. The latter is used for serial communication with a modem such as a lora modem.

Enumerator
SENML_HEX 
SENML_RAW 

◆ SenMLUnit

enum SenMLUnit

Lists all the units of measurement that are supported by SenML.

Enumerator
SENML_UNIT_NONE 
SENML_UNIT_METER 
SENML_UNIT_KILOGRAM 
SENML_UNIT_GRAM 
SENML_UNIT_SECOND 
SENML_UNIT_AMPERE 
SENML_UNIT_KELVIN 
SENML_UNIT_CANDELA 
SENML_UNIT_MOLE 
SENML_UNIT_HERTZ 
SENML_UNIT_RADIAN 
SENML_UNIT_STERADIAN 
SENML_UNIT_NEWTON 
SENML_UNIT_PASCAL 
SENML_UNIT_JOULE 
SENML_UNIT_WATT 
SENML_UNIT_COULOMB 
SENML_UNIT_VOLT 
SENML_UNIT_FARAD 
SENML_UNIT_OHM 
SENML_UNIT_SIEMENS 
SENML_UNIT_WEBER 
SENML_UNIT_TESLA 
SENML_UNIT_HENRY 
SENML_UNIT_DEGREES_CELSIUS 
SENML_UNIT_LUMEN 
SENML_UNIT_LUX 
SENML_UNIT_BECQUEREL 
SENML_UNIT_GRAY 
SENML_UNIT_SIEVERT 
SENML_UNIT_KATAL 
SENML_UNIT_SQUARE_METER 
SENML_UNIT_CUBIC_METER 
SENML_UNIT_LITER 
SENML_UNIT_VELOCITY 
SENML_UNIT_ACCELERATION 
SENML_UNIT_CUBIC_METER_PER_SECOND 
SENML_UNIT_LITER_PER_SECOND 
SENML_UNIT_WATT_PER_SQUARE_METER 
SENML_UNIT_CANDELA_PER_SQUARE_METER 
SENML_UNIT_BIT 
SENML_UNIT_BIT_PER_SECOND 
SENML_UNIT_DEGREES_LATITUDE 
SENML_UNIT_DEGREES_LONGITUDE 
SENML_UNIT_PH 
SENML_UNIT_DECIBEL 
SENML_UNIT_DECIBEL_RELATIVE_TO_1_W 
SENML_UNIT_BEL 
SENML_UNIT_COUNTER 
SENML_UNIT_RATIO 
SENML_UNIT_RELATIVE_HUMIDITY 
SENML_UNIT_PERCENTAGE_REMAINING_BATTERY_LEVEL 
SENML_UNIT_SECONDS_REMAINING_BATTERY_LEVEL 
SENML_UNIT_EVENT_RATE_PER_SECOND 
SENML_UNIT_EVENT_RATE_PER_MINUTE 
SENML_UNIT_BPM 
SENML_UNIT_BEATS 
SENML_UNIT_SIEMENS_PER_METER 
SENML_UNIT_PARTS_PER_MILLION 

◆ ThingsMLMeasurementIndex

Enumerator
THINGSML_NO_INDEX 
THINGSML_TEMPERATURE 
THINGSML_HUMIDITY 
THINGSML_LATITUDE 
THINGSML_LONGITUDE 
THINGSML_ALTITUDE 
THINGSML_POWER 
THINGSML_PRESSURE 
THINGSML_ANGLE 
THINGSML_LENGTH 
THINGSML_BREADTH 
THINGSML_HEIGHT 
THINGSML_WEIGHT 
THINGSML_THICKNESS 
THINGSML_DISTANCE 
THINGSML_AREA 
THINGSML_VOLUME 
THINGSML_VELOCITY 
THINGSML_ELECTRIC_CURRENT 
THINGSML_ELECTRIC_POTENTIAL 
THINGSML_ELECTRIC_RESISTANCE 
THINGSML_ILLUMINANCE 
THINGSML_ACCELERATION_X 
THINGSML_ACCELERATION_Y 
THINGSML_ACCELERATION_Z 
THINGSML_HEADING 
THINGSML_CO_CONCENTRATION 
THINGSML_CO2_CONCENTRATION 
THINGSML_SOUND 
THINGSML_FREQUENCY 
THINGSML_BATTERY_LEVEL 
THINGSML_BATTERY_VOLTAGE 
THINGSML_RADIUS 
THINGSML_BATTERY_LEVEL_LOW 
THINGSML_COMPASS_X 
THINGSML_COMPASS_Y 
THINGSML_COMPASS_Z 
THINGSML_READ_SWITCH 
THINGSML_PRESENCE 
THINGSML_COUNTER 

Variable Documentation

◆ senml_units_names

const char* const senml_units_names[]
extern