Bluenet  5.7.0
Bluenet, firmware for nRF52 smart home devices
Loading...
Searching...
No Matches
cs_TrackedDevice.h
Go to the documentation of this file.
1/*
2 * Author: Crownstone Team
3 * Copyright: Crownstone (https://crownstone.rocks)
4 * Date: Sep 23, 2021
5 * License: LGPLv3+, Apache License 2.0, and/or MIT (triple-licensed)
6 */
7
8#pragma once
9
11
20};
21static const uint8_t ALL_FIELDS_SET = 0x7F;
22
23struct __attribute__((packed)) TrackedDevice {
24
25 // Bitmask to keep up which fields are set, with TrackedDeviceFields as bits.
26 uint8_t fieldsSet = 0;
30
32
33 bool isValid();
34
35 void invalidate();
36
38
39 void setAccessLevel(uint8_t accessLevel);
40 void setLocation(uint8_t locationId, uint8_t timeoutMinutes);
41 void setProfile(uint8_t profileId);
42 void setRssiOffset(int8_t rssiOffset);
43 void setFlags(uint8_t flags);
44 void setDevicetoken(uint8_t* deviceToken, uint8_t size);
45 void setTTL(uint16_t ttlMinutes);
46};
static const uint8_t ALL_FIELDS_SET
Definition: cs_TrackedDevice.h:21
TrackedDeviceFields
Definition: cs_TrackedDevice.h:12
@ BIT_POS_PROFILE
Definition: cs_TrackedDevice.h:15
@ BIT_POS_DEVICE_TOKEN
Definition: cs_TrackedDevice.h:18
@ BIT_POS_ACCESS_LEVEL
Definition: cs_TrackedDevice.h:13
@ BIT_POS_TTL
Definition: cs_TrackedDevice.h:19
@ BIT_POS_RSSI_OFFSET
Definition: cs_TrackedDevice.h:16
@ BIT_POS_LOCATION
Definition: cs_TrackedDevice.h:14
@ BIT_POS_FLAGS
Definition: cs_TrackedDevice.h:17
uint16_t device_id_t
Definition: cs_Typedefs.h:24
Definition: cs_TrackedDevice.h:23
void setProfile(uint8_t profileId)
bool allFieldsSet()
void setTTL(uint16_t ttlMinutes)
void setAccessLevel(uint8_t accessLevel)
void setLocation(uint8_t locationId, uint8_t timeoutMinutes)
uint8_t heartbeatTTLMinutes
Definition: cs_TrackedDevice.h:28
void invalidate()
void setRssiOffset(int8_t rssiOffset)
internal_register_tracked_device_packet_t data
Definition: cs_TrackedDevice.h:29
uint8_t locationIdTTLMinutes
Definition: cs_TrackedDevice.h:27
void setDevicetoken(uint8_t *deviceToken, uint8_t size)
device_id_t id()
void setFlags(uint8_t flags)
Definition: cs_PacketsInternal.h:271