Google은 흑인 공동체를 위한 인종적 평등을 추구하기 위해 노력하고 있습니다. 자세히 알아보기
컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.

nl::매서::기기 레이어:내부:NRF5Config

#include <src/adaptations/device-layer/include/Weave/DeviceLayer/nRF5/nRF5Config.h>

Nordic nRF5 SDK를 기반으로 플랫폼에서 영구 기기 구성에 액세스하기 위한 함수와 정의를 제공합니다.

요약

이 구현은 Nordic Flash Data Storage (FDS) 라이브러리를 기본 저장소 레이어로 사용합니다.

참고: 이 클래스는 GenericConfigurationManagerImpl<> 템플릿의 구체적인 서브클래스에 혼합되도록 설계되었습니다. 이렇게 사용하면 기본적으로 클래스가 템플릿 클래스에서 참조하는 위임된 회원의 구현을 제공합니다 (예: ReadConfigValue() 메서드).

상속

직접 알려진 서브클래스:
nl::Weave::DeviceLayer::ConfigurationManagerImpl
nl::Weave::DeviceLayer::Internal::GroupKeyStoreImpl

공개 유형

Key 사용
uint32_t

보호된 유형

ForEachRecordFunct 사용
std::function< WEAVE_ERROR(const fds_flash_record_t &rec, bool &deleteRec)>

공개 정적 속성

kConfigKey_FabricId = NRF5ConfigKey(kFileId_WeaveConfig, 0x0007)
constexpr Key
kConfigKey_FabricSecret = NRF5ConfigKey(kFileId_WeaveConfig, 0x000B)
constexpr Key
kConfigKey_FailSafeArmed = NRF5ConfigKey(kFileId_WeaveConfig, 0x000D)
constexpr Key
kConfigKey_GroupKey = NRF5ConfigKey(kFileId_WeaveConfig, 0x000E)
constexpr Key
kConfigKey_LastUsedEpochKeyId = NRF5ConfigKey(kFileId_WeaveConfig, 0x000C)
constexpr Key
kConfigKey_ManufacturingDate = NRF5ConfigKey(kFileId_WeaveFactory, 0x0005)
constexpr Key
kConfigKey_MfrDeviceCert = NRF5ConfigKey(kFileId_WeaveFactory, 0x0003)
constexpr Key
kConfigKey_MfrDeviceICACerts = NRF5ConfigKey(kFileId_WeaveFactory, 0x0010)
constexpr Key
kConfigKey_MfrDeviceId = NRF5ConfigKey(kFileId_WeaveFactory, 0x0002)
constexpr Key
kConfigKey_MfrDevicePrivateKey = NRF5ConfigKey(kFileId_WeaveFactory, 0x0004)
constexpr Key
kConfigKey_OperationalDeviceCert = NRF5ConfigKey(kFileId_WeaveConfig, 0x0012)
constexpr Key
kConfigKey_OperationalDeviceICACerts = NRF5ConfigKey(kFileId_WeaveConfig, 0x0013)
constexpr Key
kConfigKey_OperationalDeviceId = NRF5ConfigKey(kFileId_WeaveConfig, 0x0011)
constexpr Key
kConfigKey_OperationalDevicePrivateKey = NRF5ConfigKey(kFileId_WeaveConfig, 0x0014)
constexpr Key
kConfigKey_PairedAccountId = NRF5ConfigKey(kFileId_WeaveConfig, 0x0009)
constexpr Key
kConfigKey_PairingCode = NRF5ConfigKey(kFileId_WeaveFactory, 0x0006)
constexpr Key
kConfigKey_ProductRevision = NRF5ConfigKey(kFileId_WeaveFactory, 0x000F)
constexpr Key
kConfigKey_SerialNum = NRF5ConfigKey(kFileId_WeaveFactory, 0x0001)
constexpr Key
kConfigKey_ServiceConfig = NRF5ConfigKey(kFileId_WeaveConfig, 0x0008)
constexpr Key
kConfigKey_ServiceId = NRF5ConfigKey(kFileId_WeaveConfig, 0x000A)
constexpr Key
kFDSFileIdMax = 0xBFFF
constexpr uint16_t
Nordic SDK당 FDS 파일 ID에 사용할 수 있는 최댓값
kFDSFileIdMin = 0x0000
constexpr uint16_t
Nordic SDK당 FDS 파일 ID에 사용할 수 있는 최솟값입니다.
kFDSRecordKeyMax = 0xBFFF
constexpr uint16_t
Nordic SDK당 FDS 레코드 키에 사용할 수 있는 최댓값
kFDSRecordKeyMin = 0x0001
constexpr uint16_t
Nordic SDK당 FDS 레코드 키에 사용할 수 있는 최솟값입니다.
kFileId_WeaveConfig = 0x235B
constexpr uint16_t
런타임에 설정된 동적 구성 값을 포함하는 FDS 파일입니다.
kFileId_WeaveCounter = 0x235C
constexpr uint16_t
런타임에 설정된 동적 카운터 값을 포함하는 FDS 파일입니다.
kFileId_WeaveFactory = 0x235A
constexpr uint16_t
제조 시간에 설정된 영구 구성 값이 포함된 FDS 파일.
kPersistedCounterRecordKeyBase = kFDSRecordKeyMin
constexpr uint16_t
Weave 영구 카운터 값이 포함된 레코드의 기본 레코드 키
kPersistedCounterRecordKeyMax = kFDSRecordKeyMax
constexpr uint16_t
Weave 영구 카운터 값을 포함하는 레코드의 최대 레코드 키입니다.

