โปรเซสเซอร์ร่วมเครือข่าย

โมดูลนี้มีฟังก์ชันที่ควบคุมการดําเนินการชุดข้อความและ&#39

สรุป

ประเภทคําจํากัดความ

otNcpDelegateAllowPeekPoke)(uint32_t aAddress, uint16_t aCount) Typedef
bool(*
กําหนดประเภทของผู้รับมอบสิทธิ์ (ตัวชี้ฟังก์ชัน) เพื่อควบคุมพฤติกรรมของการแสดง/ซ่อน
otNcpHandlerJoinLegacyNode)(const otExtAddress *aExtAddress) Typedef
void(*
กําหนดเครื่องจัดการ (ตัวชี้ฟังก์ชัน) สําหรับขั้นตอนการเข้าร่วม
otNcpHandlerSetLegacyUlaPrefix)(const uint8_t *aUlaPrefix) Typedef
void(*
ระบุประเภทเครื่องจัดการ (ตัวชี้ฟังก์ชัน) สําหรับการตั้งค่าคํานําหน้า ULA เดิม
otNcpHandlerStartLegacy)(void) Typedef
void(*
กําหนดเครื่องจัดการ (ตัวชี้ฟังก์ชัน) สําหรับเริ่มต้นเครือข่ายเดิม
otNcpHandlerStopLegacy)(void) Typedef
void(*
กําหนดประเภทเครื่องจัดการ (ตัวชี้ฟังก์ชัน) สําหรับหยุดเครือข่ายเดิม
otNcpHdlcSendCallback)(const uint8_t *aBuf, uint16_t aBufLength) Typedef
int(*
การเรียกฟังก์ชันนี้จะเรียกใช้เพื่อส่งข้อมูล NCP ที่เข้ารหัส HDLC
otNcpLegacyHandlers Typedef
กําหนดโครงสร้างที่มีเครื่องจัดการเดิมทั้งหมด (ตัวชี้ฟังก์ชัน)

ฟังก์ชัน

otNcpHandleDidReceiveNewLegacyUlaPrefix(const uint8_t *aUlaPrefix)
void
มีการเรียกใช้โค้ดเรียกกลับนี้จากสแต็กเดิมเพื่อแจ้งให้ทราบว่าคํานําหน้า ULA เดิมมีการเปลี่ยนแปลง
otNcpHandleLegacyNodeDidJoin(const otExtAddress *aExtAddr)
void
มีการเรียกใช้โค้ดเรียกกลับนี้จากสแต็กเดิมเพื่อแจ้งว่าโหนดเดิมใหม่เข้าร่วมเครือข่ายแล้ว
otNcpHdlcInit(otInstance *aInstance, otNcpHdlcSendCallback aSendCallback)
void
เริ่ม NCP ตามกรอบ HDLC
otNcpHdlcReceive(const uint8_t *aBuf, uint16_t aBufLength)
void
ระบบจะเรียกใช้ฟังก์ชันนี้หลังจากได้รับข้อมูล NCP ที่เข้ารหัส HDLC แล้ว
otNcpHdlcSendDone(void)
void
ระบบจะเรียกใช้ฟังก์ชันนี้หลังจากส่ง NCP เสร็จสิ้นแล้ว
otNcpPlatLogv(otLogLevel aLogLevel, otLogRegion aLogRegion, const char *aFormat, va_list aArgs)
void
เขียนบันทึก OpenThread โดยใช้ otNcpStreamWrite
otNcpRegisterLegacyHandlers(const otNcpLegacyHandlers *aHandlers)
void
วิธีนี้ลงทะเบียนชุดเครื่องจัดการเดิมกับ NCP
otNcpRegisterPeekPokeDelagates(otNcpDelegateAllowPeekPoke aAllowPeekDelegate, otNcpDelegateAllowPeekPoke aAllowPokeDelegate)
void
วิธีนี้ลงทะเบียนฟังก์ชันการทํางานต่างๆ ที่มอบสิทธิ์/แอบดูด้วยโมดูล NCP
otNcpSpiInit(otInstance *aInstance)
void
เริ่มต้น NCP ตามเฟรม SPI
otNcpStreamWrite(int aStreamId, const uint8_t *aDataPtr, int aDataLen)
ส่งข้อมูลไปยังโฮสต์ผ่านสตรีมที่เฉพาะเจาะจง

โครงสร้าง

otNcpLegacyHandlers

กําหนดโครงสร้างที่มีเครื่องจัดการเดิมทั้งหมด (ตัวชี้ฟังก์ชัน)

ประเภทคําจํากัดความ

OTNcpDelegateAllowPeekPoke

bool(* otNcpDelegateAllowPeekPoke)(uint32_t aAddress, uint16_t aCount)

กําหนดประเภทของผู้รับมอบสิทธิ์ (ตัวชี้ฟังก์ชัน) เพื่อควบคุมพฤติกรรมของการแสดง/ซ่อน

ฟังก์ชันการมอบสิทธิ์นี้จะเรียกใช้เพื่อตัดสินใจว่าจะอนุญาตให้สังเกตการณ์หรือเรียกข้อมูลพื้นที่หน่วยความจําที่เฉพาะเจาะจงได้หรือไม่ ซึ่งจะใช้ไปในกรณีที่เปิดใช้ NCP สําหรับคําสั่ง peek/poke

รายละเอียด
พารามิเตอร์
[in] aAddress
ที่อยู่เริ่มต้นของหน่วยความจํา
[in] aCount
จํานวนไบต์เพื่อแอบดูหรือบีบ
การคืนสินค้า
มีค่าเป็น TRUE เพื่อแอบดู/ใช้พื้นที่หน่วยความจําที่ระบุ, FALSE ในกรณีอื่นๆ

OTNcpHandlerเข้าร่วมเดิม

void(* otNcpHandlerJoinLegacyNode)(const otExtAddress *aExtAddress)

กําหนดเครื่องจัดการ (ตัวชี้ฟังก์ชัน) สําหรับขั้นตอนการเข้าร่วม

เรียกใช้เพื่อเริ่มกระบวนการเข้าร่วมแบบเดิมไปยังโหนดใดโหนดหนึ่งหรือโหนดหนึ่ง

รายละเอียด
พารามิเตอร์
[in] aExtAddress
ตัวชี้ไปยังที่อยู่แบบขยายของโหนดที่จะเข้าร่วมหรือ NULL หากต้องการเข้าร่วมโหนดใกล้เคียง

OTNcpHandlerSetLegacyUlaPrefix

void(* otNcpHandlerSetLegacyUlaPrefix)(const uint8_t *aUlaPrefix)

ระบุประเภทเครื่องจัดการ (ตัวชี้ฟังก์ชัน) สําหรับการตั้งค่าคํานําหน้า ULA เดิม

เรียกใช้เพื่อตั้งค่าคํานําหน้า ULA เดิม

รายละเอียด
พารามิเตอร์
[in] aUlaPrefix
ตัวชี้ไปยังบัฟเฟอร์ซึ่งประกอบด้วยคํานําหน้า ULA เดิม

OTNCPHandlerStartLegacy

void(* otNcpHandlerStartLegacy)(void)

กําหนดเครื่องจัดการ (ตัวชี้ฟังก์ชัน) สําหรับเริ่มต้นเครือข่ายเดิม

กระตุ้นให้เริ่มต้นเครือข่ายเดิม

OTNCPHandlerStopLegacy

void(* otNcpHandlerStopLegacy)(void)

กําหนดประเภทเครื่องจัดการ (ตัวชี้ฟังก์ชัน) สําหรับหยุดเครือข่ายเดิม

เรียกใช้เพื่อหยุดเครือข่ายเดิม

OTNcpHdlcSendCallback

int(* otNcpHdlcSendCallback)(const uint8_t *aBuf, uint16_t aBufLength)

การเรียกฟังก์ชันนี้จะเรียกใช้เพื่อส่งข้อมูล NCP ที่เข้ารหัส HDLC

รายละเอียด
พารามิเตอร์
[in] aBuf
ตัวชี้ไปยังบัฟเฟอร์เอาต์พุต
[in] aBufLength
ความยาวของข้อมูลเอาต์พุตที่เก็บไว้ในบัฟเฟอร์
การคืนสินค้า
จํานวนไบต์ที่ประมวลผลโดยโค้ดเรียกกลับ

OTNCPLegacyHandlers

struct otNcpLegacyHandlers otNcpLegacyHandlers

กําหนดโครงสร้างที่มีเครื่องจัดการเดิมทั้งหมด (ตัวชี้ฟังก์ชัน)

ฟังก์ชัน

otNcpHandledoesReceiveNewLegacyUlaPrefix

void otNcpHandleDidReceiveNewLegacyUlaPrefix(
  const uint8_t *aUlaPrefix
)

มีการเรียกใช้โค้ดเรียกกลับนี้จากสแต็กเดิมเพื่อแจ้งให้ทราบว่าคํานําหน้า ULA เดิมมีการเปลี่ยนแปลง

รายละเอียด
พารามิเตอร์
[in] aUlaPrefix
ตัวระบุของคํานําหน้า ULA ที่ได้รับ

otNcpHandleLegacyNodedoes

void otNcpHandleLegacyNodeDidJoin(
  const otExtAddress *aExtAddr
)

มีการเรียกใช้โค้ดเรียกกลับนี้จากสแต็กเดิมเพื่อแจ้งว่าโหนดเดิมใหม่เข้าร่วมเครือข่ายแล้ว

รายละเอียด
พารามิเตอร์
[in] aExtAddr
ตัวชี้ไปยังที่อยู่แบบขยายของโหนดที่ผนวกไว้

OTNCPHdlcInit

void otNcpHdlcInit(
  otInstance *aInstance,
  otNcpHdlcSendCallback aSendCallback
)

เริ่ม NCP ตามกรอบ HDLC

รายละเอียด
พารามิเตอร์
[in] aInstance
โครงสร้างอินสแตนซ์ OpenThread
[in] aSendCallback
ตัวชี้ฟังก์ชันที่ใช้ในการส่งข้อมูล NCP

OTNCPHdlcReceive

void otNcpHdlcReceive(
  const uint8_t *aBuf,
  uint16_t aBufLength
)

ระบบจะเรียกใช้ฟังก์ชันนี้หลังจากได้รับข้อมูล NCP ที่เข้ารหัส HDLC แล้ว

รายละเอียด
พารามิเตอร์
[in] aBuf
ตัวชี้ไปยังบัฟเฟอร์
[in] aBufLength
ความยาวของข้อมูลที่เก็บไว้ในบัฟเฟอร์

OTNCPHdlcSendDone

void otNcpHdlcSendDone(
  void
)

ระบบจะเรียกใช้ฟังก์ชันนี้หลังจากส่ง NCP เสร็จสิ้นแล้ว

OTNcpPlatLogv

void otNcpPlatLogv(
  otLogLevel aLogLevel,
  otLogRegion aLogRegion,
  const char *aFormat,
  va_list aArgs
)

เขียนบันทึก OpenThread โดยใช้ otNcpStreamWrite

รายละเอียด
พารามิเตอร์
[in] aLogLevel
ระดับการบันทึก
[in] aLogRegion
ภูมิภาคของบันทึก
[in] aFormat
ตัวชี้ไปยังสตริงรูปแบบ
[in] aArgs
va_list ซึ่งตรงกับ aFormat

OTNcpRegisterLegacyHandlers

void otNcpRegisterLegacyHandlers(
  const otNcpLegacyHandlers *aHandlers
)

วิธีนี้ลงทะเบียนชุดเครื่องจัดการเดิมกับ NCP

โค้ด NCP จะใช้ชุดเครื่องจัดการที่ได้รับจากโครงสร้าง aHandlers เพื่อเริ่ม/หยุดเครือข่ายเดิม aHandlers อาจเป็น NULL เพื่อปิดใช้ฟีเจอร์เดิมของ NCP เครื่องจัดการแต่ละรายในโครงสร้างเครื่องจัดการที่กําหนดอาจมีค่าเป็น NULL ด้วย

รายละเอียด
พารามิเตอร์
[in] aHandlers
ตัวชี้ไปยังโครงสร้างเครื่องจัดการ

otNcpลงทะเบียนPeekPokeDelagates

void otNcpRegisterPeekPokeDelagates(
  otNcpDelegateAllowPeekPoke aAllowPeekDelegate,
  otNcpDelegateAllowPeekPoke aAllowPokeDelegate
)

วิธีนี้ลงทะเบียนฟังก์ชันการทํางานต่างๆ ที่มอบสิทธิ์/แอบดูด้วยโมดูล NCP

โมดูล NCP จะเรียกใช้ฟังก์ชันของผู้รับมอบสิทธิ์เพื่อตัดสินใจว่าจะอนุญาตให้รับฟังก์ชันใดหน่วยความจําหนึ่งหรือเฉพาะกลุ่มของหน่วยความจํานั้นๆ หากตั้งค่าตัวชี้ผู้รับมอบสิทธิ์เป็น NULL ก็จะอนุญาตให้ดูข้อมูลแอบแฝง/ที่อยู่ใดก็ได้

รายละเอียด
พารามิเตอร์
[in] aAllowPeekDelegate
มอบสิทธิ์ตัวชี้ฟังก์ชันสําหรับการดําเนินการแอบดู
[in] aAllowPokeDelegate
มอบสิทธิ์ตัวชี้ฟังก์ชันสําหรับการดําเนินการบีบ

OTNCPSpiInit

void otNcpSpiInit(
  otInstance *aInstance
)

เริ่มต้น NCP ตามเฟรม SPI

รายละเอียด
พารามิเตอร์
[in] aInstance
โครงสร้างอินสแตนซ์ OpenThread

OTNCPStreamเขียน

otError otNcpStreamWrite(
  int aStreamId,
  const uint8_t *aDataPtr,
  int aDataLen
)

ส่งข้อมูลไปยังโฮสต์ผ่านสตรีมที่เฉพาะเจาะจง

ฟังก์ชันนี้จะพยายามส่งข้อมูลให้กับโฮสต์โดยใช้ aStreamId ซึ่งเหมาะสําหรับการรายงานข้อความแสดงข้อผิดพลาด การใช้คอนโซลการแก้ไขข้อบกพร่อง/การวินิจฉัย และสตรีมข้อมูลประเภทอื่นๆ

ระบบยอมรับการเขียนทั้งหมดหรือถูกปฏิเสธ ไม่มีการพยายามเขียนบางส่วน

รายละเอียด
พารามิเตอร์
[in] aStreamId
ตัวระบุตัวเลขสําหรับสตรีมที่จะเขียน ตั้งค่าเป็น '0' จะมีค่าเริ่มต้นเป็นสตรีมการแก้ไขข้อบกพร่อง
[in] aDataPtr
ตัวชี้ไปยังข้อมูลเพื่อส่งในสตรีม หาก aDataLen ไม่ใช่ 0 พารามิเตอร์นี้ต้องไม่เป็น NULL
[in] aDataLen
จํานวนไบต์ของข้อมูลจาก aDataPtr ที่จะส่ง
แสดงผลค่า
OT_ERROR_NONE
ข้อมูลอยู่ในคิวการจัดส่งไปยังโฮสต์
OT_ERROR_BUSY
มีทรัพยากรไม่เพียงพอที่จะดําเนินการตามคําขอนี้ ซึ่งโดยปกติแล้วจะเป็นเงื่อนไขชั่วคราว
OT_ERROR_INVALID_ARGS
aStreamId ที่ระบุไม่ถูกต้อง

มาโคร

OT_NCP_LEGACY_ULA_PREFIX_LENGTH

 OT_NCP_LEGACY_ULA_PREFIX_LENGTH 8

ขนาด ULA เดิม (หน่วยเป็นไบต์)

ทรัพยากร

หัวข้ออ้างอิง OpenThread API มาจากซอร์สโค้ดซึ่งมีอยู่ใน GitHub ดูข้อมูลเพิ่มเติมหรือมีส่วนร่วมในเอกสารประกอบของเราได้ที่แหล่งข้อมูล