Loading...
Searching...
No Matches
device.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 2019 HAW Hamburg
3 *
4 * This file is subject to the terms and conditions of the GNU Lesser
5 * General Public License v2.1. See the file LICENSE in the top level
6 * directory for more details.
7 */
8
47#ifndef OBJECTS_DEVICE_H
48#define OBJECTS_DEVICE_H
49
50#ifdef __cplusplus
51extern "C" {
52#endif
53
54#include <stdio.h>
55#include <stdlib.h>
56#include <string.h>
57
58#include "liblwm2m.h"
59#include "lwm2m_client.h"
60#include "lwm2m_client_config.h"
61
93
110
121#ifndef CONFIG_LWM2M_DEVICE_NAME
122#define CONFIG_LWM2M_DEVICE_NAME "testRIOTDevice"
123#endif
124
128#ifndef CONFIG_LWM2M_DEVICE_MANUFACTURER
129#define CONFIG_LWM2M_DEVICE_MANUFACTURER "A RIOT maker"
130#endif
131
137#ifndef CONFIG_LWM2M_DEVICE_MODEL
138#define CONFIG_LWM2M_DEVICE_MODEL RIOT_BOARD
139#endif
140
144#ifndef CONFIG_LWM2M_DEVICE_SERIAL
145#define CONFIG_LWM2M_DEVICE_SERIAL "undefined"
146#endif
147
153#ifndef CONFIG_LWM2M_DEVICE_FW_VERSION
154#define CONFIG_LWM2M_DEVICE_FW_VERSION RIOT_VERSION
155#endif
156
171#ifdef DOXYGEN
175#define CONFIG_LWM2M_DEVICE_BINDING_U
176
180#define CONFIG_LWM2M_DEVICE_BINDING_UQ
181
185#define CONFIG_LWM2M_DEVICE_BINDING_S
186
190#define CONFIG_LWM2M_DEVICE_BINDING_SQ
191
195#define CONFIG_LWM2M_DEVICE_BINDING_US
196
200#define CONFIG_LWM2M_DEVICE_BINDING_UQS
201#endif
207#ifndef CONFIG_LWM2M_DEVICE_TYPE
208#define CONFIG_LWM2M_DEVICE_TYPE "RIOT device"
209#endif
210
216#ifndef CONFIG_LWM2M_DEVICE_HW_VERSION
217#define CONFIG_LWM2M_DEVICE_HW_VERSION RIOT_BOARD
218#endif
219
225#ifndef CONFIG_LWM2M_DEVICE_SW_VERSION
226#define CONFIG_LWM2M_DEVICE_SW_VERSION RIOT_VERSION
227#endif
235#if defined(CONFIG_LWM2M_DEVICE_BINDING_U)
236#define CONFIG_LWM2M_DEVICE_BINDINGS "U"
237#elif defined(CONFIG_LWM2M_DEVICE_BINDING_UQ)
238#define CONFIG_LWM2M_DEVICE_BINDINGS "UQ"
239#elif defined(CONFIG_LWM2M_DEVICE_BINDING_S)
240#define CONFIG_LWM2M_DEVICE_BINDINGS "S"
241#elif defined(CONFIG_LWM2M_DEVICE_BINDING_SQ)
242#define CONFIG_LWM2M_DEVICE_BINDINGS "SQ"
243#elif defined(CONFIG_LWM2M_DEVICE_BINDING_US)
244#define CONFIG_LWM2M_DEVICE_BINDINGS "US"
245#elif defined(CONFIG_LWM2M_DEVICE_BINDING_UQS)
246#define CONFIG_LWM2M_DEVICE_BINDINGS "UQS"
247#else
248#define CONFIG_LWM2M_DEVICE_BINDINGS "U"
249#endif
250
258lwm2m_object_t *lwm2m_object_device_init(lwm2m_client_data_t *client_data);
259
268
269#ifdef __cplusplus
270}
271#endif
272
273#endif /* OBJECTS_DEVICE_H */
lwm2m_device_resources
Resources of the LwM2M device object instance.
Definition device.h:67
lwm2m_device_error_codes
Error codes for the Error resource in the device object of LwM2M.
Definition device.h:99
lwm2m_object_t * lwm2m_object_device_init(lwm2m_client_data_t *client_data)
Initialize the Device object.
bool lwm2m_device_reboot_requested(void)
Determines if a reboot request has been issued to the device by a server.
@ LWM2M_RES_HW_VERSION
Current hardware version of the device.
Definition device.h:86
@ LWM2M_DEVICE_RESOURCES
Number of resources.
Definition device.h:91
@ LWM2M_RES_REBOOT
Reboot the device.
Definition device.h:72
@ LWM2M_RES_ERROR_CODE
Last error code.
Definition device.h:79
@ LWM2M_RES_BINDINGS
Indicates supported bindings and modes on the client.
Definition device.h:84
@ LWM2M_RES_EXT_DEV_INFO
External device object instance.
Definition device.h:90
@ LWM2M_RES_FW_VER
Current firmware version of the device.
Definition device.h:71
@ LWM2M_RES_SERIAL
Serial number.
Definition device.h:70
@ LWM2M_RES_TIME_ZONE
Indicates the time zone of the device.
Definition device.h:83
@ LWM2M_RES_POWER_SRC
Available power sources.
Definition device.h:74
@ LWM2M_RES_MEM_TOTAL
Total amount of storage space in the device (kB.
Definition device.h:89
@ LWM2M_RES_SW_VERSION
Current software version on the device.
Definition device.h:87
@ LWM2M_RES_TYPE
Type of device.
Definition device.h:85
@ LWM2M_RES_POWER_VOL
Present voltage for each power source.
Definition device.h:75
@ LWM2M_RES_BATTERY_STATUS
Battery status when internal battery is present.
Definition device.h:88
@ LWM2M_RES_TIME_OFFSET
Indicated the UTC offset for the device.
Definition device.h:82
@ LWM2M_RES_FRESET
Perform a factory reset of the device.
Definition device.h:73
@ LWM2M_RES_POWER_AMP
Present current for each power source.
Definition device.h:76
@ LWM2M_RES_MEM_FREE
Estimated current available storage (kB)
Definition device.h:78
@ LWM2M_RES_MANUFACTURER
Human readable manufacturer name.
Definition device.h:68
@ LWM2M_RES_MODEL_NO
Model identifier (manufacturer specified string)
Definition device.h:69
@ LWM2M_RES_TIME
Current UNIX time of the client.
Definition device.h:81
@ LWM2M_RES_ERROR_CODE_RESET
Delete all error code instances.
Definition device.h:80
@ LWM2M_RES_BATTERY_LEVEL
Current battery level as a percentage.
Definition device.h:77
@ LWM2M_DEVICE_ERR_NO_ERR
No error.
Definition device.h:100
@ LWM2M_DEVICE_ERR_SMS_ERR
SMS failure.
Definition device.h:106
@ LWM2M_DEVICE_ERR_LOW_SIGNAL
Low received signal strength.
Definition device.h:104
@ LWM2M_DEVICE_ERR_NO_MEM
Out of memory.
Definition device.h:105
@ LWM2M_DEVICE_ERR_EXT_OFF
External power supply off.
Definition device.h:102
@ LWM2M_DEVICE_ERR_GPS_ERR
GPS module failure.
Definition device.h:103
@ LWM2M_DEVICE_ERR_IP_ERR
IP connectivity failure.
Definition device.h:107
@ LWM2M_DEVICE_ERR_LOW_BATT
Low battery power.
Definition device.h:101
@ LWM2M_DEVICE_ERR_PERIPH_ERR
Peripheral malfunction.
Definition device.h:108
Definitions and public API for a LwM2M client using Wakaama.
LwM2M client configurations.
stdio wrapper to extend the C libs stdio
LwM2M client descriptor.