보호된 정적 속성

kFDSWordSize = 4
constexpr uint16_t
sActiveAsyncOp
FDSAsyncOp *volatile
sAsyncOpCompletionSem
SemaphoreHandle_t

공개 정적 함수

ClearConfigValue(Key key)
ConfigValueExists(Key key)
bool
FactoryResetConfig(void)
Init(void)
ReadConfigValue(Key key, bool & val)
ReadConfigValue(Key key, uint32_t & val)
ReadConfigValue(Key key, uint64_t & val)
ReadConfigValueBin(Key key, uint8_t *buf, size_t bufSize, size_t & outLen)
ReadConfigValueStr(Key key, char *buf, size_t bufSize, size_t & outLen)
RunConfigUnitTest(void)
void
WriteConfigValue(Key key, bool val)
WriteConfigValue(Key key, uint32_t val)
WriteConfigValue(Key key, uint64_t val)
WriteConfigValueBin(Key key, const uint8_t *data, size_t dataLen)
WriteConfigValueStr(Key key, const char *str)
WriteConfigValueStr(Key key, const char *str, size_t strLen)

보호된 정적 함수

DoAsyncFDSOp(FDSAsyncOp & asyncOp)
FDSWords(size_t s)
constexpr uint16_t
지정된 크기 객체를 보유하는 데 필요한 FDS 단어 수입니다.
ForEachRecord(uint16_t fileId, uint16_t recordKey, ForEachRecordFunct funct)
GetFileId(uint32_t key)
constexpr uint16_t
키 값에서 FDS 파일 ID를 추출합니다.
GetRecordKey(uint32_t key)
constexpr uint16_t
키 값에서 FDS 레코드 키를 추출합니다.
OpenRecord(NRF5Config::Key key, fds_record_desc_t & recDesc, fds_flash_record_t & rec)

공개 유형

uint32_t Key

보호된 유형

ForEveryRecordFunct

std::function< WEAVE_ERROR(const fds_flash_record_t &rec, bool &deleteRec)> ForEachRecordFunct

공개 정적 속성

kConfigKey_FabricId

constexpr Key kConfigKey_FabricId = NRF5ConfigKey(kFileId_WeaveConfig,  0x0007)

kConfigKey_FabricSecret

constexpr Key kConfigKey_FabricSecret = NRF5ConfigKey(kFileId_WeaveConfig,  0x000B)

kConfigKey_FailSafeArmed

constexpr Key kConfigKey_FailSafeArmed = NRF5ConfigKey(kFileId_WeaveConfig,  0x000D)

kConfigKey_GroupKey

constexpr Key kConfigKey_GroupKey = NRF5ConfigKey(kFileId_WeaveConfig,  0x000E)

kConfigKey_LastUsedEpochKeyId

constexpr Key kConfigKey_LastUsedEpochKeyId = NRF5ConfigKey(kFileId_WeaveConfig,  0x000C)

kConfigKey_ManufacturingDate

constexpr Key kConfigKey_ManufacturingDate = NRF5ConfigKey(kFileId_WeaveFactory, 0x0005)

kConfigKey_MfrDeviceCert

constexpr Key kConfigKey_MfrDeviceCert = NRF5ConfigKey(kFileId_WeaveFactory, 0x0003)

kConfigKey_MfrDeviceICACerts

constexpr Key kConfigKey_MfrDeviceICACerts = NRF5ConfigKey(kFileId_WeaveFactory, 0x0010)

kConfigKey_MfrDeviceId

constexpr Key kConfigKey_MfrDeviceId = NRF5ConfigKey(kFileId_WeaveFactory, 0x0002)

kConfigKey_MfrDevicePrivateKey

constexpr Key kConfigKey_MfrDevicePrivateKey = NRF5ConfigKey(kFileId_WeaveFactory, 0x0004)

kConfigKey_OperationalDeviceCert

constexpr Key kConfigKey_OperationalDeviceCert = NRF5ConfigKey(kFileId_WeaveConfig,  0x0012)

kConfigKey_OperationalDeviceICACerts

constexpr Key kConfigKey_OperationalDeviceICACerts = NRF5ConfigKey(kFileId_WeaveConfig,  0x0013)

kConfigKey_OperationalDeviceId

constexpr Key kConfigKey_OperationalDeviceId = NRF5ConfigKey(kFileId_WeaveConfig,  0x0011)

kConfigKey_OperationalDevicePrivateKey

constexpr Key kConfigKey_OperationalDevicePrivateKey = NRF5ConfigKey(kFileId_WeaveConfig,  0x0014)

kConfigKey_PairedAccountId

constexpr Key kConfigKey_PairedAccountId = NRF5ConfigKey(kFileId_WeaveConfig,  0x0009)

kConfigKey_PairingCode

constexpr Key kConfigKey_PairingCode = NRF5ConfigKey(kFileId_WeaveFactory, 0x0006)

kConfigKey_ProductRevision

constexpr Key kConfigKey_ProductRevision = NRF5ConfigKey(kFileId_WeaveFactory, 0x000F)

kConfigKey_SerialNum

constexpr Key kConfigKey_SerialNum = NRF5ConfigKey(kFileId_WeaveFactory, 0x0001)

kConfigKey_ServiceConfig 필드

constexpr Key kConfigKey_ServiceConfig = NRF5ConfigKey(kFileId_WeaveConfig,  0x0008)

kConfigKey_ServiceId

constexpr Key kConfigKey_ServiceId = NRF5ConfigKey(kFileId_WeaveConfig,  0x000A)

kFDSFileIdMax

constexpr uint16_t kFDSFileIdMax = 0xBFFF

Nordic SDK당 FDS 파일 ID에 사용할 수 있는 최댓값

kFDSFileIdMin

constexpr uint16_t kFDSFileIdMin = 0x0000

Nordic SDK당 FDS 파일 ID에 사용할 수 있는 최솟값입니다.

kFDS레코드키최대값

constexpr uint16_t kFDSRecordKeyMax = 0xBFFF

Nordic SDK당 FDS 레코드 키에 사용할 수 있는 최댓값

kFDS레코드키

constexpr uint16_t kFDSRecordKeyMin = 0x0001

Nordic SDK당 FDS 레코드 키에 사용할 수 있는 최솟값입니다.

kFileId_WeaveConfig

constexpr uint16_t kFileId_WeaveConfig = 0x235B

런타임에 설정된 동적 구성 값을 포함하는 FDS 파일입니다.

초기화 중에 삭제되었습니다.

kFileId_WeaveCounter

constexpr uint16_t kFileId_WeaveCounter = 0x235C

런타임에 설정된 동적 카운터 값을 포함하는 FDS 파일입니다.

초기화 중에 보관됩니다.

kFileId_WeaveFactory

constexpr uint16_t kFileId_WeaveFactory = 0x235A

제조 시간에 설정된 영구 구성 값이 포함된 FDS 파일.

초기화 중에 보관됩니다.

kPersistedCounterRecordKeyBase

constexpr uint16_t kPersistedCounterRecordKeyBase = kFDSRecordKeyMin

Weave 영구 카운터 값이 포함된 레코드의 기본 레코드 키

Weave 카운터 ID가 이 값에 추가되어 FDS 레코드 키를 형성합니다.

kPersistedCounterRecordKeyMax

constexpr uint16_t kPersistedCounterRecordKeyMax = kFDSRecordKeyMax

Weave 영구 카운터 값을 포함하는 레코드의 최대 레코드 키입니다.

보호된 정적 속성

kFDSWordSize

constexpr uint16_t kFDSWordSize = 4

활성 비동기 작업

FDSAsyncOp *volatile sActiveAsyncOp

sAsyncOpCompleteSem

SemaphoreHandle_t sAsyncOpCompletionSem

공개 정적 함수

명확한 구성 값

WEAVE_ERROR ClearConfigValue(
  Key key
)

ConfigValueExists

bool ConfigValueExists(
  Key key
)

초기화 구성

WEAVE_ERROR FactoryResetConfig(
  void
)

Init

WEAVE_ERROR Init(
  void
)

ReadConfigValue

WEAVE_ERROR ReadConfigValue(
  Key key,
  bool & val
)

ReadConfigValue

WEAVE_ERROR ReadConfigValue(
  Key key,
  uint32_t & val
)

ReadConfigValue

WEAVE_ERROR ReadConfigValue(
  Key key,
  uint64_t & val
)

읽기 구성값

WEAVE_ERROR ReadConfigValueBin(
  Key key,
  uint8_t *buf,
  size_t bufSize,
  size_t & outLen
)

ReadConfigValueStr

WEAVE_ERROR ReadConfigValueStr(
  Key key,
  char *buf,
  size_t bufSize,
  size_t & outLen
)

RunConfigUnitTest

void RunConfigUnitTest(
  void
)

쓰기 구성값

WEAVE_ERROR WriteConfigValue(
  Key key,
  bool val
)

쓰기 구성값

WEAVE_ERROR WriteConfigValue(
  Key key,
  uint32_t val
)

쓰기 구성값

WEAVE_ERROR WriteConfigValue(
  Key key,
  uint64_t val
)

쓰기 구성값 상자

WEAVE_ERROR WriteConfigValueBin(
  Key key,
  const uint8_t *data,
  size_t dataLen
)

writeConfigValueStr

WEAVE_ERROR WriteConfigValueStr(
  Key key,
  const char *str
)

writeConfigValueStr

WEAVE_ERROR WriteConfigValueStr(
  Key key,
  const char *str,
  size_t strLen
)

보호된 정적 함수

DoAsyncFDSOP

WEAVE_ERROR DoAsyncFDSOp(
  FDSAsyncOp & asyncOp
)

FDS단어

constexpr uint16_t FDSWords(
  size_t s
)

지정된 크기 객체를 보유하는 데 필요한 FDS 단어 수입니다.

For각 레코드

WEAVE_ERROR ForEachRecord(
  uint16_t fileId,
  uint16_t recordKey,
  ForEachRecordFunct funct
)

GetFileId

constexpr uint16_t GetFileId(
  uint32_t key
)

키 값에서 FDS 파일 ID를 추출합니다.

GetRecordKey

constexpr uint16_t GetRecordKey(
  uint32_t key
)

키 값에서 FDS 레코드 키를 추출합니다.

OpenRecord

WEAVE_ERROR OpenRecord(
  NRF5Config::Key key,
  fds_record_desc_t & recDesc,
  fds_flash_record_t & rec
)